Omron Fins通讯协议.doc

上传人:钟*** 文档编号:5413931 上传时间:2020-01-28 格式:DOC 页数:8 大小:172.52KB
返回 下载 相关 举报
Omron Fins通讯协议.doc_第1页
第1页 / 共8页
Omron Fins通讯协议.doc_第2页
第2页 / 共8页
Omron Fins通讯协议.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
.OMRON FINS通讯1. OMRON FINS通讯1.1 FINS通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令响应系统。运用 FINS指令可实现各种网络间的无缝通信,通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了途径。1.2 Fins帧的结构发送命令结构:发送命令结构:命令码(2个字节) 正文(根据不同的命令长度不同) 响应命令结构: 正文(根据不同的命令长度不同)结束码(2个字节)命令码(2个字节)命令码: 01 01 读数据 01 02 写数据结束码: 00 00 无错误,否则执行出错;举例说明:要读取DM10开始10个字的内容:01 01 HEX82 hex00 0A 0000 0A命令码存储区代码(82代表D区)待读数据起始地址读取字的数量存储区代码(82代表D区 80代表CIO区)响应01 0100 00Data1-Data10命令码结束码读取的10个字的数据当结束码不为00 00时,则代表执行错误,应重发当前帧。2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。2.1 FINS UDP/IP的帧格式帧格式:UDP/IP帧+FINS命令帧 UDP/IP帧FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:ICFRSVGCTDNADA1DA2SNASA1SA2SID其每个字节的具体解释如下: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发送命令如下:UDP/IP帧FINS命令帧80 00 02 001300 005600 0001 01 82 00 0A 00 00 0A源IP地址目标IP地址源IP地址: PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data1Data10不同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 00 14 00 0001 0282 00 0A 0000 0AData1-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/TCP请求帧格式如下:名称内容说明头标识46494E53即为ASCII码:FINS长度0000000C后续字节长度=12命令码00000000为0错误代码00000000为0客户端节点地址00000000 to 000000FE0到254,为0服务端会自动分配节点号服务端接收到连接请求后,返回帧格式如下:名称内容说明头标识46494E53ASCII:FINS长度00000010从命令码开始的数据长度命令码00000001固定值00000001错误码4个字节错误信息参考错误信息码表客户端节点地址00000001 to 000000FE1到254服务端节点地址00000001 to 000000FE1到254错误信息码表:举例说明:PC作为TCP CLIENT端:IP地址:10.11.1.86PLC作为TCP SERVER端:IP地址:10.11.1.13采用TCP测试工具建立连接并发送请求帧如下图所示:从上图可知,返回帧中的错误码为00000000,说明无错误,FINS/TCP建立完成,现在可以正常发送读写报文帧了。报文帧的格式即为:FINS/TCP帧 + FINS命令帧其中FINS/TCP的帧格式如下:名称内容说明头标识46494E53即为ASCII码:FINS长度00000014 to 000007E4后续字节长度命令码00000002发送读写指令时,固定为00000002错误代码00000000为0FINS/UDP帧参考FINS/UDP命令帧格式遵守FINS/UDP命令帧格式现在,需要请求从DM100开始的2个字的数据,则发送报文如下:46 49 4e 53 00 00 00 1A 00 00 00 02 00 00 00 00 80 00 02 00 56 00 00 EF 00 00 01 01 82 00 64 00 00 02其中红色部分为FINS/TCP帧,绿色部分遵照FINS/UDP帧格式图示如下:PLC D区内容如果要把16#ABCD,16#1234写入到从D10开始的2个字中,则发送命令如下:再检查下PLC中的D区,发现已经被写入:注:如果客户端想断开当前连接,则只需要发送一条不符合帧格式的帧即可。精选word范本!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!