加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
西门子TIA博途ModbusTcpServer的配置方法(MB SERVER, V5.2)
发布时间: 2023-09-12 11:13 更新时间: 2024-11-25 09:10

第一步:从通信指令库中调用MB_SERVER,选择V5.2版本。如下图:

图片

第二步:为MB_SERVER的CONNECT参数配置对应的数据块和参数。如下图:

图片

ID号用来区分不同的连接,如果创建了多个MB_SERVER连接,应设置多个ID号。本地端口号默认选择502,也可选择其它。远程连接伙伴的IP地址和端口号可以不设置。

第三步:创建一些数据块,作为Modbus TCP的数据Buffer的原始数据,供Modbus客户端访问。如下图:

图片

本例一共创建了5个数据块,第1个类型为:01过程映像输出(线圈),第2个类型为:02过程映像输入(开关输入),第3个和第4个类型为:03保持寄存器,第5个类型为:04输入寄存器。第1个和第2个数据块中定了含有16个布尔类型的元素的一维数组,其余3个数据块定义了含有16个字类型的元素的一维数组。

第四步:在MB_SERVER的背景数据块中定义Modbus TCP的数据Buffer,和Modbus地址形成映射关系。如下图:

图片

注意相同类型的数据的分配与连接,不可叠加但可以以字为单位跳空分配。

第五步:下载程序并用Modbus Poll工具进行数据监控。如下图:

图片

总结:

  1. 如果在MB_SERVER背景数据块中的Data_Area_Array中定义数据区域,则通过形参MB_HOLD_REG以指针形式传递的数据将失效,尽管如此,该参数也不能设置为NULL,且其指向的存储区应大于等于2个字节;

  2. 如果只打算通过形参MB_HOLD_REG指向的数据来作为Modbus TCP的数据,则MB_SERVER背景数据块中的Data_Area_Array应保持默认参数,不应配置其它参数;

  3. 用户Zui多可在不同数据块中定义8个数据区域(Data_Area_Array只提供了8组),每个数据块只能包含一个数据区域。单个MODBUS请求只能对恰好一个数据区域进行读写操作。每个数据区域对应于一个MODBUS地址区域。可以在MB_SERVER背景数据块的静态变量Data_Area_Array中定义数据区域;

  4. 如果要使用的数据区域不到8个,则所需数据区域必须紧密相连,没有间隙。在处理过程中,数据区域中的第一个空白条目会终止数据区域搜索。例如,如果已定义Data_Area_Array字段元素 1、2、4 和 5,由于字段元素 3 留空,则Data_Area_Array只会识别字段元素 1 和 2;

  5. 单个 MODBUS 请求只能对一个数据区域进行读写操作。如果要读取覆盖多个数据区域的保持性寄存器,则需要多个 MODBUS 请求。


联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595