|
|
本文以DL系列真空计为例,介绍RS-485接口在真空计中的使用方法。
# m8 r X; ]) [3 a 近年来,许多用户要求用计算机根据压强、温度等参量对一个系统进行控制。压强、温度等传感器通过RS-485接口将数据传送给计算机。选择RS-485是因为它能允许多个传感器连接到同一总线上,如图1所示。4 l2 h1 u$ r6 c$ u3 J' D- C
5 z6 f5 W2 S4 P
图1 RS-485接口连接示意图
. a& a& \( W5 M2 i4 D( O' U' x% z 计算机(或其它主设备)可以在任意指定时刻与其中一个传感器(从设备)通信,每一个传感器都有一个独立地址。计算机若要得到某一传感器的信息,就发送命令到总线,命令中包含所需采集数据传感器的地址,发送后就等待读传感器的应答。从设备收到自己地址的信息后,就通过总线发送数据给计算机。计算机与从设备之间应有通讯协议,协议可以自行设计,也可以参照相关标准制定。
* e7 G8 d6 M' a) z9 u* S0 L' ?. H- j 1、通讯协议0 q. F+ p7 R) b! Q* Z7 c6 b
DL系列真空计与主机的通讯协议是参照Modbus通讯协议及用户要求制定的。Modbus协议是应用于电子控制器上的一种通用语言,传输方式有两种,即ASCII模式和RTU模式。ASCII模式是以ASCII码发送,采用异步通讯传送。
- J( R* j& n1 z, G2 O/ ?9 c. h! \- M 例如:DL-6型电阻真空计的地址为06,波特率为9600,计算机应发送:061],其中06为地址,DL-6接收信号后发送:25+3〉,表示压强值为2.5×103Pa。
* C4 }( w) x; W' D9 N 再如DL-7型电离真空计的地址为07,发送压强值为4.6×10-2Pa,波特率为9600,计算机应发送:071],其中07为地址,DL-7接收信号后发送:46-2〉,表示压强值为4.6×10-2Pa。RTU模式(远程终端单元)通信是以16进制字符通信,1个起始位,8个数据位,1个停止位,有CRC校验。
( F- J0 W( R. M- q1 ? 例如:DL-6型电阻真空计的地址为06,波特率为9600。主机发送格式:060400000002CRC。其中:06表示DL-6地址,02表示发送2个数据,即压强值与指数值。
+ B5 a4 O6 k: W7 H; v8 U7 Z DL-6接收信号后发送:060404001C0002CRC。其中:06表示DL-6地址,1C表示压强数值,28的十六进制数,02表示压强指数值,发送压强值为2.8×102Pa。2 ?* P( R' T, e* \0 n) l5 Q
如果是负指数,应以补码表示,例如10-1补码为FFFF。
5 }: Z" I* D) L! V9 p) @ 再如DL-7型电离计的地址为07,波特率为9600。主机发送格式为070400000002CRC。其中:07表示DL-7地址,02表示发送2个数据,即压强值与指数值。0 u8 t7 ?% B# F3 r2 e9 P: N
DL-7接收信号后发送:070404001C0006CRC。其中:07表示DL-7地址,1C表示压强数值,28的十六进制数,06表示压强指数值,发送压强值为2.8×10-6Pa。
( k% O( S8 G, `, W 如果是DL-5型电离计,主机发送格式:050400000002CRC,DL-5接收信号后发送:050404001C0003CRC,表示发送:2.8×10-3Pa压强值。
: \3 W! P1 |+ {- p' n 2、RS-485接口1 `$ `0 h. |# f% ]* s/ j
DL系列真空计RS-485接口采用UT-2211转接器,真空计原有RS-232接口,经过UT-2211转换为RS-485信号,波特率是9600。主设备中的RS-485与UT-2211的连接方法如图2所示。( o! C: A8 t6 ` W: ?5 \: s1 ^: f
0 ^: s$ u( s. z
图2 主设备RS-485与UT-2211的连接
2 l4 b( o9 I& c 3、真空计主程序框图$ \, T' L" A8 @' ~
配RS-485接口的真空计使用ATMega16单片机,AD变换使用2412芯片,用C语言编程。主程序框图如图3。
+ a7 x0 u" a( D5 |- N% j
, [8 P- i `( q7 d, u7 n 图3 主程序框图
# m" Q" E5 Z7 p( Z ~ 4、小结/ e4 b4 U. m( M& v6 {; W1 P5 W
计算机与诸多传感器相连时,采用RS-485接口可以将多个传感器并接在同一总线上,每个传感器有一个地址,计算机需要任何数据,应发送命令给该地址,该传感器收到命令后发送数据给计算机。任何传感器如没有接到命令,是不会发送信号的,以保持总线仅传送单一的信号。 |
|