首页 | 收藏本站 | 免费注册|申请VIP会员|固定排名|广告服务
中国电气自动化网首页
PLC | 电  机 | 变 频 器 | 人机界面 | 运动伺服 | 控制传动 | 自动化软件
DCS | 传感器 | 通信网络 | 现场总线 | 数据采集 | 电气开关 | 数传测控
电源 | 嵌入式 | 仪器仪表 | 低压电器 | 机器视觉 | 工业安全 | 工控机
模具 | 电线电缆 | 电子元件 | 成套设备 | 液压气动 | 制 冷
机床 | 电力能源 | 机械设备 | 石油化工 | 矿业冶金 | 水工业
物流 | 轨道交通 | 汽车电子 | 工程机械 | 输 配 电 | 电 梯
产品 企业 供求 新闻
下载 视频 招聘 期刊 会展 培训 库存 论坛 访谈 维修  
热词:嵌入式 传感器 电源 主板 工控机 PLC 人机界面 变频器

您现在的位置:中国电气自动化网首页 >> 文库首页>>详细信息

FP93仪表通讯协议 
(发布日期:2015-9-23 11:07:36) 来源:
 
   
 
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
 ⑴
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: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
 ⑴
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: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
R
52H
e
f
4
34H
0
30H
4
34H
0
30H
0
30H
d:这位表明这是一个读命令。
e:这位表明这个读命令是读控制输出的比例带1的值。
f:这位表明这读命令要从这个命令后连续读多少个参数。
具体含义如下:
这位表明这个读命令是读的控制输出的比例带1     =0400H              (十六进制)
                                                  =0000  0100  0000  0000  (二进制)
这位表明这读命令要读多少个参数。               =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            (十六进制)
                                                       =0000  0100  0000  0000  (二进制)
这位表明这读命令要写多少个参数。                   =0H
=0000 (二进制)
=0    (十进制)
(实际写参数的个数)             =1    (0+1)
被写入的具体数据                                  =0028H                   (十六进制)
=0000  0000  0010  1000  (二进制)
=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
 
 
 
 
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
 
命令代码
(十六进制)
参数
参数的详细说明
读/写
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的详细说明如下:
          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。
010B
DI_FLG
DI开关状态标志位
 
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
0110
UNIT
单位  0=℃   1=℉
0111
RANGE
测量范围(见测量范围代码表)
0112
保留
保留
 
0113
DP
小数点位置 0=无  1=0.1  2=0.01   3=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的详细说明如下:
          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。
 
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下限值
读/写
030B
SV_H
SV上限值
读/写
 
0400
PB1
控制输出的比例带1
读/写
0401
IT1
控制输出的积分时间1
读/写
0402
DT1
控制输出的微分时间1
读/写
0403
MR1
人工补偿1
读/写
0404
DF1
回差1
读/写
0405
011_L
控制输出下限1
读/写
0406
011_H
控制输出上限1
读/写
0407
SF1
控制输出抗超调系数1
读/写
0408
PB2
控制输出的比例带2
读/写
0409
IT2
控制输出的积分时间2
读/写
040A
DT2
控制输出的微分时间2
读/写
040B
MR2
人工补偿2
读/写
040C
DF2
回差2
读/写
040D
012_L
控制输出下限2
读/写
040E
012_H
控制输出上限2
读/写
040F
SF2
控制输出抗超调系数2
读/写
0410
PB3
控制输出的比例带3
读/写
0411
IT3
控制输出的积分时间3
读/写
0412
DT3
控制输出的微分时间3
读/写
0413
MR3
人工补偿3
读/写
0414
DF3
回差3
读/写
0415
013_L
控制输出下限3
读/写
0416
013_H
控制输出上限3
读/写
0417
SF3
控制输出抗超调系数3
读/写
0418
PB4
控制输出的比例带4
读/写
0419
IT4
控制输出的积分时间4
读/写
041A
DT4
控制输出的微分时间4
读/写
041B
MR4
人工补偿4
读/写
041C
DF4
回差4
读/写
041D
014_L
控制输出下限4
读/写
041E
014_H
控制输出上限4
读/写
041F
SF4
控制输出抗超调系数4
读/写
0420
PB5
控制输出的比例带5
读/写
0421
IT5
控制输出的积分时间5
读/写
0422
DT5
控制输出的微分时间5
读/写
0423
MR5
人工补偿5
读/写
0424
DF5
回差5
读/写
0425
015_L
控制输出下限5
读/写
0426
015_H
控制输出上限5
读/写
0427
SF5
控制输出抗超调系数5
读/写
0428
PB6
控制输出的比例带6
读/写
0429
IT6
控制输出的积分时间6
读/写
042A
DT6
控制输出的微分时间6
读/写
042B
MR6
人工补偿6
读/写
042C
DF6
回差6
读/写
042D
016_L
控制输出下限6
读/写
042E
016_H
控制输出上限6
读/写
042F
SF6
控制输出抗超调系数6
读/写
 
