当前位置:
文档之家› 基于 FINS 协议的OMRON PLC 与上位机通信
基于 FINS 协议的OMRON PLC 与上位机通信
错误!未找到引用源。
通常以太网通信使用的是 IP 地址,而在 FINS 通信中则是使用网络号、节点号以及单 元号来对不同设备(包括 PLC、PC 等现场设备)进行地址定义的。这就为不同网络之间各 种设备的通信提供了统一的寻址方式。在以太网 FINS 通信中,欧姆龙的以太网单元一项重 要的功能就是能在 IP 地址和 Fins 节点地址之间进行转换,其转换方式有自动转换、IP 地 址表和复合地址表三种方式,其地址转换数量依据模块型号和转换方式的不同还有相应的限 制。以太网 FINS 通信服务是一种基于 UDP/IP 的通信方式,称为 FINS/UDP 方式,欧
3.以太网 FINS 通信 在以太网 FINS 通信中,各种数据信息是以 UDP/IP 包或者 TCP/IP 包的方式在以太
网上发送和接收的。其中,在 Internet 层远程设备使用的是 IP 地址,而在应用层使用的 则是 FINS 节点地址。传输层中定义了本地 UDP 或 TCP 端口号,它为应用层(即 FINS 通 信)提供通信端口,其默认设置为 9600。用户可以根据实际情况自行修改,但是在同一网 络中,各设备的通信端口号必须保持一致。
开发语言及操作系统:
2.Compolet 2003 与 V2 的区别
第四章 上位机与 OMRON PLC 通信的几种方式
OMRON PLC 与上位机的以太网通信依靠发送 FINS 指令实现。上位机发送 FINS 指令 可以直接读取或写入 PLC 相应的数据,PLC 部分无需编写接收和发送程序。本例中采用 FINS/UDP 方式,具体如图所示。上位机利用 Visual Basic 6.0 进行程序开发,具体实 现向 PLC 发送 FINS 指令(读取内存区域,指令代码 0101)读取 DM100 开始的 150 个字 数据的功能。本文提供了三种方法来实现这一个功能,增加了系统开发的选择性。
2.工业以太网优势 工业以太网的优势是相当明显的。其传输速率可以达到 10/100Mb/s(取决于实际网
络环境);两个节点之间的传输距离可以达到 100m,对于整个网络的传输距离没有限制; 网络内最大节点数可以达到 254 个,可以实现 1(PLC):N(PC)、N:N、N:1 等多种网 络形式。这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、 实用性、灵活性。目前使用的上位机都配有以太网卡,所以上位机侧无需增加额外的硬件设 备。因此,采用工业以太网方式对提高工厂的自动化信息控制水平具有很大的现实意义。
姆龙相关的以太网产品都支持这种方式。此外,CS1W-ETN21 和 CJ1W-ETN21 以太网通 信模块还支持 TCP/IP 协议,称为 FINS/TCP 方式。
3.1 FINS/UDP 方式 FINS/UDP 方式是一种使用 UDP/IP 协议的 FINS 通信方式。UDP/IP 是一种无连
接的通信协议。当一条信息从一个节点发到另一个时,这两个节点是没有明确连接的对等关 系的。UDP 协议具有较快的传输速度,但是数据通信的可靠性没有 TCP 协议高。
下面主要介绍三种方法来实现上述功能。
1. 使用 Micosoft Winsock 控件
在 VB 中新建一个 Standard.EXE 文件。添加 Winsock 控件,对象命名为"Winsock1", 发送 Fins 命令程序如下:
错误!未找到引用源。
编译保存后即可。
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 地址转换方式为自动生成(动态)。
1.VB 的控件 Complet 2003 产品型号: Product Name SYSMAC Compolet Full Version2003
Product Type SCPL-SYSFL-2003E
包含内容: – SYSMAC Compolet Version2003 – SYSMAC Compolet Version2 – FinsGateway Version2003 Runtime
用来诊断错误信息。
1. FinsGateway 介绍
第二章 FinsGateway 介绍
FinsGateway 是 OMRON FINS 通信协议的驱动程序,它为计算机上的 32 位 Windows 操作系统提供一个工业自动化网络环境。FinsGateway 集成了不同的网络协议, 并为 FINS 通信和数据链接提供驱动程序和接口库函数。它通过创建高性能的虚拟存储区 EventMemory,为不同的用户程序提供数据的接入和共享。利用 FinsGateway,计算机 可以通过各层网络(包括网络互联)访问网络上的 PLC,通过接口库函数,用户可以开发程序。
2.FinsGateway 的功能 • Windows 的应用程序可以通过 OMRON 的网络读写 PLC 的内存区域 • PC 机可以作为网络网上的节点,类似于一台 PLC • 设定的和 PLC 形同的网络构架
3.FinsGateway 提供的服务
Finsgateway 软件一启动,CPU—Unit 自动启动,无法关闭 4. 基于 Ethernet 网络的 FinsGateway 使用
3.2 FINS 帧结构 FINS 帧分为 FINS 指令帧和 FINS 响应帧两种形式。指令帧在发送 FINS 指令时使用,
响应帧则在接收到 FINS 指令后对其返回响应时使用。它们都是由一个 FINS 报头(存储传 输控制信息)、一个 FINS 指令域(存储一个 FINS 指令)以及一个 FINS 参数/数据域(存储 指令参数和发送/响应数据)所组成的。响应帧 FINS 指令域的内容与所接收到的指令帧的 FINS 指令域相同。具体结构见图 3、图 4。
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于 工业自动化控制网络的指令/响应系统。使用 FINS 指令可实现各种网络间的无缝通信,包 括用于信息网络的 Etherne(以太网),用于控制网络的 Controller Link 和 SYSMAC LINK。 通过编程发送 FINS 指令,上位机或 PLC 就能够读写另一个 PLC 数据区的内容,甚至控制 其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为 OMRON 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。
错误!未找到引用源。ICF 为信息控制域,用于标明指令和响应;RSV 为系统保留;GCT 为网关允许数目;DNA 为目的网络号;DA1 为目的节点号;DA2 为目的单元号;SNA 为 源网络号;SA1 为源节点号;SA2 为源单元号;SID 为服务和响应的标识号,可任意设置, 指令和响应对应相同;MRC 和 SRC 分别为 FINS 指令的主指令和从指令;参数/数据域, 用于标明所操作的数据地址、范围等,在响应帧中前两个字节 MRES 和 SRES 构成响应码,
错误!未找到引用源。
如图 2 所示,是一个在以太网中发送和接收所使用的 UDP 帧结构。FINS/UDP 方式使 用的是一种嵌套格式数据包,即 Ethernet 报头、IP 报头、UDP 报头和 FINS 帧。一个 UDP 数据段(FINS 帧)超过 1472 字节将被分成若干个数据包来传送。分开的 UDP 数据将在 UDP/IP 协议层自动组合。通常不需要关注应用层的数据分段,但是在一个多层 IP 网络中 1427 字节的 UDP 包可能无法发送。在这种系统中就需要使用 FINS/TCP 方式。
设置步骤: (1)确认 Finsgateway 是否可以通信;
网络号、节点号、单元号(16+UnitNo) (2)设置本地网络号,节点号; (3)设置通信参数;
第三章 Compolet 介绍
SYSMAC Compolet 是欧姆龙公司专门为 FINS 通信开发的 Active X 控件,它是架构 在 FinsGateway 这个驱动程序下的 VB 控件,对 Fins 指令做了进一步集成和优化。 SYSMAC Compolet 为 SYSMAC C/CS1/CV 系列的 PLC 提供应用程序编程接口,在 开发时只需要调用该控件,编写程序更便捷,语句更简单,配合使用 FinsGateway,通过 计算机就可以方便地控制访问 PLC,直接对其操作而不需要掌握相应的 Fins 指令知识。
基于 FINS 协议的 OMRON PLC 与上位机通信
主要内容
一. Fins 通信介绍 二. Finsgateway 介绍 三. Compolet2003/V2 介绍 四. 上位机与 OMRON PLC 通信的几种方式 五. 上位 VB/VC 与 OMRON PLC 通信案例 六. 总结
第一章 FINS 通信
(3)在 VB 中新建一个 standard.EXE 文件。添加 OMRON FinsGateway FinsMessaging Control,对象名为"FinsMsgl"。
(4)在 form 区添加一个 Command button(命名为"Command1")作为发送 Fins 指 令之用;同时添加一个 textbox(命名为"Text1")作为显示所接受数据之用。
1.Fins 通信介绍 在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上
位机作为数据采集及人机界面的一种已经得到广泛使用。过去,在工程项目开发中,PLC 和上位机间的通信常采用 RS-232C 或者 RS-485 串行方式,这种方法很难满足数据量大、 通信距离远、实时性要求高的控制系统。随着互联网技术的发展、普及与推广,以太网技术 得到了迅速的发展,其传输速率的提高和交换技术Baidu Nhomakorabea应用,解决了以太网通信的非确定性问 题,使得工业以太网能够广泛应用于工业信息控制领域,也是工业信息控制未来的发展趋势。
编译保存后即可。
3. 使用 FinsGateway 和 SYSMAC Compolet
(1)在上位机中安装 Fins Gateway 和 SYSMACCompolet 软件。启动 FinsGateway 的 Service Manager,并启动 CPU UNIT 和 ETN UNIT。
(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