基于RS485總線的自動化檢測系統(tǒng)的研制
2.3終端裝置編碼設計
由于RS 485總線是采用半雙工通信方式,每次只能有一對節(jié)點進行通信,故要求每臺裝置有自己的地址編號以便測試辨認檢測。這里設計將終端裝置的生產編號為檢測時的地址編號,由于終端裝置的生產編號具有惟一性,故能夠滿足RS 485通訊的要求。
生產編號是終端裝置的惟一標識,為了能更好地反映終端裝置的生產信息,同時考慮編號生成的自動化,我們確定的編號方法如下:
YYMMDDHHmmss ID1 ID2 ID3
其中,YY為年后兩位的BCD碼,MM為月的BCD碼,DD為日的BCD碼,mm為分的BCD碼,ss為秒的BCD碼。該時間為進行測試時的時間,可以由進行測試的計算機自動生成。ID1和ID2為單字節(jié)的編碼,分別為生產廠家代碼、操作人員代碼;ID3為雙字節(jié)編碼,代表軟硬件版本號。
這樣生產編號的設計具有以下優(yōu)點:
(1)可以通過測試軟件,根據當時時間等信息自動生成,避免人工失誤,并且提高效率;
(2)編號存人各臺測試機的參數存儲器中,作為終端的身份標識,用于生產檢測和實際使用;
(3)根據該編號,極容易查出終端的生產廠家、時間以及檢驗人員,符合質量管理體系的要求;
?。?)編號附帶軟硬件版本號,方便后期的技術維護。
3通訊協(xié)議的設計
RS 485總線只制定了物理層電氣標準,對上層通信協(xié)議沒有規(guī)定,這給設計者提供了很大的靈活性。一套完整的通信協(xié)議應從多個方面加以考慮,即要求結構簡單、功能完備,又要求具有可擴充性與兼容性,并且盡量標準化。本系統(tǒng)采用的通信協(xié)議是在充分考慮到系統(tǒng)本身的功能特點,再參考國際標準通信規(guī)約的基礎上制定的,適用于檢測的計算機與檢測終端進行點對點的或一主多從的數據交換方式,具體如下:
3.1 幀格式
起始符:數據幀起始標志,用于觸發(fā)通信,本系統(tǒng)約定為8AH。
地址碼:地址域由10個字節(jié)構成,每字節(jié)2位BCD碼。地址長度為20位十進制數。低地址位在先,高地址位在后。當地址為 99999999999999999999H時,為廣播地址(即向所有終端發(fā)送消息)。地址為11111111111111111111H時,為上位機。
控制碼C:一個字節(jié)長度,用于指明具體的命令內容。每一位代表不同的內容對應不同的命令代碼,具體內容如表1所示。
數據字段:本字段分兩部分。第一部分為一個字節(jié),表示整個數據字段的字節(jié)數(長度),L=0表示無數據域。第二部分則為通信中需要傳輸的數據內容,包括數據標識和數據等,其結構隨控制碼的功能而改變。
校驗碼CS:從幀起始符開始到校驗碼之前的所有各字節(jié)的模256的和。
結束符:數據幀結束標志,本系統(tǒng)約定16H。
3.2數據傳輸
上位機(PC機)與下位機(單片機)構成的多機通信系統(tǒng)采用主從式結構,數據通信總是由主機發(fā)起。主機處于發(fā)送狀態(tài)時,從機總是出于接收狀態(tài)。若上位機發(fā)送的地址信息與本地從機相符,則接收該數據,否則繼續(xù)接收總線上的數據。若下位機需要發(fā)送數據,則必須等到主機輪詢過該下位機時,才可提出請求。這種網絡模式下,下位機不會“偵聽”其他下位機對主機的響應,這樣就不會對其他下位機產生錯誤的響應。
3.3差錯控制
當主機發(fā)出呼叫幀后,如果在規(guī)定的時間內沒有收到從機的應答幀,則主機認為幀丟失并重發(fā)呼叫幀;如果發(fā)送3次仍沒有收到應答幀,則系統(tǒng)認為該次通信失敗,報錯。在數據幀發(fā)送時,本系統(tǒng)采用應答方式進行差錯控制,即接收方向發(fā)送方回發(fā)特殊的控制命令碼,作為傳輸正確以否的的確認。如果傳輸中幀完全丟失,則發(fā)送方進行超時處理。
4結語
本文提出了一種基于RS 485總線的安防型GPS定位裝置自動測試系統(tǒng)的設計,并分別就系統(tǒng)總體結構及檢測思想的設計和主從式多機通信協(xié)議的設計等兩個方面進行了闡述。設備的實際使用結果表明:整個系統(tǒng)設計合理,工作可靠,基于RS 485的總線測試系統(tǒng)通信可靠性高,可擴展性強,操作維護方便,大大提高了安防型GPS定位裝置的故障檢測與診斷效率。
該系統(tǒng)的設計思路,尤其是自動化編碼方式對其他智能電子產品的自動化檢測提供了很好的借鑒作用。并且通過對該系統(tǒng)的部分修改,可以移植到諸如智能傳感器、工業(yè)控制終端等多種產品的生產檢測中。
評論