文章目录
- 说明
- 通讯帧
- 通讯命令字
- 通讯数据地址
- 维控 LX1S通讯协议举例
说明
该协议适用于维控LX1S系列PLC,关于维控LX2N的协议将在后面描述。
通讯帧
通讯采用ASCII码,校验方式采用和校验。
| 请求帧格式: | 报文开始 | 命令字 | 地址(有些无) | 长度(有些无) | 数据(有些无) | 报文结束 | 和校验(两位) |
| STX(02H) | CMD(两位) | ADDRESS(四位) | LEN(两位) | DATA (2*LEN) | EXT(03H) | SUM | |
| 例子 | STX, | CMD, | ADDRESS, | LEN, | ETX, | SUM, | |
| 02H, | 30H | 31H, 30H, 46H, 36H, | 30H, 34H, | 03H | 37H,34H, | ||
| 指令解释如下: | |||||||
| STX, | "0" | "10F6" | "04" | "ETX" | "74" | ||
| 报文开始 | 读命令 | 地址10F6H处 | 04H字节数据 | 报文结束 | 累加方式和校验 | ||
| 其中 SUM=(CMD......+ETX) =( 30H + 31H + 30H + 46H + 36H + 30H + 34H + 03H)= 74h 累加和超过两位取低位,转成ascii码,分SUM(upper),SUM(lower)二次传送 | |||||||
通讯命令字
| 通讯命令字含义: | ||||||
| 分类 | 命令字 | 备注 | 命令字对应的帧格式 | |||
| 命令 | HEX | 命令解释 | 请求或返回 | STX, CMD, ADDRESS, LEN, DATA, ETX, SUM | ||
| 基本命令 | STX | 02H | 报文开始 | 格式命令帧 | / | |
| ETX | 03H | 报文结束 | 格式命令帧 | / | ||
| ENQ | 05H | 通信请求 | 请求帧 | ENQ(05H) | ||
| 成功返回帧 | ACK(06H) | |||||
| ACK | 0H | PLC正确响应 | ||||
| NAK | 15H | PLC错误响应 | 返回命令帧 | / | ||
| 基本命令字 | 0 | 30H | 读数据 | 请求帧 | STX, 0, ADDRESS, LEN, EXT, SUM | |
| 成功返回帧 | STX, DATA, EXT, SUM | |||||
| 1 | 31H | 写数据 | 请求帧 | STX, 1, ADDRESS, LEN, DATA, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
| 7 | 37H | 强制BIT位ON | 请求帧 | STX, 7, ADDRESS, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
| 8 | 38H | 强制BIT位OFF | 请求帧 | STX, 8, ADDRESS, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
| 系统命令 | B | 42H | 程序下载结束 | 请求帧 | STX, B, EXT, SUM | |
| 成功返回帧 | ACK(06H) | |||||
| 拓展命令字 | E00 | 45H 30H 30H | 读配置(D8000、数据监控缓存区) | 请求帧 | STX, E00, ADDRESS, LEN, EXT, SUM | |
| 成功返回帧 | STX, DATA, EXT, SUM | |||||
| E01 | 45H 30H 31H | 读程序(参数、程序、注释等) | 请求帧 | STX, E01, ADDRESS, LEN, EXT, SUM | ||
| 成功返回帧 | STX, DATA, EXT, SUM | |||||
| E11 | 45H 31H 31H | 写程序(参数、程序、注释等) | 请求帧 | STX, E11, ADDRESS, LEN, DATA, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
| E7 | 45H 37H | 强制BIT位ON | 请求帧 | STX, E7, ADDRESS, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
| E8 | 45H 38H | 强制BIT位OFF | 请求帧 | STX, E8, ADDRESS, EXT, SUM | ||
| 成功返回帧 | ACK(06H) | |||||
通讯数据地址
| 通讯数据地址: | |||||||
| 类型 | 寄存器 | 起始地址(含) | 结束地址 (含) | 备注 | 在A地址上加减 | ||
| 字地址A | C0~C199 寄存器 | 0x0A00 | 0x0B8F | 字地址B(数据监控缓存也是用的该地址) | 不变 | ||
| C200~C255 寄存器 | 0x0C00 | 0x0CDF | 不变 | ||||
| T0~T255 寄存器 | 0x0800 | 0x0A00 | +0x800 | ||||
| D0~D7999 | 0x1000 | 0x4E7F | +0x3000 | ||||
| D8000~D8255 | 0x0E00 | 0x0FFE | 不变 | ||||
| M0~M1535 | 0x0100 | 0x01BF | -0x100 | ||||
| M8000~M8255 | 0x01E0 | 0x01FF | -0x20 | ||||
| S0~S1023 | 0x0000 | 0x007F | +0x280 | ||||
| T0~T255 线圈 | 0x00C0 | 0x00DF | +0x140 | ||||
| C0~C255 线圈 | 0x01C0 | 0x01DF | +0x20 | ||||
| X0~X377 | 0x0080 | 0x009F | +0x1C0 | ||||
| Y0~Y377 | 0x00A0 | 0x00BF | +0xE0 | ||||
| 寄存器 | 起始地址(含) | 结束地址 (不含) | 备注 | 起始地址(含) | 结束地址 (不含) | ||
| 映射地址A | S0~S1023 | 0x0000 | 0x03FF | 映射地址B | 0x1400 | 0x17FF | |
| X0~X377 | 0x0400 | 0x04FF | 0x1200 | 0x12FF | |||
| Y0~Y377 | 0x0500 | 0x05FF | 0x0C00 | 0x0CFF | |||
| T0~7255 | 0x0600 | 0x06FF | 0x1000 | 0x10FF | |||
| M0~M1535 | 0x0800 | 0x0DFF | 0x0000 | 0x05FF | |||
| C0~C255 | 0x0E00 | 0x0EFF | 0x0F00 | 0x0FFF | |||
| M8000~M8255 | 0x0F00 | 0x0FFF | 0x0E00 | 0x0EFF | |||
维控 LX1S通讯协议举例

以下是从维控HMI和维控PLC–LX1S抓取到的数据帧,请注意在数据帧中读 和 写操作位地址时位地址寄存器的高低位变化。 在操作字地址时,读写寄存器地址高低位不变。




字























