0 引言
在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛使用。过去,在工程项目开发中,PLC和上位机间的通信常采用RS-232C或者RS-485串行方式,这种方法很难满足数据量大、通信距离远、实时性要求高的控制系统。随着互联网技术的发展、普及与推广,以太网技术得到了迅速的发展,其传输速率的提高和交换技术的应用,解决了以太网通信的非确定性问题,使得工业以太网能够广泛应用于工业信息控制领域,也是工业信息控制未来的发展趋势。
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。使用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的Etherne(以太网),用于控制网络的Controller Link和SYSMAC LINK。通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了可能。
1 OMRON PLC与上位机通信方式
目前,在欧姆龙PLC网络组成中,上位机和PLC的通信可以采用RS232C/485串行通信、Controller Link通信和工业以太网通信三种方式。它们的主要性能参数如表1所示。
文献[3]介绍了采用RS232C/485串行通信的方案,其通信速率仅为9600b/s,速率较慢,很难适应现代数据量大、通信距离较远、实时性要求较高的控制系统。
文献[2]中给出了基于FINS协议的Controller Link通信的设计方案,其最高速率可以达到2Mb/s,整个网络的最大传输距离为500m,硬件上需要在上位机安装CLK支持卡,其扩展性及应用的灵活性没有工业以太网好。
在三种通信方式中,工业以太网的优势是相当明显的。其传输速率可以达到10/100Mb/s(取决于实际网络环境);两个节点之间的传输距离可以达到100m,对于整个网络的传输距离没有限制;网络内最大节点数可以达到254个,可以实现1(PLC):N(PC)、N:N、N:1等多种网络形式。这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、实用性、灵活性。目前使用的上位机都配有以太网卡,所以上位机侧无需增加额外的硬件设备。因此,采用工业以太网方式对提高工厂的自动化信息控制水平具有很大的现实意义。
2 以太网FINS通信
在以太网FINS通信中,各种数据信息是以UDP/IP包或者TCP/IP包的方式在以太网上发送和接收的。其中,在Internet层远程设备使用的是IP地址,而在应用层使用的则是FINS节点地址。传输层中定义了本地UDP或TCP端口号,它为应用层(即FINS通信)提供通信端口,其默认设置为9600。用户可以根据实际情况自行修改,但是在同一网络中,各设备的通信端口号必须保持一致。图1 FINS以太网通信协议模型
通常以太网通信使用的是IP地址,而在FINS通信中则是使用网络号、节点号以及单元号来对不同设备(包括PLC、PC等现场设备)进行地址定义的。这就为不同网络之间各种设备的通信提供了统一的寻址方式。在以太网FINS通信中,欧姆龙的以太网单元一项重要的功能就是能在IP地址和Fins节点地址之间进行转换,其转换方式有自动转换、IP地址表和复合地址表三种方式,其地址转换数量依据模块型号和转换方式的不同还有相应的限制。以太网FINS通信服务是一种基于UDP/IP的通信方式,称为FINS/UDP方式,欧姆龙相关的以太网产品都支持这种方式。此外,CS1W-ETN21和CJ1W-ETN21以太网通信模块还支持TCP/IP协议,称为FINS/TCP方式。
2.1 FI NS/UDP方式
FINS/UDP方式是一种使用UDP/IP协议的FINS通信方式。UDP/IP是一种无连接的通信协议。当一条信息从一个节点发到另一个时,这两个节点是没有明确连接的对等关系的。UDP协议具有较快的传输速度,但是数据通信的可靠性没有TCP协议高。
如图2所示,是一个在以太网中发送和接收所使用的UDP帧结构。FINS/UDP方式使用的是一种嵌套格式数据包,即Ethernet报头、IP报头、UDP报头和FINS帧。一个UDP数据段(FINS 帧)超过1472字节将被分成若干个数据包来传送。分开的UDP数据将在UDP/IP协议层自动组合。通常不需要关注应用层的数据分段,但是在一个多层IP网络中1427字节的UDP包可能无法发送。在这种系统中就需要使用FINS/TCP方式。