OmronPLC 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 无错误,否则执行出错;举例说明:当结束码不为00 00时,则代表执行错误,应重发当前帧。
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通信才真正建立。
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通信才真正建立。
欧姆龙PLC之CP1H以太网FINSTCP通讯实例
欧姆龙PLC之CP1H 以太网FINS/TCP通讯实例CP1H上面的选件板插槽可以插入1-2块CP1W-CIF41模块,系统即具有了以太网功能,也可以使用CP1W-EXT01和CJ1W-ETN21以太网扩展模块来组态,用于在CX-Programmer软件下的编程或监控,也可以和其它网络设备(可以是上位机,也可以是其它的PLC或者是带有以太网接口的触摸屏等)进行通讯。
图1 CP1W-CIF41 图2 ETN21就像UDP的TCP之间的特性对比一样,和FINS/UDP方式相比,FINS/TCP具有更好的可靠性,但是不如前者的效率高。
不可以使用广播,同时最多16个连接。
本文给出FINS/TCP通讯实例供参考。
电脑和PLC通讯,通常都是电脑做为客户端,PLC作为服务器端。
如果是PLC之间进行通讯,任何一台PLC都可以作为服务器或者客户端。
硬件:CP1H-X40DR-A 1台CP1W-CIF41 1块网线、交换机软件:网络调试助手(或者其它网络调试软件)CX-ProgrammerCP1W-CIF41已经配置成ip=192.168.1.32,subnet MASK=255.255.255.0,port=9600。
运行CX-Programmer,在查看窗口添加D0、D1、W210通道和W212.01位用于监控。
客户端电脑配置成ip=192.168.1.5,subnet MASK=255.255.255.0。
运行网络调试软件,协议类型选择 TCP Client,远程主机地址处改为PLC地址和相应的端口号,即192.168.1.32:9600,之后即可点连接。
发送和接收区都设置成16进制。
一,握手命令1、客户端向服务器发送命令00000000。
这个命令长20字节,分成5组4字节。
分别是:头(FINS) + 长度(Hex0C) + 命令(00000000)+ 错误码(00000000) + 客户机节点地址。
46494E53是FINS的ASCII码值,即命令头。
Omron-Fins通讯协议
00 02为读取内容
如果要把10个数据写入到从DM10开始的10个数据区中
则发送命令如下:
80 00 02 00 56 00 00 13 00 00 01 02 82 00
Data1-Data10
具体说明如下:
UDP/IP帧
FINS命令帧
80 00 02 00 0A
0A
源IP地址
目标IP地址
源IP地址:PLC地址(IP地址最后位)
目标IP地址:通讯主机地址(IP地址最后位)
而PLC返回命令如下:
80 00 02 00 00 56 00 00 13 00 00
不同pic型号返回有区别,这里仅作参考
实例:(读取CIO区452地址:01C4;长度为1个字)
发送码:80 00 02 00 20 00 00BE00 00 01Байду номын сангаас01 80 01C400 00 01说明80 00 02 00消息头
响应
01 01
00 00
Data1—Data10
命令码
结束码
读取的10个字的数据
当结束码不为0000时,则代表执行错误,应重发当前帧。
2
Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以
太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。
2.1 FINS UDP/IP
OMRON FINS
1. OMRON FINS
1.1
FINS(factory in terface network service)通信协议是欧姆龙公司开发的用于工业
自动化控制网络的指令/响应系统。运用FINS指令可实现各种网络间的无缝通信,通
欧姆龙PLC FINS命令案例
FINS指令实验报告
实验时间:2012-12
实验设备:CP1H-X40DT-D*1、串口调试工具
实验目的:了解FINS指令。
实验步骤:
1、硬件连接及设置
用USB口连接CX-Programmer,串联2实现通讯,5号拨码拨到OFF
2、CX-Programmer设置
①将串口模式更改为,(如下图所示)
②下载到PLC之后,离线(让出串口)
③串口调试工具打开串口,设置,(如下图所示)
3、指令发送
FINS-MODE
发送指令,(如下图所示)
响应指令,(如下图所示)
①切换PLC状态RUN/STOP(监视/编程),(如下图所示)
切换为RUN
@01FA0000000000401
Response Wait Time:设置范围0-F,一次的响应时间是10ms,如果设置为F,响应时间就是15*10=150ms
SID:通常设定为00,(如下图所示)
切换为STOP,(如下图所示)
②读DM100,1字的数据,(如下图所示)
I/O Memory code参考以下表格,(如下图所示)
82表示以字节的形式读取
006400是读取DM100CH的数据,64后面的00是表示位,(如下图所示)
③把CIO50.15置1,(如下图所示)
实验现象:
正常读取D100通道数据,设定CIO50.15置1
实验总结:
1、通过串口发送FINS时候格式开始固定为@00FA000000000
2、Hostlink是OMRON的PLC唯一公开的协议
3、串口发FINS指令时建议两条指令隔开500-1000ms。
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通信才真正成立。
Omron Fins通讯协议
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地址:PLC IP地址:如果要请求DM10开始的10个字的内容目标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存储区已经写入: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通信才真正建立。
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帧FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:ICF RSV GCT DNA DA1DA2SNA SA1SA2SID 其每个字节的具体解释如下: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地址:通讯主机地址(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命令帧01 0282 00 0A 0000 0A Data1-Data10 80 00 02 00 0A 00 00140000写命令起始数据地址写入的数量具体数值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通信才真正建立。
欧姆龙plc串口Fins命令协议通讯演示
Fins命令+Hostlink协议通讯实验一、实验配置硬件:CPU单元:CJ2M-CPU35RS232串口选件板:CP1W-CIF01USB转232连接电缆:CS1W-CIF31软件:CX-Programmer、串口调试助手UartAssist二、PC主机直连PLC串口命令帧格式介绍命令格式响应格式PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:P54:Hostlink协议起始代码Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号;Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20msICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00; SID:通常设置为00Fins command code:参考Fins通讯手册P125读命令:0101写命令:0102Text:具体操作内容,读写区域、读取起始地址、数据长度等内容存储区代码:参考Fins通讯手册P137DMword:82Wbit:31Wword:B1CIO区bit:30Tips:使用Fins指令最大可读取538个字节;一条命令不能超过1114个字符;三、串口通讯调试实例实例1——DM数据寄存器区读写实例;1、读取D0开始1个通道的值发送命令:00FA 000000000 0101 82 000000 0001 7C ↙回车键返回命令码:00FA000↙回车键2、读取D100开始的50个通道发送命令:00FA0000000000327E↙回车键3、写D200开始的2个通道发送命令:00 FA 0 00000000 0102 82 00C8 00 0002 0F↙回车键Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~FICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00; SID:通常设置为00Fins command code:参考Fins通讯手册P125读命令:0101写命令:0102DMword:82Wbit:31Wword:B1CIO区bit:3000c8 就是D200地址00表示通道中的位0002表示读取2个通道值响应命令:00FA0000↙回车键实例2——Wr工作区读写操作1、读取W10开始的8个通道发送命令:00FA0000000000101B1000A0000087D↙回车键2、写W20开始的5个通道发送命令:00FA0000000000102B0000506↙回车键响应命令:00FA0000↙回车键总结:由上述例子可得,对于PC主机直连PLC串口的情况下,无论什么存储区,读操作均为0101,写操作为0102,只需将不同存储区的代码更改即可;建议PC与PLC交换数据时,尽量采用连续的通道一个字的形式进行交换;。
Omron Fins通讯协议
OMRONFINS 通讯1. OMRONFINS 通讯1.1FINS 通讯概述FINS(factoryinterfacenetworkservice)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRONPLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构: 发送命令结构:命令码0102写数据结束码:0000无错误,否则执行出错; 举例说明:要读取DM10开始10个字的内容: 存储区代码(82代表D 区80代表CIO 区) 响应 当结束码不为0000时,则代表执行错误,应重发当前帧。
2FINS 在以太网上的帧格式Fins 在以太网上帧格式比较简单,简单来说就是在上面所说的Fins 帧的基础上加上以太网的包头就可以了。
具体帧格式分为UDP/IP 帧格式和TCP/IP 帧格式。
2.1FINSUDP/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复制后添加到响应帧中;举例说明:PCIP地址:10.11.1.19PLCIP地址:10.11.1.86如果要请求DM10开始的10个字的内容8000020000560000130000Data1—Data10不同plc型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01C4;长度为1个字)发送码:80000200200000BE000001018001C4000001说明80000200消息头20为PLC地址0000默认BE为计算机地址0000默认0101命令码80读取区域01C400读取地址0001读取长度返回码:c0000200be0000200000010100000002说明:c0000200be0000200000为网络头0101其中第二个01位命令码0000成功与否标识0040或9505标识码不清楚0002为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80000200560000130000010282000A00000AData1-Data10 具体说明如下:PLC返回为:800002000014000001020000测试工具截图:PLC存储区已经写入:2.2FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。
欧姆龙PLC FINS命令案例
FINS指令实验报告
实验时间:2012-12
实验设备:CP1H-X40DT-D*1、串口调试工具
实验目的:了解FINS指令。
实验步骤:
1、硬件连接及设置
用USB口连接CX-Programmer,串联2实现通讯,5号拨码拨到OFF
2、CX-Programmer设置
①将串口模式更改为,(如下图所示)
②下载到PLC之后,离线(让出串口)
③串口调试工具打开串口,设置,(如下图所示)
3、指令发送
FINS-MODE
发送指令,(如下图所示)
响应指令,(如下图所示)
①切换PLC状态RUN/STOP(监视/编程),(如下图所示)
切换为RUN
@01FA0000000000401
Response Wait Time:设置范围0-F,一次的响应时间是10ms,如果设置为F,响应时间就是15*10=150ms
SID:通常设定为00,(如下图所示)
切换为STOP,(如下图所示)
②读DM100,1字的数据,(如下图所示)
I/O Memory code参考以下表格,(如下图所示)
82表示以字节的形式读取
006400是读取DM100CH的数据,64后面的00是表示位,(如下图所示)
③把CIO50.15置1,(如下图所示)
实验现象:
正常读取D100通道数据,设定CIO50.15置1
实验总结:
1、通过串口发送FINS时候格式开始固定为@00FA000000000
2、Hostlink是OMRON的PLC唯一公开的协议
3、串口发FINS指令时建议两条指令隔开500-1000ms。
Omron Fins通讯协议
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 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命令帧其每个字节的具体解释如下: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。
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通讯协议
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通信才真正建立。
基于 FINS 协议的OMRON PLC 与上位机通信
第四章 上位机与 OMRON PLC 通信的几种方式
OMRON PLC 与上位机的以太网通信依靠发送 FINS 指令实现。上位机发送 FINS 指令 可以直接读取或写入 PLC 相应的数据,PLC 部分无需编写接收和发送程序。本例中采用 FINS/UDP 方式,具体如图所示。上位机利用 Visual Basic 6.0 进行程序开发,具体实 现向 PLC 发送 FINS 指令(读取内存区域,指令代码 0101)读取 DM100 开始的 150 个字 数据的功能。本文提供了三种方法来实现这一个功能,增加了系统开发的选择性。
3.2 FINS 帧结构 FINS 帧分为 FINS 指令帧和 FINS 响应帧两种形式。指令帧在发送 FINS 指令时使用,
响应帧则在接收到 FINS 指令后对其返回响应时使用。它们都是由一个 FINS 报头(存储传 输控制信息)、一个 FINS 指令域(存储一个 FINS 指令)以及一个 FINS 参数/数据域(存储 指令参数和发送/响应数据)所组成的。响应帧 FINS 指令域的内容与所接收到的指令帧的 FINS 指令域相同。具体结构见图 3、图 4。
下面主要介绍三种方法来实现上述功能。
1. 使用 Micosoft Winsock 控件
在 VB 中新建一个 Standard.EXE 文件。添加 Winsock 控件,对象命名为"Winsock1", 发送 Fins 命令程序如下:
错误!未找到引用源。
编译保存后即可。
2. 使用 FinsGateway 中的 OMRON FinsMessaging Control
设置步骤: (1)确认 Finsgateway 是否可以通信;
网络号、节点号、单元号(16+UnitNo) (2)设置本地网络号,节点号; (3)设置通信参数;
Omron Fins通讯协议
OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS(factory interface networkservice)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。
FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。
1.2 Fins 帧的结构发送命令结构:发送命令结构:响应命令结构:命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:响应 No.:000000000000000322 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通信才真正建立。