当前位置: 首页 > 工业控制产品 > 机箱与机柜系统 > 机柜加热器 > PTC机柜加热器

类型分类:
科普知识
数据分类:
PTC机柜加热器

FP93仪表通讯协议

发布日期:2022-04-18 点击率:48

下一篇: PLC、DCS、FCS三大控

上一篇: 索尔维全系列Solef?PV

   

 

FP93调节器通讯指南

本资料和开发的学习软件,作为用户学习FP93仪表通讯编程的参考,不足之处请予以指正。

南京汇皆奥自动化科技有限公司

电话:025-83767526 83767527   传真:83767527

──── 目录 ────

 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_CR   2.STX_ETX_CRLF    3.@_:_CR

 

4.3.2通讯发送格式

 a ⑴STXSTX   bc⑷11d⑸RWef⑽00 g⑾----,**** h⑿ETXETXij⑵00⑶11⑹00⑺11⑻08⑼0c⒀D7⒁A8⒂CRCR

 

1.  通讯发送格式的解释

a   通讯的起始符,[⑴一位,STX:(02H)或 ”@”(40H)]

b   通讯下位机地址[⑵、⑶两位],由8位二进制组成。地址范围1~99(1:0000 0001~0110 0110),这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)]。所有的数据和命令再此位之前都以发送完成,遇到此字符表明结束。

i  BCC块校验 [⒀、⒁两位] 三种BCC块校验和无校验。上位机的BCC校验应通过软件处理。仪表的BCC校验可在[1-34]窗口设置。当BCC校验结果有错误时,将没有应答。BCC校验数据被分成高4位和低4位,并被转换成ASCII码,

⒀:高4位的ASCII码。⒁:低4位的ASCII码。

1).ADD块校验(加校验)

  例:STX    0     1     1     R     0     1     0     0     0     EXT    D    A   CR  

(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=1DAH         

BCC校验结果   ⒀:"D"=44H         ⒁:"A"=41H

2).ADD_TWO’S CMP块校验(求补校验)

  例:STX    0     1     1     R     0     1     0     0     0     EXT    D    A   CR 

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

BCC校验结果   ⒀:"2"=32H         ⒁:"6"=36H

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

  例:STX    0     1     1     R     0     1     0     0     0     EXT    5    0   CR  

(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 ⑴STXSTX   bc⑷11d⑸RWe g⑾,****---- h⑿ETXETXij⑵00⑶11⑹00⑺11⒀34⒁CE⒂CRCR

 

1.  通讯应答格式的解释

a   通讯的起始符,[⑴一位,STX:(02H)或 ”@”(40H)]

b   通讯下位机地址[⑵、⑶两位],由8位二进制组成。地址范围1~99(1:0000 0001~0110 0110),这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)]。所有的数据和命令再此位之前都以发送完成,遇到此字符表明结束。

i  BCC块校验 [⒀、⒁两位] 三种BCC块校验和无校验。上位机的BCC校验应通过软件处理。仪表的BCC校验可在[1-34]窗口设置。当BCC校验结果有错误时,将没有应答。BCC校验数据被分成高4位和低4位,并被转换成ASCII码,

⒀:高4位的ASCII码。⒁:低4位的ASCII码。

1).ADD块校验 (加校验)

    例:STX    0     1     1     R     0     1     0     0    0     EXT    D    A   CR  

(02H)+(30H)+(31H)+(31H)+(52H)+(30H)+(31H)+(30H)+(30H)+(30H)+(03H)=1DAH          

BCC校验结果   ⒀:"D"=45H         ⒁:"A"=41H

2).ADD_TWO’S CMP块校验(求补校验)

    例:STX    0     1     1     R     0     1     0    0    0     EXT    2    6   CR

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

BCC校验结果   ⒀:"2"=32H         ⒁:"6"=36H

 

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

    例:STX    0     1     1     R     0     1     0     0   0     EXT    5    0    CR  

(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⑸R52Hef⑽434H⑹030H⑺434H⑻030H⑼030H

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

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

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

具体含义如下:

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

                                                  =0000  0100  0000  0000  (二进制)

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

=)0100               (二进制)

=4                   (十进制)

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

 

 

2.正确的应答

D⑸ R52Heg  第五数据项⑹ 030H⑺ 030H第一数据项      ⑾  第二数据项    ,2CH 030H 030H 131H E45H 030H 030H 737H 838H…………………………………………………… 030H 030H 030H 333H

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

e:这位表明这是一个应答代码

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

 

 

3.不正确的读命令应答

D⑸ R52He ⑹ 030H⑺ 737H

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

e:表明这是一个应答代码

 

4.写命令

注:写命令时,应先将COM模式至成COM状态。由LOC状态转换成COM状态不能由仪表窗口完成,只能由上位机完成。由COM状态转换成LOC状态上位机、仪表窗口均可完成。

d⑸ W57H       ef⑽ 030H      g⑾    ⑹ 030H⑺ 434H⑻ 030H⑼ 030H ,2CH030H030H232H838H

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

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

f:这位表明这个命令要写1个参数。(写命令时这位固定为0)

g  通讯数据[⑾这位的数据量决定于这位的数据,既这位的数据长度不定]。数据总是以”,”(2CH),数据项与数据项之间不需要任何分割符。数据的长度主要取决于第⑽的方式。每一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。

具体含义如下:

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

                                                       =0000  0100  0000  0000  (二进制)

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

=0000 (二进制)

=0    (十进制)

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

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

=0000  0000  0010  1000  (二进制)

=40                      (十进制)

5.正确的写命令应答

