岛电SR通讯协议.docx
《岛电SR通讯协议.docx》由会员分享,可在线阅读,更多相关《岛电SR通讯协议.docx(111页珍藏版)》请在冰豆网上搜索。
岛电SR通讯协议
岛电SR通讯协议
————————————————————————————————作者:
————————————————————————————————日期:
CC2125A的通讯学习软件操作说明书目录
1.软盘清单
2.通讯口的技术数据
3.调节器通迅接线
4.调节器通迅参数的设置
5.标准协议和SRFP协议
6.标准协议
7.SRFP协议
8.学习软盘SR253.BASV2.0的使用方法
9.#3盘上的BASICA程序说明
10.在PC计算机上,采用BASICA语言,实现对SR253数据采集的编程例
11.附录:
A.通讯串口接线方法
B.RS232通讯口的技术数据
C.RS422/RS485通讯口的技术数据
1.软件清单
在软盘内,提供了下述的应用资料及其它调用文件.
中文版 通讯协议V2.10操作说明(words文件)
BASICA.EXE-COMOPAQ.BASIC
SR253.BAS-标准通讯协议测试软件
SRFP.BAS-BASIC参考的通讯学习软件
STAR253.BAS-BASIC参考的SR25的"DS"命令数据采集软件
232T.BAS-BASIC的PC机232口及先锋RS422口测试软件
★用户可用Windows环境下的WORDS的"PRINT"打印命令检查或打印SR253.doc文件内容。
2.通讯口的技术数据
1.信号电平:
EIA标准RS-232C,RS-422A,RS-485
⒉通讯方式:
RS-232C3线半双工,单台
RS-422A4线半双工,多台
RS-4852线半双工,多台
⒊同步系统:
起始位-停止位
⒋通讯距离:
RS-232C15米
RS-422A1200米*具体视通讯条件而定
RS-4855200米*具体视通讯条件而定
⒌通讯速度:
1200,2400,4800,9600,19200波特率
⒍数据格式:
1.数据7位,一个偶校验位,一个停止位
2.数据8位,无校验位,一个停止位
格式数据位校验位停止位
7E17偶校验1
7E28偶校验2
7N17无1
7N27无1
8E18偶校验1
8E28偶校验2
8N18无1
8N28无2
⒏通讯码:
ASCII码
⒐隔离:
独立电源,与仪表隔离
3.调节器通迅接线
3.1RS-232C
上位机RS232C9针连接器
RD3数据接收
SD2数据发送
SG7信号地
数据发送SD3
数据接收RD2信号地GND5
3.2422接口连线:
上位机RS232C9针连接器希曼顿RS232/RS422转换器SR253422通讯接口
数据接收高RD+6数据接收低RD-4数据发送高SD+9数据发送低SD-3GND信号地5
1RXD数据接收数据发送高SD+10
2TXD数据发送数据发送低SD-9
3信号地GND数据接收高RD+8
数据接收低RD-7
屏蔽地SG6
数据发送SD3
数据接收RD2信号地GND5
422通迅示意图
┌─────────────────────────────┐
│┌───────┐│
││上位机的 │ 422通迅示意图│
││422││
││通迅接口 ││
│└─┬┬┬┬──┘───→←────│
│││↓↓发送数据总线接收数据总线│
││││├──→──────┬─────────┐│
│↑↑├┼──→─────┬┼────────┐││
││├┼┼───────┬┼┼──←────┐│││
│├┼┼┼──────┬┼┼┼──←───┐││││
│┌┴┴┴┴─┐┌┴┴┴┴─┐┌┴┴┴┴─┐│
││SR253
(1)││SR253-
(2)│..│SR50(32)││
│└─────┘└─────┘└─────┘│
└─────────────────────────────┘
RS422通讯采用差动的两线发送,两线接收的四线制方式。
下位调节器的内部接收器的接收高(RDA)和低(RSD)线与上位机RS422A接口的发送数据总线连接,下位调节器内部发送器的发送高(SDA)和低(SDB)线挂在上位机RS422A口的接收数据总线上,通常内部发送器处于高阻关闭态。
通常上位机是讲者,下位调节器是听者,并按主、从方式进行通讯。
通讯时,上位机必需根据调节器设定的地址,共同约定的数据格式,波特率等通讯规约,按下图示的顺序首先建立与下位机间的通迅连接。
下位调节器在接收地址符合,接收字符格式和校验正确后,将内部发送器开放(变低阻态),作为讲者回送地址和ACK回答符,指示该调节器与上位机的接收数据总线建立了连接,又成为听者正等待上位机的继续通讯命令。
不正常时为无响应。
RS232接口,只能单台点对点的通迅,不能进行总线的并联,但通讯软件和422方式相同
3.3.485接口连线形式:
上位机RS232C9针连接器希曼顿RS232/RS485转换器SR253485通讯接口
+9
-3
信号地5555GND
-SG
-
-
1RXD数据接收数据发送/接收高TR+10
2TXD数据发送数据发送/接收低SD-9
3信号地GND屏蔽地SG6
数据发送SD3
数据接收RD2信号地GND5
485通迅示意图
┌─────────────────────────────┐
│┌───────┐│
││上位机的 │ │
││485││
││通迅接口 ││
│└──┬─┬──┘│
│││发送/接收双向数据总线│
││├─────────┬─────────┐│
││││││
│├─┼───────┬─┼───────┐││
│┌─┴─┴─┐┌─┴─┴─┐┌─┴─┴─┐│
││SR253-
(1)││SR50-
(2)│..│SR50(32)││
│└─────┘└─────┘└─────┘│
└─────────────────────────────┘
RS485通讯采用差动的两线发送,两线接收的双向数据总线两线制方式。
上位机和下位调节器的内部接收器的接收高(RDA)和低(RSD)线以及内部发送器的发送高(SDA)和低(SDB)线都挂在数据总线上,平时内部发送器的发送线处于高阻关闭态。
如下图通讯过程示意图所示,通常上位机是讲者,下位调节器是听者,并按主、从方式进行通讯,多台仪表的通讯靠地址(设备号)的不同来区分。
通讯中,发送方需将发送线置于低阻态。
发送完成后,发送线需重新恢复到高阻关闭态。
接收方在接收数据完成后,又成为发送方。
因此,RS485接口存在着双向数据总线转换冲突问题。
在上位机可由软件调整,下位可由仪表的RS485延时时间窗口调整。
通讯时,上位机必须根据调节器设定的地址,共同约定的数据格式,波特率等通讯规约,发送通讯文件,下位调节器在接收地址符合,接收字符格式和校验正确后,才能进行正常的通讯。
4.调节器通迅参数的设置
参照SR253中文操作流程图,手动选择如下设置:
在SR253[5-5A]窗口设置:
地址:
00~99
通讯波特率:
1200、2400、4800、9600、19200,
通讯字符格式:
7E1、7E2、7N17N2、8E1、8E2、8N1、8N2。
格式数据位校验位停止位
7E17偶校验1
7E28偶校验2
7N17无1
7N27无1
8E18偶校验1
8E28偶校验2
8N18无1
8N28无2
通讯协议方式:
Standard(新标准)、SRFP(与SR25/FP21协议兼容)
在SR253[5-5B]窗口设置:
存储方式:
EEP(修改参数的保存在EEPROM中)注:
EEPROM寿命为10万次
RAM(修改参数的保存在RAM中,掉电后丢失)注:
调机用
字符串控制符格式:
STX_ETX_CR、STX_ETX_CRLF、@_:
_CR
BCC块校验方式:
Add(求和)、Add_two’scmp(求和后求反)、XOR(异或求和)、None(无)
RS485延时时间:
延时时间=设定值*0。
25mS
注:
延时时间主要用于适配数据发送/接收总线的转换速度
5.standard标准通讯协议和SRFP通讯协议
SR253作为SR25的改进替代型仪表,具有两种通讯协议方式,其一为SRFP协议,与岛电SR25和FP21的协议兼容;其二为标准协议,具有更优越的通讯能力。
6.standard标准通讯协议说明:
6.1标准通讯协议的通讯过程示意图
上位机调节器
┏━━━━━┓发送
┃发送全文件┃ ───────────>(接收)
┗━━━━━┛ ↓
返回┏━━━━━┓
(接收) <───────────┃返回全文件┃
↓┗━━━━━┛
┏━━━━━┓发送
┃发送全文件┃ ───────────>(接收)
┗━━━━━┛ ↓
返回┏━━━━━┓
(接收) <───────────┃返回全文件┃
↓┗━━━━━┛
┏━━━━━┓发送
┃发送全文件┃ ───────────>(接收)
┗━━━━━┛ ↓
返回┏━━━━━┓
(接收) <───────────┃返回全文件┃
↓┗━━━━━┛
6-2.通讯格式
(1)上位机通讯格式
这种通讯格式是由基本格式Ⅰ,文本格式部分和基本格式Ⅱ组成的.
1)上位机通讯命令格式
起始字符分地址文件结束字符
本机地址命令类型数据量结束字符
命令代码数据BCC数
a
⑴
STX
@
b
c
⑷
1
1
d
⑸
R
W
e
f
⑽
9
0
g
⑾
…
****
h
⑿
ETX
“:
”
i
j
⑵
0
0
⑶
1
2
⑹
0
0
⑺
1
3
⑻
0
0
⑼
0
0
⒀
E
7
⒁
3
8
⒂
CR
CR
⒃
..
LF
第一部分:
引导文件第二部分:
文件第三部分:
结束文件
发送全文件命令说明:
第一部分:
引导文件
a:
起始符以STX(02H)或"@"(40H)控制符表示,当起始引导符接收到,可判断出一组开始接收新的数据。
说明:
控制符的标准格式在SR253[5-5B]窗口成组设置:
STX_ETX_CR、STX_ETX_CRLF或@_:
_CR
BASICA程序例
A)设置起始符,文件结束,全文件结束的控制符
10STX$=CHR$
(2):
ETX$=CHR$(3):
CR$=CHR$(13);格式
或STX$=CHR$
(2):
ETX$=CHR$(3):
CR$=CHR$(13):
LF$=CHR$(10);STX_ETX_CRLF格式
STX$="@":
ETX$=":
"CR$=CHR$(13);@_:
_CR格式
b:
地址:
调节器设定的地址号00~99。
说明:
SR253[5-5A]窗口设置地址:
00~99.多调节器时,设定地址号不能重叠
c:
分地址:
SR253固定为”1”
第二部分:
文件
d:
命令类型:
R-读命令W-写命令
e:
⑹⑺⑻⑼命令代码:
例如:
0300表示为第一设定值的参数(可读/写).其它见后命令代码表
f:
数据量:
0~9
在R-读命令中,表示了读参数的个数,可以连续读顺序命令代码10个,从而提高了读命令的效率.
例如:
R
52H
0
30H
3
33H
0
30H
0
30H
9
39H
表示读0300H~0309H的10个设定值的参数
在W-写命令中,f固定为0.表示了仅能设定一个参数(编者按:
出于可靠性的考虑)
g:
数据:
W命令后,插入数头符“,”代表改写一个参数
数头符第一数据
“,”
1
2
3
4
例:
仅一个参数的写W03000,****(参数)
重要说明:
SR253有两种工作方式“LOC”:
机内方式,上位机仅能读”R”命令
“COM”:
通讯方式,上位机能读”R”或写”W”
写”W”命令执行仅能由上位机发送“LOC”转“COM”命令.SR253面板的通讯亮后,才能执行写命令
SR253返回“LOC”机内方式,可由上位机写或由SR253的面板操作返回
读命令简单
例:
一个数据的读R03000
例:
10个数据的读R03009
第三部分:
结束文件
h:
结束符表示文件的结束以ETX或“:
”表示
i:
两位BCC(二进制块)码
说明:
SR253[5-5A]窗口设置BCC块校验方式:
●BCC(块校验字符)用于检查通讯数据的准确性
●BCC校验如果有错,接收仪表将没有应答
●有下面4种类型的BCC校验
(1)BCC加
加法操作是从起始字符到结束字符的求和
例1:
BCC加和读命令(读):
STX011R01009ETXE3CRLF
02H+30H+31H+31H+52H+30H+31H+30H+30H+39H+03H=1E3H
得到最后校验位(1E3H)=E3H即:
“E”=45H,:
“3”=33H
BASICABCC块效验程序例,其中CMD$为读/写文件
500STR$=STX$+”0011”:
REM第一部分:
引导文件.访问00号仪表
520TEXT$=”R01009”:
REM第二部分文件0100-0109的连续十个参数的读
550CMD$=STR$+TEX$+ETX$:
REM将要校验的字符串
560LEC=LEN(CMD$):
BCC=0:
REM求校验字节长度
570FORI=1TOLEC:
S$=MID$(CMD$,I,1)
580BCC=BCC+ASC(S$)
590NEXT
600BCC=BCCMOD256:
REM取一个字节8位
610BCC$=”0”+HEX$(BCC):
BCC$=RIGHT$(BCC$,2):
REMBCC的ASC码
620END$=ETX$+BCC$+CR$+LF$:
REM第三部分:
结束文件
630TXD$=STX$+CMD$+END$:
REM生成发送读写字符串
630RETURN
(2)BCC加法二进制的求反
例2BCC加法二进制求反和读命令(读):
STX011R01009ETX1DCRLF
02H+30H+31H+31H+52H+30H+31H+30H+30H+39H+03H=1E3H
E3的求反=1DH
BASICABCC块效验程序例,其中CMD$为读/写文件
500STR$=STX$+”0011”:
REM第一部分:
引导文件.访问00号仪表
520TEXT$=”R01009”:
REM第二部分:
文件0100-0109的连续十个参数的读
550CMD$=STR$+TEX$+ETX$:
REM将要校验的字符串
560LEC=LEN(CMD$):
BCC=0:
REM求校验字节长度
570FORI=1TOLEC:
S$=MID$(CMD$,I,1)
580BCC=BCC+ASC(S$)
590NEXT
600BCC=BCCMOD256:
REM取一个字节8位
605BCC=NOT(BCC):
REMBCC求反
610BCC$=”0”+HEX$(BCC):
BCC$=RIGHT$(BCC$,2):
REMBCC的ASC码
620END$=ETX$+BCC$+CR$+LF$:
REM第三部分:
结束文件
630TXD$=STX$+CMD$+END$:
REM生成发送读写字符串
640PRINT#1,TMD$:
REM向仪表00发送命令
650RETURN
(3)BCC异或的读命令(读):
异或的操作是从起始字符后开始到结束符的每位ASCII码的异或运算
STX011R01009ETX21CRLF
02H⊕30H⊕31H⊕31H⊕52H⊕30H⊕31H⊕30H⊕30H⊕39H⊕03H=59H
⊕=异或结果=59H
BASICA异或BCC块效验程序例,其中CMD$为读/写文件
80CMD$=STR$+TEXT$+ETX$:
REM将要校验的字符串
85BC$=CMD$
90GOSUB420
95END$=ETX$+BCC$+CR$+LF$:
REM第三部分:
结束文件
100TXD$=STX$+CMD$+END$:
REM生成发送读写字符串
105PRINT#1,TMD$:
REM向仪表00发送命令
110STOP
420BCC=ASC(LEFT$(BC$,1)):
REM发/接的BCC块效验程序
430L=LEN(BC$)
440FORN=2TOL
450BCC=BCCXORASC(MID$(BC$,N,1))
460NEXTN
470BCC$=”0”+HEX$(BCC):
BCC$=RIGHT$(BCC$,2)
480RETURN
(4)没有BCC校验:
BCC校验位数据全部用(,)代替
6.3仪表返回通讯命令格式
起始字符分地址文件结束符
本机地址命令类型结束字符
响应码数据BCC数据
a
⑴
STX@
b
c
⑷
1
1
d
⑸
R
W
e
g
(8)
****
…
h
⑿
ETX
1
i
j
⑵
0
0
⑶
1
2
⑹
0
0
⑺
0
0
⒀
E
7
⒁
3
8
⒂
CR
CR
⒃
LF
..
第一部分:
引导文件第二部分:
文件第三部分:
结束文件
第一部分:
引导文件同发送文件格式(略)
第二部分:
文件
d:
上位机发送文件为R,返回的R.发送文件为W,返回的W.
e:
响应码00为正常,其余为出错码(见后表)
g:
数据以”,”开始
读数据:
(1)发送文件为R,f>0表示多参数返回
数头符第一数据第二数据第N数据
“,”
1
2
3
4
1
2
3
4
1
2
3
4
数据的数量由发送文件f的数值确定
(2)发送文件为R,f=0表示一个参数返回
写数据的返回文件:
(1)正常:
例如:
de
W00
(2)异常:
返回01-0C出错码(见后表)
de
W09
第三部分:
结束文件同发送文件格式(略)
3)仪表在下述条件下将无应答
●硬件错误
●仪表的地址与上位机访问地址不同
●字符不按标准格式排列
●BCC接收后的校验错误
●字符和数字不以ASC码表示
●字符必须大写.“R”(52H/大写字母):
读命令专用符
“W”(57H/大写字母):
写命令专用符
●如果字符串中无“R”“W”符仪表无应答
●仪表出于”LOC”机内方式时,写数据无效,无返回文件
6.4通讯超时:
上位机发送命令后,1秒(4800、9600、19200BPS)或
2秒内(1200、2400BPS)无回答,可视为通讯超时错误。
6.5响应码表
6.5响应码细节
(1)响应码类型
●每一个读/写命令通常包括一个响应码
●响应码被广泛的划分成两种类型:
通用型和不通用型
●每个响应码由八字节数组成(0~255)
●响应码类型见下表:
响应码
响应码类型
说明
二进制
ASCII码
00000000
“0”,“0”:
30H,30H
正常响应码
正常响应到读/写命令
00000001
“0”,“1”:
30H,31H
检测的硬件错误
例如:
超限,奇偶校验错误
00000111
“0”,“7”:
30H,37H
格式错误
没有规定过的格式
00001000
“0”,“8”:
30H,38H
数据格式错误,数据地址和数字
没有规定过的格式或没有定义过的数据地址和数字
00001001
“0”,“9”:
30H,39H
数据错误
写入数据时超出量程
00001010
“0”,“A”:
30H,41H
执行命令错误
接收到不能接受的执行命令
00001011
“0”,“B”:
30H,42H
写方式错误
数据的一些类型在特定时期没有允许被更改。
00001100
“0”,“C”:
30H,43H
错误的说明或选项
接收到没有规定过的说明或选项
(2)响应码的优先权
数值小的响应码具有较高的优先级;当有复合的响应码产生时,最高的优先权优先返回。
6.6通讯命令码表
数据
参数
设定范围
R/W
读/写
0100
PV测量值
测量范围内
R
0101
E_SV设定值
设定值范围内,当前的执行SV
R
0102
OUT1调节输出1
-5.0~105.0%
R
0103
OUT2调节输出2
-5.0~105.0%
R
0104
工作状态指示
(请参阅下面详细说明)
R
0105
事件状态指示
(请参阅下面详细说明)
R
0106
当前执行的SVNo.
0(SVNo.1)~10(REM遥控)
R
0107
当前执行的PIDNo
0(PIDNo.1)~9(PID号10)
R
0108
REM模拟遥控值
设定值范围