基于fins协议的omronplc与上位机通信

上传人:第*** 文档编号:58106952 上传时间:2018-10-26 格式:PDF 页数:17 大小:601.04KB
返回 下载 相关 举报
基于fins协议的omronplc与上位机通信_第1页
第1页 / 共17页
基于fins协议的omronplc与上位机通信_第2页
第2页 / 共17页
基于fins协议的omronplc与上位机通信_第3页
第3页 / 共17页
基于fins协议的omronplc与上位机通信_第4页
第4页 / 共17页
基于fins协议的omronplc与上位机通信_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于fins协议的omronplc与上位机通信》由会员分享,可在线阅读,更多相关《基于fins协议的omronplc与上位机通信(17页珍藏版)》请在金锄头文库上搜索。

1、 基于基于 FINSFINS 协议的协议的 OMRON PLCOMRON PLC 与上位机通信与上位机通信 主要内容 一 Fins 通信介绍 二 Finsgateway 介绍 三 Compolet2003/V2 介绍 四 上位机与 OMRON PLC 通信的几种方式 五 上位 VB/VC 与 OMRON PLC 通信案例 六 总结 第一章 FINS 通信 1Fins 通信介绍 在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛使用。过去,在工程项目开发中,PLC和上位机间的通信常采用 RS-232C 或者 RS-485

2、串行方式,这种方法很难满足数据量大、通信距离远、实时性要求高的控制系统。随着互联网技术的发展、普及与推广,以太网技术得到了迅速的发展, 其传输速率的提高和交换技术的应用, 解决了以太网通信的非确定性问题, 使得工业以太网能够广泛应用于工业信息控制领域, 也是工业信息控制未来的发展趋势。 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令响应系统。使用 FINS 指令可实现各种网络间的无缝通信,包括用于信息网络的Etherne(以太网), 用于控制网络的Controller Link和SYSMAC LINK。通过编

3、程发送 FINS 指令,上位机或 PLC 就能够读写另一个 PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为 OMRON PLC 与上位机以太网通信的实现提供了可能。 2工业以太网优势 工业以太网的优势是相当明显的。其传输速率可以达到 10100Mbs(取决于实际网络环境);两个节点之间的传输距离可以达到 100m,对于整个网络的传输距离没有限制;网络内最大节点数可以达到 254 个,可以实现 1(PLC):N(PC)、N:N、N:1 等多种网络形式。 这些都为构架各种规模的工业网络信息系统提供了有利的条件, 具有良好的扩展性、实用性、灵活性。

4、目前使用的上位机都配有以太网卡,所以上位机侧无需增加额外的硬件设备。因此,采用工业以太网方式对提高工厂的自动化信息控制水平具有很大的现实意义。 3以太网 FINS 通信 在以太网 FINS 通信中, 各种数据信息是以 UDPIP 包或者 TCPIP 包的方式在以太网上发送和接收的。其中,在 Internet 层远程设备使用的是 IP 地址,而在应用层使用的而在应用层使用的则是则是 FINS 节点地址节点地址。传输层中定义了本地 UDP 或 TCP 端口号,它为应用层(即 FINS 通信)提供通信端口,其默认设置为 9600。用户可以根据实际情况自行修改,但是在同一网络中,各设备的通信端口号必须

5、保持一致。 错误错误!未找到引用源未找到引用源。 通常以太网通信使用的是通常以太网通信使用的是 IP 地址地址,而在而在 FINS 通信中则是使用网络号通信中则是使用网络号、节点号以及单节点号以及单元号来对不同设备元号来对不同设备(包括包括 PLC、PC 等现场设备等现场设备)进行地址定义的进行地址定义的。这就为不同网络之间各种设备的通信提供了统一的寻址方式。在以太网 FINS 通信中,欧姆龙的以太网单元一项重要的功能就是能在 IP 地址和 Fins 节点地址之间进行转换,其转换方式有自动转换、IP 地址表和复合地址表三种方式, 其地址转换数量依据模块型号和转换方式的不同还有相应的限制。以太网

6、 FINS 通信服务是一种基于 UDPIP 的通信方式,称为 FINSUDP 方式,欧姆龙相关的以太网产品都支持这种方式。 此外, CS1W-ETN21 和 CJ1W-ETN21 以太网通信模块还支持 TCPIP 协议,称为 FINSTCP 方式。 3.1 FINSUDP 方式 FINSUDP 方式是一种使用 UDPIP 协议的 FINS 通信方式。UDPIP 是一种无连接的通信协议。 当一条信息从一个节点发到另一个时, 这两个节点是没有明确连接的对等关系的。UDP 协议具有较快的传输速度,但是数据通信的可靠性没有 TCP 协议高。 错误错误!未找到引用源未找到引用源。 如图 2 所示,是一个

7、在以太网中发送和接收所使用的 UDP 帧结构。FINS/UDP 方式使用的是一种嵌套格式数据包, 即 Ethernet 报头、 IP 报头、 UDP 报头和 FINS 帧。 一个 UDP数据段(FINS 帧)超过 1472 字节将被分成若干个数据包来传送。分开的 UDP 数据将在UDPIP 协议层自动组合。通常不需要关注应用层的数据分段,但是在一个多层 IP 网络中1427 字节的 UDP 包可能无法发送。在这种系统中就需要使用 FINSTCP 方式。 3.2 FINS 帧结构 FINS 帧分为 FINS 指令帧和 FINS 响应帧两种形式。 指令帧在发送 FINS 指令时使用,响应帧则在接收