d⑸ W57He ⑹ 030H⑺ 030H

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

e:表明这是一个应答代码

 

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

d⑸ W57He ⑹ 030H⑺ 930H

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

e:表明这是一个应答代码

 

 

 

4-4应答代码表

应答代码代码类型代码类型的详细说明二进制码ASCII

 

 

 

 

0000 0000“0”,”0”:30H,30H正确的应答读、写命令的正确应答

 

0000 0001“0”,”1”:30H,31H硬件错误当发生硬件错误例如帧溢出或奇偶校验错误被检测到时。0000 0111“0”,”7”:30H,37H格式错误格式上和设计的固定格式不符。0000 1000“0”,”8”:30H,38H命令或数据的数量错误命令代码或数据的数量和设计的要求不同。0000 1001“0”,”9”:30H,39H数据错误被写入的数据不是有效的可被设定的范围0000 1010“0”,”A”:30H,41H执行命令错误执行命令的接收是在一定条件下的(例如AT),否则将不被执行0000 1011“0”,”B”:30H,42H写模式错误一些类型的数据在某一时刻将不能及时被写入。这种数据写入应在这种数据允许写入的时刻写入。0000 1100“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”      46H       50H

0041        “9”       “3”      39H       33H

0042                            00H       00H

0043                            00H       00H

 

命令代码(十六进制)参数参数的详细说明读/写0100PV_W测量值读0101SV_W当前执行的设定值读0102OUT1_W控制输出的值读0103保留值被固定为0000H读0104EXE_FLG执行标志(不执行时=0)读0105EV_FLG事件输出标志(无事件输出时=0000)读0106保留值被固定为0000H读0107EXE_PID当前执行的PID号读

EXE_FLG和EV_FLG的详细说明如下:

          D15  D14  D13  D12  D11 D10  D9  D8  D7  D6  D5  D4  D3  D2  D1  D0

EXE_FLG    0    0    0    0    0   0    0  COM  0   0   0   0   0   0  MAN  AT 

EV_FLG     0    0    0    0    0   0    0   0   0   0   0   0   0   0  EV2  EV1

.上限超量程时,EV_FLG的将被赋值为7FFFH。

.下限超量程时,EV_FLG的将被赋值为7FFFH。

010BDI_FLGDI开关状态标志位 读

DI_FLG的详细说明如下:

         D15  D14  D13  D12  D11 D10  D9  D8  D7  D6  D5  D4  D3   D2   D1   D0

DI_FLG    0    0    0    0    0   0    0  COM  0   0   0   0  DI4  DI3  DI2  DI1

0110UNIT单位  0=℃   1=℉读0111RANGE测量范围(见测量范围代码表)读0112保留保留 0113DP小数点位置 0=无  1=0.1  2=0.01   3=0.001读0114SC_L测量范围下限值 -1999~9989读0115SC_H测量范围上限值 -1989~9999读

 

0120E_PRG程序执行标志读0121E_PTN当前执行的曲线号读0122保留保留读0123E_RPT曲线重复次数读0124E_STP当前执行曲线的步读0125E_TIM当前执行步的剩余时间读0126E_PID当前执行的PID号读

E_PRG的详细说明如下:

          D15  D14  D13  D12  D11 D10  D9  D8  D7  D6  D5  D4  D3  D2  D1  D0

E_PRG     PRG   0    0    0    0  UP   LVL DW  0   0   0   0   0   GUA HLD  RUN 

         

          PRG  1:程序状态   0:定值状态       GUA  1:确保平台    0:无确保平台

UP   1:程序状态   0:定值状态       HLD  1:程序保持    0:无程序保持

LVL  1:程序状态   0:定值状态       RUN  1:运行        0:无运行

DW   1:程序状态   0:定值状态      

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

 

0182OUT1_W在手动方式下设置输出的值写0183保留保留写0184AT自整定             0=不执行,1=执行 写0185MAN手动               0=自动,  1=手动 写

 

018CCOM通讯               0=本机,  1=通讯写

 

0190RST复位/运行          0=复位,    1=运行写0191HLD程序保持           0=释放保持,1=保持写0192ADV程序跳步           0=不执行,  1=跳步 写

 

0300SV1定值方式的SV值写

 

030ASV_LSV下限值读/写030BSV_HSV上限值读/写

 

0400PB1控制输出的比例带1读/写0401IT1控制输出的积分时间1读/写0402DT1控制输出的微分时间1读/写0403MR1人工补偿1读/写0404DF1回差1读/写0405011_L控制输出下限1读/写0406011_H控制输出上限1读/写0407SF1控制输出抗超调系数1读/写0408PB2控制输出的比例带2读/写0409IT2控制输出的积分时间2读/写040ADT2控制输出的微分时间2读/写040BMR2人工补偿2读/写040CDF2回差2读/写040D012_L控制输出下限2读/写040E012_H控制输出上限2读/写040FSF2控制输出抗超调系数2读/写0410PB3控制输出的比例带3读/写0411IT3控制输出的积分时间3读/写0412DT3控制输出的微分时间3读/写0413MR3人工补偿3读/写0414DF3回差3读/写0415013_L控制输出下限3读/写0416013_H控制输出上限3读/写0417SF3控制输出抗超调系数3读/写0418PB4控制输出的比例带4读/写0419IT4控制输出的积分时间4读/写041ADT4控制输出的微分时间4读/写041BMR4人工补偿4读/写041CDF4回差4读/写041D014_L控制输出下限4读/写041E014_H控制输出上限4读/写041FSF4控制输出抗超调系数4读/写0420PB5控制输出的比例带5读/写0421IT5控制输出的积分时间5读/写0422DT5控制输出的微分时间5读/写0423MR5人工补偿5读/写0424DF5回差5读/写0425015_L控制输出下限5读/写0426015_H控制输出上限5读/写0427SF5控制输出抗超调系数5读/写0428PB6控制输出的比例带6读/写0429IT6控制输出的积分时间6读/写042ADT6控制输出的微分时间6读/写042BMR6人工补偿6读/写042CDF6回差6读/写042D016_L控制输出下限6读/写042E016_H控制输出上限6读/写042FSF6控制输出抗超调系数6读/写

 