04C0
ZSP1
区域1
读/写
04C1
ZSP2
区域2
读/写
04C2
ZSP3
区域3
读/写
 
04CA
ZHYS
区域回差
读/写
04CB
ZPID
区域PID    0:OFF    1:ON
读/写
 
0500
EV1_MD
事件报警1的模式          (见说明书事件报警)
读/写
0501
EV1_SP
事件报警1的设定值        (见说明书事件报警)
读/写
0502
EV1_DF
事件报警1的回差
读/写
0503
EV1_STB
事件报警1的抑制和非抑制状态
OFF:无抑制。
1:初次上电,报警抑制。
2:初次上电脱机状态时,报警抑制。
3:初次上电脱机状态或改变设定值时,报警抑制。
4:脱机状态时抑制,运行状态时无抑制。
 
 
 
 
 
 
读/写
 
0508
EV2_MD
事件报警2的模式          (见说明书事件报警)
读/写
0509
EV2_SP
事件报警2的设定值        (见说明书事件报警)
读/写
050A
EV2_DF
事件报警2的回差
读/写
050B
EV2_STB
事件报警2的抑制和非抑制状态
OFF:无抑制。
1:初次上电,报警抑制。
2:初次上电脱机状态时,报警抑制。
3:初次上电脱机状态或改变设定值时,报警抑制。
4:脱机状态时抑制,运行状态时无抑制。
 
 
 
 
 
 
 
读/写
 
0510
EV3_MD
事件报警3的模式          (见说明书事件报警)
读/写
0511
EV3_SP
事件报警3的设定值        (见说明书事件报警)
读/写
0512
EV3_DF
事件报警3的回差
读/写
0513
EV3_STB
事件报警3的抑制和非抑制状态
OFF:无抑制。
1:初次上电,报警抑制。
2:初次上电脱机状态时,报警抑制。
3:初次上电脱机状态或改变设定值时,报警抑制。
4:脱机状态时抑制,运行状态时无抑制。
 
 
 
 
 
 
 
读/写
 
0518
DO1_MD
DO1模式          详见使用说明书的Event/DO 表
读/写
 
0519
DO2_MD
DO2模式          详见使用说明书的Event/DO 表
读/写
 
0528
DO3_MD
DO3模式          详见使用说明书的Event/DO 表
读/写
 
0529
DO4_MD
DO4模式          详见使用说明书的Event/DO 表
读/写
 
0581
DI2
DI开关2          详见使用说明书的DI 表
读/写
0582
DI3
DI开关3          详见使用说明书的DI 表
读/写
0583
DI4
DI开关4          详见使用说明书的DI 表
读/写
 
05A0
A01_MD
模拟变送模式 0=测量值,1=设定值,2=输出值
读/写
05A1
A01_L
模拟变送下限
读/写
05A2
A01_H
模拟变送上限
读/写
 
05B0
COM_MEM
通讯的存贮模式       0=EEP  1=REM   2=r_E
读/写
 
0600
ACTMD
输出的特性           0=反作用     1=整作用
读/写
0601
01_CYC
控制输出的比例周期
读/写
 
0611
KLOCK
键盘锁  0=无锁定
1=锁定窗口群组3、4和5
        2=锁定窗口群组1、2、3、4和5
