c# - 如何确定什么样的 OPC 服务器并读取它的项目
问题描述
我提供了 OPC 服务器的链接:http: //192.168.2.5 :54354并被要求读取项目值。我是 OPC 新手,我认为我的服务器是 OPC XML-DA,但是当我尝试示例代码时,它可以工作。但是当我替换我的服务器 URL 和项目名称时,它不起作用,服务器地址似乎缺少某些部分
var client = new EasyDAClient();
DAVtqResult[] vtqResults = client.ReadMultipleItems(
new ServerDescriptor { UrlString = "http://opcxml.demo-this.com/XmlDaSampleServer/Service.asmx" },
new DAItemDescriptor[]
{
"Dynamic/Analog Types/Double",
"Dynamic/Analog Types/Double[]",
"Dynamic/Analog Types/Int",
"SomeUnknownItem"
});
这一项有效,但不适用于我的服务器 URL: http: //192.168.2.5 :54354
我不确定是什么/XmlDaSampleServer/Service.asmx
意思,但我可以使用https://www.kassl.de/opc/explorer连接到我的服务器.shtml
解决方案
你确定服务器是XML-DA
?根据我的经验,很少有服务器使用此协议。它通常是 OPC DA(OPC Classic)或 OPC UA。
服务器上是否有任何安全措施,例如用户名和密码?
根据我的经验,在编写任何代码之前,您需要能够与现有客户端建立连接。可能存在网络或防火墙问题。该服务器似乎在您的本地网络上。您可以从同一台服务器使用 Kassl 客户端连接到它吗?OPC DA 依赖于 COM/DCOM 组件进行通信,这往往与远程连接和防火墙存在许多问题。
尝试以下步骤:
- ping 服务器并确保它回复。
- 在与服务器相同的 Windows 机器上安装 OPC 客户端(如 Kassl 或Kepware )并查看它是否可以连接。
- 如果可以,请禁用防火墙、防病毒等,看看是否可以远程连接。
- 检查是否需要进行任何端口转发。您可能想使用 Wireshark 查看数据发生了什么。
推荐阅读
- r - 折叠具有重复 ID 的行和所有其他变量的平均值
- r - R循环生成多个汇总表和图表
- python - mujoco 安装问题 - distutils.errors.DistutilsPlatformError: Error execution cmd /u /c
- c++ - 从文件读取后,数组包含“垃圾”值
- python - Python Argparse:获取用于命名空间变量的命令行参数
- oracle - Plsql / jdbc 日期输入参数作为字符串
- sequelize.js - sequelize 相同表之间的一对一和一对多关联
- postgresql - 带有指标的 Postgres 查询审计日志
- mediawiki - 无法从 Mediawiki API 获得格式合理的 JSON 响应
- python - 使用 if elif 语句检查三个条件(以各种方式)