FP93通讯协议.docx

上传人:b****5 文档编号:6749153 上传时间:2023-01-09 格式:DOCX 页数:51 大小:36.59KB
下载 相关 举报
FP93通讯协议.docx_第1页
第1页 / 共51页
FP93通讯协议.docx_第2页
第2页 / 共51页
FP93通讯协议.docx_第3页
第3页 / 共51页
FP93通讯协议.docx_第4页
第4页 / 共51页
FP93通讯协议.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

FP93通讯协议.docx

《FP93通讯协议.docx》由会员分享,可在线阅读,更多相关《FP93通讯协议.docx(51页珍藏版)》请在冰豆网上搜索。

FP93通讯协议.docx

FP93通讯协议

FP93调节器通讯指南2002.10

特别指出:

未搞清本文内容前,请不要上电操作。

────目录────

 1.软件清单

 2.FP93通讯协议及基础知识

 3.通讯协议以及BASIC程序方法

 4.BASICA的程序通讯软件说明:

5.附录:

A.通讯串口接线方法

 B.有关RS422/485通讯口的技术数据

1.软件清单

在软盘内,提供了下述的软件和资料

FP93通讯协议.DOC

BASICA.EXE-BASIC语言(DOS环境下)

MR13.BAS-BASIC程序的PC机232口422口测试软件

2.FP93通讯协议

1)串口接线

①计算机与带RS-232C通讯口的连线

②计算机与希曼顿RS-232C/RS-485A通讯变换器连线

③RS-232C/RS-485通讯变换器与仪表RS-485通讯口的连线

④D型25针、九针串口接线对照表

2)通讯协议

3)参数设置

设置调节器通讯地址和使用的PC机串口,及通讯参数设置。

3.进入通讯命令学习前的准备工作

3-1.初次连接系统的准备工作(仪表未连接)

1.)参照串口接线窗口和附录A.通讯串口接线方法,对系统进行正确的接线。

2.)PC机RS232通讯口正常(包括地线、握手信号),将SD,RD端短接。

3.)RS232接口至RS232/RS485转换器连线是否正确。

注意:

9针与25针串口的定义区别。

4.)参见希曼顿232C/RS422或232/RS485转换器C28A的自检方法,检查通讯转换器。

5.)RS232/RS485或RS232/RS422转换器到仪表通讯口的连线正确。

 如果远距离通讯(1200米),利用示波测量发送波形的前沿,确定通讯线路的传输品质,选择合适的通讯波特率。

注:

如采用PC机内式转换卡,可省去前两步骤。

其它的操作:

连接仪表且上电,确信仪表已进行了有关的通讯参数(地址、波特率)设定。

在学习软件中相应的画面应设置与仪表相一致的PC机通讯地址和字符参数,否则将不能正常通讯。

注:

仪表的有关设定请参阅FP93操作流程图

4.通讯协议以及BASIC程序方法

4-1.通讯的含意

RS232接口,只能单台点对点的通迅,不能进行总线的并联,但通讯软件和485方式相同

┌─────────────────────────────┐

│┌───────┐│

││上位机的 │   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

STX

b

c

1

1

d

R

W

e

f

0

0

g

----

****

h

ETX

ETX

i

j

0

0

1

1

0

0

1

1

0

8

0

c

D

7

A

8

CR

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块校验(求补校验)

例:

STX011R01000EXTDACR

(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=26H

BCC校验结果⒀:

"2"=32H⒁:

"6"=36H

3).XOR块校验(异或校验)

例:

STX011R01000EXT50CR

(02H)(30H)(31H)(31H)(52H)(30H)(31H)(30H)(30H)(39H)(03H)=50H

BCC校验结果⒀:

"5"=35H⒁:

"0"=30H

j回车符[⒂一位CR(0DH)]全文结束符既回车符。

4).None无校验

4.3.3通讯应答格式

a

STX

STX

b

c

1

1

d

R

W

e

g

****

----

h

ETX

ETX

i

j

0

0

1

1

0

0

1

1

3

4

C

E

CR

CR

1.通讯应答格式的解释

a通讯的起始符,[⑴一位,STX:

(02H)或”@”(40H)]

b通讯下位机地址[⑵、⑶两位],由8位二进制组成。

地址范围1~99(1:

00000001~01100110),这8位二进制码被分成高4位和低4位,其中高4位被送入⑵中,低4位被送入⑶,并转换成ASCII码。

c通讯下位机地址的子地址[⑷一位],这位被固定为1。

d通讯命令类型[⑸一位]。

”R”(52H),表明在上位机发送或仪表应答中的读命令。

”W”(57H),,表明在上位机发送或仪表应答中的写命令。

”B”(42H)表明在上位机以广播方式发送命令,但FP93不支持广播方式,”B”只作为预留命令。

