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

标签 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 is denied.

此外,两台计算机都在同一个本地网络中,我可以使用第三方 opc 客户端从我的计算机连接到 opc 服务器。

有人遇到过这种问题吗? 提前致谢。

最佳答案

这可能不是您的 C# 源代码问题。 这可能是 DCOM 权限问题。您必须根据客户端应用程序的 OPC 服务器指南配置 DCOM 权限。

以下文档用于 OPC 和 DCOM 设置的一般引用

http://www.sytech.com/download/OPC_and_DCOM.pdf

关于client-server - 使用 opc .net api 连接到远程 opc 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35601882/

相关文章:

c# - 在 Main() 之前调用的隐式静态构造函数

java - Java 中的 TCP 客户端和 C 中的服务器

在 Linux 机器中使用套接字发送和接收文件时出现 C++ 问题

php - 远程 MySql 连接的访问​​被拒绝

python - 使用远程 jupyter 笔记本时导入模块的问题

c# - 为 Windows 7 及更高版本编译 C# 程序

.net - 安装 .NET Framework 4.7 是否无需安装 4.6.x?

go - 在 Go 中读取 cookie

c# - 从 Linux 服务器与 C# 桌面应用程序通信的选项?

windows - session 结束后如何使远程 powershell 命令保持事件状态?