基于FINS协议的PLC与上位机以太网通信的实现
时间:12-07
来源:互联网
点击:
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部分无需编写接收和发送程序。文献给出了运用VC++异步套接字类CAsyncSocket与OMRON PLC进行以太网通信的方法。本例中采用FINS/UDP方式,具体如图7所示。上位机利用Visual Basic 6.0进行程序开发,具体实现向PLC发送FINS指令(读取内存区域,指令代码0101)读取DM100开始的150个字数据的功能。相较于文献 介绍的方法,本文中为不同层次的使用者提供了三种方法来实现这一个功能,增加了系统开发的选择性。图7上位机与PLC通过以太网通信

在进行上位机程序编程之前首先要完成上位机和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
编译保存后即可。
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部分无需编写接收和发送程序。文献给出了运用VC++异步套接字类CAsyncSocket与OMRON PLC进行以太网通信的方法。本例中采用FINS/UDP方式,具体如图7所示。上位机利用Visual Basic 6.0进行程序开发,具体实现向PLC发送FINS指令(读取内存区域,指令代码0101)读取DM100开始的150个字数据的功能。相较于文献 介绍的方法,本文中为不同层次的使用者提供了三种方法来实现这一个功能,增加了系统开发的选择性。图7上位机与PLC通过以太网通信

在进行上位机程序编程之前首先要完成上位机和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
编译保存后即可。
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 多核及虚拟化技术在工业和安全领域的应用(05-23)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 解密波音747飞机中的Sperry垂直陀螺仪(05-06)
- lns构架智能小区安防及关键技术应用研究(06-09)
- 基于MSP430及PROFIBUS的监测子站设计(06-12)
