OmronFins通讯协议书范本_第1页
OmronFins通讯协议书范本_第2页
OmronFins通讯协议书范本_第3页
OmronFins通讯协议书范本_第4页
OmronFins通讯协议书范本_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OMRON FINS 通讯1. OMRON FINS 通讯1.1 FINS通讯概述FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工 业自动化控制网络的指令/响应系统。运用FINS指令可实现各种网络间的无缝通信, 通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的容,甚至控制 其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRON PLC与上 位机以太网通信的实现提供了途径。1.2Fins帧的结构发送命令结构:发送命令结构:命令码(2个字节)正文(根据不同的命令长度不同)响应命令结构:命令码(

2、2个字节)结朿码 (2个字节)正文(根据不同的命令长度不同)命令码:01 01读数据01 02写数据结束码:00 00无错误,否则执行出错;举例说明:要读取DM 10开始10个字的容:01 01 HEX82 hex00 0A 0000 0A命令码存储区代码(82代表D区)待读数据起始地址读取字的数量存储区代码(82代表D区80代表CI0区) 响应01 0100 00DatalDatalO命令码结束码读取的10个字的数据当结束码不为00 00时,则代表执行错误,应重发当前帧。2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单简单来说就是在上面所说的Fins帧的基础上加上以 太网的就可

3、以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。2.1 FINS UDP/IP 的帧格式帧格式:UDP/IP帧+FINS命令帧UDP/IP 帧FINS命令帧UDP/IP的帧格式:共10个字节,其名称如下:ICFRSVGCTDNADAIDA2SNASAISA2SID其每个字节的具体解释如下:ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为 00HEX;GCT:固定为 02HEX;DNA:目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定

4、为00;SNA:源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2:源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP 地址:10. 11. 1. 19PLC IP 地址:10. 11. 1.86如果要请求D.M10开始的10个字的容则PC发送命令如下:I DP/IP 帧1订 讣:二80 00 02 001300 005600 0001 01 82 00 OA 00 00 0A源IP地址目标IP地址源IP地址:PLC地址(IP地址最后位)目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:8

5、0 00 02 00 00 56 00 00 13 00 00 DatalDatalO不同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 0

6、0 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 Datal-DatalO具体说明如下:UDP/IP 帧FINS命今帧80 00 02 00 0A 00 00 14 000001 0282 00 0A 0000 0ADatal-DatalO写命令起始数据地址写入的数量具体数值PLC返回为:80 00 02 00 00 14 0

7、0 00 01 02 00 00测试工具截图:目标IP发送区厂自动发送毎隔| 口ms |发送|停止|10 11. 1.86目标端口|9600厂指定本地端口|400117按十六进帑厂发送文件厂发送接收到的数据清空|选项|广播包发送选项|80 00 02 00 56 00 00 13 00 03 01 02 82 00 0A 00 00 0A p0 01 00 02 00 03 00 04)0 05 00 06 00 07 00 08 00 03 00 0A红框部分即为要写入的数值类型|UDPJ厂自动连接毎隔1s厂连捋上后自动发送毎隔|0ms关闭1计数选项| 17十六进制接收区暂停显示1渚空1保存

8、1厂煤存到文件(实时)1_|发送|131c0 00 02 00 13 00 00 56 00 03 01 02 00 00接收冋涪空|PLC存储区已经写人十0+1+2+3+4+5十6十7十8十9D000000000000000000D00000000000000000000000000D00D10ooOi00020003000400050006000700080009000AD000200000000000000000000000000000GOOD00000000D000300000000000000000000000000000000000000000D000400000000000000

9、000000000000000000000000000D0005000000000GOOD0000000000000000100001000000002.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了 TCP的物理连接后,TCP 客户端(PC)需向TCP服务器(PLC)发送一个连接请求帧,PLC接收到请求帧后,会为该 请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正 建立。客户端的FINS/TCP请求帧格式如下:名称容说明头标识46494E53即为 ASCII 码:FINS长度0000000C后