04C0ZSP1区域1读/写04C1ZSP2区域2读/写04C2ZSP3区域3读/写

 

04CAZHYS区域回差读/写04CBZPID区域PID    0:OFF    1:ON读/写

 

0500EV1_MD事件报警1的模式          (见说明书事件报警)读/写0501EV1_SP事件报警1的设定值        (见说明书事件报警)读/写0502EV1_DF事件报警1的回差读/写0503EV1_STB事件报警1的抑制和非抑制状态OFF:无抑制。1:初次上电,报警抑制。2:初次上电脱机状态时,报警抑制。3:初次上电脱机状态或改变设定值时,报警抑制。4:脱机状态时抑制,运行状态时无抑制。      读/写

 

0508EV2_MD事件报警2的模式          (见说明书事件报警)读/写0509EV2_SP事件报警2的设定值        (见说明书事件报警)读/写050AEV2_DF事件报警2的回差读/写050BEV2_STB事件报警2的抑制和非抑制状态OFF:无抑制。1:初次上电,报警抑制。2:初次上电脱机状态时,报警抑制。3:初次上电脱机状态或改变设定值时,报警抑制。4:脱机状态时抑制,运行状态时无抑制。       读/写

 

0510EV3_MD事件报警3的模式          (见说明书事件报警)读/写0511EV3_SP事件报警3的设定值        (见说明书事件报警)读/写0512EV3_DF事件报警3的回差读/写0513EV3_STB事件报警3的抑制和非抑制状态OFF:无抑制。1:初次上电,报警抑制。2:初次上电脱机状态时,报警抑制。3:初次上电脱机状态或改变设定值时,报警抑制。4:脱机状态时抑制,运行状态时无抑制。       读/写

 

0518DO1_MDDO1模式          详见使用说明书的Event/DO 表读/写

 

0519DO2_MDDO2模式          详见使用说明书的Event/DO 表读/写

 

0528DO3_MDDO3模式          详见使用说明书的Event/DO 表读/写

 

0529DO4_MDDO4模式          详见使用说明书的Event/DO 表读/写

 

0581DI2DI开关2          详见使用说明书的DI 表读/写0582DI3DI开关3          详见使用说明书的DI 表读/写0583DI4DI开关4          详见使用说明书的DI 表读/写

 

05A0A01_MD模拟变送模式 0=测量值,1=设定值,2=输出值读/写05A1A01_L模拟变送下限读/写05A2A01_H模拟变送上限读/写

 

05B0COM_MEM通讯的存贮模式       0=EEP  1=REM   2=r_E读/写

 

0600ACTMD输出的特性           0=反作用     1=整作用读/写060101_CYC控制输出的比例周期读/写

 

0611KLOCK键盘锁  0=无锁定1=锁定窗口群组3、4和5        2=锁定窗口群组1、2、3、4和53=除了RUN、RST全部锁定读/写

 

0701PV_BPV值偏移读/写0702PV_FPV值滤波读/写

 

0800PRG_MD控制模式           0=程序模式   1=定值方式读/写0801保留保留读/写0802ST_PTN起始的曲线号读/写

 

0818PRN_MOD当前曲线号读/写0819TIM_MOD时间单位        0=小时/分     1=分/秒读/写081ASHT_MOD急停模式读/写081BSCO_MOD非正常输入模式读/写

 

0820FIX PID NO.定值方式的PID号读/写

 

0882P01 STP程序模式下曲线1的步数读/写0883P01 RPT程序模式下曲线1的重复次数读/写0884P01 ST_SV程序模式下曲线1的起始设定值读/写0885P01 GUA_Z程序模式下曲线1的确保平台区域读/写0886保留保留读/写0887P01 PV_ST程序模式下曲线1的起始测量值读/写0888保留保留读/写0889P01 EV1程序模式下曲线1的EV1事件值读/写088AP01 EV2程序模式下曲线1的EV2事件值读/写088BP01 EV3程序模式下曲线1的EV3事件值读/写

 

088EP01 TS1STP曲线1的第1时间信号的步号读/写088FP01 TS1_ON曲线1的第1时间信号延时开时间读/写0890P01 TS1_OFF曲线1的第1时间信号延时停时间读/写0891P01 TS2STP曲线1的第2时间信号的步号读/写0892P01 TS2_ON曲线1的第2时间信号延时开时间读/写0893P01 TS2_OFF曲线1的第2时间信号延时停时间读/写

.TS1TSP和TS2STP的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0

*********  第X步的起始时间  ************    *********** 第X步的停止时间********

