收藏 分享(赏)

基于FINS协议的OMRON PLC与上位机通信.pdf

上传人:weiwoduzun 文档编号:3075138 上传时间:2018-10-02 格式:PDF 页数:18 大小:757.97KB
下载 相关 举报
基于FINS协议的OMRON PLC与上位机通信.pdf_第1页
第1页 / 共18页
基于FINS协议的OMRON PLC与上位机通信.pdf_第2页
第2页 / 共18页
基于FINS协议的OMRON PLC与上位机通信.pdf_第3页
第3页 / 共18页
基于FINS协议的OMRON PLC与上位机通信.pdf_第4页
第4页 / 共18页
基于FINS协议的OMRON PLC与上位机通信.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、 基于 FINS 协议的 OMRON 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。 通过编程发送 FINS指令,上位机或 PLC就能够读写另

3、一个 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。用户可以根据实际情况自行修改,但是在同一网 络中,各设备的通信端口号必须保持一致。 通常以太网通信使用的是 IP地址,而在 FINS通信中则是使用网络号、节点

5、号以及单 元号来对不同设备(包括 PLC、PC等现场设备)进行地址定义的。这就为不同网络之间各 种设备的通信提供了统一的寻址方式。在以太网 FINS通信中,欧姆龙的以太网单元一项重 要的功能就是能在 IP地址和 Fins节点地址之间进行转换,其转换方式有自动转换、IP地 址表和复合地址表三种方式, 其地址转换数量依据模块型号和转换方式的不同还有相应的限 制。以太网 FINS通信服务是一种基于 UDPIP的通信方式,称为 FINSUDP方式,欧 姆龙相关的以太网产品都支持这种方式。此外, CS1W-ETN21和 CJ1W-ETN21 以太网通 信模块还支持 TCPIP协议,称为 FINSTCP方

6、式。 3.1 FINSUDP方式 FINSUDP方式是一种使用 UDPIP协议的 FINS通信方式。UDPIP是一种无连 接的通信协议。当一条信息从一个节点发到另一个时,这两个节点是没有明确连接的对等关 系的。UDP协议具有较快的传输速度,但是数据通信的可靠性没有 TCP协议高。 如图 2 所示,是一个在以太网中发送和接收所使用的 UDP帧结构。FINS/UDP方式使 用的是一种嵌套格式数据包, 即 Ethernet 报头、 IP报头、 UDP报头和 FINS帧。 一个 UDP 数据段(FINS 帧)超过 1472 字节将被分成若干个数据包来传送。分开的 UDP数据将在 UDPIP协议层自动组

7、合。通常不需要关注应用层的数据分段,但是在一个多层 IP网络中 1427 字节的 UDP包可能无法发送。在这种系统中就需要使用 FINSTCP方式。 3.2 FINS帧结构 FINS 帧分为 FINS指令帧和 FINS响应帧两种形式。 指令帧在发送 FINS指令时使用, 响应帧则在接收到 FINS指令后对其返回响应时使用。它们都是由一个 FINS报头(存储传 输控制信息)、一个 FINS指令域(存储一个 FINS指令)以及一个 FINS参数数据域(存储 指令参数和发送响应数据)所组成的。响应帧 FINS指令域的内容与所接收到的指令帧的 FINS指令域相同。具体结构见图 3、图 4。 ICF 为

8、信息控制域,用于标明指令和响应;RSV为系统保留;GCT为网关允许数目;DNA为目的网络号;DA1 为目的节点号;DA2 为目的单元号;SNA为源网络号;SA1 为源节 点号;SA2为源单元号;SID为服务和响应的标识号,可任意设置,指令和响应对应相同; MRC和 SRC分别为 FINS指令的主指令和从指令;参数数据域,用于标明所操作的数据 地址、范围等,在响应帧中前两个字节 MRES和 SRES构成响应码,用来诊断错误信息。 第二章 FinsGateway 介绍 1. FinsGateway介绍 FinsGateway是 OMRON FINS通信协议的驱动程序,它为计算机上的 32 位 Wi

