化工厂DCS与PLC的Modbus通讯应用研究论文

求学站 人气:2.73W

1 装置概况

化工厂DCS与PLC的Modbus通讯应用研究论文

本厂的双螺杆挤出机控制系统采用西门子s 7 -300PLC,上位监控机位于现场厂房内,中央控制室的岗位操作人员不能对其监视,为方便岗位操作人员对现场装置的运行情况进行实时监控,决定将此装置的运行参数引入DCS控制系统。

Modbus协议具有数据传输量大、侦错能力强、实时性好等特点,该厂的DCS系统和此装置控制系统都有支持Modbus通讯接口,所以采用Modbus通讯方案来实现DCS系统和该控制系统之间的通讯功能。

2 通讯卡安装、组态及通讯协议设置

2.1 安装及硬件组态

安装:CP341进行Modbus从站通讯时,需要安装硬件狗,按照安装说明把硬件狗插入到CP341卡的背面插槽中。针对该项目将CP设计安装在和CPU同一机架上UR(0),通过U型连接件将CP341和其前面的信号模块卡连接起来,然后通过紧固螺丝将其固定在机架上,最后将24V电源线接到CP341卡的电源端子上给其供电。CP341电气接口按照RS485接口类型方式进行连接,组成半双工通讯,根据CP431-RS485接口定义连接4T(A)-号和11 T(B)+号接线端子。

硬件组态:通过双击SIMATIC MANAGER图标进入管理器窗口,点击窗口左面的SIMATIC300站点,在窗口的右面出现Hardware图标和已组态的CPU图标,双击Hardware图标进入项目的硬件组态画面,根据CP的实际安装位置,在硬件目录中选择CP341(6ES7 341-1CH01-0AE0)通讯卡将其拖放到与CPU同一个机架UR(0)的第十个插槽,然后点击保存和编译按钮对硬件组态进行保存编译,然后将CPU硬件置于Stop位,把组态的硬件下载到CPU中。在CP341参数设置对话框的Protocol菜单中选择MODBUS SLAVE选项,然后点击Load drivers加载CP的驱动。

注意:首次组态通讯卡后需要编译下载到CPU,否则在加载CP341驱动时将会加载不成功。

2.2 通讯协议设置及功能码对应从站地址设定通讯协议设置是定义通讯时的波特率、帧特性以及从站地址,通讯双方的协议设置一致是通讯成功的关键,以下是针对该厂的通讯协议设置。通讯协议方式选择RTU(远程终端)方式,进入CP341通讯卡的Protocol协议设置窗口,在Modbus-Slave菜单下设置从站地址为3(地址范围1~255),波特率选择9600、数据位8、停止位1、奇偶校验选择偶校验(even),在Interface菜单中按照上文所说的实际连线方式,选择操作模式为半双工(RS485)两线制操作模式,选择Signal R(A)0Volt Signal R(B)5 Volt的接线方式。

功能码对应从站地址的设定:按照该厂要求只需在DCS进行该装置的监视,故功能码FC01、05、15及FC02对应的M、Q、T、C、I等数据区不需要进行设定,使用其默认值0即可。在FC03、06、16功能码菜单下设定程序中没有使用的基本数据块DB7,FC04功能码菜单下设定程序中没有使用的基本数据块DB8,在Limits菜单下MIN DB中设定DB7,MAX DB中设定DB8,来限定MODBUS访问的数据区只是在这两个数据区中,根据该厂的通讯要求Modbus只需要读取SIMATIC输入寄存器,不需FC03功能读取保持寄存器,DB7数据块实际上未用。

3 程序编写

在程序的块文件夹里插入数据块DB7、DB8、DB80和DB81,插入功能FC15、FC16,以下对插入到程序中新对象作用分别作介绍:DB8数据块区是用于存放将要传送到DCS的数据,该项目中创建了数据类型为WORD的20个数据字存储区。DB80数据块作用是作为FB80功能块的工作数据区也称为背景数据区,不需要进行任何设置。DB81数据块中是存放FB80通讯功能块的参数初始值。FC15功能是实现调用CP341的通讯功能块FB80。FC16功能是实现将要传送到DCS的数据通过使用MOVE传送指令传送到DB8数据块里面。FC15、FC16的功能能够被执行需要在组织块OB1主程序中调用。每次CPU冷启动或暖启动之后,都要执行MODBUS通讯FB的初始化,通过CP_START输入处的上升沿激活初始化,因此在组织块OB100(CPU暖启动)或OB101(CPU冷启动)中添加程序。该项目中在OB100中添加如下一段程序:

AN 0.0 // 设置CP_START

S 0.0 //

A 0.1 // 重置 CP_START_FM

R 0.0 //

LADDR是CP的基址,使用硬件配置中CP的地址,该项目中地址为496。

START_TIMER定时器,定时器超时初始化,该项目中使用定时器T200,START_TIME S5Time,时间值超时初始化,该项目按照常规设置为5秒,其余参数则按其初始值设置即可。将CPU置于STOP位,把新编写的程序全部下载到CPU中,然后再将其置于RUN位。

4 通讯测试方法及测试

测试时通过Modbus通讯测试软件来分别充当主站、从站与PLC和DCS进行通讯,通过发送或接受报文的方式查看通讯情况是否正常。

测试软件Mdbus32作主站和PLC进行通讯测试,电气连接通过RS485转RS232的转换器连接至PC机的-9针串行数据口,Modbus测试软件通讯协议设置按照PLC方进行,确保双方的协议设置一致。设定从PLC读取数据的Modbus起始地址及数据个数,点击在线按钮将通讯伙伴连接,打开测试软件的监视器窗口监视读取数据的情况。实际的通讯情况证明通讯双方的电气接线及通讯设置均正确,实现了数据的正确传送,CP341通讯卡的通讯指示灯RXTX交替闪烁。

5 DCS和CP341通讯的实现

FBM224现场总线组件是I/A Series系统中作通讯的卡件,提供4个Modbus总线接口(RS-422和/或RS-485),传输数据类型是2字节或4字节的带符号整数或不带符号整数,4字节单精度浮点值或二进制值,字节交换和位交换可选,据此应注意在I/A系统的ICC程序组态器中对通讯点的读取要正确填写其数据类型和数据位的长度。该项目中做主站的设置Modbus地址从1开始,对应Modbus消息帧的寄存器编号值是0,则访问SIMATIC数据区是从数据字0开始访问此DB,更高的Modbus寄存器编号访问此后的数据字。要保证通讯数据地址的有效性,防止出现通讯地址错位。

6 结语

运行实践证明,应用Modbus通讯实现DCS和PLC之间的通讯是一种方便、可行、可靠性高和低成本的方案。