08A0P01 S01_SV曲线1的第一步的SV值读/写08A1P01 S01_TM曲线1的第一步的时间读/写08A2P01 S01_PE曲线1的第一步的PID号读/写08A3保留保留读/写08A4P01 S02_SV曲线1的第二步的SV值读/写08A5P01 S02_TM曲线1的第二步的时间读/写08A6P01 S02_PE曲线1的第二步的PID号读/写08A7保留保留读/写08A8P01 S03_SV曲线1的第三步的SV值读/写08A9P01 S03_TM曲线1的第三步的时间读/写08AAP01 S03_PE曲线1的第三步的PID号读/写08AB保留保留读/写08ACP01 S04_SV曲线1的第四步的SV值读/写08ADP01 S04_TM曲线1的第四步的时间读/写08AEP01 S04_PE曲线1的第四步的PID号读/写08AF保留保留读/写08B0P01 S05_SV曲线1的第五的SV值读/写08B1P01 S05_TM曲线1的第五步的时间读/写08B2P01 S05_PE曲线1的第五步的PID号读/写08B3保留保留读/写08B4P01 S06_SV曲线1的第六的SV值读/写08B5P01 S06_TM曲线1的第六的时间读/写08B6P01 S06_PE曲线1的第六的PID号读/写08B7保留保留读/写08B8P01 S07_SV曲线1的第七步的SV值读/写08B9P01 S07_TM曲线1的第七步的时间读/写08BAP01 S07_PE曲线1的第七步的PID号读/写08BB保留保留读/写08BCP01 S08_SV曲线1的第八步的SV值读/写08BDP01 S08_TM曲线1的第八步的时间读/写08BEP01 S08_PE曲线1的第八步的PID号读/写08BF保留保留读/写08C0P01 S09_SV曲线1的第九步的SV值读/写08C1P01 S09_TM曲线1的第九步的时间读/写08C2P01 S09_PE曲线1的第九步的PID号读/写08C3保留保留读/写08C4P01 S010_SV曲线1的第十步的SV值读/写08C5P01 S010_TM曲线1的第十步的时间读/写08C6P01 S010_PE曲线1的第十步的PID号读/写

.S**_TM  的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7    D6    D5    D4    D3    D2    D1     D0

***  0-9H10h(m)  ***   ***  0-9H1h(m) ***   ***  0-9H10m(s) ***    ***   0-9H1m(s)  ***

 

 

0902P02 STP程序模式下曲线2的步数读/写0903P02 RPT程序模式下曲线2的重复次数读/写0904P02 ST_SV程序模式下曲线2的起始设定值读/写0905P02 GUA_Z程序模式下曲线2的确保平台区域读/写0906保留保留读/写0907P02 PV_ST程序模式下曲线2的起始测量值读/写0908保留保留读/写0909P02 EV1程序模式下曲线2的EV1事件值读/写090AP02 EV2程序模式下曲线2的EV2事件值读/写090BP02 EV3程序模式下曲线2的EV3事件值读/写

 

090EP02 TS1STP曲线2的第1时间信号的步号读/写090FP02 TS1_ON曲线2的第1时间信号延时开时间读/写0910P02 TS1_OFF曲线2的第1时间信号延时停时间读/写0911P02 TS2STP曲线2的第2时间信号的步号读/写0912P02 TS2_ON曲线2的第2时间信号延时开时间读/写0913P02 TS2_OFF曲线2的第2时间信号延时停时间读/写

.TS1TSP和TS2STP的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0

     *********  第X步的起始时间  ************    *********** 第X步的停止时间********

0920P02 S01_SV曲线2的第一步的SV值读/写0921P02 S01_TM曲线2的第一步的时间读/写0922P02 S01_PE曲线2的第一步的PID号读/写0923保留保留读/写0924P02 S02_SV曲线2的第二步的SV值读/写0925P02 S02_TM曲线2的第二步的时间读/写0926P02 S02_PE曲线2的第二步的PID号读/写0927保留保留读/写0928P02 S03_SV曲线2的第三步的SV值读/写0929P02 S03_TM曲线2的第三步的时间读/写092AP02 S03_PE曲线2的第三步的PID号读/写092B保留保留读/写092CP02 S04_SV曲线2的第四步的SV值读/写092DP02 S04_TM曲线2的第四步的时间读/写092EP02 S04_PE曲线2的第四步的PID号读/写092F保留保留读/写0930P02 S05_SV曲线2的第五步的SV值读/写0931P02 S05_TM曲线2的第五步的时间读/写0932P02 S05_PE曲线2的第五步的PID号读/写0933保留保留读/写0934P02 S06_SV曲线2的第六的SV值读/写0935P02 S06_TM曲线2的第六的时间读/写0936P02 S06_PE曲线2的第六的PID号读/写0937保留保留读/写0938P02 S07_SV曲线2的第七步的SV值读/写0939P02 S07_TM曲线2的第七步的时间读/写093AP02 S07_PE曲线2的第七步的PID号读/写093B保留保留读/写093CP02 S08_SV曲线2的第八步的SV值读/写093DP02 S08_TM曲线2的第八步的时间读/写093EP02 S08_PE曲线2的第八步的PID号读/写093F保留保留读/写0940P02 S09_SV曲线2的第九步的SV值读/写0941P02 S09_TM曲线2的第九步的时间读/写0942P02 S09_PE曲线2的第九步的PID号读/写0943保留保留读/写0944P02 S010_SV曲线2的第十步的SV值读/写0945P02 S010_TM曲线2的第十步的时间读/写0946P02 S010_PE曲线2的第十步的PID号读/写

.S**_TM  的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7    D6    D5    D4    D3    D2    D1     D0

***  0-9H10h(m)  ***   ***  0-9H1h(m) ***   ***  0-9H10m(s) ***    ***   0-9H1m(s)  ***

 

.补充说明:在不同曲线条数下,步号的号码可能是不一样的。

