实现ABB论文_谢宗超

珠海伟诚科技股份有限公司 广东省珠海市 51900

摘要:Modbus是一种串行通讯协议,广泛应用于工业控制系统中,Modbus已经成为工业领域通信协议的业界标准,并且应用于工业电子设备之间常用的连接方式。通过它不同厂商生产的控制设备可以进行通信并成工业控制系统,进行集中监控。PLC、DCS、智能仪表等都支持Modbus协议作为他们之间的通讯标准之一。

Abstract: Modbus is a serial communication protocol widely used in industrial control systems. Modbus has become the industry standard for communication between industrial control systems or intelligent electronics devices which are produced by different manufacturers. All systems or devices supported Modbus communication could be connected into the centralized control system for control and monitoring.

关键词: 串行通讯协议 Modbus 工业控制系统 PLC DCS

引言:

Modbus协议是应用于工业系统控制器上的一种通用语言。通过此协议,不同厂商的控制器之间可以相互通讯,控制器通过串口和以太网与其他现场设备进行数据通讯,它已经成为一通用工业标准。本文将介绍在DCS领域比较有代表性的ABB HPC800系统控制系统和在PLC领域比较有代表性S7-400H系列控制系统之间通过Modbus TCP通讯。

1.Modbus简介

1.1.Modbus介绍

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版权要求;易于部署和维护;对供应商来说,修改移动本地的比特或字节没有很多限制

Modbus允许多个(大约240个)设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统SCADA中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)

1.2.协议版本

Modbus协议当前存在用于串口、以太网以及其他支持互联网协议的网络的版本。对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

1.3.通信和设备

Modbus协议是一个master/Slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是Slave节点。每一个Slave设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备引导指令)。

一个Modbus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址0例外,指定地址0的指令是广播指令,所有收到指令的设备都会运行,不过不回应指令)。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。基本的Modbus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。

2.Modbus串口通讯与Modbus TCP通讯差别

2.1.共同点

Modbus串口和Modbus TCP两个协议的本质都是Modbus协议,都是通过Modbus寄存器地址来交换数据;

2.2.不同点

传输媒介(硬件接口)不一样;Modbus 串口一般采用串口RS232C或RS485/422;Modbus TCP一般采用以太网口。

校验码不一样;Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,串口模式采用16位CRC校验.Modbus TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。TCP和串口协议非常类似,把串口协议的两个字节的校验码去掉,在串口协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去

架构不一样;Modbus串口是master/Slave架构,总线上只有一个Master;

Modbus TCP 是Server/Client架构,Client(Master)向Server(Slave)发送数据请求,Server响应Client的请求,Client接收响应的信息。网络上可以有多个Client和多个Server。

3. Modbus功能码简述

功能码定义了从设备应该执行的命令,主站请求发送,通过功能码告诉从站执行什么动作; 从站发送的功能码与从主站得到的功能码一样,并表明从站已响应主站进行操作。功能码的取值范围是1~255,有些代码适用于所有控制器,有些代码只能应用于某种控制器。

下表列出Modbus支持的部分常用功能代码:以十进制表示

 

3.1.功能码说明

功能码可以分为位操作和字操作两类。位操作的最小单位为BIT,字操作的最小单位为两个字节。

位操作指令:读线圈状态:01H;

读( 离散) 输入状态:02H;

写单个线圈:06H;

写多个线圈:0FH;

字操作指令:读保持寄存器:03H;

写单个寄存器:06H;

写多个保持寄存器:10H;

3.2.寄存器地址分配

3.3.DCS/PLC 地址和协议地址区别

DCS/PLC地址可以理解为协议地址的变种,在触摸屏、DCS和PLC编程中应用较为广泛。

3.3.1.寄存器 DCS/PLC地址

寄存器 DCS/PLC地址指存放于控制器中的地址,这些控制器可以是DCS/PLC,也可以使触摸屏, 或是文本显示器。 DCS/PLC地址一般采用10进制描述,共有5位,其中第一位代码寄存器类型。第一位数字和寄存器类型的对应关系。

