西门子modbus转profinet通讯与网关配置对比
本例是客户现场改造项目,对比西门子modbus转profinet转换模块配置方法。
这是客户原本的用法
案例背景:一套以西门子S7_1200PLC作为控制器的控制系统(带HMI面板),与一套加湿器控制系统(单片机)进行Modbus RTU通讯,读取和写入加湿器数据,并通过控制面板进行显示和设置加湿器参数,以及通过HMI面板手动控制加湿机的充水、排水、加湿和停机。(与除湿机的通讯只是该项目中的一部分,这里只介绍与加湿机的通讯部分,其他控制部分未说明)加湿器的参数如下图
注:PLC的控制系统作为主站,加湿器控制系统为从站
1. 硬件及软件需求
硬件:CPU 1215C AC/DC/Rly(订货号:6ES7 215-1BG40-0XB0)
CM 1241 (RS422/485)(订货号:6ES7 241-1CH32-0XB0)
HMI面板KTP1200Basic PN(订货号:6AV2 123-2MB03-0AX0)
屏蔽电缆(用于通讯)
注:本项目采用RS485接线方法, 3号针脚--RS485信号 B(+) ;8号针脚--RS485信号A(-);5号针脚--接屏蔽等电位点。
软件:博途V15(或其他)
2. 硬件组态
①通讯模块组态:设置好传输率=9.6Kbps、奇偶校验、数据位和停止位,其它保持默认。
启用PLC系统时钟
②设备和网络组态:添加HMI面板,并组态网络连接。
3.数据发送和接受缓冲区设置
①根据加湿机系统的点数表找到需要的参数,加湿机的点数表需提供地址、变量名、功能码、数据类型等,本项目需用到的参数我已飘绿并进行了标注说明。下面介绍如何使用这些变量。
②创建数据发送和接收缓冲区
在软件中单独创建一个DB数据块,用来作为数据发送和接收的缓冲区。
缓冲区如何设置?举一个例子(其他按照该方法操作即可)
加湿机充水阀、排水阀状态参数如下:
名称 | 地址 | 功能码 | 数据类型 |
充水阀状态 | 10001 | 02(读取输入位) | Bool |
排水阀状态 | 10002 | 02(读取输入位) | Bool |
在DB块中建立数组名Read_DI_Array,数据类型为Bool型。
注:数组长度要大于读取参数数量,这里设置数组长度为6(0~5)
到这里,所有的前期工作已经完成,到了进行软件编程的环节。
4.软件编程
① 创建一个FB数据块作为Modbus通讯程序块,然后在Main[OB1]组织块中调用该程序块。
② 调用MB_COMM_LOAD指令,会自动生成背景数据块。对每个通讯端口进行组态。
程序快几个主要端口引脚组态说明:
REQ:连接系统时钟的首次循环变量地址%M1.0 (FirstScan(1))。
PORT:连接通信的通信模块的硬件标识符,在PLC变量表里的系统变量里找到。
MB_DB:连接参数在这里必须与 Modbus_Master的MB_DB参数相连。
波特率BAUD、奇偶校验PARITY和前面设置一样。
③ 调用Modbus_Master指令
MB_ADDR:加湿机从站地址为1。
DTAA_ADDR:数据起始地址
DATA_LEN:访问的数据位数或字的个数
DATA_PTR:在前面建立的数据发送接收缓冲区,在这里将用到。表示指向要进行数据写入或数据读取的标记或数据块地址。
对加湿机参数数据位、字的读取和写入,该项目中使用到了多个Modbus_Master指令,一定要采集用轮询的方式。否则读写的数据会报错。
可以看到,用此种方式配置modbus通讯非常繁琐,并且一旦通讯出现问题查找起来非常不便。所以客户选择使用网关进行modbus转profinet通讯。方法如下:
打开博图软件,导入网关gsd文件。
在硬件目录中选择对应的modbus转profinet网关。
设置网关的ip地址和设备名称
添加modbus'转profinet网关的输入输出总长度
下载配置到PLC
配置网关步骤
点击新建图标,选择PN2MM
设置网关的IP地址和设备名称(要和PLC组态保持一致)
设置网关的485参数
根据之前参数可知波特率为9600,奇校验数据位8,停止位1
根据之前的配置网关做如下选择(校验位在不是无的状态下选择9)
单击右键插入从站站号
Node处插入命令根据从站手册选择所需功能码地址区
例如我们要读取水位状态和系统运行状态两个参数,那么可以得知地址区是3区对应功能码04
那么对应的要选择Read Input Registers即04功能码读输入寄存器
起始地址为30003-30004,但是因为网关寄存器地址是从0开始所以实际的寄存器地址要减一
即30002-30003,此处填写2即可,因为地址是连续的所以读取寄存器数量为2个
内存映射地址:对应在PLC的IQ地址区显示位置,如我们的I地址是从68开始那么映射地址为0代表寄存器数据会显示在IW68和IW70两处
字节交换:类似于PLC程序中的swap功能,可根据需求使用。
命令状态字:监控从站在线状态,默认关闭
无响应命令动作:分为保持和清零,是从站超时掉线后对最后一次数据的处理。
以上就是两种modbus通讯对比。后者更为简单便捷,免去大量的编程工作。
提交
开疆智能Modbus转Profibus网关
开疆智能KJ-PBG-006/Modbus TCP转Profibus网关
开疆智能KJ-PNG-103型协议转换网关
开疆智能CANopen转Profinet网关
开疆智能KJ-PNG-101型协议转换网关