RS-485接口在真空測量中的應用
本文以DL系列真空計為例,介紹RS-485接口在真空計中的使用方法。
近年來,許多用戶要求用計算機根據壓強、溫度等參量對一個系統進行控制。壓強、溫度等傳感器通過RS-485接口將數據傳送給計算機。選擇RS-485是因為它能允許多個傳感器連接到同一總線上,如圖1所示。
圖1 RS-485接口連接示意圖
計算機(或其它主設備)可以在任意指定時刻與其中一個傳感器(從設備)通信,每一個傳感器都有一個獨立地址。計算機若要得到某一傳感器的信息,就發送命令到總線,命令中包含所需采集數據傳感器的地址,發送后就等待讀傳感器的應答。從設備收到自己地址的信息后,就通過總線發送數據給計算機。計算機與從設備之間應有通訊協議,協議可以自行設計,也可以參照相關標準制定。
1、通訊協議
DL系列真空計與主機的通訊協議是參照Modbus通訊協議及用戶要求制定的。Modbus協議是應用于電子控制器上的一種通用語言,傳輸方式有兩種,即ASCII模式和RTU模式。ASCII模式是以ASCII碼發送,采用異步通訊傳送。
例如:DL-6型電阻真空計的地址為06,波特率為9600,計算機應發送:061],其中06為地址,DL-6接收信號后發送:25+3〉,表示壓強值為2.5×103Pa。
再如DL-7型電離真空計的地址為07,發送壓強值為4.6×10-2Pa,波特率為9600,計算機應發送:071],其中07為地址,DL-7接收信號后發送:46-2〉,表示壓強值為4.6×10-2Pa。RTU模式(遠程終端單元)通信是以16進制字符通信,1個起始位,8個數據位,1個停止位,有CRC校驗。
例如:DL-6型電阻真空計的地址為06,波特率為9600。主機發送格式:060400000002CRC。其中:06表示DL-6地址,02表示發送2個數據,即壓強值與指數值。
DL-6接收信號后發送:060404001C0002CRC。其中:06表示DL-6地址,1C表示壓強數值,28的十六進制數,02表示壓強指數值,發送壓強值為2.8×102Pa。
如果是負指數,應以補碼表示,例如10-1補碼為FFFF。
再如DL-7型電離計的地址為07,波特率為9600。主機發送格式為070400000002CRC。其中:07表示DL-7地址,02表示發送2個數據,即壓強值與指數值。
DL-7接收信號后發送:070404001C0006CRC。其中:07表示DL-7地址,1C表示壓強數值,28的十六進制數,06表示壓強指數值,發送壓強值為2.8×10-6Pa。
如果是DL-5型電離計,主機發送格式:050400000002CRC,DL-5接收信號后發送:050404001C0003CRC,表示發送:2.8×10-3Pa壓強值。
2、RS-485接口
DL系列真空計RS-485接口采用UT-2211轉接器,真空計原有RS-232接口,經過UT-2211轉換為RS-485信號,波特率是9600。主設備中的RS-485與UT-2211的連接方法如圖2所示。
圖2 主設備RS-485與UT-2211的連接
3、真空計主程序框圖
配RS-485接口的真空計使用ATMega16單片機,AD變換使用2412芯片,用C語言編程。主程序框圖如圖3。
圖3 主程序框圖
4、小結
計算機與諸多傳感器相連時,采用RS-485接口可以將多個傳感器并接在同一總線上,每個傳感器有一個地址,計算機需要任何數據,應發送命令給該地址,該傳感器收到命令后發送數據給計算機。任何傳感器如沒有接到命令,是不會發送信號的,以保持總線僅傳送單一的信號。