曲线条数每条曲线的最大步数曲线2的第1步---第10步的不同号码140一条曲线的第11步------第20步220两条曲线的第一条的第11步------第20步410四条曲线的第二条的第1步------第10步

 

 

0982P03 STP程序模式下曲线3的步数读/写0983P03 RPT程序模式下曲线3的重复次数读/写0984P03 ST_SV程序模式下曲线3的起始设定值读/写0985P03 GUA_Z程序模式下曲线3的确保平台区域读/写0986保留保留读/写0987P03 PV_ST程序模式下曲线3的起始测量值读/写0988保留保留读/写0989P03 EV1程序模式下曲线3的EV1事件值读/写09BAP03 EV2程序模式下曲线3的EV2事件值读/写098BP03 EV3程序模式下曲线3的EV3事件值读/写

 

098EP03 TS1STP曲线3的第1时间信号的步号读/写098FP03 TS1_ON曲线3的第1时间信号延时开时间读/写0990P03 TS1_OFF曲线3的第1时间信号延时停时间读/写0991P03 TS2STP曲线3的第2时间信号的步号读/写0992P03 TS2_ON曲线3的第2时间信号延时开时间读/写0993P03 TS2_OFF曲线3的第2时间信号延时停时间读/写

.TS1TSP和TS2STP的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0

*********  第X步的起始时间  *************    *********** 第X步的停止时间********

09A0P03 S01_SV曲线3的第一步的SV值读/写09A1P03 S01_TM曲线3的第一步的时间读/写09A2P03 S01_PE曲线3的第一步的PID号读/写09A3保留保留读/写09A4P03 S02_SV曲线3的第二步的SV值读/写09A5P03 S02_TM曲线3的第二步的时间读/写09A6P03 S02_PE曲线3的第二步的PID号读/写09A7保留保留读/写09A8P03 S03_SV曲线3的第三步的SV值读/写09A9P03 S03_TM曲线3的第三步的时间读/写09AAP03 S03_PE曲线3的第三步的PID号读/写09AB保留保留读/写09ACP03 S04_SV曲线3的第四步的SV值读/写09ADP03 S04_TM曲线3的第四步的时间读/写09AEP03 S04_PE曲线3的第四步的PID号读/写09AF保留保留读/写09B0P03 S05_SV曲线3的第五步的SV值读/写09B1P03 S05_TM曲线3的第五步的时间读/写09B2P03 S05_PE曲线3的第五步的PID号读/写09B3保留保留读/写09B4P03 S06_SV曲线3的第六的SV值读/写09B5P03 S06_TM曲线3的第六的时间读/写09B6P03 S06_PE曲线3的第六的PID号读/写09B7保留保留读/写09B8P03 S07_SV曲线3的第七步的SV值读/写09B9P03 S07_TM曲线3的第七步的时间读/写09BAP03 S07_PE曲线3的第七步的PID号读/写09BB保留保留读/写09BCP03 S08_SV曲线3的第八步的SV值读/写09BDP03 S08_TM曲线3的第八步的时间读/写09BEP03 S08_PE曲线3的第八步的PID号读/写09BF保留保留读/写09C0P03 S09_SV曲线3的第九步的SV值读/写09C1P03 S09_TM曲线3的第九步的时间读/写09C2P03 S09_PE曲线3的第九步的PID号读/写09C3保留保留读/写09C4P03 S010_SV曲线3的第十步的SV值读/写09C5P03 S010_TM曲线3的第十步的时间读/写09C6P03 S010_PE曲线3的第十步的PID号读/写

.S**_TM  的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7    D6    D5    D4    D3    D2    D1     D0

***  0-9H10h(m)  ***   ***  0-9H1h(m) ***   ***  0-9H10m(s) ***    ***   0-9H1m(s)  ***

.补充说明:在不同曲线条数下,步号的号码可能是不一样的。

曲线条数每条曲线的最大步数曲线3的第1步---第10步的不同号码140一条曲线的第21步------第30步220两条曲线的第二条的第1步------第10步410四条曲线的第三条的第1步------第10步

 

 

 

 

 0A02P04 STP程序模式下曲线4的步数读/写0A03P04 RPT程序模式下曲线4的重复次数读/写0A04P04 ST_SV程序模式下曲线4的起始设定值读/写0A05P04 GUA_Z程序模式下曲线4的确保平台区域读/写0A06保留保留读/写0A07P04 PV_ST程序模式下曲线4的起始测量值读/写0A08保留保留读/写0A09P04 EV1程序模式下曲线4的EV1事件值读/写0A0AP04 EV2程序模式下曲线4的EV2事件值读/写0A0BP04 EV3程序模式下曲线4的EV3事件值读/写

 

0A0EP04 TS1STP曲线4的第1时间信号的步号读/写0A0FP04 TS1_ON曲线4的第1时间信号延时开时间读/写0A10P04 TS1_OFF曲线4的第1时间信号延时停时间读/写0911P04 TS2STP曲线4的第2时间信号的步号读/写0912P04 TS2_ON曲线4的第2时间信号延时开时间读/写0913P04 TS2_OFF曲线4的第2时间信号延时停时间读/写

.TS1TSP和TS2STP的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0

*********  第X步的起始时间  ************     *********** 第X步的停止时间********

