收藏 分销(赏)

新版通讯协议.doc

上传人:精**** 文档编号:4790200 上传时间:2024-10-12 格式:DOC 页数:9 大小:199.04KB 下载积分:6 金币
下载 相关 举报
新版通讯协议.doc_第1页
第1页 / 共9页
新版通讯协议.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
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 HEX 82 hex 00 0A 00 00 0A 命令码 存储区代码(82代表D区) 待读数据起始地址 读取字的数量 存储区代码(82代表D区 80代表CIO区) 响应 01 01 00 00 Data1----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个字节,其名称如下: ICF RSV GCT DNA DA1 DA2 SNA SA1 SA2 SID 其每个字节的具体解释如下: 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.19 PLC IP地址:10.11.1.86 假如要请求DM10开始的10个字的内容 则PC发送命令如下: UDP/IP帧 FINS命令帧 80 00 02 00 13 00 00 56 00 00 01 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 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 00 14 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/TCP请求帧格式如下: 名称 内容 说明 头标记 46494E53 即为ASCII码:FINS 长度 0000000C 后续字节长度=12 命令码 00000000 为0 错误代码 00000000 为0 客户端节点地址 00000000 to 000000FE 0到254,为0服务端会自动分派节点号 服务端接受到连接请求后,返回帧格式如下: 名称 内容 说明 头标记 46494E53 ASCII:FINS 长度 00000010 从命令码开始的数据长度 命令码 00000001 固定值00000001 错误码 4个字节错误信息 参考错误信息码表 客户端节点地址 00000001 to 000000FE 1到254 服务端节点地址 00000001 to 000000FE 1到254 错误信息码表: 举例说明: PC作为TCP CLIENT端:IP地址:10.11.1.86 PLC作为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 为0 FINS/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区,发现已经被写入: 注:假如客户端想断开当前连接,则只需要发送一条不符合帧格式的帧即可。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服