3.3.2寄存器协议地址

寄存器协议地址指指通信时使用的寄存器地址。

例如:PLC地址40001对应寻址地址0x0000,

40002对应寻址地址0x0001,

寄存器寻址地址一般使用16进制描述。

4.实现ABB DCS与西门子PLC Modbus TCP通信

4.1.ABB DCS与西门子PLC modbus通讯

4.1.1.系统结构图

通过Modbus TCP 实现ABB DCS系统与西门子PLC系统之间通讯。实现不同控制系统之间数据传输,发挥了PLC跟DCS各自的领域的优势。DCS冗余控制器和PLC冗余控制器实现网络冗余,提高系统的稳定性。

4.1.2.HPC800系列控制系统简介

HPC800系列控制系统是DCS领域比较有代表性的控制系统,是ABB广受赞誉的Symphony分散控制系统家族的新一代产品, Symphony系统是世界上发电和水行业应用最广泛的DCS系统。HPC800可以为各种规模的工厂应用提供强大、多样、灵活的自动化解决方案。HPC800的结构保证了与智能现场设备和协议的无缝集成,通过PROFIBUS DP, HART 以及 Modbus TCP 通讯。硬接线的I/O和现场总线I/O可以并存,使用功能块库完成实时的控制应用。

4.1.3.S7-400H控制系统简介

S7-400H系列控制系统是PLC领域比较有代表性的控制系统,是用于高档性能范围的可编程序控制器。模块化及无风扇的设计,坚固耐用,容易扩展和广泛的通讯能力,容易实现的分布式结构以及用户友好的操作使 SIMATIC S7-400H 成为高档性能控制领域中首选的理想解决方案之一。

4.2.ABB DCS控制系统配置

4.2.1.软件设置

通过S+ Engineering对项目进行开发,调用GATEWAY功能码227,设置IP地址(192.168.0.10,冗余IP不需要设置功能码自动+1),根据数据匹配表创建逻辑图纸。

4.2.2.配置Harmony Gateway Software(简称HGS)

HGS是桥梁的作用,将外部Modbus的地址跟DCS内部block地址匹配。

在HGS配置ModbusTCP客户端地址,既是PLC地址:192.168.0.20,冗余IP:192.168.0.21;

配置Modbus TCP Mapping,既是配置DCS内部地址对应的外部从站Modbus对应的地址;

4.3.西门子PLC控制系统配置

4.3.1.硬件组态

通过step 7进行硬件配置,配置PN口的IP地址,分别是192.168.0.20和192.168.0.21;

4.3.2.软件设置

调用Modbus功能块FB917 MB_PNHSV COMM.配置参数DB块,设置成Modbus服务器,设置被动连接,设置端口号为502,配置数据类型,设置DB块和Modbus地址对应的关系。

5.结束语

Modbus在工业中得到了广泛的应用,打破通讯壁垒,实现不同品牌设备之间相互通讯,组成各种自动化控制系统。本文介绍了 Modbus在DCS系统和PLC系统的应用,系统结构简单,通讯稳定,并成功应用于现场,希望本系统对类似的通讯应用有所帮助。

参考资料:

1.Drury, Bill. Control Techniques Drives and Controls Handbook (PDF) 2nd. Institution of Engineering and Technology. 2009: 508

2.Schneider-Electric.Modicon Modbus Protocol Reference Guide[R].1996

3.郭琼.现场总线技术及其应用 [M]. 北京:机械工业出版社 ,2014.

4.张 扬.S 7-20 0 PLC原 理与应 用系统设计[M]. 北京: 机械工业出版社 ,20 07.

5.杨卫华 . 现 场总线网络 [M]. 北京: 高等教育出版社 ,20 04.

论文作者:谢宗超

论文发表刊物:《防护工程》2019年第5期

论文发表时间:2019/6/13

标签:;  ;  ;  ;  ;  ;  ;  ;  

实现ABB论文_谢宗超
下载Doc文档

猜你喜欢