欧姆龙PLC通信协议详情.docx
《欧姆龙PLC通信协议详情.docx》由会员分享,可在线阅读,更多相关《欧姆龙PLC通信协议详情.docx(15页珍藏版)》请在冰豆网上搜索。
欧姆龙PLC通信协议详情
欧姆龙PLC通信协议
参考:
W342--SYSMACCS/CJSeriesmunicationsmands
欧姆龙通信命令可分为两类:
1:
C-modemands
只可通过串口通讯
2:
FINSmands
既可通过串口通讯也可通过各类网络通信〔适应性较强〕
===============================================================================
下面只讲FINS命令
一、命令发送:
FINS直连发送命令如下:
FINSmandcode见下表
命令后面紧跟着就是内存区域寻址,见下表
mandCode后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。
由紧跟着mandCode后面的那个字节〔I/Omemoryareadesignation〕区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:
按字地址:
选取表中DataType列中为Word的命令〔命令在Memoryareacode内〕
按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码〞00〞,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。
例如从H12开始读取7个字的数据,
命令为:
0101B20012000007
例如将W3、W4、W5分别置数据1234、ABCD、7890,
命令为:
0102B100030000031234ABCD7890
按位地址:
选取表中DataType列中为Bit的命令〔命令在Memoryareacode内〕
按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置〔0~15〕,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0〞代替,当寻址的位为1时用ascii码“1〞代替。
命令为:
0101300100030005
例如将CIO101.01~CIO101.07分别置位0、0、1、0、1、1、1
命令为:
010230010101000700000100010101
命令为:
010232002514000101
二、命令响应
FINSresponsecode见下表
正常情况下FINSresponsecode返回0000,当出现问题时,请根据FINSresponsecode查找上表检查原因
返回的数据如果是按字寻址,如此按数据高位在前低位在后的原如此依次返回。
返回的数据如果是按位寻址,如此以每位一个字节的原如此依次返回。
最后介绍FCS校验码的计算方法,计算时只计算FCS以前的所有数据,计算方法如下: