图3 Modbus协议常用功能码
Modbus协议有两种传输模式:ASCII模式和RTU模式。同波特率下,RTU模式较ASCII模式能传输更多的数据,所以工业网络大都采用RTU模式。RTU模式下的信息传输报文格式如图4:
图4 Modbus RTU信息报文格式
它没有起始位和停止位,而是由至少3.5个字符间隔时间作为信息的起始和结束标志。信息帧所有字符位由16进制字符0-9、A-F组成。
Modbus RTU通讯协议帧结构:
图5 RTU通讯协议帧格式
Modbus RTU方式主站读取从站寄存器数据示例:主设备查询。
2.3 网络构成及硬件介绍
如图1所示,在该系统设计中有两个网络使用了上海泗博自动化的Modbus转Profibus-DP网关PM-160。网关在这两个网络中的作用不一样,其中:
在上层网络中(建立西门子S7-300PLC和横河DCS连接通信),Modbus转Profibus-DP网关PM-160在Modbus侧做Modbus从站,在Profibus-DP侧做从站,建立Profibus-DP主站(西门子S7-300 PLC)和Modbus主站(横河CS3000)的通信。DCS通信部分采用横河型号为ALR121的通信模块,并配套横河提供的Modbus通信软件包,该通信模块通信数据容量为4000字。通过上海泗博自动化的网关配置软件对PM-160进行相关配置,将DCS的读、写指令及数据做相应转换、存储,并映射到西门子PLC的输入、输出映像区,以实现对上下位机控制信息的实时传输。
在下层网络中(建立西门子S7-300PLC和现场智能仪表的连接通信),Modbus转Profibus-DP网关PM-160在Modbus侧做Modbus主站,在Profibus-DP侧做从站,建立Modbus从站(现场各种智能仪表(现场电机、智能开关、变频器、传感器等))与Profibus-DP主站(西门子S7-300PLC)的通信。串口网络(现场智能仪表)设备接口为RS485或者RS232,它们都可以通过上海泗博自动化的Modbus转Profibus-DP网关PM-160实现与西门子S7-300PLC的连接通信。其中,通过使用网关的配套配置软件对PM-160进行相关配置,将需要采集的从站设备信息通过网关读、写命令及数据转换、存储,映射到西门子PLC的输入、输出映射区,以实现PLC对现场智能仪表数据的采集和监控。
三、 Modbus转Profibus-DP网关PM-160的配置
PM-160是通用型Modbus/RS485/RS422/RS232到Profibus-DP的协议转换网关,在网关RAM中建立了Modbus/RS485/RS422/RS232到Profibus-DP的映射数据区,由软件实现Modbus/RS485/RS422/RS232到Profibus-DP的协议转换和数据交换。凡具有RS485/422/232接口的设备(Modbus协议或者非标协议)都可以通过PM-160与现场总线Profibus-DP互联。其中,PM-160在与Profibus-DP通讯是作为Profibus-DP从站,PM-160在与串口设备通信时,可以作Modbus主站、Modbus从站,也支持与非标串口设备实现数据透明传输。通过在西门子STEP7中注册网关PM-160的GSD文件,即可在该编程软件中对该网关进行相关硬件和软件配置,完成相应的通讯功能。请见如下详细的硬件和软件配置方法:
1、 Modbus转Profibus-DP网关PM-160的硬件配置
PM-160的Profibus-DP从站地址可以通过网关的硬件旋码开关或者配置按钮来设置。旋码开关有两位,左侧位设置地址高位(十位),右侧位设置地址低位(个位)。通过拨码开关可设置网关PM-160处于正常运行状态或者配置状态。当PM-160处于配置状态时,用户可通过配套配置软件设置相关读写命令和参数。
PM-160自带标准Profibus-DP接口,用户可使用标准Profibus-DP连接头和标准的Profibus-DP电缆将其连接至Profibus-DP现场总线中。
PM-160提供RS485/422/232三种串口,Modbus从站、主站设备以及用户非标串口设备可以通过这三种接口实现与网关PM-160的连接通讯。PM-160没有内置终端电阻,在进行RS485通信时,请注意在RS485总线终端各添加一个终端电阻(120欧姆)。
2、 Modbus转Profibus-DP网关PM-160的软件配置
1) 使用配套软件设置PM-160的现场总新和子网相关参数和命令
通过拨码开关将PM-160设置为配置状态,打开安装的配置软件:
当实现PLC与DCS通信时,子网协议类型设置为Modbus从站,并设置串口通信波特率、数据位、奇偶校验位、停止位、PM-160作为Modbus从站的地址、通信接口。其中,串口通信波特率、数据位、奇偶校验位、停止位的设置应该和所连接的Modbus主站设备(DCS)一致;
当实现PLC与Modbus设备通信时,子网协议类型设置为Modbus主站,并设置串口通信参数、通讯传输模式、通信接口等。其中,串口通信参数的设置应该和所连接的Modbus从站设备一致:
其中,图9中的“节点-1”表示连接的从站设备地址为1,配置了“读保持寄存器”和“预置多个寄存器”两条命令,表示网关读取了从站对应地址的数据,并且能够输出数据到Modbus从站设备,命令配置方法如下:
Modbus寄存器起始地址:用户输入目标采集数据的Modbus寄存器起始地址;
数据个数:目标数据的寄存器个数或者线圈条数;
内存映射起始地址:Modbus从站设备数据的对应内存缓冲区地址。
当实现PLC与非标协议设备通信时,子网协议类型设置为通用模式,并设置串口通信参数、控制方式、通信接口等。其中,串口通信参数的设置应该和所连接的非标串口设备(现场智能仪表)一致:PM-160支持的通用模式即透明传输模式,用户可通过数据中的数据长度和事务序列号以判断数据完整性和是否是一帧新的数据。
2) 在STEP7中对网关M-160进行组态设置
在STEP7的硬件组态界面,导入PM-160对应的GSD文件,把PM-160的配置文件添加到STEP7的设备配置库中。用户可在硬件组态界面找到注册的设备:Catalog-》PROFIBUS DP-》Additional Field Devices-》General-》CONVERTER-》PM-160。
将PM-160添加到STEP7的组态页面后,可以插入相应的数据块进行映像区地址映射。PM-160提供的数据块如下:
推动需要的输入输出数据块到网关对应的槽位。如下图所示,将数据块“24Words Input,24Words Output”拖动到Profibus-DP从站地址为3的PM-160的槽位中,此时,对应的映射区地址分别为256,PLC程序需通过PIW256(PIB256)或者PQW256(PQB256)对相应的数据进行寻址访问。
四、 数据读写
1、DCS读写PLC数据
DCS作为Modus主站通过PM-160读写PLC数据,使用04H功能码读数据,对应的寄存器起始地址为0H(30001H),使用10H(03H)功能码写数据,对应的寄存器起始地址为0H(40001H)。
2、PLC读写现场智能仪表数据
1) PLC读写Modbus从站设备数据
PLC通过PM-160发送Modbus主站指令读写现场串口设备数据。映像区起始地址和网关内存映射起始地址对应关系如下:以图14中的配置为例。
2) PLC读写非标串口设备数据
PLC的输入映射区前两个字节分别表示接收的串口数据长度和事务序列号,其它为接收到的数据。事务序列号变化,表示接收到了一帧新的串口数据。其中,可通过配置软件设置是否开启串口数据长度功能。PLC的输出映射区前两个字节分别表示发送的串口数据长度和事务序列号,其它为要发送的串口数据。事务序列号变化,PLC发送相应长度的串口数据。
五、 结束语
在该系统中,Modbus转Profibus-DP网关PM-160扮演了三种角色:建立Modbus主站和Profibus-DP主站之间的连接通信(Modbus主站模式);建立Modbus从站和Profibus-DP主站之间的连接通信(Modbus从站模式);建议非标串口设备和Profibus-DP主站之间的连接通信(通用模式)。自本通信系统运行以来,整个系统通讯正常,有效保证了整个水利工程控制系统的正常运行。使用上海泗博自动化的Modbus转Profibus-DP网关可以极大地方便自动化工业现场的控制和操作。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。