发布日期:2022-04-18 点击率:48
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⑼030Hd:这位表明这是一个读命令。 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 333Hd:这位表明应答的是一个读命令。 e:这位表明这是一个应答代码 g:这位表明这应答的读命令返回的数据项。
3.不正确的读命令应答 D⑸ R52He ⑹ 030H⑺ 737Hd:这位表明应答的是一个读命令。 e:表明这是一个应答代码
4.写命令 注:写命令时,应先将COM模式至成COM状态。由LOC状态转换成COM状态不能由仪表窗口完成,只能由上位机完成。由COM状态转换成LOC状态上位机、仪表窗口均可完成。 d⑸ W57H ef⑽ 030H g⑾ ⑹ 030H⑺ 434H⑻ 030H⑼ 030H ,2CH030H030H232H838Hd:这位表明应答的是一个写命令。 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⑺ 030Hd:这位表明这是一个写应答的命令。 e:表明这是一个应答代码
6.不正确的写命令应答举例 d⑸ W57He ⑹ 030H⑺ 930Hd:这位表明这是一个写应答的命令。 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接口转换器)
|