3=除了RUN、RST全部锁定
读/写
 
0701
PV_B
PV值偏移
读/写
0702
PV_F
PV值滤波
读/写
 
0800
PRG_MD
控制模式           0=程序模式   1=定值方式
读/写
0801
保留
保留
读/写
0802
ST_PTN
起始的曲线号
读/写
 
0818
PRN_MOD
当前曲线号
读/写
0819
TIM_MOD
时间单位        0=小时/分     1=分/秒
读/写
081A
SHT_MOD
急停模式
读/写
081B
SCO_MOD
非正常输入模式
读/写
 
0820
FIX PID NO.
定值方式的PID号
读/写
 
0882
P01 STP
程序模式下曲线1的步数
读/写
0883
P01 RPT
程序模式下曲线1的重复次数
读/写
0884
P01 ST_SV
程序模式下曲线1的起始设定值
读/写
0885
P01 GUA_Z
程序模式下曲线1的确保平台区域
读/写
0886
保留
保留
读/写
0887
P01 PV_ST
程序模式下曲线1的起始测量值
读/写
0888
保留
保留
读/写
0889
P01 EV1
程序模式下曲线1的EV1事件值
读/写
088A
P01 EV2
程序模式下曲线1的EV2事件值
读/写
088B
P01 EV3
程序模式下曲线1的EV3事件值
读/写
 
088E
P01 TS1STP
曲线1的第1时间信号的步号
读/写
088F
P01 TS1_ON
曲线1的第1时间信号延时开时间
读/写
0890
P01 TS1_OFF
曲线1的第1时间信号延时停时间
读/写
0891
P01 TS2STP
曲线1的第2时间信号的步号
读/写
0892
P01 TS2_ON
曲线1的第2时间信号延时开时间
读/写
0893
P01 TS2_OFF
曲线1的第2时间信号延时停时间
读/写
.TS1TSP和TS2STP的详细说明如下:
D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0
*********  第X步的起始时间  ************    *********** 第X步的停止时间********
08A0
P01 S01_SV
曲线1的第一步的SV值
读/写
08A1
P01 S01_TM
曲线1的第一步的时间
读/写
08A2
P01 S01_PE
曲线1的第一步的PID号
读/写
08A3
保留
保留
读/写
08A4
P01 S02_SV
曲线1的第二步的SV值
读/写
08A5
P01 S02_TM
曲线1的第二步的时间
读/写
08A6
P01 S02_PE
曲线1的第二步的PID号
读/写
08A7
保留
保留
读/写
08A8
P01 S03_SV
曲线1的第三步的SV值
读/写
08A9
P01 S03_TM
曲线1的第三步的时间
读/写
08AA
P01 S03_PE
曲线1的第三步的PID号
读/写
08AB
保留
保留
读/写
08AC
P01 S04_SV
曲线1的第四步的SV值
读/写
08AD
P01 S04_TM
曲线1的第四步的时间
读/写
08AE
P01 S04_PE
曲线1的第四步的PID号
读/写
08AF
保留
保留
读/写
08B0
P01 S05_SV
曲线1的第五的SV值
读/写
08B1
P01 S05_TM
曲线1的第五步的时间
读/写
08B2
P01 S05_PE
曲线1的第五步的PID号
读/写
08B3
保留
保留
读/写
08B4
P01 S06_SV
曲线1的第六的SV值
读/写
08B5
P01 S06_TM
曲线1的第六的时间
读/写
08B6
P01 S06_PE
曲线1的第六的PID号
读/写
08B7
保留
保留
读/写
08B8
P01 S07_SV
曲线1的第七步的SV值
读/写
08B9
P01 S07_TM
曲线1的第七步的时间
读/写
08BA
P01 S07_PE
曲线1的第七步的PID号
读/写
08BB
保留
保留
读/写
08BC
P01 S08_SV
曲线1的第八步的SV值
读/写
08BD
P01 S08_TM
曲线1的第八步的时间
读/写
08BE
P01 S08_PE
曲线1的第八步的PID号
读/写
08BF
保留
保留
读/写
08C0
P01 S09_SV
曲线1的第九步的SV值
读/写
08C1
P01 S09_TM
曲线1的第九步的时间
读/写
08C2
P01 S09_PE
曲线1的第九步的PID号
读/写
08C3
保留
保留
读/写
08C4
P01 S010_SV
曲线1的第十步的SV值
读/写
08C5
P01 S010_TM
曲线1的第十步的时间
读/写
08C6
P01 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)  ***
 
 
0902
P02 STP
程序模式下曲线2的步数
读/写
0903
P02 RPT
程序模式下曲线2的重复次数
读/写
0904
P02 ST_SV
程序模式下曲线2的起始设定值
读/写
0905
P02 GUA_Z
程序模式下曲线2的确保平台区域
读/写
0906
保留
保留
读/写
0907
P02 PV_ST
程序模式下曲线2的起始测量值
读/写
0908
保留
保留
读/写
0909
P02 EV1
程序模式下曲线2的EV1事件值
读/写
090A
P02 EV2
程序模式下曲线2的EV2事件值
读/写
090B
P02 EV3
程序模式下曲线2的EV3事件值
读/写
 
