发表于:2007-06-19 10:49:00
1楼
这是LG的LORD协议全文如下:
1. 通讯样述.
1 控制顺序 : 半双工系统
2 通讯方式 : RS-232C
3 通速度 : 38400 BPS
4 检測错误方式 : BCC
5 帧长度 : 最大 128 字节
2. 特殊通讯控制代码
- STX : START OF T例T (02)
- ETX : END OF T例T (03)
- ACK : ACKNOWLEDGE (06)
- NAK : NEGATIVE ACKNOWLEDGE (15)
- EOT : END OF TRANSMISSION (04)
############################################################################
3. PLC内存地址
请勿在禁止写入区写入地址.
K7P-30AS(K1000S)
0C0000h D 区域(10K 字)
0C5000h T 区域(当前值,256 字)
0C5200h C 区域(当前值,256 字)
0C5400h T 区域(设定值E,256 字)
0C5600h C 区域(设定值E,256 字)
0C5800h 定时器 IN格式ION
0C5A00h 计数器 IN格式ION
0C5C00h P 区域(1024点)
0C5D00h M 区域(3072点)
0C5F00h L 区域(1024点)
0C6000h K 区域(512点)
0C6100h T 区域(256点)
0C6200h C 区域(256点)
0C6300h F 区域(1024点)
0C6400h S 区域(100字)
*****************************************************************************
K4P-15AS(K300S)
0A0000h D 区域 (5K 字)
0A5000h T 区域(当前值,256 字)
0A5200h C 区域(当前值,256 字)
0A5400h T 区域(设定值E,256 字)
0A5600h C 区域(设定值E,256 字)
0A5800h 定时器 IN格式ION
0A5A00h 计数器 IN格式ION
0A5C00h P 区域(1024PT)
0A5D00h M 区域(3072PT)
0A5F00h L 区域(1024PT)
0A6000h K 区域(512PT)
0A6100h T 区域(256PT)
0A6200h C 区域(256PT)
0A6300h F 区域(1024PT)
0A6400h S 区域(100字)
在使用通讯模块时,不要在特殊数据区域写数据,比如:D,M,L
*****************************************************************************************************
K7M-DRXXS(K80S)
000000h D 区域(5K 字)
005000h T 区域(当前值,256 字)
005200h C 区域(当前值,256 字)
005400h T 区域(设定值E,256 字)
005600h C 区域(设定值E,256 字)
005800h 定时器 IN格式ION
005A00h 计数器 IN格式ION
005C00h P 区域(1024PT)
005D00h M 区域(3072 PT)
005F00h L 区域(1024 PT)
006000h K 区域(512 PT)
006100h T 区域(256PT)
006200h C 区域(256PT)
006300h F 区域(1024PT)
006400h S 区域(100字)
*上述的十六进制地址对应PLC的时,字节单元来对应。
例)K80s P004(字) : P0040~P0047是对应 085C00, P0048~P004F是对应 085C01
###############################################################################
4. 读出数据 :
1) 要求
* STX – “r” – 区域 – 起始地址 – 数据长度 - BCC - ETX
2) 回答
* ACK 回答 : ACK – “r” – 读出的数据 - BCC - EOT
* NACK 回答 : NAK – 信息(1字节) - BCC - EOT
3) 帧 数据
* 区域(1字节 ASCII)
- “M” : 数据 区域
* 起始地址(6字节ASCII) : 读起始地址
- 3字节16进制.
*数据长度(2字节 ASCII) : 读计数器数据
* BCC (2字节 ASCII) : 读 帧-Sum
不含 STX 和 ETX.
* 读数据 (数据长度 * 2字节 ASCII) : 读 数
读 10 字 数据 From P001 to P010
P001 地址 0x5C02(x=C(1000S),A(300S),8(200S))
1) 要求 帧
格式 : - STX - “r”–“M”– 02 5C 00 - 14 – BCC - ETX
ASCII : - 02 – 72 – 4D – 3032 3543 3030 - 3041 – BCC – 03
BCC = 72 + 4D + 30 + 32 + 35 + 43 + 30 + 30 + 30 + 41 = 026A => 6A => 3641
帧 : ß 02 <- 72 <- 5A <- 36 34 30 30 30 30 <- 3041 <- 3641 <- 03
2) 回答 帧(假如 P001~P010 数据 是 0~9 )
格式 : - ACK – “r” - 0000-0100-0200….-0800-0900 - BCC - EOT
ASCII : - 06 – 72 – 3030 3030 3031 3030 3032…. 3039 3030 - BCC – 04
BCC = 72 + 30+30+30+30+30+31+…. +30+39+30+30 = 0787 => 87 => 3837
帧 : ß 06 <- 72 <- 3030 3030 3130 … 3039 3030 <- 3847 <- 04
####################################################################################
5. 写入数据
1) 要求 帧
* STX – “w” - 区域 – 起始地址 - 数据长度 – 写入数据 - BCC - ETX
2) 回答 帧
* ACK 回答 帧 : ACK – “w” - BCC - EOT
* NACK 回答 帧 : NAK – 信息 - BCC - EOT
例) 写数据 (D0001~ D0010)
– 假如写数据如此 D0001:0000, D0002:0001, D0002:0002, … ….. D0008:0007,
D0009:0008
1) 要求 帧
格式 : - STX - “w”–“M”– 020000 – 14 – 0000-0100-0200….-0800-0900 - BCC - ETX
ASCII : - 02 – 77 – 4D – 3032 3030 3030 - 3134 – 3030 3030 3031…. 3039 3030
- BCC – 03
BCC = 77 + 4D + 30+32+30+30+30+30+31+34+30+30+30+30+30+31+…. +30+39+30+30
= 09F8 => F8 => 4638
帧 : ß 02 77 4D 3032 3030 3030 3134 3031 3030 3032 3039 3030 4638 03
2) 回答 帧
格式 : - ACK – “w” - BCC - EOT
ASCII : - 06 – 77 – BCC – 04
BCC = 77 => 3737
帧 : ß 06 <- 77 <- 3737 <- 04
######################################################################################
6. 数据 AND :
1) 要求 帧
* STX – “n” – 区域 - Var_Addr - AND_数据 - BCC - ETX
2) 回答 帧
* ACK 回答 帧 : ACK – “n” - BCC - EOT
* NACK 回答 帧 : NAK - Message - BCC - EOT
3) 帧 数据
* Start_Addr (6字节 ASCII) : 读 Start Address
例) M010字的 M0105位 Off
1) 要求 帧
格式 : - STX - “n”–“M”– 145D00 – DFFF - BCC - ETX
ASCII : - 02 – 6E – 4D – 3134 3544 3030 – 4446 4646 – BCC – 03
BCC = 6E + 4D + 31+34+35+44+30+30 +44+46+46+46 = 30F => 0F => 3046
帧 : ß 02 6E 4D 3134 3544 3030 4446 4646 3046 03
2) 回答 帧
格式 : - ACK – “n” - BCC - EOT
ASCII : - 06 – 6E – BCC – 04
BCC = 6E => 3645
帧 : ß 06 <- 6E <- 3645 <- 04
例) P0207 Off
1) 要求 帧
格式 : - STX - “n”–“M”– 285C00 –7FFF - BCC - ETX
ASCII : - 02 – 6E – 4D – 3238 3543 3030 - 3746 – 4646 – BCC – 03
BCC = 6E + 4D + 32+38+35+43+30+30+37+46+46+46 = 20C => 0C => 3043
帧 : ß 02 <- 6E <- 4D <- 3238 3543 3030 <- 3746 <- 4646<- 3043 <- 03
2) 回答 帧
格式 : - ACK – “n” - BCC - EOT
ASCII : - 06 – 6E – BCC – 04
BCC = 6E => 3645
帧 : ß 06 <- 6E <- 3645 <- 04
##################################################################################
7. 数据 OR :
1) 要求 帧
* STX – “o” - 区域 - Var_Addr - OR_数据 - BCC - ETX
2) Local PLC 回答 帧
* ACK 回答 帧 : ACK – “o” - BCC - EOT
* NACK 回答 帧 : NAK - Message - BCC - EOT
例) L0309 On
1) 要求 帧
格式 : - STX - “o”–“M”– 3C5F00 – 0002 - BCC - ETX
ASCII : - 02 – 6F – 4D – 3343 3546 3030 – 3030 3032 – BCC – 03
BCC <= 6F + 4D + 33+43+35+46+30+30+30+30+30+32 = 02A2 => A2 => 4132
帧 : ß 02 <- 6F <- 4D <- 3343 3546 3030 <- 3030 3032 <- 4132 <- 03
2) 回答 帧
格式 : - ACK – “o” - BCC - EOT
ASCII : - 06 – 6F – BCC – 04
BCC = 6F => 3646
帧 : ß 06 <- 6F <- 3646 <- 04
例) K010F On
1) 要求 帧
格式 : - STX - “o”–“M”– 146000 – 0080 - BCC - ETX
ASCII : - 02 – 6F – 4D – 3134 3630 3030 - 3030 3830 - BCC – 03
BCC <= 6F + 4D + 31+34+36+30+30+30 +30+30+38+30 = 02AF => AF => 4146
帧 : ß 02 <- 6F <- 4D <- 3134 3630 3030 <- 3030 3830 <- 4146 <- 03
2) 回答 帧
格式 : - ACK – “o” - BCC - EOT
ASCII : - 06 – 6F – BCC – 04
BCC = 6F => 3646
帧 : ß 06 <- 6F <- 3646 <- 04