广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
TIA Portal Modbus TCP Server的配置与测试(低版本指令)
发布时间:2024-11-14

概述

本例将通过西门子TIA Portal中的MB_SERVER指令配置Modbus TCP服务器并进行测试。前面写过一篇针对MB_SERVER V5.0之后版本的配置和测试方法,有兴趣的炮友儿可以翻看以前的相关文章进行了解。本例则介绍常用的配置方法,包括V5.0之前版本,使用另外一款Modbus客户端测试工具进行测试。

备注:对于MB_SERVER指令版本V5.0以及固件版本V2.5(S7-1500 CPU)和V4.2(S7-1200 CPU),用户可访问数据块中的数据区域,而不用直接访问过程映像和保持性寄存器。

补充信息:

Modbus涉及到四种寄存器:保持寄存器、线圈寄存器、离散输入寄存器和输入寄存器。保持寄存器单位是2个Byte,相当于数据块,可读写。线圈寄存器单位是1个Bit,相当于开关量输出,可读写。离散输入寄存器单位是1个Bit,相当于开关量输入,只能读,不能写。输入寄存器单位是2个Byte,相当于模拟量输入,只能读,不能写。

第1步:

添加PLC设备,选择西门子S7-1200 CPU 1214C,设置IP地址:192.168.18.18。

图片

第2步:

勾选允许来自远程对象的PUT/GET通信访问。

图片

第3步:

添加全局数据块,作为数据交互的保持寄存器。在数据块中创建10元素的整型数组变量。

图片

第4步:

添加全局数据块,在数据块中创建数据类型为TCON_IP_v4的变量connect,作为MB_SERVER指令的连接实参,默认参数参照下图。

图片

第5步:

从通信指令库中选择MB_SERVER指令并拖拽到组织块Main中,生成背景数据块,命名为instMbServer,并配置相关参数。

图片

第6步:

打开PLC变量表,添加一个字节的映像输入变量(8个位)和一个字节的映像输出变量(8个位)。映像输入即为离散输入寄存器,映像输出即为线圈寄存器,也可以自行添加模拟量输入通道作为输入寄存器。

图片

第7步:

打开Modbus客户端测试工具,选择Modbus TCP模式,填写Modbus TCP服务器的IP地址和端口号,按下Connect按钮,启动连接。

图片

第8步:

连接成功后,在窗口的左下角会显示Modbus TCP服务器的IP地址和端口号,窗口中还显示了从站设备地址和4种寄存器对应的数据地址和数值。

图片

第9步:

选择保持寄存器,双击数据单元,在弹出窗口中输入测试数据111,按回车,此时数据并没有写入到Modbus TCP服务器中,然后按下Write to按钮,数据111被成功写入到Modbus TCP服务器的保持寄存器中。

图片

图片

第10步:

切换到线圈寄存器页,双击数据单元,在弹出窗口中输入测试数据TRUE,按回车,此时数据并没有写入到Modbus TCP服务器中,然后按下Write to按钮,数据TRUE被成功写入到Modbus TCP服务器的线圈寄存器中,此时观察PLC的输出LED Q0.0被点亮。图片

图片

第11步:

切换到离散输入寄存器页,可以看到Modbus TCP服务器的I0.3为TRUE,此时的数据并没有被读到Modbus客户端中,然后按下Read from 0 to 9按钮,数据TRUE被成功读到Modbus客户端中。

图片

图片


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