基于工业以太网与Modbus的多台西门子PLC与DCS的通信系统

2014-08-03 03:45王海群笪可静刘天虎秦朝军
化工自动化及仪表 2014年8期
关键词:主站加热炉西门子

王海群 笪可静 刘天虎 唐 山 秦朝军

(北京航天石化技术装备工程公司加热炉事业部,北京100166)

西门子PLC以其可靠性高、软件功能丰富、编程灵活以及组网能力强大等优点越来越广泛地应用于工业自动控制系统[1]。从S7-200、S7-300至S7-400,西门子PLC提供了PPI、MPI、Profibus、Industrial Ethernet及AS-i等一系列网络解决方案,从而满足了从管理层、客户层、现场层到传感器/执行器等各种层面的通信要求[2]。同时,随着现场总线技术的不断发展与兼容要求的不断提高,为了与其他厂商的设备进行通信,西门子也提供了Modbus通信产品,但是由于Modbus并非西门子主导的通信规范,S7-300 PLC系统还需单独购买包含协议转换器Dongle的软件[3],因此其价格相对较高,通信灵活性也不如其主导的通信总线规范Profibus。笔者以某化工厂的多台加热炉项目为背景,结合项目要求,采用工业以太网通信与Modbus通信相结合的方式,实现多台加热炉PLC与DCS的通信,以期为工业中其他类似项目提供参考。

1 系统介绍①

某化工厂新建装置中的3台加热炉采用西门子PLC对现场配套的仪表阀门进行控制,西门子PLC及配套的继电器、端子排等分别置于3台仪表控制柜之中,并采用两台上位机运行WinCC软件设计人机交互界面完成对3台加热炉的监控与操作,3台PLC与两台上位机通过一台交换机连接成工业以太网,其系统结构如图1所示。由于DCS的监控需要,3台PLC所监控的部分数据需采用通信方式送至DCS中,从而在DCS的操作站上实现对3台加热炉运行状态的监控。同时,考虑到DCS与多个设备厂商控制系统通信协议的一致性,通信方式确定使用Modbus RTU(物理层采用RS485),DCS端为主站,各设备控制系统为从站。

图1 3台PLC与两台上位机组成的工业以太网

2 系统结构与硬件选型

3台PLC与交换机互联的以太网通信卡选择CP343-1模块。由于与DCS的通信方式已确定为Modbus RTU,DCS端为主站,因此PLC还需要配置Modbus通信卡,对于S7-300 PLC,通信卡的对应型号为CP341 RS422/485(以下简称CP341)模块。对于常规独立的PLC系统,各PLC之间并不存在通信联系,因此需要各自配置CP341模块与DCS通信(图2),这种方式需要3个CP341模块。显然,该方式通信线路更为复杂,设备成本也较高。笔者考虑到通信的数据量并不大,数据为单向传输,即DCS只对接收数据进行显示监控;并且3台加热炉设备处于同一装置,其控制系统已经联成工业以太网,且在检修时同步停机,投产时同步运行。因此可以将3台PLC上的数据通过CP343-1工业以太网模块以TCP/IP通信的方式汇总到其中一台PLC中,再通过该台PLC的CP341模块将数据传送给DCS(图3),从而减少硬件投入和通信线路。

图2 独立系统Modbus通信示意图

图3 联网系统Modbus通信示意图

3 通信实现与编程

该项目的通信由两部分组成:以太网通信与Modbus通信。以太网通信在各PLC间进行,Modbus通信在装有CP341模块的PLC(以下简称主PLC,另两台PLC简称从PLC)和DCS之间进行,DCS根据厂商的不同其具体的主站设置与组态方法各有不同,笔者主要介绍PLC之间的以太网通信实现和主PLC的Modbus从站通信实现。

3.1 PLC之间的以太网通信

PLC的以太网通信编程包括两部分:CP连接组态和PLC通信编程。S7-300 PLC的CP组态和PLC通信编程均使用软件STEP7。TCP/IP是当前应用最为广泛的通信协议,西门子的工业以太网卡如CP343-1也支持TCP/IP协议。用于PLC间通信的CP应用层由程序使用标准的处理块定义,这些应用程序使用传输层的TCP或UDP协议交换数据。面向连接的TCP在网络上为数据提供安全的传输,输出服务使用需确认的连接服务,数据的传输需应答,检测和更正通信错误,因此TCP连接是安全的连接。无连接的UDP提供快速的通信连接,数据的传输不需要应答,它既不关心数据报的丢失,也不检查分组序列,是一种相对不太安全的连接[4]。由于工业现场的数据都十分重要,为了保证通信的准确无误,笔者采用了面向连接的TCP通信方式。

