1、AB PLC协议AB PLC 通信协议规则说明(编制时间:2010-08-01 )编 制: 审 核: 批 准: 1、 编写目的本文档用于说明KVIEW3.0中AB PLC驱动程序和罗克韦尔公司的ControlLogix系列PLC之间通信的通信协议。 该通信是基于EtherNet/IP协议实现的,其通信流程如下:2、 数据驱动端用到的数据帧1 注册请求帧字段字节数说明命令(0x0065)2注册请求长度(0x0004)2会话句柄(0x00000000)4初始值为0x00000000状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00
2、000000以下是命令指定数据(Command Specific Data)协议版本(0x0001)2默认为0x0001选项标记(0x0000)2默认为0x0000打开请求帧 字段字节数说明命令(0x006F)2打开请求长度(0x0040)2固定为64字节(0x0040)会话句柄4注册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0001)2默认为0x0
3、001项数(0x0002)2默认为0x0002空地址项(0x0000)2默认为0x0000长度(0x0000)2默认为0x0000未连接数据项(0x00b2)2默认为(0x00b2)长度(0x0030)2后面数据包的长度(48个字节)以下是CIP协议的内容服务1固定为0x54请求路径大小1固定为0x02请求路径4固定为0x01240620(有可能会改变)Priority/time_tick1固定为0x0ATime-out_ticks1固定为0x05O-T NetWork Connection ID40x00000000T-O NetWork Connection ID4由驱动产生Connect
4、ion Serial Number20x0000Verder ID20x0101Originator Serial Number4和T-O NetWork Connection ID相同连接超时倍数10x01保留数据30x000000O-T RPI40x004C4B40O-T 网络连接参数20x43F8T-O RPI40x004C4B40T-O 网络连接参数20x43F8传输类型10xA3连接路径大小10x03连接路径60x01 24 02 20 00 01 读数据服务请求帧字段字节数说明命令(0x0070)2打开请求,固定为0x 00 70长度2命令指定数据的大小会话句柄4注册应答中返回的数
5、值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0001)2默认为0x0001项数(0x0002)2默认为0x0002连接的地址项2默认为0x00 A1长度2默认为0x00 04连接标识4和打开应答中的O-T NetWork Connection ID相同连接的数据项2默认为(0x00b1)长度2后面数据包的长度序号2数据服务请求帧的序号(从1开始)以下是CIP协议的内
6、容服务1固定为0x0A请求路径大小1固定为0x02请求路径4固定为0x01240220(有可能会改变)服务数(即测点数)2请求数据点的个数偏移量(和服务数相同)2*(服务数)从服务数第一个字节算起,每个服务的偏移量服务1(即测点1)服务标识1固定为0x4C请求路径大小1目前总结的公式是size = (len +1)/2 +1;其中size为请求路径大小,len为请求侧点名的长度扩展符号1固定为0x91数据大小1该服务所对应的PLC中的侧点名大小数据内容该服务所对应的PLC中的侧点名目前,发现的规律是侧点名的长度是奇数时,有一个填充字节,偶数时不填充另外,当侧点名中有“.”时,需以点为分割线分为
7、两部分进行传输服务命令指定数据2固定为0x00 01服务2(即测点2). 写数据服务请求帧字段字节数说明命令(0x0070)2打开请求,固定为0x 00 70长度2命令指定数据的大小会话句柄4注册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0001)2默认为0x0001项数(0x0002)2默认为0x0002连接的地址项2默认为0x00 A1长度2默认
8、为0x00 04连接标识4和打开应答中的O-T NetWork Connection ID相同连接的数据项2默认为(0x00b1)长度2后面数据包的长度序号2数据服务请求帧的序号(从1开始)以下是CIP协议的内容服务标识1固定为0x4D请求路径大小1目前总结的公式是size = (len +1)/2 +1;其中size为请求路径大小,len为请求侧点名的长度扩展符号1固定为0x91数据大小1该服务所对应的PLC中的侧点名大小数据内容该服务所对应的PLC中的侧点名目前,发现的规律是侧点名的长度是奇数时,有一个填充字节,偶数时不填充数据类型2目前已知0x00C3(195)为整型,0x00CA(20
9、2)为实型,0x00C1(193)为布尔型,long型为0x00C4,BYTE为0x00C2服务命令指定数据2固定为0x00 01数据内容长度由类型决定,BYTE和BOOL一个字节,整型两个字节,float和long四个字节 关闭请求帧字段字节数说明命令(0x006F)2关闭请求长度(0x0028)2固定为40字节(0x0028)会话句柄4注册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求关闭一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x
10、00000000(CIP)超时(0x0001)2默认为0x0001项数(0x0002)2默认为0x0002空地址项(0x0000)2默认为0x0000长度(0x0000)2默认为0x0000未连接数据项(0x00b2)2默认为(0x00b2)长度(0x0018)2后面数据包的长度(24个字节)以下是CIP协议的内容服务1固定为0x4E请求路径大小1固定为0x02请求路径4固定为0x01240620(有可能会改变)Priority/time_tick1固定为0x0ATime-out_ticks1固定为0x05Connection Serial Number20x0000Verder ID20x0
11、101Originator Serial Number4和打开请求帧中的T-O NetWork Connection ID相同连接路径大小10x03保留数据10x00连接路径60x01 24 02 20 00 01卸载注册请求帧字段字节数说明命令(0x0066)2卸载注册请求长度(0x0004)2会话句柄(0x00000000)4初始值为0x00000000状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)协议版本(0x0001)2默认为0x0001选
12、项标记(0x0000)2默认为0x00003、 AB PLC端返回的数据帧1 注册应答帧字段字节数说明命令(0x0065)2注册请求长度(0x0004)2会话句柄4由AB PLC生成状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)协议版本(0x0001)2默认为0x0001选项标记(0x0000)2默认为0x00002 打开应答帧字段字节数说明命令(0x006F)2打开请求长度(0x002E)2正常情况为46字节(0x002E)会话句柄4注册应答中返
13、回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0001)2默认为0x0001项数(0x0002)2默认为0x0002空地址项(0x0000)2默认为0x0000长度(0x0000)2默认为0x0000未连接数据项(0x00b2)2默认为(0x00b2)长度(0x001E)2后面数据包的长度(30个字节)以下是CIP协议的内容服务1固定为0xD4保留数据1固定为0
14、x00状态2状态好为0x0000O-T NetWork Connection ID4由PLC产生T-O NetWork Connection ID4和打开请求帧中的相同Connection Serial Number20x0000Verder ID20x0101Originator Serial Number4和T-O NetWork Connection ID相同O-T API40x00 4C 4B 40T-O RPI40x00 4C 4B 40保留数据20x00 003 读数据服务应答帧字段字节数说明命令(0x0070)2打开请求,固定为0x 00 70长度2命令指定数据的大小会话句柄4注
15、册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8固定为0x00 00 00 00 00 00 00 00选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0000)2默认为0x0000项数(0x0002)2默认为0x0002连接的地址项2默认为0x00 A1长度2默认为0x00 04连接标识4和打开应答中的T-O NetWork Connection ID相同连接的数据项2默认为(0x00b1)长度2后面数据包的长度序号
16、2和数据服务请求帧中的序号相同以下是CIP协议的内容服务1固定为0x8A填充字节1固定为0x00状态2状态好时为0x00 00服务数(即测点数)2应答数据点的个数偏移量(和服务数相同)2*(服务数)从服务数第一个字节算起,每个服务的偏移量应答服务1(即测点1)服务标识1固定为0xCC填充字节1固定为0x00状态2状态好时为0x00 00数据类型2目前已知0x00C3(195)为整型,0x00CA(202)为实型,0x00C1(193)为布尔型,long型为0x00C4,BYTE为0x00C2数据应答服务2(即测点2).4 写数据服务应答帧 字段字节数说明命令(0x0070)2打开请求,固定为0
17、x 00 70长度2命令指定数据的大小会话句柄4注册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8固定为0x00 00 00 00 00 00 00 00选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0000)2默认为0x0000项数(0x0002)2默认为0x0002连接的地址项2默认为0x00 A1长度2默认为0x00 04连接标识4和打开应答中的T-O NetWork Connection ID相同连接的数据项
18、2默认为(0x00b1)长度2后面数据包的长度序号2和数据服务请求帧中的序号相同以下是CIP协议的内容服务标识1固定为0xCD填充字节1固定为0x00状态2状态好时为0x00 005 关闭应答帧字段字节数说明命令(0x006F)2关闭应答长度(0x001E)2正常情况为30字节(0x001E)会话句柄4注册应答中返回的数值状态(0x00000000)4初始值为0x00000000(状态好)发送方描述8请求通信一方的说明选项4默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000)4默认为0x00000000(CIP)超时(0x0
19、001)2默认为0x0001项数(0x0002)2默认为0x0002空地址项(0x0000)2默认为0x0000长度(0x0000)2默认为0x0000未连接数据项(0x00b2)2默认为(0x00b2)长度(0x000E)2后面数据包的长度(14个字节)以下是CIP协议的内容服务1固定为0xCE保留数据1固定为0x00状态2状态好为0x0000Connection Serial Number20x0000Verder ID20x0101Originator Serial Number4和T-O NetWork Connection ID相同保留数据20x00 004、 AB PLC 端返回的出错报文出错报文:6f 00 00 00 00 01 02 12 (03 00 00 00状态) 24 53 59 2d 4c 47 58 00 00 00 00 00状态非零时表示出错!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1