10、续字节长k=i2命令码00000000为0错误代码00000000为0客户端节点地址00000000 to OOOOOOFE0到254,为0服务端会自动分配节点号服务端接收到连接请求后,返回帧格式如下:名称容说明头标识46494E53ASCII:FINS长度00000010从命令码开始的数据长度命令码00000001固定值00000001错误码4个字节错误信息参考错误信息码表客户端节点地址00000001 to 000000FE1 到 254服务端节点地址00000001 to 000000FE1 到 254错误信息码表:Error code(hexadecimal)Details000000

11、00Normal00000001The header is not FINS* (ASCII code).00000002The data length is too long.00000003The comma nd is not supported 00000020All connoctions are in use00000021Th© specified node is already connscted.00000022Attempt to access a protected node from an unspecified IP address 00000023The

12、die nt FINS node address is out of ra nge.00000024The same FINS node address is being used by the die nt and server.00000025All the node addresses available for allocation have been used.举例说明:PC 作为 TCP CLIENT 端:IP 地址:10. 11. 1.86PLC 作为 TCP SERVER 端:IP 地址:10. 11. 1. 13 采用TCP测试工具建立连接并发送请求帧如下图所示:目标IF|1

13、0.11.1.86目标菇口|9600厂指定本地端口|4001类型TCP 3厂自动连接毎隔|s厂连接上后自动发送 毎隔|ms接收区暂停显示|渚空|保存|选项| 17十六进制 厂煤存到文件(实时)计数发送-J断开连接接收渚空46 49 4e 53 00 00 00 10 00 03 00 01 00 00 00 00 |00 00 00 e£|00 00 00 5珂址,即86从上图可知,返回帧中的错误码为00000000,说明无错误,FINS/TCP建立完成,现在可以 正常发送读写报文帧了。报文帧的格式即为:FINS/TCP帧+ FINS命令帧其中FINS/TCP的帧格式如下:名称容说明

14、头标识46494E53即为 ASCII 码:FINS长度00000014 to 000007E4后续字节长度命令码00000002发送读写指令时,固定为00000002错误代码00000000为0FINS/UDP 帧参考FINS/UDP命令帧格式遵守FINS/UDP命令帧格式现在,需要请求从DM100开始的2个字的数据,则发送报文如下:h 円!. on ()加;1::)(心 0(; 02 :i0 0 顾 0| 80 00 02 00 56 00 00 EF 00 00 01 01 82 00 61 00其中红色部分为FINS/TCP帧,绿色部分遵照FI7S/UDP帧格式图示如下:目标IP|10

15、. 11. 1.86目标端口|9600厂指定本地端口|4001类型TCP 3 厂自动连搖毎隔Is厂连接上后自动发送 毎隔Ims断开连接I 计萨目标if|10.11.1.86目标端口|9600厂指定本地端口|4001类型TCP Vj 厂自动连接 毎隔rs厂连接上后自动发送 毎隔o躺断开连接I发送区:F按十六进旷发送文件厂发送接收到的数据清空|选项|广播包发送选项|厂自动发送毎隔Ims |发送停止46 49 4e 53 00 00 00 IE 00 OJ 00 02 00 00 00 00 80 00 02 00 56 00 00 EF 00 00 01 02 82 00 0A 00 00 02|

16、AB CD 12 34 j接收区计数暂停显示|渚空|保存|选项| 17十六进制 厂臊存到文件(实时)46 49 4e 53 00 00 00 16 00 03 0001 02 00 0002|00 00 00 00|c0 00 02 00 e£ 00 00 56 00 00错误码为00C00000代表指令抉行成功发送区 厂自动发送 毎隔' ms |发送|P按十六进荒厂发送文件厂发送接收到的数据清空I选项I广播包发送选项I46 49 4e 53 00 00 00 1A 00 03 00 02 00 00 00 00 80 00 02 00 56 00 00 EF 00 0001 01 82 00 64 00 00 02接收区暂停显示|渚空|保存|选项| 17十六进制 厂煤存到文件(实时)46 49 4e 53 00 00 00 la 00 03 00 02 00 00 00 00 c0 00 02 00 ef 00 00 56 00 0001 01 00 40 ab cd 12 34渚空 IPLC D区容+0+1+2+3+4+5+6+7+8+9D00100ABCD1234)00000000000000000000 000000000000如果要把16#ABCD. 16# 1234写入到从DIO开始的2个字中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论