工業數據採集器,介紹嵌入式WinCE在遠程數據採集系統設計

1 引言

傳統數據採集系統一般利用各種數據採集卡或是多串口卡,編制相應的定製軟件,將外 部信號採集到工控機或普通PC 機。由於硬件結構的限制,傳統的數據採集系統體積大、實 時性差、信號衰減嚴重、外掛設備數量有限,無法滿足微型化、大容量、高實時性、多參數 和高穩定性的要求。隨着計算機技術和網絡技術的發展,各種新的數據採集的實現方案不斷 出現,其中,以TCP/IP 通信機制的遠程數據採集系統具有較好的使用前景[1]。本文以基於 WinCE 的嵌入式設備爲核心,取代傳統意義上的PC 機,採用TCP/IP 通信機制搭建的遠程 數據採集系統,結合嵌入式設備和網絡技術的優點,將信號採集、信號傳輸和數據處理相對 分離,提高了系統的抗干擾能力、實時性和高安全性,特別適用於遠程、多參數的數據採集, 具有重要的使用價值和應用前景。

2 遠程數據採集系統總體結構

基於嵌入式 WinCE 的遠程數據採集系統如圖1 所示,主要的組成部分及其功能如下: (1)客戶端PC,主要進行遠程數據採集器的信息配置和數據監控等;(2)Linux 系統服務 器,主要負責與數據採集器通信,進行數據的接收、分析、處理、存儲和監視,以及採集器 配置文件的傳輸;(3)基於WinCE 的嵌入式數據採集器,主要根據遠程配置參數,多點、 多參數動態採集生產設備信息、環境信息以及操作人員信息,包括電流、電壓、壓力、產量、 溫度、溼度、班組號等。在遠程數據採集系統中,利用高可靠性的TCP/IP 協議完成配置文 件的更新和採集數據的傳輸,以及採集器遠程調試監控;利用嵌入式數據庫(SQL Server CE)保存採集數據和服務器傳送的遠程配置文件;利用SQL Server CE 提供的RDA和Replication (合併複製)特性,當服務器網絡斷開後完成數據和配置文件的轉儲和備份,保證數據的完 整性;利用嵌入彙編控制的硬件看門狗技術保證系統運行的高穩定性;利用可擴展的IDE 接口可以保證大容量數據的存儲。

 

基於嵌入式 WinCE 數據採集器採用成都明誠科技公司PXA255的3.5寸工控主板作爲硬件平臺。 3.5寸工控主板是一款可由+5V 電源供電的嵌入式應用型的ARM主機板,能夠提供嵌入式操作系統運行所需的核心硬件資源。主要的硬件資源包括: PXA255 處理器,工作於 400 MHz ; 1 個10M 以太網口,2 個通用異步串行口(UART);2 個USB 數據接口;1 個LCD 控制器;1 個 64MSDRAM;1 個CF 卡接口;以及鍵盤接口和IDE 接口等。利用上述的核心硬件資源, 在集成開發環境中,可以進行開發平臺的定製,數據採集和傳輸等模塊的開發,實現遠程數 據採集。

3 基於嵌入式WinCE 開發平臺的定製

WinCE 嵌入式操作系統是一個緊湊、高效和可擴展的操作系統,其最大的特點是使用 了分層結構技術,使系統具有更好的可擴展性和定製性,使應用程序和操作系統獨立於具體 硬件,以適應各種特殊的應用環境。操作系統從邏輯上可以分爲硬件層,OEM 層,操作系 統層,應用程序層[2]。基於嵌入式WinCE 開發平臺的定製主要是對操作系統層和OEM 層進 行定製。

微軟提供了 PB(Platform. Builder)作爲定製WinCE 操作系統的集成開發環境。PB 環 境支持多種功能模塊和硬件接口,可以根據目標設備的具體硬件配置進行WinCE 的裁剪和 定製,定製wince 平臺的流程如圖2 所示。首先,通過安裝和創建設備驅動程序對網卡、串 口、顯示驅動、USB 和電源驅動等硬件進行定製;然後,定製系統組件和服務,包括TCP/IP, FTP,MFC,Telnet 等,並根據硬件配置和操作系統的應用特性修改配置文件;最後,生成 操作系統映像文件,通過網口或串口將其下載到目標設備中運行。定製完成後,導出應用程序開發工具包SDK。根據導出的SDK 開發包,運用EVC 開發工具可以編制數據採集模塊 和數據傳輸模塊。

 

4 基於嵌入式WinCE 數據採集模塊設計

數據採集模塊是整個數據採集器軟件設計的核心部分,可以採用與設備連接的PLC、 單片機、工控機以及人機交互界面等,完成生產設備信息、環境信息及生產操作人員信息的 採集。在本文開發的系統中,主要是通過PLC 採集設備信息,通過單片機採集溫度、溼度、 壓力傳感器的環境信息,通過基於嵌入式WinCE 採集器的人機交互界面直接採集生產現場 人員信息。

