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

发布时间:2024-03-29  

  一、引 言

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


  二、系统组成

  1、系统结构

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

  

wKgaomUOmZSAEP2BAABBNUlKPXE454.png

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

  2、通信网络组成

  2.1通信协议

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

  

wKgZomUOmZ-ADVJnAABkBj0t3-I557.png

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

 

wKgZomUOmamAcxCuAAAxz850rcE112.png

  它没有起始位和停止位,而是由至少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单元进行数据存取交换,以实现上下位机控制信息的实时传输。如图四所示。

  

wKgZomUOmbCAOkHdAAA_j53dpqI968.png

  三、软件实现

  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模块。通信程序的主工作流程见图五。

  

wKgaomUOmbaAE1l6AADKYckZm8Y203.png

  部分程序代码如下:

  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特殊功能模块,并进行通信程序设计,低成本的解决了本系统的通信架构问题,可为分布式控制系统通信网络兼容性设计的一个思路。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>