OPC DA转成OPC UA
OPC DA转成OPC UA,实现网口通信
OPC #
OPC DA(Classic) 和OPC UA的链接方法 #
在仅支持OPC DA 2.0的OPC SERVER上部署代理程序(COM Wrapper),然后发布成 UA SERVER。从: https://github.com/OPCFoundation/UA-.NET-Legacy 下载兼容版的UA-.NET,因为是源代码基于.net framework3.5编写的,故3.5~4.5.1之间的framework都可以运行。因为要兼容windows XP系统,XP最新只能到Framework4.0, 故改成4.0的框架。 几个重要的配置,在Opc.Ua.ComServerWrapper.Config.xml文件中:
<BaseAddresses>
<ua:String>opc.tcp://localhost:48400/UA/ComServerWrapper</ua:String>
<ua:String>http://localhost:48401/UA/ComServerWrapper</ua:String>
</BaseAddresses>
以上指明发布的ua地址,tcp和http都可以。
<ServerSecurityPolicy>
<SecurityMode>None_1</SecurityMode>
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#None</SecurityPolicyUri>
<SecurityLevel>0</SecurityLevel>
</ServerSecurityPolicy>
以上指明认证方式,把其他的去掉,只保留不需认证方式。其他认证方式暂时没有研究。
<ComClientConfiguration i:type="ComDaClientConfiguration">
<ServerUrl>opc.com://localhost/ProcessIT.SimulationSvr.1</ServerUrl>
<ServerName>DA</ServerName>
<MaxReconnectWait>10000</MaxReconnectWait>
<SeperatorChars></SeperatorChars>
<AvailableLocales>
<ua:String>en-US</ua:String>
<ua:String>de-DE</ua:String>
<ua:String>ja-JP</ua:String>
</AvailableLocales>
<BrowseToNotSupported>false</BrowseToNotSupported>
</ComClientConfiguration>
以上配置本地的OPC Server地址和名称。该配置节可以有多个,ServerName可以换成语义化的名称,并不强求一致。 运行UA COM Server Wrapper.sln项目,编译后有UA COM Server Wrapper.exe,直接使用会报错,需要拷贝Opc.Ua.CertificateGenerator.exe,产生证书。 把该程序拷贝到OPC Server的机器上,配置本地的OPC Server地址和名称。双击UA COM Server Wrapper.exe运行,会产生一个地址:opc.tcp://39.107.78.139:8888/UA/ComServerWrapper,使用一般的OPC UA 客户端,点击链接即可浏览数据了。
Modbus #
线圈状态/输入状态/保持寄存器/输入寄存器: coilStatus/inputStatus/holdingRegister/inputRegister