1 引言 實現現場數據顯示的方法較多,有現場PC機、顯示屏和數顯儀表等等。與PC機、顯示屏等相比,數碼管顯示儀表具有價格低廉的優點,同時也較適應于現場惡劣的生產環境。 我們承擔了武鋼礦業集團大冶鐵礦豎爐球團生產過程自動化改造項目,采用了基于CAN總線的多層DCS控制網絡,為了解決一些工段現場的數據顯示問題,我們設計了一種基于總線偵聽技術的現場智能顯示儀表。 2 系統結構 大冶鐵礦球團廠造球工段控制系統中,利用研華ADAM-5000系列智能I/O模塊實現數據采集和輸出功能,共包括3個ADAM-5000機架,分散在現場的3個工序里。3個ADAM-5000系列模塊、上位工控機相互之間采取RS485總線連接,組成底層RS485總線網絡。在該總線網絡內數據通信采用ADAM-5000的通信協議。系統結構圖如圖1所示。 造球工段現場智能顯示儀表的數據來源于對RS485總線上的數據偵聽。上位PC機數據傳輸的工作方式是按照ADAM-5000模塊幀格式,將要發送的命令在485總線上發往下位機ADAM-5000各模塊。在數據幀中包含應該接收命令的下位機的正確地址,只有與幀中目標地址一致的下位機才能接收命令幀?偩偵聽技術突破了這一限制,它實時地對總線上傳輸的數據進行動態地把握,它將總線上傳輸的幀統統接收下來,在從偵聽微機的串口偵聽到所有通訊數據后,對通訊數據進行分析和破譯工作,從而得到需要的數據。 3 現場顯示儀表硬件組成 數碼管顯示儀表的硬件原理圖如圖2所示,它由AT89C52單片機、數碼顯示電路和RS485接口電路組成。RS485總線收發器采用了TI出品的SN75176;由于需要顯示的數據較多,且現場對數字顯示器亮度有較高要求,本方案采用靜態顯示。為了節約單片機資源,采用了帶選通功能的串轉并芯片CD4094作為顯示驅動器件,這樣20多位數碼顯示只占用了3根單片機I/O線資源,如圖3所示。 在現場顯示儀表實際工作中,AT89C52單片機首先通過RS485總線收發器SN75176芯片對RS485總線上的數據幀進行接收,接著對數據幀進行分析和選擇,得到需要的數據后送往數碼管顯示。 4 軟件實現 由于本系統只需要顯示ADAM-5000采集的部分模擬輸入數據,故下面只介紹ADAM-5000系列中AI模塊的幀格式。它分為命令幀和響應幀兩種。 ADAM-5000命令幀格式如表1所示。 表1 ADAM-5017命令幀格式 命令幀第一個字節為起始符,有$和#兩種形式。以$開頭的可獲取版本信息、校正AI模塊等;以#開頭的用來讀取5017通道值,是我們要用到的命令形式;地址范圍是00~FF;槽號i取值范圍為0~7;其它,在起始符為$時,有9種形式,這里不予介紹。在起始符為#時,有2種形式,一種為空,命令內容為讀取i號槽模塊全部通道值;另一種為通道值j,命令內容為讀取i號槽模塊第j號通道值。 ADAM-5000的響應幀格式如表2所示。對于起始符為#的命令幀,有兩種響應幀格式。 表2 ADAM-5017響應幀格式 起始符為>,表示模塊收到的命令有效。其后為全部通道值或某一通道值,隨命令幀格式而定;起始符為?,表示5017收到的命令無效。其后地址與收到命令幀的地址相同。 偵聽軟件的關鍵在于接收總線上的數據幀,主要分為對命令幀的分析和對響應幀的解析兩部分。在PC機與ADAM-5000通訊時,顯示儀表不斷偵聽總線上傳輸的數據幀,判斷是命令幀后,將接收完整的幀地址與要顯示參數的幀地址相比較,相符則繼續偵聽ADAM-5000的響應幀,將其中數據信息分離出來,送數碼管顯示;不相符則不采取任何動作,等待下一個命令幀的到來。 通訊軟件采用C51語言編制,其中中斷子程序流程圖如圖4所示。 5 結束語 本文中設計的基于RS485總線偵聽技術的現場智能顯示儀表,應用在大冶鐵礦豎爐球團廠的造球工段中,確實地解決了其工段現場的數據顯示問題,且價格低廉,通用性好,能在其它系統中得到應用。這種總線偵聽技術同樣適于CAN總線等其它現場總線。 |