ICF为信息控制域,用于标明指令和响应;RSV为系统保留;GCT为网关允许数目;DNA为目的网络号;DA1为目的节点号;DA2为目的单元号;SNA为源网络号;SA1为源节点号;SA2为源单元号;SID为服务和响应的标识号,可任意设置,指令和响应对应相同;MRC和SRC分别为FINS指令的主指令和从指令;参数/数据域,用于标明所操作的数据地址、范围等,在响应帧中前两个字节MRES和SRES构成响应码,用来诊断错误信息。
3 FinsGateway和SYSMAC Compolet控件介绍
FinsGateway是OMRON FINS通信协议的驱动程序,它为计算机上的32位Windows操作系统提供一个工业自动化网络环境。FinsGateway集成了不同的网络协议,并为FINS通信和数据链接提供驱动程序和接口库函数。它通过创建高性能的虚拟存储区EventMemory,为不同的用户程序提供数据的接入和共享。利用FinsGateway,计算机可以通过各层网络(包括网络互联)访问网络上的PLC,通过接口库函数,用户还可以开发程序。
SYSMAC Compolet是欧姆龙公司专门为FINS通信开发的Active X控件,它是架构在FinsGateway这个驱动程序下的VB控件,对Fins指令做了进一步集成和优化。SYSMAC Compolet为SYSMAC C/CS1/CV系列的PLC提供应用程序编程接口,在开发时只需要调用该控件,编写程序更便捷,语句更简单,配合使用FinsGateway,通过计算机就可以方便地控制访问PLC,直接对其操作而不需要掌握相应的Fins指令知识。
4 OMRON PLC与上位机以太网通信的实现
OMRON PLC与上位机的以太网通信依靠发送FINS指令实现。上位机发送FINS指令可以直接读取或写入PLC相应的数据,PLC部分无需编写接收和发送程序。文献[1]给出了运用VC++异步套接字类CAsyncSocket与OMRON PLC进行以太网通信的方法。本例中采用FINS/UDP方式,具体如图7所示。上位机利用Visual Basic 6.0进行程序开发,具体实现向PLC发送FINS指令(读取内存区域,指令代码0101)读取DM100开始的150个字数据的功能。相较于文献[1]介绍的方法,本文中为不同层次的使用者提供了三种方法来实现这一个功能,增加了系统开发的选择性。图7上位机与PLC通过以太网通信
在进行上位机程序编程之前首先要完成上位机和PLC的以太网单元的设置。