090E
P02 TS1STP
曲线2的第1时间信号的步号
读/写
090F
P02 TS1_ON
曲线2的第1时间信号延时开时间
读/写
0910
P02 TS1_OFF
曲线2的第1时间信号延时停时间
读/写
0911
P02 TS2STP
曲线2的第2时间信号的步号
读/写
0912
P02 TS2_ON
曲线2的第2时间信号延时开时间
读/写
0913
P02 TS2_OFF
曲线2的第2时间信号延时停时间
读/写
.TS1TSP和TS2STP的详细说明如下:
D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0
     *********  第X步的起始时间  ************    *********** 第X步的停止时间********
0920
P02 S01_SV
曲线2的第一步的SV值
读/写
0921
P02 S01_TM
曲线2的第一步的时间
读/写
0922
P02 S01_PE
曲线2的第一步的PID号
读/写
0923
保留
保留
读/写
0924
P02 S02_SV
曲线2的第二步的SV值
读/写
0925
P02 S02_TM
曲线2的第二步的时间
读/写
0926
P02 S02_PE
曲线2的第二步的PID号
读/写
0927
保留
保留
读/写
0928
P02 S03_SV
曲线2的第三步的SV值
读/写
0929
P02 S03_TM
曲线2的第三步的时间
读/写
092A
P02 S03_PE
曲线2的第三步的PID号
读/写
092B
保留
保留
读/写
092C
P02 S04_SV
曲线2的第四步的SV值
读/写
092D
P02 S04_TM
曲线2的第四步的时间
读/写
092E
P02 S04_PE
曲线2的第四步的PID号
读/写
092F
保留
保留
读/写
0930
P02 S05_SV
曲线2的第五步的SV值
读/写
0931
P02 S05_TM
曲线2的第五步的时间
读/写
0932
P02 S05_PE
曲线2的第五步的PID号
读/写
0933
保留
保留
读/写
0934
P02 S06_SV
曲线2的第六的SV值
读/写
0935
P02 S06_TM
曲线2的第六的时间
读/写
0936
P02 S06_PE
曲线2的第六的PID号
读/写
0937
保留
保留
读/写
0938
P02 S07_SV
曲线2的第七步的SV值
读/写
0939
P02 S07_TM
曲线2的第七步的时间
读/写
093A
P02 S07_PE
曲线2的第七步的PID号
读/写
093B
保留
保留
读/写
093C
P02 S08_SV
曲线2的第八步的SV值
读/写
093D
P02 S08_TM
曲线2的第八步的时间
读/写
093E
P02 S08_PE
曲线2的第八步的PID号
读/写
093F
保留
保留
读/写
0940
P02 S09_SV
曲线2的第九步的SV值
读/写
0941
P02 S09_TM
曲线2的第九步的时间
读/写
0942
P02 S09_PE
曲线2的第九步的PID号
读/写
0943
保留
保留
读/写
0944
P02 S010_SV
曲线2的第十步的SV值
读/写
0945
P02 S010_TM
曲线2的第十步的时间
读/写
0946
P02 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步的不同号码
1
40
一条曲线的第11步------第20步
2
20
两条曲线的第一条的第11步------第20步
4
10
四条曲线的第二条的第1步------第10步
 
 
0982
P03 STP
程序模式下曲线3的步数
读/写
0983
P03 RPT
程序模式下曲线3的重复次数
读/写
0984
P03 ST_SV
程序模式下曲线3的起始设定值
读/写
0985
P03 GUA_Z
程序模式下曲线3的确保平台区域
读/写
0986
保留
保留
读/写
0987
P03 PV_ST
程序模式下曲线3的起始测量值
读/写
0988
保留
保留
读/写
0989
P03 EV1
程序模式下曲线3的EV1事件值
读/写
09BA
P03 EV2
程序模式下曲线3的EV2事件值
读/写
098B
P03 EV3
程序模式下曲线3的EV3事件值
读/写
 
