OPCDA-Proxy
OPCDA-Proxy简介
安装和卸载OPCDA-Proxy
配置OPCDA-Proxy
OPCDA-Proxy的Web API代理接口
OPCDA-Proxy的Modbus-TCP代理
使用OPCDA-Proxy将OPC DA代理为Modbus-TCP示例
OPC DA质量码
本文档使用 MrDoc 发布
-
+
首页
使用OPCDA-Proxy将OPC DA代理为Modbus-TCP示例
# 前言 在两台计算机之间使用OPC-DA通信时,DCOM配置的问题经常会成为一大拦路虎,相信很多做OPC-DA通信的小伙伴都被DCOM搞的头皮发炸过。 为了跳过DCOM的坑,我们专门编写了这款小工具软件`OPCDA-Proxy`。他可以将OPC-DA代理为Web API服务接口和Modbus-TCP接口。WebAPI接口提供给熟悉网络编程的小伙伴使用,Modbus-TCP接口提供给熟悉工业协议的工控打工人使用。  - 在WebAPI接口中,用户可以通过接口访问所有类型的变量。 - 在Modbus-TCP接口中,由于需要固定没给变量占用的寄存器数,因此只为BOOL类型和其他数字类型的变量提供了代理映射,对于可变长度的字符串变量、枚举类型变量、时间类型变量等没有提供代理映射。 # 软件下载和安装 OPCDA-Proxy软件的下载和安装请参考[《安装和卸载OPCDA-Proxy》](https://doc.bdgca.com/doc/27/) >注意:由于OPCDA-Proxy要与OPC-DA服务器通讯,因此OPCDA-Proxy应安装在OPC-DA服务器所在的计算机上。只有这样才能避免繁琐的DCOM配置。 # 链接OPC数据源 ## 查找OPC-DA Serve的名称 OPCDA-Proxy程序文件夹下的`Tools`文件夹中的`OPCClient.exe`程序可以帮助查找OPC服务器上的OPC-DA服务的名称。 如下面动图中所展示的,`Graybox.Simulator.1`就是一个可用的OPC-DA Server的名称。  ## 将OPC-DA Serve的名称填写到配置文件中 用文本编辑器打开OPCDA-Proxy程序文件夹下的`conf/opcproxy.conf`文件,在`[opc]`项目下填写`server`的内容,如下图所示。  # 配置Modbus-TCP的信息 ## 配置Modbus-TCP访问地址和端口 通过配置文件`./conf/opcproxy.conf`文件中的`[app]`项目下的`mbaddr`参数来配置Modbus-TCP的访问地址和端口号。 默认的配置为`0.0.0.0:502`。如果想要仅本机内部访问该地址,则请将该参数设置为`127.0.0.1:502`或者`localhost:502`; 如果想要仅允许某个指定网卡访问该地址和端口,请将该参数设置为`192.168.3.41:502`(假设该网卡的IP地址为`192.168.3.41`)。 ## 配置Modbus字节的存储顺序 通过配置文件`./conf/opcproxy.conf`文件中的`[app]`项目下的`bigendian`参数来配置Modbus的字节存储顺序。有关`Big Endian`和`Little Endian`的问题,请参考[《Big Endian 和 Little Endian 详解》](https://blog.csdn.net/waitingbb123/article/details/80504093)。 ## Modbus地址空间刷新周期 通过配置文件`./conf/opcproxy.conf`文件中的`[app]`项目下的`refresh_period`参数来配置Modbus地址空间的刷新周期。该参数的代为为毫秒。建议该参数的配置范围为100~1000毫秒。 # 启动OPCDA-Proxy,自动生成Modbus地址映射表 双击`opcdaproxy.exe`可执行程序,启动OPCDA-Proxy的首次运行。运行画面如下图所示。  首次运行后,OPCDA-Proxy会在程序文件夹下生成两个新的文件: - `machine_code.txt`:机器码文件,需要完全版授权时请将此文件发送给作者。 - `modbus_map.csv`:Modbus地址映射表文件,OPC-DA变量与Modbus的地址空间映射关系由此表定义。 ## 自定义编辑Modbus地址映射表 如果想要按照自己的规则生成Modbus地址映射表,则可以自行对`modbus_map.csv`文件进行编辑。下面展示的是对OPC变量名称按照升序排列生成Modbus地址映射表的示例。 1. 选定"Item"列,然后选定按升序排序。  排序时要注意选中"扩展选定区域"  2. 重新对"Id"列进行编号,编号从`0`开始  3. 重新对"Offset"列进行排号。"Offset"列从`0`开始,第二行的"Offset"值为前一行的`Offset+Size`,  随后各行以此类推。  4. 最后别忘记保存。 # 重新启动OPCDA-Proxy 重新启动OPCDA-Proxy后,OPCDA-Proxy将加载`modbus_map.csv`中定义的Modbus地址映射表,并自动将OPC服务器中相应变量的值写入到Modbus服务器的相应内存地址中。 ## 使用Modbus-pull链接Modbus-TCP测试 用Modbus-pull连接OPCDA-Proxy的Modbus端口,用OPCClient连接OPC Server,可以对比观察相关变量。  >注意:由于`OPCClient`的刷新周期与`Modbus-pull`和`OPCDA-Proxy`不同,导致截图图片上看到的数据时不完全一致的。 # OPCDA-Proxy详情 [OPCDA-Proxy的详情请参考此链接](https://doc.bdgca.com/doc/26/)
wangjp
2024年6月18日 13:35
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码