- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于FINS协议的OMRON PLC与上位机以太网通信的实现
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]介绍的方法,本文中为不同层次的使用者提供了三种方法来实现这一个功能,增加了系统开发的选择性。

在进行上位机程序编程之前首先要完成上位机和PLC的以太网单元的设置。
(1)设置上位机的IP地址为10.72.18.11,子网掩码为255.255.255.0,它的FINS节点号默认为11。
(2)通过欧姆龙CX-Programmer软件,在IO表中将PLC CSIW-ETN11以太网单元的IP地址设置为10.72.18.19,子网掩码为255.255.255.0,FINS节点号设置为19。地址转换方式设置为自动生成(动态)。FINS/UDP端口为9600(默认)。保存后下传至PLC。
下面主要介绍三种方法来实现上述功能。
4.1 使用Micosoft Wi nsock控件
在VB中新建一个Standard.EXE文件。添加Winsock控件,对象命名为"Winsock1",发送Fins命令程序如下:
编译保存后即可。
4.2 使用FinsGateway中的OMRON FinsMessaging Control
(1)在上位机中安装Finsgateway软件,并在Service Manager中启动CPU_UNIT和ETN_UNIT。
(2)ETN UNIT属性中,在"UDP Nodes"中手动添加PLC的IP地址(10.72.18.19)和FINS地址(0.19.0)。在"Commuincation Unit Settings"中设置端口号(9600)和FINS-IP地址转换方式为自动生成(动态)。
(3)在VB中新建一个standard.EXE文件。添加OMRON FinsGateway FinsMessaging Control,对象名为"FinsMsgl"。
(4)在form区添加一个Command button(命名为"Command1")作为发送Fins指令之用;同时添加一个textbox(命名为"Text1")作为显示所接受数据之用。
(5)在"Conmand1"中的"Click"事件中添加如下代码:
Private Sub Command1_C1ick()FinsMsg1.sendFinsCommand0,19,0,"0101820064000096"End Sub
在"FinsMsg1"中的"OnReceive"事件中添加如下代码:
Private Sub FinsMsg1_OnReceive ()
Dim net As Integer,node As Integer,unit AsInteger
Text1.Text=Fins Msg1.receive Message(net,node,unit,vbString)
End Sub
编译保存后即可。
4.3 使用FinsGateway和SYSMAC Compolet
(1)在上位机中安装Fins Gateway和SYSMACCompolet软件。启动FinsGateway的Service Manager,并启动CPU UNIT和ETN UNIT。
(2)同4.2中第(2)点。
(3)在VB中新建一个Standard.EXE文件。添加OMRON SYSMAC CS Control,对象名为"SYSMAC CS11"。
(4)在对象"SYSMACCS11"属性中,选择"Communication"标签,选中"ActivateCoCommunication"并设置PLC的Fins地址(0.19.0)。
(5)在form区添加一个Command button(命名为"Command1")作为发送Fins指令之用;同时添加一个text box(命名为"Text1")作为显示所接受数据之用。
(6)在"Conmand1"中的"Click"事件中添加如下代码:
Private Sub Command1_Click()
Text1.Text=SYSMAC_CS1 1.readArea(plcAreaDM,100,150,vbString)
End Sub
编译保存后即可。
5 结束语
工业以太网作为工业现场信息采集的重要网络具有速率高、通信距离远、抗干扰性好等特点,已经得到广泛应用。本文所介绍的三种OMRON PLC与上位机以太网通信的方法均在实际工程中验证成功。这三种方法从本质上来说其实是一样的,但具体使用和实现过程有所不同。第一种方法不需要另外购置欧姆龙相关软件,但需要对FINS通信底层协议以及Fins帧结构及其封装过程有比较全面的了解,程序编写较为复杂,适用于有一定开发经验的高级用户。第二种方法需要掌握Fin s帧结构以及FinsGateway的相关配置,但是对发送指令和接收数据的程序编写较为简单,适用于中级用户。在第三种方法中,使用了SYSMAC Compolet中简单易懂的编程语言,即可完成上位机的程序开发,整个程序编写过程简单明了,可以大幅缩减通信程序的开发时间,适用于那些开发经验较少的初级用户。后面两种方法需要另外购置欧姆龙软件,这是在程序开发时需要注意的。这三种方法都可利用工业以太网实现OMRON PLC与上位机的通信,具有实时性好、速度快、可靠性高、运行稳定等优点。在PLC控制系统中采用以太网单元通信后,使工业自动化与生产管理自动化有机地结合到了一起,简化了系统设计。
作者:戴斌,朱建平,袁焱 上海印钞有限公司 来源:电子技术
上一篇:探讨如何正确的规划存储虚拟化
下一篇:虚拟存储技术的特点分析