8、到 FINS 指令后对其返回响应时使用。它们都是由一个 FINS 报头(存储传输控制信息)、一个 FINS 指令域(存储一个 FINS 指令)以及一个 FINS 参数数据域(存储指令参数和发送响应数据)所组成的。响应帧 FINS 指令域的内容与所接收到的指令帧的FINS 指令域相同。具体结构见图 3、图 4。 错误错误! 未找到引用源未找到引用源。ICF 为信息控制域, 用于标明指令和响应; RSV 为系统保留; GCT为网关允许数目;DNA 为目的网络号;DA1 为目的节点号;DA2 为目的单元号;SNA 为源网络号;SA1 为源节点号;SA2 为源单元号;SID 为服务和响应的标识号,可任

9、意设置,指令和响应对应相同;MRC 和 SRC 分别为 FINS 指令的主指令和从指令;参数数据域,用于标明所操作的数据地址、 范围等, 在响应帧中前两个字节 MRES 和 SRES 构成响应码,用来诊断错误信息。 第二章 FinsGateway 介绍 1. FinsGateway 介绍 FinsGateway 是 OMRON FINS 通信协议的驱动程序,它为计算机上的 32 位Windows 操作系统提供一个工业自动化网络环境。 FinsGateway 集成了不同的网络协议,并为 FINS 通信和数据链接提供驱动程序和接口库函数。它通过创建高性能的虚拟存储区EventMemory,为不同的

10、用户程序提供数据的接入和共享。利用 FinsGateway,计算机可以通过各层网络(包括网络互联)访问网络上的 PLC, 通过接口库函数, 用户可以开发程序。 2.FinsGateway 的功能 Windows 的应用程序可以通过 OMRON 的网络读写 PLC 的内存区域 PC 机可以作为网络网上的节点,类似于一台 PLC 设定的和 PLC 形同的网络构架 3.FinsGateway 提供的服务 Finsgateway 软件一启动,CPUUnit 自动启动,无法关闭 4. 基于 Ethernet 网络的 FinsGateway 使用 设置步骤: (1)确认 Finsgateway 是否可以通

11、信; 网络号、节点号、单元号(16UnitNo) (2)设置本地网络号,节点号; (3)设置通信参数; 第三章 Compolet 介绍 SYSMAC Compolet 是欧姆龙公司专门为 FINS 通信开发的 Active X 控件,它是架构在 FinsGateway 这个驱动程序下的 VB 控件,对 Fins 指令做了进一步集成和优化。 SYSMAC Compolet 为 SYSMAC CCS1CV 系列的 PLC 提供应用程序编程接口,在开发时只需要调用该控件,编写程序更便捷,语句更简单,配合使用 FinsGateway,通过计算机就可以方便地控制访问 PLC,直接对其操作而不需要掌握相应

12、的 Fins 指令知识。 1.VB 的控件 Complet 2003 产品型号: Product Name Product Type SYSMAC Compolet Full Version2003 SCPL-SYSFL-2003E 包含内容: SYSMAC Compolet Version2003 SYSMAC Compolet Version2 FinsGateway Version2003 Runtime 开发语言及操作系统: 2.Compolet 2003 与 V2 的区别 第四章 上位机与 OMRON PLC 通信的几种方式 OMRON PLC 与上位机的以太网通信依靠发送 FINS

13、 指令实现。 上位机发送 FINS 指令可以直接读取或写入 PLC 相应的数据,PLC 部分无需编写接收和发送程序。本例中采用FINSUDP 方式,具体如图所示。上位机利用 Visual Basic 60 进行程序开发,具体实现向 PLC 发送 FINS 指令(读取内存区域,指令代码 0101)读取 DM100 开始的 150 个字数据的功能。本文提供了三种方法来实现这一个功能,增加了系统开发的选择性。 在进行上位机程序编程之前首先要完成上位机和 PLC 的以太网单元的设置。 (1)设置上位机的 IP 地址为 10721811,子网掩码为 2552552550,它的 FINS 节点号默认为 1

14、1。 (2)通过欧姆龙 CX-Programmer 软件,在 IO 表中将 PLC CSIW-ETN11 以太网单元的 IP 地址设置为 10721819,子网掩码为 2552552550,FINS 节点号设置为 19。地址转换方式设置为自动生成(动态)。FINSUDP 端口为 9600(默认)。保存后下传至 PLC。 下面主要介绍三种方法来实现上述功能。 1. 使用 Micosoft Winsock 控件 在VB中新建一个Standard EXE文件。 添加Winsock控件, 对象命名为“Winsock1“,发送 Fins 命令程序如下: 错误错误!未找到引用源未找到引用源。 编译保存后即

15、可。 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 地址(0190)。在“Commuincation Unit Settings“中设置端口号(9600)和FINS-IP 地址转换方式为自动生成(动态)。 (3)在 VB 中新建一个 standardEXE 文件。添加 OMRO

16、N FinsGateway FinsMessaging Control,对象名为“FinsMsgl“。 (4)在 form 区添加一个 Command button(命名为“Command1“)作为发送 Fins 指令之用;同时添加一个 textbox(命名为“Text1“)作为显示所接受数据之用。 (5)在“Conmand1“中的“Click“事件中添加如下代码: Private Sub Command1_C1ick()FinsMsg1sendFinsCommand0,19,0,“0101820064000096“End Sub 在“FinsMsg1“中的“OnReceive“事件中添加如下代码: Private Sub FinsMsg1_OnReceive () Dim net As Integer,node As Integer,unit AsInteger Text

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号