[摘 要]
OMRON公司在提供了余CLK单元和冗余以太网单元。这些冗余单元的选择能更好地适应过程控制系统的风险管理需求。以综合水泵房控制系统为例,讲述了OMRON的新一代冗余型PLC系统在发电厂的应用,详细阐述了基于以太网的FINS通信服务原理和冗余网络组建方法。
水系统是电厂主要辅控系统之一,先进的水系统控制方式以集中监控为主,即在系统集中控制室的操作员工作站上完成对锅炉补给水处理系统、综合水泵房系统、废水处理系统、凝结水处理系统、制氢站控制系统、循环水加药系统、渣水加药处理系统等的监控。水系统中的各子控制系统由工业控制计算机和PLC构成,并通过工控组态软件和过程应用软件,实现对各系统的阀门、泵、电机及仪表等现场设备的检测和控制。
从系统可靠性出发,水系统网络拓扑结构一般采用冗余的星型拓扑结构,两台网络中心主交换机与各子系统交换机(二级交换机)用光纤连接,构成 100Mbps快速以太网主干。PLC冗余通讯模块分别连接到两台二级交换机上,实现了网络设备冗余。中心主交换机布置在集中控制室内,各子系统的交换机、PLC柜及远程I/O布置在各车间内。在集控中心设置操作员工作站,作为辅控网的人机接口,实现对辅助系统的集中监控。同时通过主交换机与电厂SIS 系统相连,为SIS系统提供辅控系统的参数信息,实现控制系统网络化和工艺过程信息化。
1 综合水泵房控制系统
本文以某电厂水系统中的综合水泵房控制系统为例介绍一种通信冗余的PLC系统。综合水泵房系统主要监控综合水泵房和深井泵房设备的工作状态。综合水泵房控制对象包括循环水泵、冷却塔风机、生活水泵、消防水泵、消防稳压水泵、相关电动阀门等。深井泵房距离综合水泵房较远,而且设备分散布置。其控制对象包括深井泵、出口电动阀门等。基于系统通信的可靠性和设备物理位置要求,本系统采用了OMRON公司最新推出的CS1D Duplex System和 CLK(Controller Link)光纤冗余环网作为综合水泵房系统的控制主体。
CS1D Duplex System是一个高度可靠的PLC系统。提供双CPU冗余单元,当运行CPU单元发生故障时,备用CPU单元可继续工作,防止了系统异常停机。同样,由于网络通信单元的冗余,即使网络中某一线路断开或某—通信单元故障,通信仍能继续进行,大大提高了通信的可靠性。网络通信单元的工作状态可以通过CPU内存的特殊状态字检测。同时,CS1D提供了各种维护功能,如在线单元更换和双机操作自动恢复。一套双机系统包括两个 CS1D CPU单元、两个以太网通讯模块(可选),两个CS1D电源单元和一个双机管理单元,所有单元安装在一块CS1D底板上。
CLK是一种FA(工厂自动化)网络,OMRON的多种机型可以通过它轻易地进行数据交换。CLK网络支持数据共享和信息服务的数据链接功能,可以在需要通信时发送和接收数据。数据共享允许在网络上不同的节点之间共享预先设定的数据区域,这样,当地节点发送区域内的数据会被自动发送到目的节点的接收区域,而不需要用SEND、RECV和CMND等指令编写专用的通信程序。所有的内存区(CIO、LR、DM等区域),都能够被人为或系统自动设定成收发区域。信息服务主要通过执行相应的通信程序来控制数据在特定节点之间的传输、状态数据的读写、以及操作模式的改变等。CLK网络连接介质可以是屏蔽双绞线或光纤,光纤有较强的噪音抑制能力,特别在长距离和大范围的网络中,其优势更明显。
控制网络拓扑结构如图1所示。该网络有信启、层和控制层组成。信息层包括工作站和交换机,采用100M冗余工业以太网,配置了2台进口工业级光纤交换机设备,工作站配置了2块100M网卡,组成冗余网络。控制层由6台PLC组成,其中CS1D Duplex System系统完成综合水泵房内所有设备的控制,5台远程PLC站采用OMRON CS1G系列PLC分别完成5个深井泵系统的控制。6台PLC之间通过CLK光纤冗余环网相连,达到控制系统的要求。

