微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Modbus通信协议在分布式控制系统中的应用

Modbus通信协议在分布式控制系统中的应用

时间:12-21 来源:互联网 点击:

一、引言

现代工业的迅速发展,不断促进着自控技术及设备创新的日新月异。当前,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机可与连接在网络上的其

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top