还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
Omron-Fins通讯协议00000001错误码4个字节错误信息参考错误信息码表客户端节点00000001to1到254地址000000FE服务端节00000001to1到254点地址000000FE错误信息码表:Error codeDetails hexadecimal00000000Normal00000001The headeris notFINS ASCIIcode.00000002The datalength istoo long.00000003The commandis notsupported.00000020All connectionsare inuse.00000021The specifiednode isalready connected.00000022Attempt toaccess aprotected nodefrom anunspecified IPaddress.00000023The clientFINS nodeaddress isout ofrange.00000024The sameFINS nodeaddress isbeing usedby theclient andserver.00000025All thenode addressesavailable forallocation havebeen used.举例说明PC作为TCP CLIENT端IP地址
10.
11.
1.86PLC作为TCP SERVER端IP地址
10.
11.
1.13采用TCP测试工具建立连接并发送请求帧如下图所示:发送区r自动发送每隔回ms|发送j停止|p按十六进伟厂发送文件r发送接收到的数据涛空|选项|广播包发送选项|46494E530000000C0000000000000000|0000000014001设置为0说明需要服务端分配节点地类型[TCP3厂自动址号连接每隔I5s r连接上后自动发送每隔16接收区暂停显示|涛空|保存|选项||7十六进制断开连接|m s从上图可知,返回帧中的错误码为00000000,说明无错误,FINS/TCP建立完成,现在可以正常发送读写报文帧了报文帧的格式即为FINS/TCP帧+FINS命令帧其中FINS/TCP的帧格式如下:名称内容说明头标识46494E53即为ASCII码FINS长度00000014to后续字节长度000007E4命令码00000002发送读写指令时,固定为00000002错误代码00000000为FINS/UDP参考FINS/UDP遵守FINS/UDP命令帧帧命令帧格式格式|现在,需要请求从DM100开始的2个字的数据,则发送报文如下46494e530000001A000000020000000080000200560000EF00000101820064000002其中红色部分为FINS/TCP帧,绿色部分遵照FINS/UDP帧格式图示如下目标IP发送区厂自动发送每隔阿ms|发送]停止||
10.
11.
1.86F按十六进侏厂发送文件r发送接收到的数据活空|选项|广播包发送选项|目标端口46494e530000001A000000020000000080000200560000EF00000101820064000002r自动连接每隔I5s r连接上后自动发送每隔|o ms接收区暂停显示I渚空|保存|选项|17十六进制断开连接|计数--------------r保存到文件(实时)46494e53000000la0000000200000000c0000200ef0000560000发送[12201010040ab cd1234接收清空PLC D区内容+0+1+2+3+4+5+6+7+8+9D00100ABCD123400000000000000000000000000000000如果要把16#ABCD,16#1234写入到从D10开始的2个字中,则发送命令如下:发送区F自动发送每隔回ms|发送j停止|p按十六进伟厂发送文件r发送接收到的数据涛空|选项|广播包发送选项|46494e53000000IE000000020000000080000200560000EF000001028200OA00001400102[AB CD1234[类型[TCP3厂自动连接每隔I5s r连接上后自动发送每隔Io ms断开连接|接收区暂停显示|活空|保存|选项|F十六进制r保存到文件(实时)|二J46494e530000001600000002|0000OOQT|CO000200ef000056000001020000j错误者为00000000代表指令执行成功清空|再检查下PLC中的D区,发现已经被写入:+01+2+3+4+5+6+7+8+9D00010|ABCD12340003000400050006000700080009000A D000200000000000000000000000000000000000000000D000300000000000000000000000000000000000000000D000400000000000000000000000000000000000000000注如果客户端想断开当前连接,则只需要发送一条不符合帧格式的帧即可OMRON FINS通讯L OMRONFINS通讯
1.1FINS通讯概述FINSfactory interfacenetwork service通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统运用FINS指令可实现各种网络间的无缝通信,通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序FINS协议支持工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了途径
1.2Fins帧的结构发送命令结构:发送命令结构:响应命令结构:结束命令码:0101读数据0102写数据结束码:0000无错误,否则执行出错;举例说明:要读取D M10开始10个字的内容:0182hex000A000A01HEX00命令存储区代码(82待读数据读取字的码代表D区)起始地址数量存储区代码(82代表D区80代表C IO区)响应01010000Datal DatalO命令码结束码读取的10个字的数当结束码不为0000时,则代表执行错误,应重发当前帧2FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了具体帧格式分为UDP/IP帧格式和TCP/IP帧格式
2.1FINS UDP/IP的帧格式帧格式UDP/IP帧+FINS命令帧UDP/IP FINS命帧令帧U DP/I P的帧格式共10个字节,其名称如下:ICF RSVGCT DNADAI DA2SNA SA1SA2SID其每个字节的具体解释如下ICF:发送接收标志字节,发送报文ICF=80HEX;响应报文ICF二C0;RSV:固定为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个字的内容则PC发送命令如下:UDP/IP帧FINS命令帧80001300560001018200020000000A00000A源[P目标地址IP地址源IP地址PLC地址(IP地址最后位)目标IP地址通讯主机地址(IP地址最后位)而PLC返回命令如下8000020000560000130000Datal—DatalO不同pic型号返回有区别,这里仅作参考实例(读取CIO区452地址01C4;长度为1个字)80000200200000BE000001018001C4000001说明80000200消息头20为PLC地址0000默认BE为计算机地址0000默认0101命令码80读取区域01C400读取地址0001读取长度返回码:cO000200be0000200000010100000002说明cO000200be0000200000为网络头0101其中第二个01位命令码0000成功与否标识0040或9505标0002为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下80000200560000130000010282000A00000A Datal-DatalO具体说明如下UDP/IP帧FINS命令帧80000200018200000A Datal-DatalO0A000014020A000000写起始数写入具体数值命据地址的数令量PLC返回为:800002000014000001020000测试工具截图:发送区F自动发送每隔回ms|发送j停止|p按十六进伟厂发送文件r发送接收到的数据涛空|选项|广播包发送选项|80000200560000130000010282000A00000A p0102030]了p05060708Q90Ok|红框部分即为要写入的数值每隔p sr连接上后自动发送每隔|o ms关闭|计数--------------发送[131接收清空|PLC存储区已经写入:+0+1+2+3+4+5+6+7+8+9D000000000000000000000000000000000000000000000D00010000100020003000400050006000700080009000A|D000200000000000000000000000000000000000000000D000300000000000000000000000000000000000000000D000400000000000000000000000000000000000000000D
0005000000000000000000000000000000000000000002.2FINS/TCP的帧结构和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP客户端PC需向TCP服务器PLC发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立客户端的FINS/TCP请求帧格式如下名称内容说明头标识46494E53即为ASCII码FINS长度0000000C后续字节长度二12命令码00000000为00000000为0错误代码客户端节00000000to0到254,为0服务端会自点地址000000FE动分配节点号服务端接收到连接请求后,返回帧格式如下:名称内容说明头标识46494E53ASCII:FINS长度00000010从命令码开始的数据长度命令码00000001固定值。