098E
P03 TS1STP
曲线3的第1时间信号的步号
读/写
098F
P03 TS1_ON
曲线3的第1时间信号延时开时间
读/写
0990
P03 TS1_OFF
曲线3的第1时间信号延时停时间
读/写
0991
P03 TS2STP
曲线3的第2时间信号的步号
读/写
0992
P03 TS2_ON
曲线3的第2时间信号延时开时间
读/写
0993
P03 TS2_OFF
曲线3的第2时间信号延时停时间
读/写
.TS1TSP和TS2STP的详细说明如下:
D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0
*********  第X步的起始时间  *************    *********** 第X步的停止时间********
09A0
P03 S01_SV
曲线3的第一步的SV值
读/写
09A1
P03 S01_TM
曲线3的第一步的时间
读/写
09A2
P03 S01_PE
曲线3的第一步的PID号
读/写
09A3
保留
保留
读/写
09A4
P03 S02_SV
曲线3的第二步的SV值
读/写
09A5
P03 S02_TM
曲线3的第二步的时间
读/写
09A6
P03 S02_PE
曲线3的第二步的PID号
读/写
09A7
保留
保留
读/写
09A8
P03 S03_SV
曲线3的第三步的SV值
读/写
09A9
P03 S03_TM
曲线3的第三步的时间
读/写
09AA
P03 S03_PE
曲线3的第三步的PID号
读/写
09AB
保留
保留
读/写
09AC
P03 S04_SV
曲线3的第四步的SV值
读/写
09AD
P03 S04_TM
曲线3的第四步的时间
读/写
09AE
P03 S04_PE
曲线3的第四步的PID号
读/写
09AF
保留
保留
读/写
09B0
P03 S05_SV
曲线3的第五步的SV值
读/写
09B1
P03 S05_TM
曲线3的第五步的时间
读/写
09B2
P03 S05_PE
曲线3的第五步的PID号
读/写
09B3
保留
保留
读/写
09B4
P03 S06_SV
曲线3的第六的SV值
读/写
09B5
P03 S06_TM
曲线3的第六的时间
读/写
09B6
P03 S06_PE
曲线3的第六的PID号
读/写
09B7
保留
保留
读/写
09B8
P03 S07_SV
曲线3的第七步的SV值
读/写
09B9
P03 S07_TM
曲线3的第七步的时间
读/写
09BA
P03 S07_PE
曲线3的第七步的PID号
读/写
09BB
保留
保留
读/写
09BC
P03 S08_SV
曲线3的第八步的SV值
读/写
09BD
P03 S08_TM
曲线3的第八步的时间
读/写
09BE
P03 S08_PE
曲线3的第八步的PID号
读/写
09BF
保留
保留
读/写
09C0
P03 S09_SV
曲线3的第九步的SV值
读/写
09C1
P03 S09_TM
曲线3的第九步的时间
读/写
09C2
P03 S09_PE
曲线3的第九步的PID号
读/写
09C3
保留
保留
读/写
09C4
P03 S010_SV
曲线3的第十步的SV值
读/写
09C5
P03 S010_TM
曲线3的第十步的时间
读/写
09C6
P03 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步的不同号码
1
40
一条曲线的第21步------第30步
2
20
两条曲线的第二条的第1步------第10步
4
10
四条曲线的第三条的第1步------第10步
 
 
 
 
 0A02
