基于Modbus协议的通讯集成技术探讨

2016-07-05 10:06唐珺
科技风 2016年18期

摘 要:工业控制领域要解决的主要问题是如何实现不同厂家生产的仪表与控制系统之间的网络通讯,有效地选择同时支持不同厂家生产的仪表与控制系统的工业通讯协议标准进行通讯集成是进行异构系统通讯集成的关键,而通讯集成技术正是解决工业仪表与控制系统网络通讯的核心技术。本文结合实际通讯集成工程实例,阐述了基于Modbus协议实现工业智能仪表与控制系统之间通讯集成技术的主要方法,并详细介绍了基于Modbus协议实现异构系统之间通讯的完整解决方案。经过后期实际应用效果发现,基于Modbus协议实现的异构系统之间的通讯集成方案为工程运作中的第三方通讯问题的解决提供了很大的便利性。

关键词:Modbus;通讯集成;集散控制系统

在现代工业控制领域中 智能仪表与控制系统所构成的异构系统之间的通讯标准差别一般都很大。在工厂中,不同的工艺设备仪表和工厂的控制系统往往采用不同厂家的PLC和DCS,因此,各种异构系统的通讯集成技术是实现在全厂范围内对各系统进行综合监测和控制的核心技术。如果工厂计划自己进行通讯集成技术的开发,则需要考虑硬件和软件方面的设施投资。其中,硬件方面需要购买网关设备进行各种不同协议的转换,软件方面需要解决软总线OPC技术等问题,所以,在硬软件投资上成本相对较高。目前,选择同时支持不同厂家生产的仪表与控制系统的工业标准协议进行不同系统之间的通讯集成是一种比较主流的方法[ 1 ]。该方法不仅满足系统集成领域的发展需求,还尽可能地考虑到降低工业生产成本问题。本文通过一个通讯集成工程实例,探讨了基于Modbus协议下,一台西门子S7-200微型PLC与恒压供水控制器以及仪表之间的通讯集成方法和步骤。

1 Modbus通讯协议

Modbus通讯协议是一种广泛应用于工业控制领域的串口通讯协议之一,该协议具有开放彻底、广泛支持的特点[ 2 ],在掌握了关键的通讯集成编程技术后,可以利用自由口编程方法快速实现Modbus应用层的通讯协议,可以说Modbus通讯协议是一种利用极低成本实现通讯集成的方法。Modbus通讯协议不仅支持大部分传统的个人计算机通讯接口,还支持大部分现代工业设备PLC、DCS等。Modbus的数据传输分为美国信息交换码(ASCⅡ)和远程终端设备(RTU)两种模式。Modbus通讯协议中,包含了16种功能各不相同的功能码,每种功能码具有各自的指令含义。其中01、06、16这三个功能码是STEP 7-MicroWin指令库中常用到的功能码。在STEP 7-MicroWin指令库中含有预先定义好的子程序和中断服务程序,这些预定程序是针对Modbus通讯而设计的,其主要用于实现西门子S7-200微型PLC与其他设备之间的通讯互联。此外,Modbus主站协议中的一系列指令也方便了S7-200PLC与DCS以及智能仪表之间的通讯互联,在这个过程中S7-200PLC相当于Modbus RTU主站,DCS和智能仪表属于从站。在STEP 7-MicroWin指令库中,主站的初始化操作指令是MBUS-CTRL,MBUS-MSG指令可以实现对从站的请求读写。MBUS-MSG与Modbus通讯协议中包含的功能码存在相互对应的关系,例如:功能码16与RW为1是相互对应的,功能码03与RW为0也是相互对应的关系。S7-200PLC Modbus主站向从站寄存器中写入相应数据就可以达到控制变频器相關操作的功能,如控制变频器的启动停止以及控制其工作效率等,S7-200PLC Modbus主站读取从站寄存器中的存储数据也可以获取关于变频器的相关运行数据。此外,将S7-200PLC的V存储区重置为1后,功能码16被强制设定为单寄存器的写入功能,从而实现对寄存器进行单寄存器写入功能。通过上述介绍可以实现对工业控制现场智能仪表的一系列参数设置。

2 Modbus协议在工业上的应用

2.1 通讯集成工程案例

本文以某工业供水系统控制作为案例,该供水系统具有相互独立的控制系统 ,其中各个系统之间互不干扰,采取独立供水方式。为了实现对整个工业现场供水情况的实时掌握和监控,需要重点解决数据采集主站与恒压供水控制器从站之间的通讯互联问题。本文将以西门子的S7-200微型PLC作为数据采集的主站。

2.2 基于Modbus_RTU的通讯集成解决方案

将一台西门子S7-200微型PLC作为数据采集的主站用于对整个供水系统的综合监控,3台恒压供水控制器和液体流量计挂接到Modbus总线上作为Modbus从站,主站会对从站上的各仪表设备进行数据采集和控制。将S7-200PLC控制器上的Port0串行通讯端口连接到恒压供水控制器端口上,并选用通用版工业组态软件MCGS作为上位机,利用上位机和西门子S7-200微型PLC可以实现PPI通讯。

2.3 S7-200主站程序编写

实现通讯互联的关键步骤是对主站程序进行编写。其主程序的编写主要负责初始化主站通讯端口以及实现对从站数据的读取和写入操作,其中从站数据的读取和写入程序的实现主要利用轮询和中断的方法。S7-200 Modbus主站程序能够实现对恒压供水控制器寄存器中的数据读取,其读取寄存器中的压力值,并将换算后的压力值与管网上压力表值进行对比,查看是否相同。总之,利用S7-200 Modbus指令库中的轮询和中断,使得异构系统之间的通讯变得更加简单可行。

3 结语

本文介绍了基于Modbus协议的通讯集成工程案例,不仅提高了系统的稳定性,还大大缩短了整个系统的开发时间。利用Modbus协议实现不同厂家生产的仪表和控制系统之间的通讯集成,可以有效地降低工业现场的控制成本费用,同时现场布线操作起来相对容易,在一定程度上也减轻了施工人员的工作量,有效地提高了工业控制的灵活性和可靠性。

参考文献:

[1] 史运涛,孙德辉,李志军等.基于Modbus协议的通讯集成技术研究[J].化工自动化及仪表,2010,37(4):67-72.

[2] 王军霞,赵金龙,程秀竹等.MODBUS RTU通讯协议在S7—200 PLC中的应用[J].自动化信息,2013(4):53-55.

作者简介:

唐珺(1983-),男,江西南昌人,硕士,讲师,研究方向:电子通信。