基于Modbus协议和PLC器件实现分布式系统通信网络的兼容性设计

出处:微计算机信息 发布于:2020-04-02 13:47:58

  一、引 言

  现代工业的迅速发展,不断促进着自控技术及设备创新的日新月异。当前,DCS、IPC、PLC及智能仪表已广泛应用到工厂现场生产控制系统当中,并发展到由上述设备相互协同、共同面向整个生产过程的分布式工业自动控制系统。在此系统中,现场通信技术堪称关键。但由于开始没有统一的通信协议标准,各厂商自控产品通信协议各自为政,通信网络各成体系,造成不同厂家的自控设备网络连接困难甚至不能连接,给分布式控制系统的灵活应用造成了不便。一些公司为适应市场,纷纷将各自的协议标准公开化,可无偿使用。经过多年发展,一些通信协议如Modicon公司的Modbus通信协议因其兼容性、易用性的优势,在工业领域得到了广泛应用,已成为一种通用的工业通信标准。本文就某化纤项目分布式控制系统的设计,介绍基于Modbus协议的通信网络在其中的应用。

  二、系统组成

  1、系统结构

  本系统构成如图1,其中略去了现场仪表信号的采集、控制部分。系统上位机采用横河CS3000型DCS集散控制系统,对整个生产过程进行集中监控;下位机采用Omron的CS1H系列PLC,分布在3个电气控制室,负责现场电机、OCV阀、流量开关变频器等执行、检测机构的启停控制、反馈信号采集、故障判断等操作。

 

  基于通信实时性的考虑,将DCS与3个PLC控制站分为两个相对独立的通信网络:PLC1和PLC2与DCS一端口组成网络一,PLC3与DCS二端口组成网络二。由于上下位机均无面向同一协议的通信设备,给设计造成了困难。经考虑,决定采用Modbus通信协议,由其构成本分布式控制系统的通信网络。

  2、通信网络组成

  2.1通信协议

  Modbus协议是一种适用于工业控制领域的主从式串口通讯协议,它采用查询通讯方式进行主从设备的信息传输,可寻址1-247个设备地址范围。协议包括广播查询和单独设备查询两种方式,二者区别就是广播查询不需要从设备回应信息,主从设备查询通讯过程见图二。

 

  Modbus协议有两种传输模式:ASCII模式和RTU模式。同波特率下,RTU模式较ASCII模式能传输更多的数据,所以工业网络大都采用RTU模式。RTU模式下的信息传输报文格式如图三。

  

  它没有起始位和停止位,而是由至少3.5个字符间隔时间作为信息的起始、结束标志。信息帧所有字符位由16进制字符0-9、A-F组成。本设计采用单独设备查询的RTU模式通信方式,根据系统构成,将DCS一端口设01H、02H两个PLC从站地址,二端口设01H一个PLC从站地址,并使用Modbus协议中的读字存储区03H和写字存储区06H两个功能码。

  2.2 网络构成及硬件介绍

  网络采用RS485串行接口,通信媒体由4芯屏蔽电缆连接主从设备,传输距离达1.5Km,全双工,串口设定波特率19200,8位数据位、偶校验、1位停止位。DCS通信部分采用横河型号为ALR121的通信模块,并配套横河提供的Modbus通信软件包,该通信模块通信数据容量4000字。PLC通信部分则采用Omron的C200H-ASCII 21可编程特殊单元模块(以下简称ASCII模块),该模块支持BASIC语言编程,内有200K字节的程序存储区,配备RS232、RS485通信串口各一个。通过对该模块的编程,可实现与外围设备的各种通信。本系统通过ASCII模块与DCS基于Modbus协议的通信,将DCS的读、写指令及数据做相应转换,并与PLC的CPU单元进行数据存取交换,以实现上下位机控制信息的实时传输。如图四所示。

  

  三、软件实现

  1、 建立地址分配、对应表

  DCS人机监控界面(HMI)上面向现场仪表的图形符号对象的监控,需通过DCS I/O物理地址对现场仪表信号的采集来实现。DCS对现场电气执行、检测机构的监控,则是由DCS通信I/O地址与PLC I/O物理地址一一对应完成的。为此,在编程前,需建立一张DCS通信I/O地址与PLC I/O地址的分配、对应表。由于PLC逻辑控制编程需要,不便直接将PLC I/O物理地址与DCS通信I/O地址对应,故采取了间接地址的方式。具体设计采用PLC的数据存储区DM区作为间接地址区,与DCS通信I/O区建立联系,再将DM区与PLC I/O区相对应。如将DCS的%WB000101位通信I/O地址与D0000.00位地址对应,D0000.00再对照PLC的I0000.00位物理输入点,就能将现场电气执行机构的运行状态反馈到HMI上。按照这种方法就建立了一张上下位机地址分配、对应表,因篇幅所限,该表略。

  2、程序设计

  ASCII模块支持BASIC语言编程,此外,又附加了多条系统及函数指令,如接收、发送缓冲区操作指令、信息传输差错控制CRC、LRC校验函数指令和与CPU单元数据交换的读写指令等。编程使用WINDOWS操作系统上附带的Hyperterminal(超级终端)软件,通过此软件,PC机可与连接在网络上的其它PC机或串口终端设备进行文本文件的传输及显示。编程时,将PC机串口与ASCII模块的RS232串口连接,运行该软件,就能在其界面上对ASCII模块进行程序编写、上传、和调试等工作。也可先通过WINDOWS系统的写字板编写程序,并保存为文本格式,然后再通过Hyperterminal将程序到ASCII模块。通信程序的主工作流程见图五。

 

  部分程序代码如下:

  OPTION BASE 0 //定义数组

  DIM R(128),FC(128)

  R(48)=0:R(49)=1:R(50)=2:R(51)=3:R(52)=4:R(53)=5:R(54)=6:R(55)=7:R(56)=8

  R(57)=9:R(65)=&h0a:R(66)=&h0b:R(67)=&h0c:R(68)=&h0d:R(69)=&h0e:R(70)=&h0f

  R(97)=&h0a:R(98)=&h0b:R(99)=&h0c:R(100)=&h0d:R(101)=&h0e:R(102)=&h0f

  OPEN #2,“COMU:19200,8,E,1” //设定串口参数

  A%=LOC(2) //判断接收缓冲区字符

  IF A%=8 THEN

  REX$=INPUT$(A%,#2)

  ………。

  ENDIF

  GOSUB *ZFCL //对信息进行分解处理

  IF ST=1 THEN *JAOY ELSE *BACK //判断是否本站信息

  *JAOY

  GOSUB *CRC //CRC循环冗余校验子程序

  IF R=CRC THEN *WORK ELSE *BACK //信息校验正确判断

  *WORK

  IF (FU=3) THEN GOTO *DJS //读功能码判断,调写操作子程序

  IF (FU=6) THEN GOTO *XJS ELSE GOTO *BACK //写功能码判断,调读操作子程序

  *DJS //读子程序

  ………

  *XJS //写子程序

  ………

  *CRC //CRC 校验子程序

  ………。

  *ZFCL //字符处理子程序

  ………

  由于ASCII模块支持ASCII码,而RTU则是基于二进制码的16进制字符通信方式,所以在程序编程中增加了码制转换程序。

  CH5$=MID$(REX$,5,1) :CH6$=MID$(REX$,6,1) //提取字符段

  VOL=ASC(CH5$)×256+ASC(CH6$) //将ASCII码字符转换十进制数

  VOL$=HEX$(VOL) //将十进制数转换成十六进制字符

  3、程序优化及安全措施

  在ASCII模块与CPU单元数据交换程序部分,采取由ASCII模块向CPU 单元主动发送读写请求信号,CPU单元在收到请求时才执行数据交换程序的方法。这样,就缩短了PLC的扫描周期,提高了通信实时性。

  在信息差错控制部分,采用了CRC-16循环冗余校验算法,该算法能使信息的差错率低于10-14以下。如果信息校验错误,程序将清除缓冲区,等待DCS信息重发。

  根据生产需要,可在HMI上将现场按钮等手控设备设为无效状态,所有手、自动操作均在DCS上进行。考虑到如通信网络遭到瘫痪等严重故障时,需保证现场电气设备正常启停,又增加了通信状态定时侦测程序,在规定时间(10秒)内网络上如无信号,PLC自动将现场按钮等手控设备设为有效,同时DCS故障报警,直到网络恢复正常为止。

  四、结束语

  当前分布式控制系统通信网络的设备、软件及整体架构,大部分是由厂商生产提供的,其总体性能较好。但如前所述,它们也有系统配置可选性小、网络架构适应面窄、价格较高等缺点。笔者采用Modbus协议这一成熟通信技术,选用PLC的可编程模块,进行基于Modbus通信协议的自主程序设计,架构起本自控系统的通信网络。该网络易扩展、易维护,具有结构简单、应用灵活、编程方便、造价低廉等特点。这套系统在某化纤生产线投运成功,实际运行状态良好,证明其稳定可靠,能完全满足系统设计要求。到目前为止,该系统已在多个工程项目上投入使用,全部运行正常,取得了良好的经济效益。

  本文创新点:采用工业领域通用的Modbus通信协议标准,利用可编程的PLC特殊功能模块,并进行通信程序设计,低成本的解决了本系统的通信架构问题,可为分布式控制系统通信网络兼容性设计的一个思路。

关键词:PLC通信

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!