使用opc .net api连接到远程opc服务器

时间:2016-02-24 12:12:04

标签: client-server remote-access .net-framework-version opc

我正在使用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服务器。

有没有人面对这类问题? 提前谢谢。

2 个答案:

答案 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无法进行跨域连接,因此没有某种隧道连接。