0A20P04 S01_SV曲线4的第一步的SV值读/写0A21P04 S01_TM曲线4的第一步的时间读/写0A22P04 S01_PE曲线4的第一步的PID号读/写0A23保留保留读/写0A24P04 S02_SV曲线4的第二步的SV值读/写0A25P04 S02_TM曲线4的第二步的时间读/写0A26P04 S02_PE曲线4的第二步的PID号读/写0A27保留保留读/写0A28P04 S03_SV曲线4的第三步的SV值读/写0A29P04 S03_TM曲线4的第三步的时间读/写0A2AP04 S03_PE曲线4的第三步的PID号读/写0A2B保留保留读/写0A2CP04 S04_SV曲线4的第四步的SV值读/写0A2DP04 S04_TM曲线4的第四步的时间读/写0A2EP04 S04_PE曲线4的第四步的PID号读/写0A2F保留保留读/写0A30P04 S05_SV曲线4的第五步的SV值读/写0A31P04 S05_TM曲线4的第五步的时间读/写0A32P04 S05_PE曲线4的第五步的PID号读/写0A33保留保留读/写0A34P04 S06_SV曲线4的第六的SV值读/写0A35P04 S06_TM曲线4的第六的时间读/写0A36P04 S06_PE曲线4的第六的PID号读/写0A37保留保留读/写0A38P04 S07_SV曲线4的第七步的SV值读/写0A39P04 S07_TM曲线4的第七步的时间读/写0A3AP04 S07_PE曲线4的第七步的PID号读/写0A3B保留保留读/写0A3CP04 S08_SV曲线4的第八步的SV值读/写0A3DP04 S08_TM曲线4的第八步的时间读/写0A3EP04 S08_PE曲线4的第八步的PID号读/写0A3F保留保留读/写0A40P04 S09_SV曲线4的第九步的SV值读/写0A41P04 S09_TM曲线4的第九步的时间读/写0A42P04 S09_PE曲线4的第九步的PID号读/写0A43保留保留读/写0A44P04 S010_SV曲线4的第十步的SV值读/写0A45P04 S010_TM曲线4的第十步的时间读/写0A46P04 S010_PE曲线4的第十步的PID号读/写

.S**_TM  的详细说明如下:

D15   D14   D13   D12   D11   D10   D9   D8   D7    D6    D5    D4    D3    D2    D1     D0

***  0-9H10h(m)  ***   ***  0-9H1h(m) ***   ***  0-9H10m(s) ***    ***   0-9H1m(s)  ***

 

曲线条数每条曲线的最大步数曲线4的第1步---第10步的不同号码140一条曲线的第31步------第40步220两条曲线的第二条的第11步------第20步410四条曲线的第四条的第1步------第10步

 

