我正在使用opc.net api部分开发opc客户端应用程序,我在连接远程opc服务器时遇到了一些麻烦。下面请看我写的连接opc服务器的代码。
Opc. URL url = new Opc. URL ( "opcda://network-pc/some-opc-server" );
Opc.Da. Server server = null ;
OpcCom. Factory fact = new OpcCom. Factory ();
server = new Opc.Da. Server (fact, null );
server.Connect(url, new Opc. ConnectData ( new System.Net. NetworkCredential ()));
执行此代码后,我收到错误:System.Runtime.InteropServices.ExternalException:CoCreateInstanceEx:Access被拒绝。
此外,两台计算机都在同一个本地网络中,我可以使用第三方opc客户端从我的计算机连接到opc服务器。
有没有人面对这类问题? 提前谢谢。
答案 0 :(得分:3)
这可能不是您的C#源代码问题。 这可能是DCOM权限问题。您必须根据OPC Server对客户端应用程序的指导配置DCOM权限。
以下文档以获取OPC和DCOM设置的一般参考
http://www.sytech.com/download/OPC_and_DCOM.pdf
http://www.automation.com/pdf_articles/Troubleshooting_OPC_and_DCOM.pdf
答案 1 :(得分:0)
除了Zin Min的回答,请确保您在同一个域中。由于使用OPC-DA无法进行跨域连接,因此没有某种隧道连接。