您当前的位置:五五电子网电子知识plc技术plc应用其它PLC应用基于FINS协议的OMRON PLC与上位机以太网通 正文
基于FINS协议的OMRON PLC与上位机以太网通

基于FINS协议的OMRON PLC与上位机以太网通

点击数:7668 次   录入时间:03-04 11:41:32   整理:http://www.55dianzi.com   其它PLC应用

2.2 FINS帧结构
    FINS 帧分为FINS指令帧和FINS响应帧两种形式。指令帧在发送FINS指令时使用,响应帧则在接收到FINS指令后对其返回响应时使用。它们都是由一个FINS报头(存储传输控制信息)、一个FINS指令域(存储一个FINS指令)以及一个FINS参数/数据域(存储指令参数和发送/响应数据)所组成的。响应帧FINS指令域的内容与所接收到的指令帧的FINS指令域相同。

    ICF为信息控制域,用于标明指令和响应;RSV为系统保留;GCT为网关允许数目;DNA为目的网络号;DA1为目的节点号;DA2为目的单元号;SNA为源网络号;SA1为源节点号;SA2为源单元号;SID为服务和响应的标识号,可任意设置,指令和响应对应相同;MRC和SRC分别为FINS指令的主指令和从指令;参数/数据域,用于标明所操作的数据地址、范围等,在响应帧中前两个字节MRES和SRES构成响应码,用来诊断错误信息。


3 FinsGateway和SYSMAC Compolet控件介绍
    FinsGateway是OMRON FINS通信协议的驱动程序,它为计算机上的32位WINOOWs操作系统提供一个工业自动化网络环境。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通过以太网通信

 (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控制系统中采用以太网单元通信后,使工业自动化与生产管理自动化有机地结合到了一起,简化了系统设计。

上一页  [1] [2] 


本文关键字:暂无联系方式其它PLC应用plc技术 - plc应用 - 其它PLC应用