4-6 ASCII 代码

 b7b6b5000001010011100101110111b4b3b1 0123456700000NULTC7(DLE)SP0@P`p00011TC1(SOH)DC1!1AQaq00102TC2(STX)DC2”2BRbr00113TC3(ETX)DC3#3CScs01004TC4(EOT)DC4$4DTdt01015TC5(ENQ)TC8(NAK)%5EUeu01106TC6(ACK)TC9(SYN)&6FVfv01117BELTC10(ETB)’7GWgw10008FE0(BS)CAN(8HXhx10019FE1(HT)EM)9IYiy1010AFE2(LF)SUB*:JZjz1011BFE3(VT)ESC+;K[k{1100CFE4(FF)IS4(FS),< Ll︱1101DFE5(CR)IS3(GS)-=M]m}1110ESOIS2(RS).> N^n~1111FSIIS1(US)/?O_0DEL

 

4-7 事件报警类型

报警代码事件类型类型号码nOn无0Hd上限偏差值报警1Ld下限偏差值报警2Od上或下限偏差值外报警3Cd上或下限偏差值内报警4HA上限绝对值报警5LA下限绝对值报警6So超量程报警7Hold加热器或环路报警8Guar加热确保平台9Tms1程序定时器110Tms2程序定时器211Run运行状态12Stps曲线步的开始信号13Ends曲线步的结束信号14Fix定值方式15

 

4-8 BASICA程序例

4.8.1设置起始符,文件结束,全文件结束的三个控制符

 STX$ = "@": ETX$ = ":" :CR$=CHR$(13)

初使化PC机口和设数据格式(必需和仪表的设置相同)

 使用PC COM1口,设置1200波特,偶效验,7位数据,1停止位,屏敝握手信号。

 BPS$ = "1200" :ADR$="01" :REM 设置波特率和仪表通讯地址

 OPEN "COM1:" + BPS$ + ",E,7,1,CD,RS,CS,DS"  AS #1 

 

 

原程序

10 CLS

20 REM SD20 COM1  BPS=1200  ADR=00  FORMAT =7E1

30 STX$ = "@": ETX$ = ":"

40 BPS$ = "1200"

50 OPEN "COM1:" + BPS$ + ",E,7,1,CD,RS,CS,DS" FOR RANDOM AS #1: REM INITIAL COM(1)

51 INPUT "DO YOU ENTER TEST PROGRAM ?",UA$

52 IF UA$="Y" THEN GOTO 70

53 INPUT "DO YOU TEST READ OR WRITE ORDER?", RW$

54 IF RW$="R" THEN GOTO 60

56 RW$="W"

60 LINE INPUT "PLEASE ENTER ORDER = ";CMD1$:PRINT “This is a “;RW$;“ order test”

61 IF RW$="R" THEN GOTO 65

62 LINE INPUT "PLEASE ENTER DATA = "; DATA1$:DATA1=VAL(DATA1$)

63 DATA1$=HEx$(DATA1):DATA1L=4-LEN(DATA1$):DATA2$=STRING$(DATA1L,"0"):DATA1$=DATA2$+DATA1$

64 ADR$="011":CMD$=RW$+CMD1$+"0"+","+DATA1$

65 GOTO 80

66 ADR$="011":CMD$=RW$+CMD1$+"0"

67 GOTO 80

70 ADR$ = "011": CMD$="R01000" :REM SD20 ADDR=00

80 BC$ = ADR$ + CMD$ + ETX$

90  GOSUB 310

100 TXD$ = STX$ + BC$ + BCC$ + CHR$(13)

110 PRINT #1, TXD$;

120 PRINT "SENDING DATA =  "; TXD$

130 T3 = VAL(MId$(TIME$, 7, 2)): 'WAITING TIME 2s

140 IF EOF(1) = 0 THEN 170

150 T4 = VAL(MId$(TIME$, 7, 2))

160 IF ABS(T4 - T3) < 4 THEN 140 ELSE PRINT "OVER 2S AND COMMUNICATION ERROR!":

GOTO 53

170 D$ = "": REM DATA RECEIVE

180 A$ = INPUT$(1, #1)

190 D$ = D$ + A$

200 IF A$ = CHR$(13) THEN GOTO 220

210 GOTO 180

220 RBCC$ = LEFt$(RIGHt$(D$, 3), 2): REM RECEIVE DATA BCC CHECK

230 LEC = LEN(D$)

240 BC$ = MId$(D$, 2, LEC - 4)

250 GOSUB 310

260 IF RBCC$ = BCC$ THEN 281

270 PRINT "BCC$="; BCC$: PRINT "BCC ERROR !": PRINT D$

280 END

281 LEC = LEN(D$): F$ = "": K = 1

282 FOR P = 6 TO LEC

283 N$ = MId$(D$, P, 1)

284 IF N$ = "," THEN U$(K) = F$: K = K + 1: F$ = "": GOTO 287

285 IF N$ = ETX$ THEN U$(K) = F$: N = K: GOTO 288

286 F$ = F$ + N$

287 NEXT

288 PRINT "RECEIVING DATA="; D$

289 FOR N = 1 TO K

290 PRINT U$(N),

291 NEXT

292 PRINT

300 GOTO 60

310 BCC = ASC(LEFt$(BC$, 1)): REM BCC CHECK!

320 L = LEN(BC$)

330 FOR N = 2 TO L

340 BCC = BCC XOR ASC(MId$(BC$, N, 1))

350 NEXT N

360 BCC$ = HEx$(BCC)

370 IF LEN(BCC$) = 1 THEN BCC$ = "0" + BCC$

380 RETURN

 

 

4.8.2仪表的通讯设置

 1-34窗口

    ┌─────────┐  LOC:机内方式

    │通讯/机内方式选择 │  ◎此时,仪表面板通迅 COM 指示灯灭。

    ├────┬────┤  ◎仅能由上位机控制命令,转成通讯方式(COM)。

    │ COMM  │COMM          仅能完成上位机的读命令。可由键设定内部参数。

    ├────┼────┤  COM:上位机通迅方式                                                                   

    │Loc  │  LOCAL │ ◎此时,仪表面板通迅 COM 指示灯亮

    └────┴────┘  ◎可由仪表键盘或上位机控制命令转成 LOC 机内方式。

 

4.8.3流程图

 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃      ┌───────┐                                               ┃

┃   │ 初始化通讯口 │                                               ┃

┃      └───────┘                                               ┃

┃              ↓                                                        ┃

 ┃      ┌───────┐                                               ┃

┃   ┌→│ 接受命令并计 │                                               ┃

┃   │  │  算出BCC码  │                                               ┃

┃   │  └───────┘                                               ┃

┃   │          ↓                                                       ┃

┃   │  ┌───────┐     命令重发                              ┃

┃   │  │   发送命令   │  ←─────────────┬─────┐   ┃

┃   │  └───────┘                              │          │   ┃

┃   │          ↓                                      ↑No        │   ┃

┃   │         /\                                    /\         │   ┃

┃   │       /    \                                /    \       │   ┃

┃   │     / 接收缓 \  No  ┌──────┐      / 发令三 \     │   ┃

┃   │   〈   冲器有   〉→─│  延时4秒  │→  〈    次否    〉   │   ┃

┃   │     \ 效否?  /      └──────┘      \    ?   /     │   ┃

┃   │       \    /                                \    /       │   ┃

┃   │         \/                                    \/         │   ┃

┃   │          ↓ Yes                                  ↓ Yes      │   ┃

┃   │  ┌───────┐                      ┌───────┐  │   ┃

┃   ││ 接收字符并计 │                      │  出错打印    │  │   ┃

┃   │  │  算出BCC码  │                      └───────┘  │   ┃

┃   │  └───────┘                                          │   ┃

┃   │          ↓                                                  │   ┃

┃   │         /\                         /\                  │   ┃

┃   │       /    \                      /    \                │   ┃

┃   │     / BCC校验\  No              / 发令三 \   No         │   ┃

┃   │   〈   正确否?  〉→────── 〈    次否    〉→─────┘   ┃

 ┃  │     \        /                   \    ?   /                   ┃

 ┃  │       \    /                       \    /                     ┃

 ┃  │         \/                           \/                       ┃

 ┃  │          ↓ Yes                         ↓ Yes                    ┃

 ┃  │  ┌───────┐             ┌───────┐                ┃

 ┃  │ │ 打印出所接收 │             │  出错打印    │                ┃

 ┃  │  │    的参数    │             └───────┘                ┃

 ┃  │  └───────┘                                               ┃

 ┃  │          ↓                                                       ┃

 ┃  │          │                                                       ┃

 ┃  └─────┘                                                   &nb, sp;   ┃

 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

4.8.4 RS485通讯接口和BASIC程序方法

1. RS485双向数据总线转换硬件示意图

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃    ┌───────┐             + 有效                           ┃

┃    │请求发送RST(4)│ ─→────┐                              ┃

┃    │              │           │\○ ───┬───●←┈┈→    ┃

┃    │              │           │  \       │                    ┃

┃    │数据发送TXD(2)│────→ │发   〉    │ 485双向数据总线   ┃

┃    │              │           │  /       │                    ┃

┃    │ PC-232接口   │           │/ ──┬─┼───●←┈┈→   ┃

┃    │电平转换器    │                    │  │                    ┃

┃    │              │            /│    │  │                    ┃

┃    │              │          /  ○──┼─┘                    ┃

┃    │数据接收RSD(3)│←───〈  接│    │                       ┃

┃    │              │          \  ├──┘                        ┃

┃    │              │            \│                              ┃

┃    └───────┘                                              ┃

┃                    232/485转换硬件示意图                          ┃

┃                                                                    ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

    RS485接口要求在发送数据完成后,立即关闭发送,否则无法接收其它设备的通讯。而存在着双向数据总线转换冲突和发送数据被自己接收的问题,在上位机的通讯软件的设计中,可采用两种方法:① UART 的发送寄存器空的位测试命令 ② 完整的接收到自发的数据,来确认发送数据完成,以便及时地关闭发送。

    上位机的RS232/485转换器通常是利用232口的RST请求发送信号的位置位/位复位信号,作为发送数据总线的转换控制。在BASIC程序 OPEN "COM 1 ,1200,E,7,1,CD,RS,CS,DS"  AS #1命令后,初始化PC机的通讯口,RST信号置零,使发送驱动器变成高阻输出。发送数据时,"OUT(&H3FC),&H0B"的命令,使经UART 8250输出的RST信号置高,令发送驱动器变成低阻输出;发送数据完成后,输出"OUT(&H3FC),&H09"命令,又将RST信号置零,发送驱动器恢复成高阻输出。

    下位仪表,可在仪表的RS485延时时间窗口,根据通讯速度,调整发送数据总线的转换时间。                                 

 

建议:选用RS485接口的仪表时,可采用研华5020型RS232/RS485智能通讯转换模块,       编程时无需考虑总线切换的问题。

 

5. 附录:

━━━━━

A.通讯串口接线方法

             ☆RS-232C通讯口接线示意图

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

 │数据发送     SD  2├────→────┤ RD           │

 │数据接收     RD  3├─────←───┤ SD           │

 │请求发送     RTS 4├→┐              │    SR80系列  │

 │清除发送     CTS 5├←┘              │    RS-232C   │

 │数据设备准备 DSR 6├←┐              │              │

 │载波检测      CD 8├←┤              │              │

 │数据终端准备 DTR20├→┘              │              │

 │ 信号地          7├─────────┤ SG           │

 └─────────┘                  └───────┘

 PC机 25  针 RS-232C           仪表9针 RS232 (端子号见使用说明书)

 

 

               ☆PC机 RS-232C 串口25针与9针接线对照表:

┌───┬──┬──┬──┬──┬──┬──┬──┬──┬──┐

│ 9PIN │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │

├───┼──┼──┼──┼──┼──┼──┼──┼──┼──┤

│ 25PIN│ 8  │ 3  │ 2  │ 20 │ 7  │ 6  │ 4  │ 5  │ 22 │

└───┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

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

 │ 13                       1 │ │ ┌─┐5         1 ┌─┐ │

 │ ○○○○○○○○○○○○○ │ │ │  │ ○○○○○ │  │ │

 │                            │ │ │○│            │○│ │

 │  ○○○○○○○○○○○○  │ │ │  │  ○○○○  │  │ │

 │ 25                      14 │ │ └─┘ 9       6  └─┘ │

 └──────────────┘ └─────────────┘

    25针连接器接线图                    九针准连接器接线图   

B. RS232通讯口的技术数据                                                         

      ⒈信号电平:   EIA RS-232C 电平(±12V)                                       

      ⒉通讯方式:   RS232C 3线半双工                                              

      ⒊同步系统:   起始位-停止位,异步通讯                                        

      ⒋通讯距离:   RS232C  15 米                                                 

      ⒌通讯速度:   1200,2400,4800,9600,19200 波特率                                    

      ⒍数据格式:   8种.

                   常用格式:数据7位, 一个偶校验位,一个停止位                           

      ⒎数据块校验: 数据异或(双字节)                                          

      ⒏通讯码:     ASCII                                                     

      ⒐握手信号:   未使用                                                    

      ⒑连接台数:   RS-232C   1 台                                            

                                                                              

C. RS422/RS485通讯接口的技术数据                                                  

      ⒈信号电平:   EIA RS422A/485 电平 5V差动                                    

      ⒉通讯方式:   RS422A 4线半双工(多路)/RS485 2线半双工(多路)                  

      ⒊同步系统:   起始-停止位同位,异步通讯                                      

      ⒋通讯距离:   1200 米                                                        

      ⒌通讯速度:   1200,2400,4800,9600,19200 波特率                                    

      ⒍数据格式:   8种.

                    常用格式:数据7位, 一个偶校验位,一个停止位                           

      ⒎数据块校验: 异或(双字节)                                                   

      ⒏通讯码:     ASCII                                                         

      ⒐握手信号:   未使用                                                        

      ⒑连接台数:   RS-422/485   32 台 1.5公里(配RS232/422接口转换器)