e应答代码[⑹、⑺两位]。

是8位二进制代码(0~255),这8位被分成高4位和低4位,并转换成相应的ASCII码。

应答代码详见应答代码表。

⑹:

高4位的ASCII码。

⑺:

低4位的ASCII码。

g通讯数据[⑾这位的数据量决定于这位的数据,既这位的数据长度不定]。

数据总是以”,”(2CH)开头,数据项与数据项之间不需要任何分割符。

数据的长度主要取决于第⑽的方式。

每一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。

当⑸位为”W”写命令时,此位不用。

 

”,”

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"=45H⒁:

"A"=41H

2).ADD_TWO’SCMP块校验(求补校验)

例:

STX011R01000EXT26CR

(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=26H

BCC校验结果⒀:

"2"=32H⒁:

"6"=36H

3).XOR块校验(异或校验)

例:

STX011R01000EXT50CR

(02H)(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=50H

BCC校验结果⒀:

"5"=35H⒁:

"0"=30H

j回车符[⒂一位CR(0DH)]全文结束符既回车符。

4).None无校验

4.3.4读命令、写命令及应答举例

1.读命令

d

R

52H

e

f

4

34H

0

30H

4

34H

0

30H

0

30H

d:

这位表明这是一个读命令。

e:

这位表明这个读命令是读控制输出的比例带1的值。

f:

这位表明这读命令要从这个命令后连续读多少个参数。

具体含义如下:

这位表明这个读命令是读的控制输出的比例带1=0400H(十六进制)

=0000010000000000(二进制)

这位表明这读命令要读多少个参数。

=4H

=)0100(二进制)

=4(十进制)

(实际读取参数的个数)=5(4+1)

2.正确的应答

D

R

52H

e

g

第五数据项

0

30H

0

30H

第一数据项⑾第二数据项

2CH

0

30H

0

30H

1

31H

E

45H

0

30H

0

30H

7

37H

8

38H

………………

…………………

…………………

0

30H

0

30H

0

30H

3

33H

d:

这位表明应答的是一个读命令。

e:

这位表明这是一个应答代码<0(30H)0(30H)正确的应答>。

(详见应答代码表)

g:

这位表明这应答的读命令返回的数据项。

3.不正确的读命令应答

D

R

52H

e

0

30H

7

37H

d:

这位表明应答的是一个读命令。

e:

表明这是一个应答代码<0(30H)7(30H)是数据格式错误的应答>。

(详见应答代码表)

4.写命令

注:

写命令时,应先将COM模式至成COM状态。

由LOC状态转换成COM状态不能由仪表窗口完成,只能由上位机完成。

由COM状态转换成LOC状态上位机、仪表窗口均可完成。

d

W

57H

e

f

0

30H

g

0

30H

4

34H

0

30H

0

30H

2CH

0

30H

0

30H

2

32H

8

38H

d:

这位表明应答的是一个写命令。

e:

这位表明这个命令是写的控制输出比例带1的值。

f:

这位表明这个命令要写1个参数。

(写命令时这位固定为0)

g通讯数据[⑾这位的数据量决定于这位的数据,既这位的数据长度不定]。

数据总是以”,”(2CH),数据项与数据项之间不需要任何分割符。

数据的长度主要取决于第⑽的方式。

每一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。

具体含义如下:

这位表明这个写命令是写的控制输出1的比例带参数=0400H(十六进制)

=0000010000000000(二进制)

这位表明这读命令要写多少个参数。

=0H

=0000(二进制)

=0(十进制)

(实际写参数的个数)=1(0+1)

被写入的具体数据=0028H(十六进制)

=0000000000101000(二进制)

=40(十进制)

5.正确的写命令应答

d

W

57H

e

0

30H

0

30H

d:

这位表明这是一个写应答的命令。

e:

表明这是一个应答代码<0(30H)0(30H)是一个写命令的正确应答>。

(详见4-4应答代码表)

6.不正确的写命令应答举例

d

W

57H

e

0

30H

9

30H

d:

这位表明这是一个写应答的命令。

e:

表明这是一个应答代码<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

保留

值被固定为0000H

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的详细说明如下:

D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0

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

当前执行的PID号

E_PRG的详细说明如下:

D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0

E_PRGPRG0000UPLVLDW00000GUAHLDRUN

PRG1:

程序状态0:

定值状态GUA1:

确保平台0:

无确保平台

UP1:

程序状态0:

定值状态HLD1:

程序保持0:

无程序保持

LVL1:

程序状态0:

定值状态RUN1:

运行0:

无运行

DW1:

程序状态0:

定值状态

.程序复位时,E_PRG被赋值为7FFFH。

0182

OUT1_W

在手动方式下设置输出的值

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下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1