6ES7235-0KD22-0XA8型号大全
3.2系统工作原理
在软冗余系统进行工作时,A,B控制站(处理器,通讯、I/O)独立运行,由主站的PLC掌握对ET200从站中的I/O控制权。A,B站中的PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundantback-up)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。软冗余系统中PLC内部程序运行过程如图3所示。
图3 软冗余系统PLC内部运行图
在主控制站发生故障时,主备控制站的切换时间=故障诊断检测时间+同步数据传输时间+DP从站切换时间。如果CPU的故障是停机或断电,故障诊断为大约100~1000 ms。数据同步所需时间取决于同步数据量的大小和同步所采用的网络方式,目前普遍采用Ethernet网方式。以CPU315-2DP为例,同步1000B的数据所需时间大约为200~300 ms。还有2个DP从站的切换时间在70ms左右。无论控制程序循环扫描到哪里,当前激活的系统(即主系统)随时都会接收并处理报警,但在主系统A与备用系统B进行切换过程中产生的报警存在被丢失的可能。
4 硬件选型
无为县城污水处理工程变配电间站软冗余系统选用SIMATICS7-300系列PLC,中央处理器为CPU315-2DP,编程软件为Step7V5.2。其中PLC本体与远程I/O通讯为PROFIBUS协议的串口通讯,PLC与计算机采用工业以太网,并以工业以太网作为冗余网络。其PLC模块选型如下:
(1)电源模块6ES7307-1EA00-OAA0两块给CPU供电;
(2)中央处理器CPU315-2DP 6ES7315-2AGl00AB0两块,工作存储器512KB;
(3)通讯模块6GK7343-1EX20-0XE0两块与计算机进行网络通讯并进行两个CPU间的冗余通讯;
(4)接口模块6ES7153-2AA02-0XBO两块进行PROFIBUS远程I/O和系统间的冗余通讯;
(5)电源模块6EPl333-2AA00两块给ET200供电;
(6)DI数字量输入模块6ES7321-1BL00-0AA0六块采集现场设备的开停、运行及故障状态;
(7)DO数字量输出模块6ES7322-1BL00-0AA0三块控制现场设备的启停;
(8)AI模拟量输入模块6ES733l-7KF02-0ABO四块采集现场的液位、压力、liuliang、PH/T、浊度以及风机和加药泵的频率信号;
(9)A0模拟量输出模块6ES7332-5HFOO-OABO两块通过程序的PID自动控制调节风机和加药装置的频率。
5 系统检测结果
变配电间站S7-300软冗余系统投入运行后系统工作正常。在工程调试时,技术人员通过设定控制字实现手动的主备系统切换。测试时没有出现主从系统切换时中断,切换时一切控制正常,包括控制继电器不会断开、模拟量输出控制变频器转速不会丢失等。还有测试时PROFIBUS总线传输正常,没有掉落模块的情况出现。这表明西门子S7-300软冗余系统应用于对主备系统切换时间要求不高的中小型污水处理控制系统中是完全可行的。
引言
随着我国经济发展和城镇化进程的加快,中小城市污水量呈现逐年增加趋势,为减少污水收集管网的工程建设投资,中小城市污水处理设施呈现分散、规模小等特点。受经济发展水平、处理要求、运营管理经验和水平等影响,大型污水处理控制系统难以适应这些中小污水处理工程的建设要求,寻找适合城市中、小污水厂的污水处理控制系统显得十分重要。本文介绍西门子S7-300PLC软冗余系统在安徽无为县城污水处理厂的成功应用,该系统既保证了系统的可靠性、稳定性和实时性,又降低了工程建设成本。
1 系统介绍
安徽无为县城污水处理厂是一座由安徽现代污水处理有限公司按BOT方式(建设-运行-移交)筹资建设的的城市污水处理厂,处理规模一期40000m3/d,厂址位于无为县城东北部陈家村西侧,占地面积约3.34公顷。无为污水处理厂主要处理来自县城东北区约13万人的生活污水及工业废水,采用A/A/O工艺,主要构筑物包括粗格栅及进水泵房、细格栅及旋流沉沙池、生物反应池、二沉池配水井及污泥泵房、二沉池、紫外线消毒渠和储泥池等,其流程图如图1所示。设计要求出水水质达到GBl8918-2002国家一级B排放标准,污水处理过程中产生的污泥采用浓缩脱水处理后外运至垃圾填埋场填埋。
图1 无为污水处理厂一期工艺流程图
无为污水处理厂控制系统设1个监控中心(中控室)、3个现场PLC站(模拟屏站PLC01、变配电间站PLC02、污泥脱水间PLC03站)。其中变配电间站为重要,主要控制tisheng泵站、格栅井、沉沙池、氧化沟、二沉池、回流泵站、剩余污泥泵站、贮泥池的自动运行。关键控制对象是氧化沟中的含氧量和回流污泥量,以保证维持微生物的生存环境,达到去除原污水中污染物的目的。
2 选型比较
对于变配电间站控制系统的选型,以前类似工程大多采用A-B公司的ControlLogix系列或是西门子S7-400系列的硬件冗余系统,具有稳定性好、切换速度快等优点,但造价相对昂贵,是国内大型污水处理控制系统的优先选择。目前中小城市的污水项目很多为BOT项目且对控制系统切换时间要求条件不是太高,要求控制系统选型时既要保证性能,又要降低成本。据德国西门子公司提供的资料,硬件双机冗余系统的价格比软冗余系统高40%左右,但可用率只tigaoO.08%。在国外大部分同等规模的污水处理厂中也未采用双机硬件冗余系统,需要对控制系统的技术有更深入的了解,避免在设计选型上照抄、照搬。通过对西门子硬件冗余和软件冗余系统的深入分析和性能比较,后决定选用价格相对便宜而性能又比较稳定的软冗余系统。
3软冗余系统结构和原理
控制系统冗余常见方式是中央处理器冗余、I/O冗余和通讯冗余。中央处理器冗余是在主处理器失效时,备用处理器自动投入运行从而接管控制。在控制权的交互方式上又分为硬件冗余和软件冗余两种。硬件冗余是采用硬件方式进行切换,除成对的使用中央处理器外,还需专用的热备模块负责检测处理器,一旦发现主处理器失效,马上将系统控制权交给备用处理器。硬件冗余采用光纤通讯,通讯速度快,系统稳定,切换时间更短,成本也高。软件冗余方式只需要成对的处理器,用软件编程的方式进行处理器的切换,组成比较经济,构成十分灵活,但程序处理需要一定的时间,对于时钟同步及切换时间要求不是十分严格的场合,选用软件冗余方式是非常经济有效的。
3.1 系统结构
软冗余系统的基本结构如图2所示。
图2 软冗余系统的基本结构
西门子S7-300PLC软冗余系统由A和B两套PLC控制站组成。开始时A站为主,B站为备用,当主站A中的任何一个组件出错,控制任务会自动切换到备用站B当中执行,这时,B站为主,A站为备用,这种切换过程是包括电源、CPU、通讯电缆和IMl53接口模块的整体切换。系统运行过程中,没有任何组件出错,操作人员也可以通过设定控制字,实现手动的主备系统切换。这种手动切换功能对控制系统的软硬件调整、更换和扩容非常有用的。
众所周知,PLC自从问世以来就在自动控制各个行业发挥着难以取代的核心控制作用。PLC运行可靠,适用于各种恶劣的工业环境,PLC和工控机(IPC)相比,其运行可靠、可扩展性好、便于电气连接、控制更,工控机良好的人机界面,方便语言都是PLC所不能比拟的。
组态软件在很多场合应用于控制,可整个控制的中心往往还是PLC,组态软件(上位机)所起的控制作用很小。人机界面一般用于简单的动作控制,工艺参数的编制,配方的设定等等,在概念上属于控制范畴,但它并未真正起到核心控制作用,因为真正长期的自动运行控制是由PLC完成。我们不经常使用工控机作为核心控制部分的原因有两点:,工控机不适于在很恶略的环境下运行;第二,工控机经常采用的bbbbbbs系统并不能够让人放心,其长期运行效果并不好。
PLC、IPC在自动化控制中扮演不同角色,在许多运行连续时间较短,环境相对比较好的地方,人们还是希望使用IPC进行核心控制。使用IPC进行核心控制有很多种实现方式,当然其中为简单的办法就是使用组态软件。
本文针对使用组态软件做控制中用户经常遇到的问题进行讨论。在许多用户使用组态软件进行控制,尤其是使用串口连接方式进行控制时,发现组态软件自动控制会影响的数据的采集速度,本文着重介绍如何解决此问题,解决此办法就是——将PLC的控制方式模仿的应用到上位机串口控制中。
1 用户使用组态软件控制后,导致数据采集慢的原因
这是许多组态软件用户在编写上位机自动控制程序中所遇到的问题,到底是什么原因?能否有好的办法来解决?
我们先简单描述组态软件数据采集控制的原理。在正常情况下,组态软件定时向下位机发出读命令来等待下位机回应以截取想要查询的数据,周而复始的循环,数据便动态的显示在上位机上,实现数据“实时采集”。那么当我们需要对下位机进行控制时,组态软件就会相应写命令,实现上位机对下位机的“实时控制”。
表面上看去合情合理,可为什么会出现数据采集慢这种情况?原来一切“归咎于”组态软件的读写机制。组态软件为实现快速的控制,给写命令高的优先执行权,也就是说,当有写(控制)命令时,组态软件执行写命令,直到没有写(控制)命令时组态软件才恢复正常的读(采集)循环。
由此,我们不难发现用户经常出现数据采集慢的原因。如果用户频繁将控制指令发出,系统将分配很少的时间给数据采集,从而导致数据采集变慢或者中断。用户在循环指令中重复给一个变量赋值(如y0=1),就会导致以上问题,我们的解决办法就是需要控制时控制,不需要控制时放手。为了实现这种控制方式,我们可以参考PLC的运行模式。
2 PLC运行原理
在没有中断的情况下,PLC采用“顺序扫描,不断循环”的工作方式。
1) 每次扫描过程。集中对输入信号进行采样,集中对输出信号进行刷新。
2)输入刷新过程。当输入端口关闭时,程序在进行执行阶段时,输入端有新状态,新状态不能被读入。只有程序进行下一次扫描时,新状态才被读入。
3) 一个扫描周期分为输入采样,程序执行,输出刷新。
4) 元件映象寄存器的内容是随着程序的执行变化而变化。
5) 扫描周期的长短由三条决定:
6) 由于采用集中采样。集中输出的方式,存在输入/输出滞后的现象,即输入/输出响应延迟。
3 小结
如上所述,在组态软件控制中,我们采用先运算再输出的方法,即,对IO变量有循环复杂运算操作时,我们采用中间变量计算,待计算出结果时我们再对IO变量赋值,这样就会解决控制中采集慢的问题。
PDU的寻址方式也在Modbus应用层协议中作出了具体的定义。在ModbusPDU中每一个数据都赋予从0~65535中的一个值作为该数据的地址。而在Modbus数据模型中,每一种数据类型块中的数据单元都定义了一个从1到n(设备容量决定)的值作为其地址。Modbus数据模型要与符合IEC-61131标准的实际设备内存或者其他模型对应起来,这方面的映射关系是由设备生产厂家制定的。图二给出了Modbus寻址模型,设备内存中的四种数据模式的组织方式是由厂家决定的。由图2可知,一个ModbusPDU地址所对应的Modbus数据模型地址为该PDU地址加1。
2.2 Modbus通信实现方式
要实现设备间的通信,需要将Modbus应用层协议嵌入到ISO/OSI参考模型中的低层协议中。现行的通信方式有三种:
(1) 通过串行链路实现的异步数据传输(Modbus-RTU andModbus-ASCII),又称标准Modbus通信;
(2) 高速令牌环网通信(Modbus-Plus);
(3) 基于TCP/IP的客户/服务器结构通信(Modbus-TCP)。
表2给出这三种通信方式与ISO/OSI参考模型的比较。
表2 三种Modbus通信方式与OSI参考模型比较
在不同的通信方式中都要对ModbusPDU进行封装,组成不同的Modbus帧,这种帧在Modbus协议中有专有的名词称之为应用数据单元(ADU)。在Modbus-RTU和Modbus-Plus通信中采用的是标准应用数据单元,它只是在PDU前面加上了占用一个字节的附加地址和在PDU结束增加了占用两个字节的校验码。在Modbus-TCP/IP网络通信中需要对Modbus应用层协议进行重新封装,该封装是通过在ModbusPDU前加上了Modbus应用层协议帧头来实现。
图3 两种ADU比较
基于串行链路的Modbus通信网络是一种主从式网络,在串行网络中只允许存在一个主节点和多247个从节点,在这种网络下,标准ModbusADU中的附加地址域只包含从节点的地址,可寻址范围是0~247,地址0作为广播模式地址使用,从节点地址的有效取值范围是1~247,并且每个从节点的地址必须是唯一的,主节点不存在具体的地址值。主节点设备将要访问的从节点设备的地址放入到请求帧的地址域中,当该地址的从节点设备作出响应时,将会把从节点设备的地址复制到响应帧的地址域中,主节点设备通过该地址得知是由哪个从节点设备发来的响应。
校验域存放了根据报文内容经由冗余校验算法计算所得到的结果。在基于串行链路的Modbus通信网络中有两种传输方式:RTU和ASCII,这两种传输方式的冗余校验算法是不同的。
采用RTU通信模式要比ASCII模式在同样波特率下能传输更多信息,在RTU模式底下是以二进制编码方式对传输数据进行编码,报文中每一个字节(8位二进制位)包含了两个十六进制字符,同一报文内的字符必须连续传输。RTU模式字节传输格式由1位起始位,8位数据位,1位奇偶检验位和1位停止位依次组成,共占用11位二进制位。当不使用奇偶检验时,奇偶校验位也作停止位使用,此时共有两位停止位。RTU传输模式下帧的差错校验域内存放的是报文经过循环冗余检验(CRC)算法计算得出的结果。
采用ASCII通信模式时,每一个字节(8位二进制位)用两个ASCII字符表示。由于每个字节都要用两个字符表示,数据域的长度是RTU模式的两倍,显然在该模式下的传输效率要比RTU模式低。该模式的字节传输格式与RTU模式相似,只是数据位置占用7个二进制位。ASCII模式下帧的差错检验算法为纵向冗余校验(LRC)。
Modbus-TCP实现了在TCP/IP以太网上以客户/服务器方式的Modbus报文通信。这种通信模型是将Modbus协议作为应用层协议嵌入到低层TCP/IP协议中构成的。与标准Modbus帧相比,Modbus-TCP帧中的寻址与校验交由TCP/IP协议完成。如图3所示,使用封装的方法将ModbusPDU嵌入到TCP报文中形成Modbus-TCP帧,该帧在PDU之前形成了一个占用7个字节大小的MBAP帧头,帧头可以划分为四部分,如表3所示。
交易标识符用于交易校验,服务器端节收到由客户发来的请求交易标识符并复制到响应中。协议标识符用于系统内多路复用传输,取0值时代表Modbus协议传输。长度域记录了该域后续报文的字节长度(包括设备识别符和数据域),用于服务器识别报文的传输结束。设备标识符用于系统内路由,当需要与通过以太网网关连接的Modbus串行链路或Modbus-Plus通信网络上的设备进行通信时,该标识符域的值由Modbus-TCP客户在请求帧中设置,服务器接收到后,在响应帧中复制该值。
3 Modbus-TCP应用
针对施奈德电气旗下的Quantum系列PLC,为了加快完成这方面的工作,采用自编写的程序实现计算机对PLC的四种数据类型直接操作。硬件方面,Quantum系列PLC有能提供以太网接口的网络模块,通过底板与CPU通信,它作为Modbus-TCP通信的服务器,不需要我们做其他编程工作。PLC为上文所陈述的四种数据类型定义了四个独立的内存区,其中离散输入为1区,线圈为0区,输入寄存器为3区,输出寄存器为4区,寻址方式为区号加上5位的十进制地址,当输入地址不足6位时,系统将自动认为高位数值为内存分区号,其后数值为该区域内的地址编号。由于操作的目的在于检验PLC系统中IO通道的正确性,所需要使用的功能码有:读线圈01、读离散输入02、读保持寄存器03、读输入寄存器04、写多线圈15和写多个寄存器16。
一次完整的Modbus-TCP通信在时间上可以划分为三个步骤:连接的建立、Modbus数据传输和连接的释放。在进行Modbus数据传输之前要建立起一个连接,设备是通过在502端口提供一个监听口(socket)来允许与其它设备建立新连接和进行数据传输。当某一设备需要与远方的服务器进行数据交换时,必须通过自身大于1024的端口与服务器的502端口建立连接。TCP连接建立后,客户端设备便可以发送Modbus请求帧到服务器,服务器接收到请求后作出响应,向连接客户的端口发送响应报文。传输结束时,客户端负责进行释放通信连接的初始化工作。
程序在DOS模式下运行,提供有以下运行参数:
-ip: 即目标服务器的IP地址;
-p: PLC的Modbus通信端口,默认值为502;
-c: 服务器执行功能码的操作对象数量;
-r: 操作的起始地址;
-w: 写操作参数;
-a: 自动操作模式;
-t: 自动操作的时间间隔;
-b: 线圈写操作的布尔值。
4 结束语
通过以太网来实现计算机直接读写PLC数据,使得厂级监控网络能够直接与现场设备通信,监控人员能够在熟悉的计算机画面上对PLC通道进行检测,与依靠人为施加信号来进行检测相比,前者明显地降低了操作人员的工作量,当需要检测的IO点数量越大时,效率越高。本程序只是Modbus与TCP/IP协议结合的一个简单应用,以太网的实时性、稳定性和抗干扰性已得到很大的发展,但要把以太网真正应用到实际的控制中还有很多技术难题,这还要走很长一段路。以太网进入自动控制领域已是必然趋势,它将使控制变得更加简单和清楚。