Skip to content

7 Modbus.Net.OPC

luosheng edited this page Jun 7, 2023 · 10 revisions

类图OPC

基本概念

OPC是OPC基金会研发的标准实时通讯协议,拥有两种方式:基于虚拟串口的OPC DA和基于以太网tcp协议的OPC UA。

地址对应

Modbus.Net.Opc有一个非常特殊的Formater叫AddressFormaterOpc。

它的参数中有一个Lambda函数,这个函数的参数是设备和地址,你应该根据这两个参数输出该地址对应的OPC标签(OPC Tag)。

下面举例

如果你的标签为"1.15.Value_Opening", 1为设备Id, 15是站号,Value_Opening是点的信息。

(baseMachine, addressUnit) => return new string[]{baseMachine.Id+"."+((XXUnitExtend)addressUnit.unitExtend).stationId+"."+addressUnit.Name};

有关权限问题

如果OPC服务的托管程序运行在管理员权限之下,那个运行Modbus.Net.Opc获取这个OPC服务数据的程序也必须使用管理员权限运行,否则会无法连接的错误。

如何写OPC的连接地址

OPC DA 应为 "opcda://PC-Name/OPC-Software-Name"。
但是请注意,如果报IOPCServerList2不存在错误,还需要把CLSID追加在后面。
opcda://PC-Name/OPC-Software-Name/{CLSID}

OPC UA 应为 "opc.tcp://PC-Name/Opc-Software-Name"。

Home

Clone this wiki locally