P04 STP
程序模式下曲线4的步数
读/写
0A03
P04 RPT
程序模式下曲线4的重复次数
读/写
0A04
P04 ST_SV
程序模式下曲线4的起始设定值
读/写
0A05
P04 GUA_Z
程序模式下曲线4的确保平台区域
读/写
0A06
保留
保留
读/写
0A07
P04 PV_ST
程序模式下曲线4的起始测量值
读/写
0A08
保留
保留
读/写
0A09
P04 EV1
程序模式下曲线4的EV1事件值
读/写
0A0A
P04 EV2
程序模式下曲线4的EV2事件值
读/写
0A0B
P04 EV3
程序模式下曲线4的EV3事件值
读/写
 
0A0E
P04 TS1STP
曲线4的第1时间信号的步号
读/写
0A0F
P04 TS1_ON
曲线4的第1时间信号延时开时间
读/写
0A10
P04 TS1_OFF
曲线4的第1时间信号延时停时间
读/写
0911
P04 TS2STP
曲线4的第2时间信号的步号
读/写
0912
P04 TS2_ON
曲线4的第2时间信号延时开时间
读/写
0913
P04 TS2_OFF
曲线4的第2时间信号延时停时间
读/写
.TS1TSP和TS2STP的详细说明如下:
D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0
*********  第X步的起始时间  ************     *********** 第X步的停止时间********
0A20
P04 S01_SV
曲线4的第一步的SV值
读/写
0A21
P04 S01_TM
曲线4的第一步的时间
读/写
0A22
P04 S01_PE
曲线4的第一步的PID号
读/写
0A23
保留
保留
读/写
0A24
P04 S02_SV
曲线4的第二步的SV值
读/写
0A25
P04 S02_TM
曲线4的第二步的时间
读/写
0A26
P04 S02_PE
曲线4的第二步的PID号
读/写
0A27
保留
保留
读/写
0A28
P04 S03_SV
曲线4的第三步的SV值
读/写
0A29
P04 S03_TM
曲线4的第三步的时间
读/写
0A2A
P04 S03_PE
曲线4的第三步的PID号
读/写
0A2B
保留
保留
读/写
0A2C
P04 S04_SV
曲线4的第四步的SV值
读/写
0A2D
P04 S04_TM
曲线4的第四步的时间
读/写
0A2E
P04 S04_PE
曲线4的第四步的PID号
读/写
0A2F
保留
保留
读/写
0A30
P04 S05_SV
曲线4的第五步的SV值
读/写
0A31
P04 S05_TM
曲线4的第五步的时间
读/写
0A32
P04 S05_PE
曲线4的第五步的PID号
读/写
0A33
保留
保留
读/写
0A34
P04 S06_SV
曲线4的第六的SV值
读/写
0A35
P04 S06_TM
曲线4的第六的时间
读/写
0A36
P04 S06_PE
曲线4的第六的PID号
读/写
0A37
保留
保留
读/写
0A38
P04 S07_SV
曲线4的第七步的SV值
读/写
0A39
P04 S07_TM
曲线4的第七步的时间
读/写
0A3A
P04 S07_PE
曲线4的第七步的PID号
读/写
0A3B
保留
保留
读/写
0A3C
P04 S08_SV
曲线4的第八步的SV值
读/写
0A3D
P04 S08_TM
曲线4的第八步的时间
读/写
0A3E
P04 S08_PE
曲线4的第八步的PID号
读/写
0A3F
保留
保留
读/写
0A40
P04 S09_SV
曲线4的第九步的SV值
读/写
0A41
P04 S09_TM
曲线4的第九步的时间
读/写
0A42
P04 S09_PE
曲线4的第九步的PID号
读/写
0A43
保留
保留
读/写
0A44
P04 S010_SV
曲线4的第十步的SV值
读/写
0A45
P04 S010_TM
曲线4的第十步的时间
读/写
0A46
P04 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步的不同号码
1
40
一条曲线的第31步------第40步
2
20
两条曲线的第二条的第11步------第20步
4
10
四条曲线的第四条的第1步------第10步
 
