Modbus通讯协议在原油输送系统中的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Modbus通讯协议在原油输送系统中的应用查看最近90天中添加的最新产品最新电子元器件资料免费下载派睿电子TI有奖问答-送3D汽车鼠标IR推出采用焊前金属的汽车级绝缘栅双极晶体管全球电子连接器生产商—samtec最新断路器保护套1、引言原油输送站控系统是原油输送中不可缺少的环节,其主要是实现原油的汇集与转输,同时要对来油进行加热、加压和含水分析等,其站内主要分为加热炉系统、加压泵系统、罐区系统、流量计系统等。为了实现生产数据的集中管理、保存和打印,就需要将各个系统中的数据进行集中采集和保存,而多个系统都是采用专用的和不同厂家的控制系统,如加热炉系统、流量计系统等。因此,对中心站控系统就必须解决各个系统之间的通讯问题。作者在对中国石油长庆油田XX管道沿河湾SCADA系统的设计中,就遇到此类问题,即加热炉系统采用的是北京亚控自动化公司的组态王软件进行监控,而中心SCADA系统则采用Siemens公司的S7400PLC和Wincc软件进行监控,并且在通讯电缆的设计中采用的是两芯屏蔽电缆,因此就无法采用工业以太网和OPC协议实现互相之间的通讯,最后双方决定采用ModbusRTU通讯协议进行通讯。2、通讯系统组成中国石油长庆油田XX管道沿河湾站控系统采用的是SiemensS7400和ET200M系列PLC,其监控系统原理图如下所示:为了实现站控计算机可以同加热炉系统通过ModbusRTU协议进行通讯,采集必要的数据,在ET200M子站中配置了Siemens公司S7300系列PLC中的CP341通讯模块。CP341通讯模块是通过点到点连接,用于高速,强大的串行数据交换,以减轻CPU的负担。该模块提供了三种不同类型的传输接口:(1)、RS232C(V.24)(2)、20mA(TTY)(3)、Rs422/Rs485(X.27)同时,该模块内置有ASCII、3964(R)和RK512通讯协议,此外,该模块也可以装载其他的通讯协议,如ModbusMaster协议、ModbusSlave协议和DataHighway协议。在本设计中,CP341作为ModbusRTUMaster,组态王作为ModbusRTUSlave,CP341通过单独定购的ModbusRTUMaster软件来实现双方的主从通讯,其可以实现的功能代码为:01,02,03,04,05,06,07,08,11,12,15,16,传输速率最高可以达到76.8Kbit/s。CP341与组态王运行的工业控制计算机之间的通讯为Rs485方式,其连接方式如下所示:3、软件实现方法要通过CP341通讯模块同组态王之间的通讯,软件的设计也是一个比较重要的环节,对于CP341主要包括ModbusMaster的下装和对应的发送、接收模块程序的设计,对于组态王侧则需要安装ModbusSlave的驱动程序。在CP341中下载ModbusMaster驱动,可以进入Step7中的HardwareConfiguration中选中模块双击,在弹出的窗口中选择Parameter按钮,在出现的AssigningParameterstoPoint-To-PointConnections窗口中进行对应的驱动下载。CP341接收、发送程序的设计主要包括DB块的设计和FC功能块的调用。(1)、CP341发送模块的设计对于通过CP341的ModbusMaster驱动通讯的发送模块需要设计DB块和FC块,其DB块的结构如下:而发送程序主要是通过调用功能块FB8来实现,其程序可以设计为如下:(2)、CP341接收程序的设计由于CP341可以处理接收程序的细节部分,因此对于设计者来说只需要进行简单的设计就可以实现数据的接收。接收程序同样也需要设计Db块和FC程序块,其DB块和FC块的结构可以定义成如下的结构:(3)、组态王程序设计方法组态王是作为ModbusSlave端的,其通过安装ModbusRTUServer驱动程序和定义“智能模块――北京亚控――ModRTUServer――串口”通讯设备来实现的。组态王提供2种寄存器,其说明如下:名字编号范围数据类型含义B1~30000BIT开关寄存器R1~30000INT/UINT/LONG/FLOAT数据寄存器外部设备通过标准Modbus与组态王驱动进行通讯,使用的功能码对应如下:寄存器读功能码写功能码B1,25R3,46,16由此,仅需要定义对应的变量名称,并且通过周期执行的命令语言,将数据赋给对应的外部通讯设备需要读取的变量中就可以完成通讯功能。组态王是通过不断的监听串口的通讯数据,一旦有外部读取数据命令,组态王就将对应的数据传送到对方。在调试双方的通讯程序时,需要注意以下几点:第一、在PLC程序中调用发送模块FB8时,其R_TYP参数数值为字符型并且必须为大写字母X,否则通讯不能成功;第二、为了使PLC接收程序比较简单,建议将组态王侧的数据均定义成寄存器(R),而不区分是位还是寄存器;第三、在组态王中定义ModbusSlave地址时,采用1:20的结构,其1代表组态王作为ModbusSlave的从站地址,20代表通讯的时间间隔,单位毫秒。4、结束语通过使用CP341点对点通讯模块和组态王ModbusRTUServer驱动程序,解决了不同的应用系统之间通过Modbus标准通讯进行互相通讯的方法,同时也为将不同系统的数据集成到一个系统中提供了可能的实现方法。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功