通過 PLC 採集設備信息時,數據採集器通過RS-232 接口以Host Link 通信協議與PLC 通訊。Host Link 通信協議採用“主從總線”方式通信,根據主動權的不同有兩種實現形式, 一種是通信主動權在上位機(基於WinCE 的採集器)一方,即方式一;另一種是主動權在 下位機(PLC),即方式二。根據傳輸信號的性質不同,兩種方式可以結合使用。針對本系 統的特點,對需要用戶動態配置的信號,如設備當日產量、運行時間等,採用方式一;對於 經常需要監控的信號,如機器的運行溫度、轉速等,採用方式二。方式二的優點在於,僅當 下位機的數據發生變化時,PLC 才發起通信並上傳數據。這種通信方式可以大幅度減少上 位機的監視時間,提高系統的實時響應能力。本文僅以方式一爲例說明動態信號的採集過程。

採集器主動向 PLC 發出Host Link 命令幀到PLC,PLC 接收到命令幀後自動向上位機 發送應答信號,完成一次信號的採集過程。在Host Link 協議中,“@”爲起始符號;節點號 爲PLC 的編號(00-31);識別碼說明Host Link 命令幀的功能;FCS 包含2 個字符,是幀的校 驗碼,即從幀起始到報文結束之前數據的異或運算結果,用來檢查幀的傳送結果是否正確; “*”和“CR”爲終止符,表明幀結束[3]。在本系統中,WinCE 中提供了操作文件IO 函數 和通信函數來操作串口,進行串口通信。爲了避免讀線程調用WaitCommEvent()函數時造成 程序阻塞,提高CPU 的利用率和通信程序的實時性,改善系統的整體性能,採用多線程技 術實現異步串口讀寫的模擬[4,5]。串口通信的主要步驟如圖3 所示,(1) 調用函數CreateFile() 打開串口,函數SetCommState()配置串口參數;(2)調用函數CreateThread()創建讀寫線程, 模擬異步讀寫串口(WriteFile()將命令寫入串口緩衝區,WaitCommEvent()等待串口*事件 集發生,ReadFile()讀取串口數據);(3) 關閉串口,將採集的數據進行處理和存儲。

採集環境信息時,用AT89C51 單片機、A/D 轉換模塊、加外圍電路構成的小型單片機 系統,通過串口與嵌入式採集器根據自定義通信協議進行通信,完成溫度、溼度等數據的採 集。生產操作人員信息由嵌入式採集器的人機交互界面直接採集。

5 基於嵌入式WinCE 數據通訊模塊設計

數據通信模塊用於完成採集器與上層服務器之間的通信,其主要功能包括,接受遠程控 制終端的命令,控制程序的運行狀態,爲程序的遠程調試和監控提供方便;傳輸採集數據; 同步更新採集器配置文件。數據通信模塊採用基於WinCE 的TCP/IP 協議,能夠保證在傳輸 過程中數據的準確性和可靠性;嵌入式系統硬件抗干擾能力強,能夠保證系統長期穩定運行。

在基於 WinCE 的TCP/IP 協議中,當接收到遠程控制終端命令時,採集器處於TCP 服 務器角色,以便多個控制終端向採集器發送命令。其通信實現流程爲:TCP 服務器首先調 用socket()函數建立流式套接字,然後調用bind()綁定本地地址,調用listen()函數進行* 客戶終端連接,一旦*到客戶終端連接後,服務器就調用accept()函數接收終端的連接請 求,並建立連接,同時服務器端啓動一個新線程,建立單獨的套接字實例與客戶終端進行通 訊。通信協議格式爲:命令名稱,參數表。例如在通信格式“PATHR1, 0”中,PATHR1 命令表示暫停數據採集線程,參數0 表示立即執行。服務器收到此 命令後會立即暫停數據採集模塊,並傳回命令的執行結果。

採集器與服務器進行數據傳輸和配置文件(主要關於採集信號的類型,名稱以及其它系 統配置信息)更新時,採集器處於TCP 客戶端角色。其通信實現流程爲:採集器調用socket() 函數建立流式套接字,然後調用connect()函數,請求與Linux 服務器建立TCP 連接,成功 建立連接後,同服務器進行數據傳輸和配置文件更新。數據傳輸和配置文件更新需要自定義 TCP 通信協議,採集器向服務器傳輸採集數據的通信協議格式爲:數據類型,採集 時間,數據名稱,數據值…;校驗值;服務器向採集器更新配置文件的通信協議格式 爲:數據類型,名稱,區域,採集點數…;校驗值。

6. 結束語

在微軟提供的 PB(Platform. Builder)集成開發環境中,根據分層技術定製了基於WinCE 的開發平臺,分別採用Host Link 協議和自定義協議設計了採集器與PLC 和單片機的數據採 集模塊,並實現了採集器與Linux 服務器的數據通訊模塊。作爲一種新型的數據採集系統, 以嵌入式WinCE 爲核心的遠程數據採集系統充分發揮了嵌入式硬件設備的特點,系統實時 性強、穩定性好,功耗小,成本低,與傳統的數據採集方案相比,特別適合於多點、多參數 的遠程數據採集,具有廣泛的應用前景。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章