版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

Logix5000系列

SLC500

实现了各种数据块的读和写。支持点类型:

支持点类型(已测过):

bool = bool

sint = int8

int = int16

dint = int32

...

周期:根据需要而定,缺省为1秒

Tag点数据类型:和PLC一致。

如:PLC类型只能支持控制器标签,如:PLC类型只能支持控制器标签。如:



PLC控制器标签数据类型eview变量配置数据类型
PLC数据类型eview数据类型
注释
cip_dintDINTcip_dintint324个字节
cip_intINTcip_intint162个字节
cip_sintSINTcip_sintint81个字节
cip_floatREALcip_floatfloat4个字节
cip_boolBOOLcip_boolbool1个字节










































可控制:使能

Logix5000系列:地址如:ExitPalletData.PalletNumberlogix5000:支持控制器标签

SLC500:支持:N块、B、C。地址如:N10:25    

...

通过Logix5000向PLC下载


AB CIP协议

协议格式:

注册会话:

请求:65 00 04 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
应答:65 00 04 00 01 00 02 a4 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00


检查连接:

6f 00 42 00 02 00 02 14 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 02 00 00 00 00 00 b2 00 32 00 54 02 20 06 24 01 05 f7 02 00 00 00 27 4c 00 00 28 4c 4b 57 53 45 00 00 02 00 00 00 80 84 1e 00 f4 43 80 84 1e 00 f4 43 a3 04 01 01 20 02 24 01 2c 01
6f 00 2e 00 02 00 02 14 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 02 00 00 00 00 00 b2 00 1e 00 d4 00 00 00 01 1d 00 00 27 4c 00 00 28 4c 4b 57 53 45 00 00 80 84 1e 00 80 84 1e 00 00 00


读数据:

70 00 38 00 02 00 02 9c 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 a1 00 04 00 02 3b 00 00 b1 00 24 00 27 00 0a 02 20 02 24 01 01 00 04 00 53 05 91 07 63 69 70 5f 69 6e 74 00 c4 00 01 00 00 00 00 00 01 00 00 00

返回:

70 00 22 00 02 00 02 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 a1 00 04 00 27 34 00 00 b1 00 0e 00 27 00 8a 00 00 00 01 00 04 00 d3 00(数据类型, int) 00 00


多点读取:
70 00 86 00 01 00 02 04 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 a1 00 04 00 01 47 00 00 b1 00 72 00 14 00 0a 02 20 02 24 01
05 00   // 服务数量
0c 00   // 从服务数量到真正地址的偏移
1e 00    // 偏移
32 00     // 偏移
44 00     // 偏移
58 00     // 偏移
52 05 91 08 63 69 70 5f 62 6f 6f 6c 01 00 00 00 00 00
52 06 91 0a 63 69 70 5f 73 74 72 69 6e 67 01 00 00 00 00 00
52 05 91 08 63 69 70 5f 64 69 6e 74 01 00 00 00 00 00
52 06 91 09 63 69 70 5f 66 6c 6f 61 74 00 01 00 00 00 00 00
52 05 91 08 63 69 70 5f 73 69 6e 74 01 00 00 00 00 00

多点读取返回:
70 00 a8 00 01 00 02 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 a1 00 04 00 23 00 00 00 b1 00 94 00 03 00 8a 00 00 00

05 00   // 服务数量
0c 00     // 从服务数量到真正地址的偏移
13 00      // 偏移
73 00      // 偏移
7d 00      // 偏移
87 00     // 偏移
d2 00 00 00 c1 00 00
d2 00 00 00 a0 02 ce 0f 07 00 00 00 73 74 72 69 6e 67 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d2 00 00 00 c4 00 0f 00 00 00
d2 00 00 00 ca 00 cd cc 0c 40
d2 00 00 00 c2 00 34

写值:

70 00   命令类型
38 00   长度
02 00 02 9c    session
00 00   状态
00 00   状态
02 00 00 00 00 00 00 00     // 02 为读数据70 00 命令类型
38 00 长度
02 00 02 9c session
00 00 状态
00 00 状态
27 01 00 00 00 00 00 00 任何发送者内容
00 00 00 00 option
00 00 00 00
00 00
02 00 超时
a1 00
04 00 偏移
01 13 00 00 O2TConnID
b1 00 dataItemType
24 00   itemlen
26 01   seqcount
0a   service code
02 02   unknow
20 02 24 01 01  epath
01 00   服务数量
04 00   偏移量
53    服务号
05 91 07 63 69 70 5f 69 6e 74 00   IOI
c3 00  数据类型00  数据类型 
01 00   数量
00 00 00 00   padding
02 00   值

其中数据类型有如下:

#define CIP_DT_BOOL 0x00C1 // Logical Boolean with values TRUE and FALSE
#define CIP_DT_SINT 0X00C2 // Signed 8-bit integer value
#define CIP_DT_INT 0X00C3 // Signed 16-bit integer value
#define CIP_DT_DINT 0X00C4 // Signed 32-bit integer value
#define CIP_DT_LINT 0x00C5 // Singed 64-bit integer value
//#define CIP_DT_USINT 0xC6 // Unsigned 8-bit integer value
//#define CIP_DT_UINT 0xC7 // Unsigned 16-bit integer value
//#define CIP_DT_UDINT 0xC8 // Unsigned 32-bit integer value
//#define CIP_DT_ULINT 0xC9 // Unsigned 64-bit integer value
#define CIP_DT_REAL 0X00CA // 32-bit floating point value
//#define CIP_DT_LREAL 0xCB // 64-bit floating point value
//#define CIP_DT_BYTE 0xD1 // bit string - 8-bits
//#define CIP_DT_WORD 0xD2 // bit string - 16-bits
#define CIP_DT_DWORD 0X00D3 // bit string - 32-bits
//#define CIP_DT_LWORD 0xD4 // bit string - 64-bits
#define CIP_DT_STRUCT 0x02a0  // 结构体


//结构体类型
#define CIP_STRUCT_TYPE_STRING 0x0fce // 字符串结构体