FP93通讯协议Word文件下载.docx
- 文档编号:19767209
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:51
- 大小:36.59KB
FP93通讯协议Word文件下载.docx
《FP93通讯协议Word文件下载.docx》由会员分享,可在线阅读,更多相关《FP93通讯协议Word文件下载.docx(51页珍藏版)》请在冰豆网上搜索。
┌─────────────────────────────┐
│┌───────┐│
││上位机的 │ 485通讯示意图│
││485││
││通讯接口 ││
│└──┬─┬──┘│
│││发送/接收双向数据总线│
││├─────────┬─────────┐│
││││││
│├─┼───────┬─┼───────┐││
│┌─┴─┴─┐┌─┴─┴─┐┌─┴─┴─┐│
││FP93-
(1)││FP93-
(2)│..│FP93(99)││
│└─────┘└─────┘└─────┘│
└─────────────────────────────┘
RS485通讯采用差动的两线发送,两线接收的双向数据总线两线制方式。
上位机和下位调节器的内部接收器的接收高(RD+)和低(RS-)线以及内部发送器的发送高(SD+)和低(SD-)线都挂在数据总线上,平时内部发送器的发送线处于高阻关闭态。
如下图通讯过程示意图所示,通常上位机是讲者,下位调节器是听者,并按主、从方式进行通讯,多台仪表的通讯靠地址(设备号)的不同来区分。
通讯中,发送方需将发送线置于低阻态。
发送完成后,发送线需重新恢复到高阻关闭态。
接收方在接收数据完成后,又成为发送方。
因此,RS485接口存在着双向数据总线转换冲突问题。
在上位机可由软件调整,下位可由仪表的RS485延时时间窗口调整。
通讯时,上位机必须根据调节器设定的地址,共同约定的数据格式,波特率等通讯规约,发送通讯文件,下位调节器在接收地址符合,接收字符格式和校验正确后才能进行正常的通讯。
4-2.通讯协议说明:
通讯协议的通讯过程示意图
上位机调节器
┏━━━━━┓发送
┃发送全文件┃ ───────────>(接收)
┗━━━━━┛ ↓
返回┏━━━━━┓
(接收) <───────────┃返回全文件┃
┗━━━━━┛
4-3.发送全文件和返回全文件的组成
4.3.1通讯控制符的三种格式:
1.STX_ETX_CR2.STX_ETX_CRLF3.@_:
_CR
4.3.2通讯发送格式
a
⑴
STX
b
c
⑷
1
d
⑸
R
W
e
f
⑽
g
⑾
----
****
h
⑿
ETX
i
j
⑵
⑶
⑹
⑺
⑻
8
⑼
⒀
D
7
⒁
A
⒂
CR
1.通讯发送格式的解释
a通讯的起始符,[⑴一位,STX:
(02H)或”@”(40H)]
b通讯下位机地址[⑵、⑶两位],由8位二进制组成。
地址范围1~99(1:
00000001~01100110),这8位二进制码被分成高4位和低4位,其中高4位被送入⑵中,低4位被送入⑶,并转换成ASCII码。
c通讯下位机地址的子地址[⑷一位],这位被固定为1(31H)。
d通讯命令类型[⑸一位]。
”R”(52H),表明在上位机发送或仪表应答中的读命令。
”W”(57H),,表明在上位机发送或仪表应答中的写命令。
”B”表明在上位机以广播方式发送命令,但FP93不支持广播方式,”B”
只作为预留命令。
e通讯命令代码[⑹、⑺、⑻、⑼四位]。
是16位二进制代码(0~65535),这16位被分成四组,并转换成相应的ASCII码。
命令代码详见命令代码表。
f通讯命令连续读代码[⑽一位]。
表明上位机要连续读取多少个参数。
这位取值范围”0”(30H)~”9”(39H),十个数。
实际的连续读参数的个数=该位数值+1,写命令时,这一位被固定为”0”(30H)(一个)。
g数据项[⑾这位的数据长度决定于这位的数据量,既这位的数据长度不定]。
此项一般用于应答中。
数据总是以”,”(2CH)为数据项的句首。
数据项与数据项之间不需要任何分割符。
数据长度主要取决于第⑽的方式。
每一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。
当⑸位为”R”读命令时,此位不用。
”,”
2CH
第一数据项
第二数据项
…………………
第N数据项
高位
第一
单元
第二
第三
低位
第四
h数据发送结束符[⑿一位,ETX(03H)或”:
”(3AH)]。
所有的数据和命令再此位之前都以发送完成,遇到此字符表明结束。
iBCC块校验[⒀、⒁两位]三种BCC块校验和无校验。
上位机的BCC校验应通过软件处理。
仪表的BCC校验可在[1-34]窗口设置。
当BCC校验结果有错误时,将没有应答。
BCC校验数据被分成高4位和低4位,并被转换成ASCII码,
⒀:
高4位的ASCII码。
⒁:
低4位的ASCII码。
1).ADD块校验(加校验)
例:
STX011R01000EXTDACR
(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=1DAH
BCC校验结果⒀:
"
D"
=44H⒁:
A"
=41H
2).ADD_TWO’SCMP块校验(求补校验)
(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=26H
2"
=32H⒁:
6"
=36H
3).XOR块校验(异或校验)
STX011R01000EXT50CR
(02H)(30H)(31H)(31H)(52H)(30H)(31H)(30H)(30H)(39H)(03H)=50H
5"
=35H⒁:
0"
=30H
j回车符[⒂一位CR(0DH)]全文结束符既回车符。
4).None无校验
4.3.3通讯应答格式
a
3
4
C
E
1.通讯应答格式的解释
c通讯下位机地址的子地址[⑷一位],这位被固定为1。
”B”(42H)表明在上位机以广播方式发送命令,但FP93不支持广播方式,”B”只作为预留命令。
e应答代码[⑹、⑺两位]。
是8位二进制代码(0~255),这8位被分成高4位和低4位,并转换成相应的ASCII码。
应答代码详见应答代码表。
⑹:
⑺:
g通讯数据[⑾这位的数据量决定于这位的数据,既这位的数据长度不定]。
数据总是以”,”(2CH)开头,数据项与数据项之间不需要任何分割符。
数据的长度主要取决于第⑽的方式。
当⑸位为”W”写命令时,此位不用。
=45H⒁:
STX011R01000EXT26CR
3).XOR块校验(异或校验)
(02H)(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=50H
j回车符[⒂一位CR(0DH)]全文结束符既回车符。
4.3.4读命令、写命令及应答举例
1.读命令
52H
34H
30H
d:
这位表明这是一个读命令。
e:
这位表明这个读命令是读控制输出的比例带1的值。
f:
这位表明这读命令要从这个命令后连续读多少个参数。
具体含义如下:
这位表明这个读命令是读的控制输出的比例带1=0400H(十六进制)
=0000010000000000(二进制)
这位表明这读命令要读多少个参数。
=4H
=)0100(二进制)
=4(十进制)
(实际读取参数的个数)=5(4+1)
2.正确的应答
g
第五数据项
第一数据项⑾第二数据项
31H
45H
37H
38H
………………
33H
这位表明应答的是一个读命令。
这位表明这是一个应答代码<
0(30H)0(30H)正确的应答>
。
(详见应答代码表)
g:
这位表明这应答的读命令返回的数据项。
3.不正确的读命令应答
表明这是一个应答代码<
0(30H)7(30H)是数据格式错误的应答>
4.写命令
注:
写命令时,应先将COM模式至成COM状态。
由LOC状态转换成COM状态不能由仪表窗口完成,只能由上位机完成。
由COM状态转换成LOC状态上位机、仪表窗口均可完成。
57H
e
⑾
2
32H
这位表明应答的是一个写命令。
这位表明这个命令是写的控制输出比例带1的值。
这位表明这个命令要写1个参数。
(写命令时这位固定为0)
数据总是以”,”(2CH),数据项与数据项之间不需要任何分割符。
这位表明这个写命令是写的控制输出1的比例带参数=0400H(十六进制)
这位表明这读命令要写多少个参数。
=0H
=0000(二进制)
=0(十进制)
(实际写参数的个数)=1(0+1)
被写入的具体数据=0028H(十六进制)
=0000000000101000(二进制)
=40(十进制)
5.正确的写命令应答
这位表明这是一个写应答的命令。
0(30H)0(30H)是一个写命令的正确应答>
(详见4-4应答代码表)
6.不正确的写命令应答举例
9
0(30H)9(39H)是一个不正确写命令的应答>
4-4应答代码表
应答代码
代码类型
代码类型的详细说明
二进制码
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
执行命令错误
执行命令的接收是在一定条件下的(例如AT),否则将不被执行
00001011
“0”,”B”:
30H,42H
写模式错误
一些类型的数据在某一时刻将不能及时
被写入。
这种数据写入应在这种数据允许写入的时刻写入。
00001100
“0”,”C”:
30H,43H
其他或操作错误
写命令中的特殊数据或操作,不能被加入或接收。
小数点的表示方法:
将小数点去掉后,直接连同小数点后的数转换成十六进制数。
小数点的位置与使用的量程有关。
这四位十六进制代码(16位二进制码)的使用范围(-32768~32767)。
例:
十进制十六进制
20.0%→200→008C
99.99→9999→270F
-40.00℃→-4000→F060
4-5通讯命令表
命令代码
(十六进制)
参数
参数的详细说明
读/写
0040
序列代码1
这4个序列代码不能同时被读取。
读
0041
序列代码2
0042
序列代码3
0043
序列代码4
这些命令由16位二进制组成,被分成高8位和低8位两个单元。
不用的地址用”0”填充。
SR91命令高4位低4位高4位低4位
0040“F”“P”46H50H
0041“9”“3”39H33H
004200H00H
004300H00H
0100
PV_W
测量值
0101
SV_W
当前执行的设定值
0102
OUT1_W
控制输出的值
0103
保留
值被固定为0000H
0104
EXE_FLG
执行标志(不执行时=0)
0105
EV_FLG
事件输出标志(无事件输出时=0000)
0106
0107
EXE_PID
当前执行的PID号
EXE_FLG和EV_FLG的详细说明如下:
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
EXE_FLG0000000COM000000MANAT
EV_FLG00000000000000EV2EV1
.上限超量程时,EV_FLG的将被赋值为7FFFH。
.下限超量程时,EV_FLG的将被赋值为7FFFH。
010B
DI_FLG
DI开关状态标志位
DI_FLG的详细说明如下:
DI_FLG0000000COM0000DI4DI3DI2DI1
0110
UNIT
单位0=℃1=℉
0111
RANGE
测量范围(见测量范围代码表)
0112
0113
DP
小数点位置0=无1=0.12=0.013=0.001
0114
SC_L
测量范围下限值-1999~9989
0115
SC_H
测量范围上限值-1989~9999
0120
E_PRG
程序执行标志
0121
E_PTN
当前执行的曲线号
0122
0123
E_RPT
曲线重复次数
0124
E_STP
当前执行曲线的步
0125
E_TIM
当前执行步的剩余时间
0126
E_PID
E_PRG的详细说明如下:
E_PRGPRG0000UPLVLDW00000GUAHLDRUN
PRG1:
程序状态0:
定值状态GUA1:
确保平台0:
无确保平台
UP1:
定值状态HLD1:
程序保持0:
无程序保持
LVL1:
定值状态RUN1:
运行0:
无运行
DW1:
定值状态
.程序复位时,E_PRG被赋值为7FFFH。
0182
在手动方式下设置输出的值
写
0183
0184
AT
自整定0=不执行,1=执行
0185
MAN
手动0=自动,1=手动
018C
COM
通讯0=本机,1=通讯
0190
RST
复位/运行0=复位,1=运行
0191
HLD
程序保持0=释放保持,1=保持
0192
ADV
程序跳步0=不执行,1=跳步
0300
SV1
定值方式的SV值
030A
SV_L
SV下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FP93 通讯 协议