9、ndows操作系统提供一个工业自动化网络环境。 FinsGateway集成了不同的网络协议, 并为 FINS通信和数据链接提供驱动程序和接口库函数。它通过创建高性能的虚拟存储区 EventMemory,为不同的用户程序提供数据的接入和共享。利用 FinsGateway,计算机 可以通过各层网络(包括网络互联)访问网络上的 PLC, 通过接口库函数, 用户可以开发程序。 2.FinsGateway的功能 Windows的应用程序可以通过 OMRON 的网络读写 PLC的内存区域 PC机可以作为网络网上的节点,类似于一台 PLC 设定的和 PLC形同的网络构架 3.FinsGateway提供的服务

10、 Finsgateway软件一启动,CPUUnit自动启动,无法关闭 4. 基于 Ethernet网络的 FinsGateway使用 设置步骤: (1)确认 Finsgateway是否可以通信; 网络号、节点号、单元号(16UnitNo) (2)设置本地网络号,节点号; (3)设置通信参数; 第三章 Compolet介绍 SYSMAC Compolet 是欧姆龙公司专门为 FINS通信开发的 Active X控件,它是架构 在 FinsGateway这个驱动程序下的 VB控件,对 Fins指令做了进一步集成和优化。 SYSMAC Compolet 为 SYSMAC CCS1CV系列的 PLC提

11、供应用程序编程接口,在 开发时只需要调用该控件,编写程序更便捷,语句更简单,配合使用 FinsGateway,通过 计算机就可以方便地控制访问 PLC,直接对其操作而不需要掌握相应的 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 开发语言

12、及操作系统: 2.Compolet 2003与 V2 的区别 第四章 上位机与OMRON PLC 通信的几种方式 OMRON PLC与上位机的以太网通信依靠发送 FINS指令实现。上位机发送 FINS指令 可以直接读取或写入 PLC相应的数据,PLC部分无需编写接收和发送程序。本例中采用 FINSUDP方式,具体如图所示。上位机利用 Visual Basic 60进行程序开发,具体实 现向 PLC发送 FINS指令(读取内存区域,指令代码 0101)读取 DM100 开始的 150个字 数据的功能。本文提供了三种方法来实现这一个功能,增加了系统开发的选择性。 在进行上位机程序编程之前首先要完成

13、上位机和 PLC的以太网单元的设置。 (1)设置上位机的 IP地址为 10721811,子网掩码为 2552552550,它 的 FINS节点号默认为 11。 (2)通过欧姆龙 CX-Programmer 软件,在 IO表中将 PLC CSIW-ETN11以太网单元 的 IP地址设置为 10721819,子网掩码为 2552552550,FINS节点号设 置为 19。地址转换方式设置为自动生成(动态)。FINSUDP端口为 9600(默认)。保存后 下传至 PLC。 下面主要介绍三种方法来实现上述功能。 1. 使用 Micosoft Winsock控件 在 VB中新建一个 Standard E

14、XE文件。 添加 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地址(0190)。在“Commuincation Unit Settings“中设置端口号(9600)和 FINS-IP

15、地址转换方式为自动生成(动态)。 (3)在 VB中新建一个 standardEXE 文件。添加 OMRON FinsGateway FinsMessaging Control,对象名为“FinsMsgl“。 (4)在 form区添加一个 Command button(命名为“Command1“)作为发送 Fins 指 令之用;同时添加一个 textbox(命名为“Text1“)作为显示所接受数据之用。 (5)在“Conmand1“中的“Click“事件中添加如下代码: Private Sub Command1_C1ick()FinsMsg1sendFinsCommand0,19,0, “010

16、1820064000096“End Sub 在“FinsMsg1“中的“OnReceive“事件中添加如下代码: Private Sub FinsMsg1_OnReceive () Dim net As Integer,node As Integer,unit AsInteger Text1Text=Fins Msg1receive Message(net,node,unit,vbString) End Sub 编译保存后即可。 3. 使用 FinsGateway和 SYSMAC Compolet (1)在上位机中安装 Fins Gateway和 SYSMACCompolet 软件。启动 Fi

