基于 FINS 协议的OMRON PLC 与上位机通信
omronfins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:存储区代码(82代表D 区 80代表CIO 区)2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
FINS UDP/IP的帧格式UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址: IP地址:如果要请求DM10开始的10个字的内容80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明 80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识 00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:存储区代码(82代表D 区80代表CIO 区)当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
基于 FINS 协议的OMRON PLC 与上位机通信
(2)ETN UNIT 属性中,在"UDP Nodes"中手动添加 PLC 的 IP 地址(10.72.18.19) 和 FINS 地址(0.19.0)。在"Commuincation Unit Settings"中设置端口号(9600)和 FINS-IP 地址转换方式为自动生成(动态)。
在进行上位机程序编程之前首先要完成上位机和 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。
设置步骤: (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 指令知识。
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02写数据结束码:00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:存储区代码(82代表D区80代表CIO区)响应当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容则PC发送命令如下:源IP地址:PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10具体说明如下:UDP/IP帧FINS命令帧80 00 02 00 0A 00 001400 0001 0282 00 0A 0000 0A Data1-Data10写命令起始数据地址写入的数量具体数值PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
fins通讯
0 引言在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛使用。
过去,在工程项目开发中,PLC和上位机间的通信常采用RS-232C或者RS-485串行方式,这种方法很难满足数据量大、通信距离远、实时性要求高的控制系统。
随着互联网技术的发展、普及与推广,以太网技术得到了迅速的发展,其传输速率的提高和交换技术的应用,解决了以太网通信的非确定性问题,使得工业以太网能够广泛应用于工业信息控制领域,也是工业信息控制未来的发展趋势。
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
使用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的 Etherne(以太网),用于控制网络的Controller Link和SYSMAC LINK。
通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS协议支持工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了可能。
1 OMRON PLC与上位机通信方式目前,在欧姆龙PLC网络组成中,上位机和PLC的通信可以采用RS232C/485串行通信、Controller Link通信和工业以太网通信三种方式。
它们的主要性能参数如表1所示。
图片看不清楚?请点击这里查看原图(大图)。
文献[3]介绍了采用RS232C/485串行通信的方案,其通信速率仅为9600b/s,速率较慢,很难适应现代数据量大、通信距离较远、实时性要求较高的控制系统。
文献[2]中给出了基于FINS协议的Controller Link通信的设计方案,其最高速率可以达到2Mb/s,整个网络的最大传输距离为500m,硬件上需要在上位机安装CLK支持卡,其扩展性及应用的灵活性没有工业以太网好。
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据01 02 写数据 结束码: 00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:存储区代码(82代表D区 80代表CIO区)响应当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:PLC IP地址:如果要请求DM10开始的10个字的内容则PC发送命令如下:源IP地址: PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明 80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识 00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
omronfins通讯协议
O m r o n F i n s通讯协议(总8页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:存储区代码(82代表D区 80代表CIO区)响应当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容则PC发送命令如下:源IP地址: PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明 80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识 00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:存储区代码(82代表D 区80代表CIO 区)2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
Omron Fins通信协议
OMRON FINS 通信1. OMRON FINS 通信FINS 通信概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化操纵网络的指令/响应系统。
运用 FINS 指令可实现各类网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够够够读写另一个PLC 数据区的内容,乃至操纵其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 F ins 帧的结构发送死令结构: 发送死令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据终止码: 00 00 无错误,不然执行犯错;举例说明:2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来讲确实是在上面所说的Fins帧的基础上加上以太网的包头就能够够够了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每一个字节的具体说明如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;关于以太网来讲,即该网络IP地址最后一名的值;DA2:目标单元号;关于CPU来讲,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一名的值;SA2:源单元号:可设置为与目标单元号相同;SID:效劳ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:IP地址:假设是要请求DM10开始的10个字的内容80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,那个地址仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默许BE 为运算机地址00 00 默许01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容假设是要把10个数据写入到从DM10开始的10个数据区中那么发送死令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10具体说明如下:UDP/IP帧FINS命令帧80 00 02 00 0A 00 001400 0001 02 82 00 0A 00 00 0A Data1-Data10写命令起始数据地址写入的数量具体数值PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:FINS/TCP的帧结构:和FINS/UDP相较,FINS/TCP多了一个握手进程,即两边成立了TCP的物理连接后,TCP客户端(PC)需向TCP效劳器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分派一个FINS/TCP端口号,并返回响应帧给客户端,此刻两边的FINS/TCP通信才真正成立。
基于FINS协议的OMRON-PLC与上位机以太网通信的实现[多图]
基于FINS协议的OMRON PLC与上位机以太网通信的实现[多图] 引言在当代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛运用。
过去,在工程项目开发中,PLC和上位机间的通信常采用RS-232C或者RS-485串行方式,这种要领很难满足数据量大、通信距离远、实时性要求高的控制系统。
随着互联网技能的发展、普及与推广,以太网技能得到了快速的发展,其传输速率的提高和交换技能的运用,处理了以太网通信的非确定性疑问,使得工业以太网能够广泛运用于工业信息控制领域,也是工业信息控制未来的发展趋势。
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的Etherne(以太网),用于控制网络的Controller Link 和SYSMAC LINK。
通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS协议支撑工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了可能。
1 OMRON PLC与上位机通信方式目前,在欧姆龙PLC网络组成中,上位机和PLC的通信可以采用RS232C /485串行通信、Controller Link通信和工业以太网通信三种方式。
它们的主要性能参数如表1所示。
图片看不清楚?请点击这里查看原图(大图)。
文献[3]介绍了采用RS232C/485串行通信的方案,其通信速率仅为9600b /s,速率较慢,很难适应当代数据量大、通信距离较远、实时性要求较高的控制系统。
文献[2]中给出了基于FINS协议的Controller Link通信的设计方案,其最高速率可以达到2Mb/s,整个网络的最大传输距离为500m,硬件上须要在上位机安装CLK支撑卡,其扩展性及运用的灵活性没有工业以太网好。
omronfins通讯协议
FINS(factory interface network service)通信协议是欧姆龙公司开辟的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送 FINS 指令,上位机或者 PLC 就能够读写另一个 PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为 OMRON PLC 与上位机以太网通信的实现提供了途径。
发送命令结构:发送命令结构:命令码正文响应命令结构:命令码结束码正文01 01 读数据01 02 写数据00 00 无错误,否则执行出错;举例说明:要读取 DM10 开始 10 个字的内容:响应当结束码不为 00 00 时,则代表执行错误,应重发当前帧。
Fins 在以太网上帧格式比较简单,简单来说就是在上面所说的 Fins 帧的基础上加之以太网的包头就可以了。
具体帧格式分为UDP/IP 帧格式和 TCP/IP 帧格式。
帧格式: UDP/IP 帧+FINS 命令帧UDP/IP 的帧格式:共 10 个字节,其名称如下:其每一个字节的具体解释如下::发送接收标志字节,发送报文: ICF=80HEX;响应报文: ICF=C0;:固定为 00HEX;:固定为 02HEX;: 目标网络号;本网络: 00;远程网络: 01-7F;: 目标节点号;对于以太网来说,即该网络 IP 地址最后一位的值;目标单元号;对于 CPU 来说,固定为00;:源网络号;本网络: 00;:源节点号; IP 地址最后一位的值;:源单元号:可设置为与目标单元号相同;:服务 ID ,响应端将接收过来的 SID 复制后添加到响应帧中;举例说明:PC IP 地址: IP 地址:如果要请求 DM10 开始的 10 个字的内容80 读取区域01 01 命令码00 00 默认BE 为计算机地址00 00 默认20 为 PLC 地址说明 80 00 02 00 消息头 发送码: 80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01 实例: (读取CIO 区 452 地址: 01 C4;长度为 1 个字) 不同 plc 型号返回有区别,这里仅作参考 80 00 02 00 00 56 00 00 13 00 00 Data1—Data10 而 PLC 返回命令如下: 目标 IP 地址:通讯主机地址(IP 地址最后位) 源 IP 地址: PLC 地址(IP 地址最后位) UDP/IP 帧源 IP 地址 FINS 命令帧01 01 82 00 0A 00 00 0A目标 IP 地址则 PC 发送命令如下:如果要把 10 个数据写入到从 DM10 开始的 10 个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10具体说明如下:PLC 返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC 存储区已经写入:和 FINS/UDP 相比, FINS/TCP 多了一个握手过程, 即双方建立了 TCP 的物理连接后, TCP 客户端(PC)需向 TCP 服务器(PLC)发送一个连接请求帧, PLC 接收到请求帧后,会为该FINS 命令帧82 00 0A 00 00 0A Data1-Data10起始数据地址 写入的数量 具体数值UDP/IP 帧80 00 02 00 0A01 02写命令00 02 为读取内容00 00 成功与否标识 00 40 或者 95 05 标识码不清晰01 01 其中第二个01 位命令码说明: c0 00 02 00 be 00 00 20 00 00 为网络头 返回码: c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02 00 01 读取长度01 C4 00 读取地址请求分配一个 FINS/TCP 端口号,并返回响应帧给客户端,此时双方的 FINS/TCP 通信才真正建立。
OmronFins通讯协议
OMRON FINS通讯1. OMRON FIN通讯1.1 FINS通讯概述FINS(factory in terface network service) 通信协议是欧姆龙公司幵发的用于工业自动化控制网络的指令/响应系统。
运用FINS指令可实现各种网络间的无缝通信,通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS协议支持工业以太网,这就为OMRON PL与上位机以太网通信的实现提供了途径。
1.2 Fins帧的结构发送命令结构:发送命令结构:____ 命令码_____ II_____ 正文 _______响应命令结构:命令码I 结束码丨丨正文 _______命令码:01 01读数据01 02 写数据结束码:00 00无错误,否则执行出错;举例说明:要读取DM1(开始10个字的内容:存储区代码(82代表D区80代表CIO区)响应当结束码不为00 00时,则代表执行错误,应重发当前帧 2 FINS在以太网上的帧格式Fins 在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式2.1 FINS UDP/IP 的帧格式帧格式:UDP/IP帧+FINS命令帧其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX响应报文:ICF二CO; RSV固定为OOHEXGCT固定为02HEXDNA目标网络号;本网络:00;远程网络:01-7F ;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA源网络号;本网络:00 ;SA1:源节点号;IP地址最后一位的值;SA2源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中; 举例说明:PC IP地址:PLC IP地址:如果要请求DM1(开始的10个字的内容则PC发送命令如下:源IP地址:PLC地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Datal —DatalO不同pic型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4 ;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01 说明80 00 02 00 消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80读取区域01 C4 00读取地址00 01 读取长度返回码:C0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:C0 00 02 00 be 00 00 20 00 00 为网络头00 00 成功与否标识00 40 或95 05标识码不清楚00 02 为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
OmronFins通讯协议
OMRON FINS 通 讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS (factory in terface network service )通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个 PLC 数据区的内容,甚至控制其运行状 态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
命令码:01 01 读数据01 02 写数据结束码:00 00无错误,否则执行出错;举例说明:存储区代码(82代表D 区80代表CIO 区) 响应1.2 Fins 帧的结构发送命令结构:发送命令结构:命令码 (2个字节)响应命令结构:命令码(2个字节) 正文(根据不同的命令长度不正文(根据不同的命令长度不2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP 的帧格式ICF发送接收标志字节,发送报文:ICF=80HEX响应报文:ICF=CQRSV固定为OOHEX;GCT固定为02HEX;DNA目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2: 目标单元号;对于CPU来说,固定为00;SNA源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP 地址:10.11.1.19PLC IP 地址:10.11.1.86如果要请求DM10开始的10个字的内容目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data—Data10 不同pic型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20为PLC地址00 00默认BE为计算机地址00 00 默认01 01命令码80读取区域01 C4 00读取地址00 01读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00 为网络头01 01其中第二个01位命令码00 00成功与否标识00 40或95 05标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data1080 00 02 00 00 14 00 00 01 02 00 00测试工具截图:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC需向TCP服务器(PLC发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
欧姆龙PLC系列wifi通信
欧姆龙PLC系列WIFI通信前言:在目前工业自动化控制系统中,主要采取的是可编程控制器(PLC)作为主控制设备,上位机作为数据采集及人机界面已经成为一种通用做法。
本文所介绍的上位机软体主要是使用于欧姆龙PLC,该上位机软体主要是基于欧姆龙PLC的fins协议编写而成。
一、开发该软体使用的硬件设备1、欧姆龙CP1H一台2、串转WIFI模块一块3、电源(DC24V、DC5V、DC3.3V)一块4、RS232电平、TTL电平互转换模块一块5、电脑一台(WIN7系统)二、上位机软体功能1、读字节2、读位3、写字节4、写位三、上位机软体编程1、编写基于fins协议的动态链接库2、编写基于TCP/IP协议的通信程序3、整合上面两者四、上位机软体部分编程解释1、使用vb控件winsock编写的通信程序(UDP协议:无连接,相比TCP,通信不可靠,但速度快)With winsock(winsock控件名字)'重点:必须将RemoteHost 的值改为'对方计算机的名字或者IP地址.RemoteHost = "10.10.100.254"'设置要通信方的名字或者IP地址(10.10.100.254为该文所使用串转WIFI模块IP 地址,若使用电脑与电脑间通信,则将该IP改为对方的电脑名字即可).RemotePort = 8899 '要连接的端口。
.Bind(8899, "") '绑定到本地的端口上。
End With注意:winsock属性记得设置为UDP模式2、基于fins协议的动态链接库(直接调用即可)1、写字节:writebyte(PLC账号,存储代码,开始通道,写入通道个数,写入通道数据)例子:writebyte(“00”,“DM”,”000”,”0001”,”0121”)解释:PLC账号:00存储代码:DM开始通道:0000写入通道个数:0001写入通道数据:0121结果是PLC中的D0寄存器值为0121备注:PLC账号为两位数;村粗代码固定,参照下面表1;开始通道为四位数;写入通道个数为四位数;写入通道数据为四位数2、写位:Writebit(PLC账号,存储代码,开始通道位,写入通道位,写入位数据)例子:Wirtebit(“00”,“WR.BIT”,”0000”,”01”,”01”)解释:PLC账号:00存储代码:WR.BIT开始通道:0000写入通道位:01写入通道位数据:01结果是PLC中的W0.00值为1备注:PLC账号为两位数;存储代码固定,参照下面表2;开始通道为四位数;写入通道位为两位数;写入通道位数据位两位数3、读字节:readbyte(PLC账号,存储代码,开始通道,读出通道个数)例子:Readbyte(“00”,”DM”,”0000”,”0001”)解释:PLC账号:00存储代码:DM开始通道:0000读出通道个数:0001假如PLC内存D0寄存器保存的值为0121,则结果读出的值为0121备注:PLC账号为两位数;存储代码固定,参照下面表1;开始通道为四位数;读出通道个数为四位数4、读位:readbit(PLC账号,存储代码,开始通道位,读出通道位)例子:readbyte(“00”,“WR.BIT”,”0000”,”01”)解释:PLC账号:00存储代码:WR.BIT开始通道:0000读出通道位:01假设PLC内存W0.00为ON,则结果读出的位值为1备注:PLC账号为两位数;存储代码固定,参照下面表2;开始通道为四位数;读出通道位为两位数5、WINFORM调用动态链接库1)、WINFORM→项目→添加引用2)、WINFORM源代码声明调用该动态链接库例子:假如该动态链接库名称为CLASSLIBRARY.CLASS1则调用该链接库是在源代码开始处声明引用,即DIM WRITEBYTE AS NEW CLASSLIBRARY.CLASS1,则在该WINFORM 中可以调用动态链接库的读字节,读位,写位,写字节函数,例如调用写字节,则为WRITEBYTE.writebyte(”00“,”DM “,”0000”,”0001”,”1231”)表1:DM 代表D寄存器WR 代表W辅助继电器HR 代表H保持继电器CIO 代表CIO继电器表2:DM.BIT 代表D寄存器位WR.BIT 代表W辅助继电器位HR.BIT 代表H保持继电器位CIO.BIT 代表CIO继电器位五、使用VISUAL STUDIO 2012开发六、调用.NET FRAMEWORK 4.5.1版本七、附图:。
OMRON PLC与上位机的通讯
S D 啉
S G DsR 骼
DM 0 2 中 的 数 据 会 恢 复 原 来 的 9 0 值 , 又 要 重 新 修 改 , 操 作 起 来 比 较
麻 烦 , 所 以最 好 同 时 修 改 。
与S G相 连 。 具 体 接 线 和 针 脚 定 义 收稿 日期 : 0 2 1 - 2 2 0- 2 0
也 可修 改 S S软 件 中 的设 置 , 这 也 S 是 在 没 有 编 程 器 时 的 一 种 简 便 方
法 。
即 是 用 于触 摸 屏 和 P C通 讯 ,修 改 L 成 0 0 , 即与 上 位机 通 讯 , 再 进 行 00 连 接 , 通 讯 成 功 。记 住 下 载 数 据 后
要 将 D 6645 中 的 数 据 恢 复 为 M 4 0 , 以使 触 摸 屏 能 正 常 使 用 。 00
用 连 接 电 缆 XW 2 . 0 S代 替 Z20 转 接 头 连 接 ( 图 3) 不 能 正 常 如 ,
R 一3 C 口的设 置 区 域 不 同 ,外 设 S2 2 12 ) 中的数 据 , 原 来 是 S S软 件 端 口的 设 置 在 DM6 5 6 5 96 S 6 0— 6 4中, 中 的通 讯 设 置 与 PLC 内 的 设 置 不 RS 2 2 一 3 C端 口的设 置 在 DM6 4 6 5—
模 块 的设 置 , 并 经 过 实 验 ,发 现 有
以下几 点会 影 响通讯 :
的 通 讯
该P LC 应 用 在 闪 速 炉 精 矿 喷 嘴 上,由芬兰奥托 昆普 ( u K m u Ot up) o
( )L 2 l 讯 模 块 的 频率 设 1 K 0通
置 及 单 元 号要 与 P C、S S软件 中 L S 的设 置 相 同 , 通 过 sw 3设 置 通 讯
Omron Fins通讯协议
O M R O N F I N S 通讯1. OMRON FINS 通讯FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构: 发送命令结构:命令码结束码: 00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容: 存储区代码(82代表D 区 80代表CIO 区) 响应 当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS 在以太网上的帧格式Fins 在以太网上帧格式比较简单,简单来说就是在上面所说的Fins 帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP 帧格式和TCP/IP 帧格式。
FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:PLC IP地址:如果要请求DM10开始的10个字的内容80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:存储区代码(82代表D 区 80代表CIO 区)2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20 为PLC地址00 00 默认BE 为计算机地址00 00 默认01 01 命令码80 读取区域01 C4 00读取地址00 01 读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
Omron Fins通讯协议
O m ron Fin s通讯协议(用心整理的精品word文档,可以编辑,欢迎下载)作者:------------------------------------------日期:------------------------------------------OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 F ins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码:01 01 读数据 01 02 写数据结束码:00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:存储区代码(82代表D区 80代表CIO区)响应当结束码不为00 00时,则代表执行错误,应重发当前帧。
2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX;GCT:固定为02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP地址:10.11.1.19PLC IP地址:10.11.1.86如果要请求DM10开始的10个字的内容则PC发送命令如下:源IP地址:PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20为PLC地址00 00默认BE 为计算机地址00 00 默认01 01命令码80 读取区域01 C400读取地址00 01读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 0100 0000 02说明:c0 00 02 00 be 00 00 20 00 00为网络头01 01其中第二个01位命令码00 00成功与否标识 00 40 或95 05 标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data10 具体说明如下:PLC返回为:80 00 02 00 00 14 00 00 01 02 00 00测试工具截图:PLC存储区已经写入:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位机作为数据采集及人机界面的一种已经得到广泛使用。过去,在工程项目开发中,PLC 和上位机间的通信常采用 RS-232C 或者 RS-485 串行方式,这种方法很难满足数据量大、 通信距离远、实时性要求高的控制系统。随着互联网技术的发展、普及与推广,以太网技术 得到了迅速的发展,其传输速率的提高和交换技术的应用,解决了以太网通信的非确定性问 题,使得工业以太网能够广泛应用于工业信息控制领域,也是工业信息控制未来的发展趋势。
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于 工业自动化控制网络的指令/响应系统。使用 FINS 指令可实现各种网络间的无缝通信,包 括用于信息网络的 Etherne(以太网),用于控制网络的 Controller Link 和 SYSMAC LINK。 通过编程发送 FINS 指令,上位机或 PLC 就能够读写另一个 PLC 数据区的内容,甚至控制 其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为 OMRON PLC 与 上位机以太网通信的实现提供了可能。
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. 使用 Micosoft Winsock 控件
在 VB 中新建一个 Standard.EXE 文件。添加 Winsock 控件,对象命名为"Winsock1", 发送 Fins 命令程序如下:
错误!未找到引用源。
编译保存后即可。
2. 使用 FinsGateway 中的 OMRON FinsMessaging Control
基于 FINS 协议的 OMRON PLC 与上位机通信
主要内容
一. Fins 通信介绍 二. Finsgateway 介绍 三. Compolet2003/V2 介绍 四. 上位机与 OMRON PLC 通信的几种方式 五. 上位 VB/VC 与 OMRON PLC 通信案例 六. 总结
第一章 FINS 通信
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
编译保存后即可。
3. 使用 FinsGateway 和 SYSMAC Compolet
(1)在上位机中安装 Fins Gateway 和 SYSMACCompolet 软件。启动 FinsGateway 的 Service Manager,并启动 CPU UNIT 和 ETN UNIT。
姆龙相关的以太网产品都支持这种方式。此外,CS1W-ETN21 和 CJ1W-ETN21 以太网通 信模块还支持 TCP/IP 协议,称为 FINS/TCP 方式。
3.1 FINS/UDP 方式 FINS/UDP 方式是一种使用 UDP/IP 协议的 FINS 通信方式。UDP/IP 是一种无连
接的通信协议。当一条信息从一个节点来自到另一个时,这两个节点是没有明确连接的对等关 系的。UDP 协议具有较快的传输速度,但是数据通信的可靠性没有 TCP 协议高。
(3)在 VB 中新建一个 standard.EXE 文件。添加 OMRON FinsGateway FinsMessaging Control,对象名为"FinsMsgl"。
(4)在 form 区添加一个 Command button(命名为"Command1")作为发送 Fins 指 令之用;同时添加一个 textbox(命名为"Text1")作为显示所接受数据之用。
设置步骤: (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 指令知识。
错误!未找到引用源。
通常以太网通信使用的是 IP 地址,而在 FINS 通信中则是使用网络号、节点号以及单 元号来对不同设备(包括 PLC、PC 等现场设备)进行地址定义的。这就为不同网络之间各 种设备的通信提供了统一的寻址方式。在以太网 FINS 通信中,欧姆龙的以太网单元一项重 要的功能就是能在 IP 地址和 Fins 节点地址之间进行转换,其转换方式有自动转换、IP 地 址表和复合地址表三种方式,其地址转换数量依据模块型号和转换方式的不同还有相应的限 制。以太网 FINS 通信服务是一种基于 UDP/IP 的通信方式,称为 FINS/UDP 方式,欧
(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 地址转换方式为自动生成(动态)。
2.工业以太网优势 工业以太网的优势是相当明显的。其传输速率可以达到 10/100Mb/s(取决于实际网
络环境);两个节点之间的传输距离可以达到 100m,对于整个网络的传输距离没有限制; 网络内最大节点数可以达到 254 个,可以实现 1(PLC):N(PC)、N:N、N:1 等多种网 络形式。这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、 实用性、灵活性。目前使用的上位机都配有以太网卡,所以上位机侧无需增加额外的硬件设 备。因此,采用工业以太网方式对提高工厂的自动化信息控制水平具有很大的现实意义。
3.2 FINS 帧结构 FINS 帧分为 FINS 指令帧和 FINS 响应帧两种形式。指令帧在发送 FINS 指令时使用,
响应帧则在接收到 FINS 指令后对其返回响应时使用。它们都是由一个 FINS 报头(存储传 输控制信息)、一个 FINS 指令域(存储一个 FINS 指令)以及一个 FINS 参数/数据域(存储 指令参数和发送/响应数据)所组成的。响应帧 FINS 指令域的内容与所接收到的指令帧的 FINS 指令域相同。具体结构见图 3、图 4。
错误!未找到引用源。ICF 为信息控制域,用于标明指令和响应;RSV 为系统保留;GCT 为网关允许数目;DNA 为目的网络号;DA1 为目的节点号;DA2 为目的单元号;SNA 为 源网络号;SA1 为源节点号;SA2 为源单元号;SID 为服务和响应的标识号,可任意设置, 指令和响应对应相同;MRC 和 SRC 分别为 FINS 指令的主指令和从指令;参数/数据域, 用于标明所操作的数据地址、范围等,在响应帧中前两个字节 MRES 和 SRES 构成响应码,
开发语言及操作系统:
polet 2003 与 V2 的区别
第四章 上位机与 OMRON PLC 通信的几种方式
OMRON PLC 与上位机的以太网通信依靠发送 FINS 指令实现。上位机发送 FINS 指令 可以直接读取或写入 PLC 相应的数据,PLC 部分无需编写接收和发送程序。本例中采用 FINS/UDP 方式,具体如图所示。上位机利用 Visual Basic 6.0 进行程序开发,具体实 现向 PLC 发送 FINS 指令(读取内存区域,指令代码 0101)读取 DM100 开始的 150 个字 数据的功能。本文提供了三种方法来实现这一个功能,增加了系统开发的选择性。
3.以太网 FINS 通信 在以太网 FINS 通信中,各种数据信息是以 UDP/IP 包或者 TCP/IP 包的方式在以太
网上发送和接收的。其中,在 Internet 层远程设备使用的是 IP 地址,而在应用层使用的 则是 FINS 节点地址。传输层中定义了本地 UDP 或 TCP 端口号,它为应用层(即 FINS 通 信)提供通信端口,其默认设置为 9600。用户可以根据实际情况自行修改,但是在同一网 络中,各设备的通信端口号必须保持一致。
用来诊断错误信息。
1. FinsGateway 介绍
第二章 FinsGateway 介绍
FinsGateway 是 OMRON FINS 通信协议的驱动程序,它为计算机上的 32 位 Windows 操作系统提供一个工业自动化网络环境。FinsGateway 集成了不同的网络协议, 并为 FINS 通信和数据链接提供驱动程序和接口库函数。它通过创建高性能的虚拟存储区 EventMemory,为不同的用户程序提供数据的接入和共享。利用 FinsGateway,计算机 可以通过各层网络(包括网络互联)访问网络上的 PLC,通过接口库函数,用户可以开发程序。