广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
西门子TIA博途ModbusTcpServer的配置方法(MB SERVER, V5.2)
发布时间:2024-11-23

第一步:从通信指令库中调用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工具进行数据监控。如下图:

图片

总结:

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

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

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

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

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


展开全文
拨打电话 微信咨询 发送询价