17、nsGateway 的 Service Manager,并启动 CPU UNIT和 ETN UNIT。 (2)同 2 中第(2)点。 (3)在 VB中新建一个 StandardEXE 文件。添加 OMRON SYSMAC CS Control, 对象名为“SYSMAC CS11“。 (4)在对象“SYSMACCS11“属性中,选择“Communication“标签,选中 “ActivateCoCommunication“并设置 PLC的 Fins 地址(0190)。 (5)在 form区添加一个 Command button(命名为“Command1“)作为发送 Fins 指 令之用;同时添加

18、一个 text box(命名为“Text1“)作为显示所接受数据之用。 (6)在“Conmand1“中的“Click“事件中添加如下代码: Private Sub Command1_Click() Text1Text=SYSMAC_CS1 1readArea(plcAreaDM,100,150,vbString) End Sub 编译保存后即可。 SysmacCS1.Active = True TextBox1.Text = SysmacCS1.DM(0) 第五章 上位VB/VC 与OMRON PLC 通信案例 1.VB 通信例子 步骤: (1).安装支持软件:CX-P, FinsGatewa

19、y ,Compolet 2003/V2(支持 VB,VC), VB6.0/VC 6.0; (2).添加 OMRON PLC控件,VB调用 OMRON DataMonitor,读写 PLC 内存数据。具体 的代码如下。 (采用 SYSMAC_CS11.*读写 PLC 数据) Private Sub Command1_Click() Text1.Text = SYSMAC_CS11.readArea(plcAreaHR, 0, 2, vbString) Text1.Text = SYSMAC_CS11.DM(2) Text1.Text = SYSMAC_CS11.AR(1) Text1.Text

20、= SYSMAC_CS11.HR(0) Dim n As Integer Dim varData(10) As Variant For i = 0 To 9 varData(i) = m_editsend.GetWindowText(cstrsendmsg); if (cstrsendmsg=“) CString AfxMessageBox(“没有数据“); return; long lsendmsg = atoi(char*)(LPCTSTR)cstrsendmsg); UpdateData(TRUE); m_omroncs.put_DM(20, lsendmsg); UpdateData(

21、FALSE); void CtestmainDlg:OnBnClickedButton2() / TODO: 在此添加控件通知处理程序代码 CString cstrgetsmsg; UpdateData(TRUE); cstrgetsmsg.Format(“%06d“,m_omroncs.get_DM(20); UpdateData(FALSE); m_editget.SetWindowText(cstrgetsmsg); 第六章 总结 工业以太网作为工业现场信息采集的重要网络具有速率高、通信距离远、抗干扰性好等 特点,已经得到广泛应用。本文所介绍的三种 OMRON PLC与上位机以太网通信的

22、方法均 在实际工程中验证成功。这三种方法从本质上来说其实是一样的,但具体使用和实现过程有 所不同。第一种方法不需要另外购置欧姆龙相关软件,但需要对 FINS通信底层协议以及 Fins 帧结构及其封装过程有比较全面的了解,程序编写较为复杂,适用于有一定开发经验 的高级用户。第二种方法需要掌握 Fin s帧结构以及 FinsGateway的相关配置,但是对发 送指令和接收数据的程序编写较为简单,适用于中级用户。在第三种方法中,使用了 SYSMAC Compolet中简单易懂的编程语言,即可完成上位机的程序开发,整个程序编写 过程简单明了,可以大幅缩减通信程序的开发时间,适用于那些开发经验较少的初级用户。 后面两种方法需要另外购置欧姆龙软件,这是在程序开发时需要注意的。这三种方法都可利 用工业以太网实现 OMRON PLC与上位机的通信,具有实时性好、速度快、可靠性高、运 行稳定等优点。在 PLC控制系统中采用以太网单元通信后,使工业自动化与生产管理自动 化有机地结合到了一起,简化了系统设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报