2 基于以太网的FINS通信服务原理
FINS(Factory Interface Network Service)是OMRON公司开发的用于FA控制网络的通信协议系统,FINS 通信使用一组专门的地址,它不同于以太网的地址系统,不管目标节点在以太网还是在另外一个FA网络上,这种寻址方式都提供了一致的通信方法。以太网支持 FINS通信,PLC与PLC以及PLC与上位机之间可以通过以太网单元传输数据。上位机在程序里可以使用FINS指令,PLC可以通过SEND、 RECV、CMND指令来发送FINS命令。以太网单元通过UDP/IP或TCP/IP端口提供FINS通信服务,当上位机与PLC进行FINS通信时,通过向以太网单元FINS/UDP或TCP/IP端口发送包含FINS命令的数据报,可以读写PLC的内存数据或控制PLC运行。同一网络的设备之间通过执行SEND、RECV、CMND指令可以收发FINS通信命令。FINS通信也有其它网络支持,如SYSMACLINK、CLK等,处在互连网络的不同类型的网络上的节点可通过网关进行通信。
基于以太网的FINS通信服务支持FINS/UDP和FINS/TCP两种网络通信方式。FINS通信协议与TCP/IP、UDP/IP协议之间的层次关系见图2。OMRON以太网基于以太网版本2.0标准,与国际通用的IEEE802.3标准有一定的区别,主要是链路层的数据帧格式不同。
当网络单元发送FINS信息时,必须预先定义目的单元的网络地址、IP地址转换方式、TCP或UDP端口号,所有这些地址之间的关系,由网络单元的内部通信表来管理。在网络单元上电时,内部通信表会动态产生与维护。IP转换方式有自动生成动态地址表,自动生成静态地址表,IP地址表,复合地址表四种。无论用哪种方法,内部通信表的目的节点的FINS地址和IP地址在接收FINS命令后,都会动态更新。
2.1 FINS/UDP方式:
FNS/UDP方式是基于UDP/IP协议的一种FINS通信方法。UDP/IP是一种无连接操作的通信协议,通信节点之间的地位是平等的,与可靠性相比,它更注重时效性。FINS/UDP帧格式如图3(a)的UDP packet所示。

从图中可看出,FINS/UDP以内嵌方式来封装数据,由Ethernet Ver2帧、IP帧、UDP帧和FINS帧共同组成FINS/UDP数据包。当UDP包的数据部分(即FINS帧)长度超过1,472字节时,将被分割,分割后的数据包随后在目的节点的UDP/IP展会自动重构成原始信息。因此,在应用层不必关心数据包分割过程。FINS/UDP通过UDP端口号来识别应用层软件,当通过UDP/IP通信时,必须分配这个端口号。这个端口号用来进行FINS通信服务,设定值在1024和65535之间,默认的端口号是9600,用户可以改变端口号。以太网单元进行FINS通信时,所有节点应设置用同一FINS/UDP端口号,否则不能进行通信,在以太网单元中,只要通过FINS/UDP端口号接收的UDP/IP帧就被认为是FINS帧。
对于同时运行的多个通信应用软件,FINS节点和FINS/UDP端口号被单独分配每个应用软件。
2.2 FINS/TCP方式:
FINS/TCP方法也是一种FINS通信方法,采用TCP/IP协议,它是一种面向连接操作的通信协议。信息发送前,必须建立会话链接,然后才能以数据分组为单位进行通信。与FINS/UDP方法相比,由于需要进行数据包的确认,所以FINS/TCP数据传输更可靠。FINS/TCP帧格式如图 3(b)的TCP packet所示。
从图中可看出,FINS/TCP方法以内嵌方式来封装数据,由Ethernet Ver2帧、IP帧、TCP帧、FINS/TCP报头和FINS帧共同组成FINS/TCP数据包。当TCP包的数据部分(即FINS/TCP报头+FINS帧)大小超过1024字节时,将被自动分割成合适大小的数据包,这些数据包在目的单元TCP/IP层会自动重构成原始信息。由于TCP/IP协议层不知道数据被分割的位置,所以用TCP/TP方法时,必须把FINS /TCP报头放在FINS帧的开始,用来界定FINS帧,FINS帧的大小被存储在报头中。FINS/TCP通过TCP端口号识别应用层软件,当通过 TCP/IP通信时,必须分配这个端口号。这个端口号用来进行FINS通信服务,默认的端口号是9600,用户可以改变端口号。以太网单元进行FINS通信时,所有节点应设置用同一FINS/TCP端口号,否则不能进行通信。FINS/TCP允许同时建立16个FINS/TCP连接。用FINS/TCP通信,链路建立后,源节点和目的节点的FINS节点地址会在内部通信表中自动注册更新。通过FINS/TCP通信过程见图4。