4-6 ASCII 代码
 
b7b6b5
000
001
010
011
100
101
110
111
b4b3b1
 
0
1
2
3
4
5
6
7
0000
0
NUL
TC7(DLE)
SP
0
@
P
0001
1
TC1(SOH)
DC1
1
A
Q
0010
2
TC2(STX)
DC2
2
B
R
0011
3
TC3(ETX)
DC3
#
3
C
S
0100
4
TC4(EOT)
DC4
$
4
D
T
0101
5
TC5(ENQ)
TC8(NAK)
%
5
E
U
0110
6
TC6(ACK)
TC9(SYN)
&
6
F
V
0111
7
BEL
TC10(ETB)
7
G
W
1000
8
FE0(BS)
CAN
(
8
H
X
1001
9
FE1(HT)
EM
)
9
I
Y
1010
A
FE2(LF)
SUB
*
J
Z
1011
B
FE3(VT)
ESC
+
K
[
{
1100
C
FE4(FF)
IS4(FS)
,
L
\
1101
D
FE5(CR)
IS3(GS)
-
=
M
]
}
1110
E
SO
IS2(RS)
.
N
1111
F
SI
IS1(US)
/
?
O
_
0
DEL
 
4-7 事件报警类型
报警代码
事件类型
类型号码
nOn
0
Hd
上限偏差值报警
1
Ld
下限偏差值报警
2
Od
上或下限偏差值外报警
3
Cd
上或下限偏差值内报警
4
HA
上限绝对值报警
5
LA
下限绝对值报警
6
So
超量程报警
7
Hold
加热器或环路报警
8
Guar
加热确保平台
9
Tms1
程序定时器1
10
Tms2
程序定时器2
11
Run
运行状态
12
Stps
曲线步的开始信号
13
Ends
曲线步的结束信号
14
Fix
定值方式
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接口转换器)         
 
 
南京汇皆奥自动化科技有限公司
所在区域: 江苏.南京 邮编: 210031
公司地址: 浦口区弘扬广场 联系人:张浩 先生 (销售)
办公电话: 025-58858162 传真: 025-58858162
移动电话: 13655165237 电邮: 登录查看或通过本网留言
公司主页: http://njhuijo.cn
通过中国电气自动化网在线联系该用户:
关于:
需求意向:
* 验证码: 点击可刷新
 
用户: 密码:  
如果您还不是中国电气自动化网(www.ea-china.com)的注册用户,立刻免费注册

   企业新闻 更多
· 皮尔磁:经典压机现代化改造,安全...
· 皮尔磁:安全控制器现面升级,构建...
· 皮尔磁:狭小空间防护,安全高效一...
· 皮尔磁:亮点抢先看!皮尔磁登陆2...
· 皮尔磁:IO-Link Safe...
· 皮尔磁即将亮相2026汉诺威工博...
· 皮尔磁:轻松实现废水回收系统的全...
· 皮尔磁信息安全咨询现采用标准CS...
  产品新闻 更多
· 皮尔磁:工厂安全管理的“智能变革...
· 皮尔磁:以全生命周期管理,融合机...
· 皮尔磁:高可用性安全传感器,让设...
· 皮尔磁参展interpack 2...
· 皮尔磁:重型货架上层物料存取防撞...
· 皮尔磁:安全PLC的升级:不换代...
· 皮尔磁:安全毫米波技术:重新定义...
· 皮尔磁:ISO14119防止安全...

广告服务 | 关于我们 | 网站地图 | 分类索引 | 服务条款 | VIP会员服务 |《电气自动化企业大全》| 版权声明

客服专线:0898-68552405     媒体合作QQ:910167442
中国电子商务服务联盟成员单位 琼ICP备17003754号
中国电气自动化网 版权所有 © Copyright By Electric Automation of China