《Modbus通讯协议在原油输送系统中的应用》由会员分享,可在线阅读,更多相关《Modbus通讯协议在原油输送系统中的应用(4页珍藏版)》请在金锄头文库上搜索。
1、Modbus通讯协议在原油输送系统中的应用仟看最近90天中添加的最新产晶 最新电(元器件资料免费下载 派睿电门有奖问答-送3D汽车鼠标IR推出采 用焊前金加的汽车级绝缘栅双极品体管全球电子连接器丫产商一saintoc授新断路器保护套原油输菽站控系统是原油输送中不可缺少的环节,其主要是实现原油的汇集与转输,同时要对來油进彳亍加热、 加压和含水分析等,其站内主要分为加热炉系统、加压泵系统、罐区系统、流最计系统等。为了实现生产数据的集 中管理、保存和打印,就需要将各个系统中的数据进行集中采集和保存,而多个系统都是采用专用的和不同厂家的 控制系统,如加热炉系统、流就计系统等。因此 对中心立占控系统就必
2、须解决各个系统之间的通讯问题。作者在对中国石汕长庆汕田XX管道沿河湾SCADA系统的设计中,就遇到此类问题,即加热炉系统采用的是北京 亚控口动化公司的组态王软件进行监控,而中心SCADA系统则采川Siemens公司的S7 400 PLC和Wince软件进行监 控,并且在通汛电缆的设计中采用的是两芯屏蔽电缆,因此就无法采用工业以太网和0PC协议实现互相乙间的通讯, 最后双方决定采用Modbus RTI;通讯协议进行通讯。2、通讯系统组成中国石油长庆油田XX管道沿河湾站控系统采用的是Siemens S7 400和ET200M系列PLC,其监控系统原理图如 下所示:Siemens Wince加热炉组
3、态王系统监控系统网络原理图为了实现站控计算机可以同加热炉系统通过Modbus RTL协议进行通讯,采集必要的数据,在ET200M子站中配 置了 Siemens公司S7 300系列PLC中的CP341通讯模块。CP341通讯模块是通过点到点连接,用丁高速,强人的串 行数据交换,以减轻业的负担。该模块捉供了三种不同类型的传输型I:(1)、RS232C (V.24)(2)、20mA(TTY) (3)、Rs422/Rs485(X.27)同时,该模块内置有ASCII. 3964 (R)和RK512通讯协议,此外,该模块也可以装载其他的通讯协议,如Modbus Master 协议、Modbus Slave
4、 协议和 Dot。Highway 协议。在木设计中,CP341作为Modbus RTU Master,组态王作为Modbus RTU Slave, CP341通过单独定购的Modbus RTU Master软件來实现双方的主从通讯,其可以实现的功能代码为:01, 02, 03, 04, 05, 06, 07, 08, 11, 12, 15, 16,传输速率最高可以达到76. 8Kbit/so CP341与组态王运行的工业控制计算机之间的通讯为Rs485方式,其连接 方式如下所示:11至CP341模块 (带15针脚公头)DATA-DATA+Rs232/485转脱块232电缆至组态王运行计算机串行
5、端口通讯电纽图3、软件实现方法要通过CP341通讯模块同组态王之间的通讯,软件的设计也是一个比较隶要的环节,对于CP341主要包括Modbus Master的下装和对应的发送、接收模块程序的设计,对丁-纽.态王侧则需要安装Modbus Slave的驱动程序。在CP341 中下载Modbus Master驱动,可以进入Stcp7中的Hardware Configuration中选中模块双击,在弹出的窗口中选择 Parameter 按钮,在出现的 Assigning Parameters to PointTo Point Connections 窗口中进行对应的驱动下载。 CP341接收.发送程序
6、的设计主要包括DB块的设计和FC功能块的调用。(1)、CP341发送模块的设计对于通过CP341的Modbus Master驱动通讯的发送模块需要设计DB块和FC块,其DB块的结构如下:AddrsTypeInitial valeCcmnentoTciSTRUCT51+0.0STATOBYTE8*1642Vodbux RTU从站电辻+1.0STAT1BYTEB“6侶Hodbs切电代旦4-2.03TAT2UQJOW1640蛮取奇存昜的迄顷址X.O5TAT3IWT4读取爹存勰的数目“0STAT4I MT0+6.0STXTSLMT0xLO.OEKJSHPUCT而发送程序上要是通过调用功能块EB8來实现
7、,其程序可以设计为如下:HetiforK 1: ncie:Cowienc:AM50.0 产生发送金令的条件SM50.0CALL *_3MD_RjCrSFREQ:H50.0R:-H50.1LADDR:-512DB X0”4DB3DBBJ3QLEWR CPU HQTitle:Connenc.:RJTYP iTmo0=6M50.7M50.0M50.4MSO.SM$0,?M50.0OFFSET:- R_CF_BYT:R_CF-Bm =D0NZ E5CL4ERROR=H50.SM 50.450.050.0STATUSMU62(2)、CP341接收程序的设计由于CP341可以处理接收程序的细节部分,因此对
8、于设计者來说只需要进行简单的设计就可以实现数据的接收。 接收程序同样也需要设计Db块和FC程序块,其DB块和FC块的结构对以定义成如下的结构:Network 1* Title:EK_R三 7PUERU2DR-512DEJTO=5 接攻裁奥埃DD3JJ0-o 按收戏!SM也址L TYPijxoCavrstrvUBYTOfIbit曲-H30.4EW0PH30.5LEX=HU40STATUS-HU42CALL ,r7_RCV RT* . DB44(3).组态王程序设计方法组态王是作为Modbus Slave端的,其通过安装ModbusRTUServer驱动程序和定义“智能模块一一北京亚 控一一Mod
9、RTUServer一一串丨通讯设备來实现的。组态王捉供2种寄存器,其说明如2名字编号范围数据类型含义B 1 30000 BIT开关寄存器R 1 30000 INT/UINT/L0NG/FL0AT 数据寄存器外部设备通过标准Modbus与组态王驱动进行通讯,使用的功能码对应如K:寄存器读功能码写功能帀SB 1,2 5R 3, 4 6, 16山此,仅需要定义对应的变最名称,并且通过周期执行的命令语言,将数据赋给对应的外部通讯设备盂要读取 的变最中就可以完成通讯功能。组态王是通过不断的监听串【I的通讯数据,一旦冇外部读収数据命令,组态王就将 对应的数据传送到对方。在调试双方的通讯程序时,需要注意以下
10、几点:第一、在PLC程序中调用发送模块I;B8时,其R_TYP参数数值 为字符型并且必须为大写字母X,否则通讯不能成功;第二 为了使PLC接收程序比较简单.建议将组态王侧的数据 均定义成寄存器(R),而不区分是位还是寄存器;笫三、在组态王中定义Modbus Slave地址时,采用1:20的结构, 其1代表组态王作为Modbus Slave的从站地址,20代表通讯的时间间隔,单位亳秒。4、结束语通过使用CP341点对点通讯模块和组态王ModbusRTUServer驱动程序,解决了不同的应用系统Z间通过Modbus 标准通讯进行互相通讯的方法,同时也为将不同系统的数据集成到一个系统中捉供了可能的实现方法。