1)客户端发送连接请求,与服务器端建立TCP/IP协议的链接回路。
2)服务器和客户端交换FINS节点地址。
3)网络单元更新内部通信表(包括FINS节点地址,IP地址,TCP端口号)
4)FINS通信连接正常,进行数据通信。
对于同时运行的多个应用软件,FINS节点和FINS/TCP端口号被单独分配给每个应用软件,每个应用都会被定义成一个FINS客户端。
3 冗余以太网的建立
在CS1D Duplex System中,以太网单元CS1D-ETN21D支持100Base-TX型工业以太网,媒体接入控制采用 CSMA/CD技术,传输方式采用基带,网络层和传输层采用TCP/IP或UDP/IP协议,应用层可采用FINS通信协议。finsGateway作为网络通信的中介软件,并安装以太网驱动单元(ETN_UNIT)和两块CS1D-ETN21D网络单元建立冗余以太网络。在固定的时间间隔内,网络状态的特定通信数据段在网络间被广播,用来监测冗余网络的通断情况和网络节点的在线和离线状态。FINS通信服务建立后,当冗余网络的主网络出现单元错误,断线,在线更换等情况时,网络通信立刻切换到备用网络进行。
3.1 FinsGateWav软件
FinsGateWay是OMRON基于FINS协议的通信软件,提供32位操作系统卜的FA网络通信环境,支持多种不同协议的网络通信。它提供一块称之为EventMemory的数据共享内存区域,多种应用能够访问这块内存区域。当内存区域内的存储数据发生改变时,它可以自动通知与其连接的不同应用。EventMemory如同PLC中的DM或CIO区域一样,可以被网络上别的设备访问。它可以作为FINS服务的数据区域,也能作为 Controller Link,SYSMAC LINK网络的数据链接区域。
FinsGateWay以队列的形式储存正在改发的FINS信息,它所包含的程序多数提供了FINS通信服务。能够解释和执行来自网络的FINS指令,并做出响应。在这些程序中,CPU—UNIT单元(单元地址总是0)提供了访问数据区域的服务,能够读写和处理EventMemory中网络节点的信息和FINS指令,返回FINS响应。ETN—UNIT单元提供了网络通信功能,ETN—UNIT作为一个冗余网络驱动单元,通过它可以设定网络通信方式,冗余网络绑定的网卡和在线自动切换,实现与计算机应用软件的通信。
3.2 冗余以太网的设定
1)组建冗余以太网络。
2)进行一些基础设置,(如CS1D-ETN21D的I/O表,节点号,单元号)。
3)在线设定CS1D-ETN21D的通信属性(IP地址、子网掩码、FINS/UDP端口号、FINS/TCP端口号、FINS-IP转换方式、发送网络状态监控时间等),给其分配CPU总线通信区域。
4)创建路由表。网络间的节点交换数据时,对每个节点要建立路由表,包括本地网络表和中继网络表。
5)启动CPU_UNIT和ETN_UNIT单元。设定冗余网络通信(设定计算机的网络号、本地节点地址、通信网络号、UDP端口号、FINS-IP转换方式、UDP和TCP节号、双机单元操作等)。
6)测试冗余网络通信。
3.3 CS1D-ETN21D单元通信状态检测字

使用冗余通信单元,CPU中的CIO区域特定字段被分配给CS1D-ETN21D主单元和热备单元,可以用来监控单元的通信状态。状态字在CIO区域中的起始地址可用下列公式计算:n=CIO 1500+(25×单元号),每个字的内容如图(5)所示。
其中第n+17(服务状态字包括网络链接状态和网络单元状态)字中的0-10位未用,11位定义冗余网络单元运行情况,ON是主网络单元在运行,OFF备用网络单元在运行,12位用来检测网络单元是否设置并连接在冗余网络中。13位设定冗余网络和单网络。14位定义了和交换机的链接情况。
4 网络组建过程中注意的一些问题
1)创建冗余网络,FinsGateway软件是2003或更高的版本,必须安装网络支持单元ETN—UNIT。
2)当传输路由表时,CPU总线单元要被重新设定,所以传输前,确保设备运行状况不会受到影响。
3)建议给冗余网络中的计算机节点分配固定IP,如果用户采用DHCP协议改变了IP地址,网络切换可能不可靠。
4)第一次初始化I/O表和路由表,要用串口电缆通过外设口或RS-232C口连接CPU单元完成。
5)设备安装地点要远离噪音、高温、潮湿、灰尘等恶劣环境,以免通信设备不能正常工作。