3.1.1S7-300 PLC的硬件和网络组态

为了使S7-300 PLC能够通过以太网进行通信,需要通过CP343-1以太网模块,将S7-300 PLC连到以太网上。进入西门子硬件组态,选择CP343-1以太网模块的属性,在相应位置设置好IP地址、网关及子网掩码等信息,必须保证3个CP343-1以太网模块处于同一网段。为了和通信伙伴站进行通信,在西门子的网络组态软件NetPro中要建立一个通信连接,在网络协议栏中选择TCP协议,同时设置好本地通信的端口,并进入连接属性画面,将主PLC激活连接建立的钩去掉,使其以服务器方式工作,另两台从PLC以客户端方式工作。

3.1.2S7-300 PLC通信程序的实现

为了实现通信,S7-300 PLC的CPU需要调用相应的通信功能块,将数据发送到CP343-1,同时从CP343-1中获取通信伙伴站发送过来的数据。然后CP343-1对数据进行排队,再在恰当的时间将数据发送到以太网上的通信伙伴站或本地CPU。西门子提供了两个功能:FC5(AG_SEND)和FC6(AG_RECV),需要在OB1或定时中断块中调用。FC5主要负责将CPU中的数据发送到CP343-1以太网通信模块;FC6主要接收CP343-1以太网模块从网络上收到的数据,并把其放到CPU的存储区,其通信数据流程如图4所示。两台从PLC中需各创建一个DB数据块对所需通信数据进行汇总,本项目中为DB10;主PLC中也需创建相应的数据接收区域,为了便于后续的Modbus通信,本项目中只建立一个DB数据块DB11用于接收两个从PLC发送的DB10中的全部数据,其存储区长度大于从PLC两个DB10的长度之和,并预留出主PLC所需通信的数据存储区。

图4 PLC之间以太网通信数据流程

3.2 主PLC的Modbus从站通信

CP341模块固件中的标准协议有:ASCII、3964[R]及RK512等,为了扩展CP341的功能并使其适用于通信伙伴,可以在CP341上装载其他传输协议,必须单独订购包含这些协议的软件。CP341加载Modbus RTU格式通信协议就需要购买软件,在软件中含有协议转换器Dongle,主站Dongle和从站Dongle不同,本项目中DCS为主站,PLC为从站,使用时将从站Dongle插入PLC的CP341模块后面的插槽中。

3.2.1CP341组态和配置

在STEP7中进入硬件组态,双击CP341模块,点击Parameter,配置CP341参数。在Protocol选项中选择Modbus Slave,打开Protocol参数配置对话框,在相应标签页设置好从站地址、波特率、输入及输出寄存器数据区等参数。配置完成后装载驱动并保存编译硬件组态,同时确认没有错误。

3.2.2PLC的Modbus通信程序

首先将FB7、FB8添加到程序Blocks,然后在OB1中调用Modbus从站功能块FB80,分配背景数据块DB80,将参数LADDR设为硬件组态中的起始逻辑地址,最后参照手册设置好其他参数地址,如初始化始能位及错误信息寄存器等。前面已述两台从PLC的数据已通过以太网TCP通信传送到主PLC的DB11中。对于模拟量,只需将主PLC所需通信的数据整理到DB11预留出的数据存储区,并将DB11设置为模拟量输出寄存器数据区即可;对于开关量,需对DB11收到的相应数据按位进行拆分并赋值到开关量输出寄存器数据区。主PLC的DB11相当于以太网通信与Modbus通信的桥梁。

在DCS完成相应的Modbus主站通信设置和程序后,即可实现主PLC与DCS的Modbus通信,同时结合3台PLC之间的以太网通信,间接实现了另两台PLC与DCS的数据通信,满足了项目要求。

4 结束语

将工业以太网通信技术与Modbus通信技术有机结合,实现了多台S7-300 PLC仅通过一个Modbus从站与DCS主站通信,减少了通信设备与线路,降低了投资成本。经过一年多的连续运行,证明了该通信方式简洁高效,保证了生产数据及时可靠地传送给DCS系统。

猜你喜欢
主站加热炉西门子
基于西门子SMART系列PLC关于99套模具选择的实现
基于Workbench的加热炉管柱结构优化
西门子重型燃机出海
便携无火加热炉
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
基于改进经济压差算法的主站AVC的研究
关口电能计量故障监测报警装置及主站研究
西门子 分布式I/O Simatic ET 200AL
西门子引领制造业的未来