SR23 通讯协议
4、标准通信协议说明:
通讯程序
个人电脑和 PLC 是主机,SR23 表是从机。通讯从主机发送命令开始,到从机回复结束。
通讯格式
SR23 系列支持多种协议,根据不同的选择可以选择不同的通讯格式(通讯控制 BCC 码)
和通讯数据格式(数据长度,校验位,停止位)。为了更容易使用,我们推荐使用下边的格
式。
使用格式
控制代码 STX_ETX_CR
BCC 校验方式 ADD
数据位 7 8
奇偶位 EVEN NONE
停止位 1 1
通讯控制符的三种格式:1. STX_ETX_CR 2. STX_ETX_CRLF 3. @_:_CP
通讯发送格式
a b c d e f g h i j
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
STX 0 1 1 R 0 1 0 0 0 … ETX D A CR …
STX 0 2 1 W 0 1 8 c 0 … ETX 0 B CR …
1. 通讯发送格式的解释:
a 通讯的起始符: 第 1 位。STX:(02H)或”@”(40H) 。
b 通讯下位机地址:第 2、3 位由 8 位二进制组成。地址范围 1~98,这 8 位二进制被分成
高 4 位和低 4 位,其中高 4 位被送入 2 中,低 4 位放入 3 中,并转换成 ASCII 码。
c 通讯下位机地址的子地址:第 4 位。当只有一个回路时为 1;当有两个回路时通道一为 1,
通道二为 2。
d 通讯命令类型:第 5 位。“R”(52H),表明在上位机发送或仪表应答中的读命令。“W”
(57H),表明在上位机发送或仪表应答的写命令。“B”表明在上位机以广播方式发送命令。
e 通讯命令代码:第 6、7、8、9 位。是 16 位二进制代码(0~65535),这 16 位被分成四
组,并转换成相应的 ASCII 码。命令代码祥见命令代码表。
f 通讯命令连续读代码:第 10 位。表明上位机要连续读取多少个参数。这位取值范围(0~9)
(30H~39H),十个数。实际的连续读参数的个数=表明的数值+1。
g 通讯数据:第 11 位。这位的数据量决定于这位的数据,既这位的数据长度不定。数据总
是以“,”(2CH),数据项与数据项之间不需要任何分割符。数据的长度主要取决于第 10 位
的方式。每一个数据项由 16 位二进制代码组成(1 个字),每 4 位被分成一个数据单元,同
时每个数据单元又被转换成 ASCII 数据,当第 5 位为“R”读命令时,此位不写。
第一数据项第二数据项第 N 数据项
高低高低高低
位位位位位位
“,”第第第第第第第第第第第第
一二三四一二三四一二三四
2CH 单单单单单单单单单单单单
元元元元元元元元元元元元
h 数据发送结束符:第 12 位。ETX(03H)或“:”(3AH)。所有的数据和命令在此位之
前都以发送完成,遇到此字符表名结束。
i BCC 块校验:第 13、14 位。三种 BCC 块校验和无校验。上位机的 BCC 校验应通过软件
处理。仪表的 BCC 校验可在仪表 1-34 窗口设置。当 BCC 校验结果有错误时,将没有应答。
BCC 校验数据被分成高 4 位和低 4 位,并被转换成 ASCII 码。
13 位为高 4 位的 ASCII 码。14 位为低 4 位的 ASCII 码。
1) ADD 块校验
eg:STX 0 1 1 R 0 1 0 0 9 EXE E 3 CR LF
(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(39H)+(03H)=1E3H
BCC 校验结果(13) “E”=45H (14)“3”=33H
2)ADD_TWO’S CMP 块校验
eg: STX 0 1 1 R 0 1 0 0 9 EXE 1 D CR LF
(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(39H)+(03H)=1E3H
BCC 校验结果(13) “1”=31H (14)“D”=44H
3)X OR 块校验
eg: STX 0 1 1 R 0 1 0 0 9 EXE 1 D CR LF
(02H) (30H) (31H) (31H) (52H) (30H) (31H) (30H) (30H) (39H) (03H)=59H
BCC 校验结果(13) “5”=35H (14)“9”=39
通讯73468 来自淘豆网m.daumloan.com转载请标明出处.