傳統數據采集系統一般利用各種數據采集卡或是多串口卡,編制相應的定制軟件,將外 部信號采集到工控機或普通PC 機。由于硬件結構的限制,傳統的數據采集系統體積大、實(shí) 時(shí)性差、信號衰減嚴重、外掛設備數量有限,無(wú)法滿(mǎn)足微型化、大容量、高實(shí)時(shí)性、多參數 和高穩定性的要求。隨著(zhù)計算機技術(shù)和網(wǎng)絡(luò )技術(shù)的發(fā)展,各種新的數據采集的實(shí)現方案不斷 出現,其中,以TCP/IP 通信機制的遠程數據采集系統具有較好的使用前景[1]。本文以基于 WinCE 的嵌入式設備為核心,取代傳統意義上的PC 機,采用TCP/IP 通信機制搭建的遠程 數據采集系統,結合嵌入式設備和網(wǎng)絡(luò )技術(shù)的優(yōu)點(diǎn),將信號采集、信號傳輸和數據處理相對 分離,提高了系統的抗干擾能力、實(shí)時(shí)性和高安全性,特別適用于遠程、多參數的數據采集, 具有重要的使用價(jià)值和應用前景。
2 遠程數據采集系統總體結構
基于嵌入式 WinCE 的遠程數據采集系統如圖1 所示,主要的組成部分及其功能如下: (1)客戶(hù)端PC,主要進(jìn)行遠程數據采集器的信息配置和數據監控等;(2)Linux 系統服務(wù) 器,主要負責與數據采集器通信,進(jìn)行數據的接收、分析、處理、存儲和監視,以及采集器 配置文件的傳輸;(3)基于WinCE 的嵌入式數據采集器,主要根據遠程配置參數,多點(diǎn)、 多參數動(dòng)態(tài)采集生產(chǎn)設備信息、環(huán)境信息以及操作人員信息,包括電流、電壓、壓力、產(chǎn)量、 溫度、濕度、班組號等。在遠程數據采集系統中,利用高可靠性的TCP/IP 協(xié)議完成配置文 件的更新和采集數據的傳輸,以及采集器遠程調試監控;利用嵌入式數據庫(SQL Server CE)保存采集數據和服務(wù)器傳送的遠程配置文件;利用SQL Server CE 提供的RDA和Replication (合并復制)特性,當服務(wù)器網(wǎng)絡(luò )斷開(kāi)后完成數據和配置文件的轉儲和備份,保證數據的完 整性;利用嵌入匯編控制的硬件看門(mén)狗技術(shù)保證系統運行的高穩定性;利用可擴展的IDE 接口可以保證大容量數據的存儲。
基于嵌入式 WinCE 數據采集器采用研祥公司EVOC 104-1541CLDN(B)作為硬件平臺。 EVOC 104-1541CLDN(B)是一款可由+5V 電源供電的嵌入式應用型的 All-in-one Geode 586 的主機板,能夠提供嵌入式操作系統運行所需的核心硬件資源。主要的硬件資源包括: NS GX1 處理器,工作于 2.2V/333 MHz 時(shí)的功率為1.4W,速度*可達333 MHz; 1 個(gè)10M 以太網(wǎng)口,2 個(gè)通用異步串行口(UART);2 個(gè)USB 數據接口;1 個(gè)LCD 控制器;1 個(gè) 64MSDRAM;1 個(gè)CF 卡接口;以及鍵盤(pán)接口和IDE 接口等。利用上述的核心硬件資源, 在集成開(kāi)發(fā)環(huán)境中,可以進(jìn)行開(kāi)發(fā)平臺的定制,數據采集和傳輸等模塊的開(kāi)發(fā),實(shí)現遠程數 據采集。
3 基于嵌入式WinCE 開(kāi)發(fā)平臺的定制
WinCE 嵌入式操作系統是一個(gè)緊湊、高效和可擴展的操作系統,其*的特點(diǎn)是使用 了分層結構技術(shù),使系統具有更好的可擴展性和定制性,使應用程序和操作系統獨立于具體 硬件,以適應各種特殊的應用環(huán)境。操作系統從邏輯上可以分為硬件層,OEM 層,操作系 統層,應用程序層[2]?;谇度胧絎inCE 開(kāi)發(fā)平臺的定制主要是對操作系統層和OEM 層進(jìn) 行定制。
微軟提供了 PB(Platform. Builder)作為定制WinCE 操作系統的集成開(kāi)發(fā)環(huán)境。PB 環(huán) 境支持多種功能模塊和硬件接口,可以根據目標設備的具體硬件配置進(jìn)行WinCE 的裁剪和 定制,定制wince 平臺的流程如圖2 所示。首先,通過(guò)安裝和創(chuàng )建設備驅動(dòng)程序對網(wǎng)卡、串 口、顯示驅動(dòng)、USB 和電源驅動(dòng)等硬件進(jìn)行定制;然后,定制系統組件和服務(wù),包括TCP/IP, FTP,MFC,Telnet 等,并根據硬件配置和操作系統的應用特性修改配置文件;*,生成 操作系統映像文件,通過(guò)網(wǎng)口或串口將其下載到目標設備中運行。定制完成后,導出應用程序開(kāi)發(fā)工具包SDK。根據導出的SDK 開(kāi)發(fā)包,運用EVC 開(kāi)發(fā)工具可以編制數據采集模塊 和數據傳輸模塊。
4 基于嵌入式WinCE 數據采集模塊設計
數據采集模塊是整個(gè)數據采集器軟件設計的核心部分,可以采用與設備連接的PLC、 單片機、工控機以及人機交互界面等,完成生產(chǎn)設備信息、環(huán)境信息及生產(chǎn)操作人員信息的 采集。在本文開(kāi)發(fā)的系統中,主要是通過(guò)PLC 采集設備信息,通過(guò)單片機采集溫度、濕度、 壓力傳感器的環(huán)境信息,通過(guò)基于嵌入式WinCE 采集器的人機交互界面直接采集生產(chǎn)現場(chǎng) 人員信息。
通過(guò) PLC 采集設備信息時(shí),數據采集器通過(guò)RS-232 接口以Host Link 通信協(xié)議與PLC 通訊。Host Link 通信協(xié)議采用“主從總線(xiàn)”方式通信,根據主動(dòng)權的不同有兩種實(shí)現形式, 一種是通信主動(dòng)權在上位機(基于WinCE 的采集器)一方,即方式一;另一種是主動(dòng)權在 下位機(PLC),即方式二。根據傳輸信號的性質(zhì)不同,兩種方式可以結合使用。針對本系 統的特點(diǎn),對需要用戶(hù)動(dòng)態(tài)配置的信號,如設備當日產(chǎn)量、運行時(shí)間等,采用方式一;對于 經(jīng)常需要監控的信號,如機器的運行溫度、轉速等,采用方式二。方式二的優(yōu)點(diǎn)在于,僅當 下位機的數據發(fā)生變化時(shí),PLC 才發(fā)起通信并上傳數據。這種通信方式可以大幅度減少上 位機的監視時(shí)間,提高系統的實(shí)時(shí)響應能力。本文僅以方式一為例說(shuō)明動(dòng)態(tài)信號的采集過(guò)程。
采集器主動(dòng)向 PLC 發(fā)出Host Link 命令幀到PLC,PLC 接收到命令幀后自動(dòng)向上位機 發(fā)送應答信號,完成一次信號的采集過(guò)程。在Host Link 協(xié)議中,“@”為起始符號;節點(diǎn)號 為PLC 的編號(00-31);識別碼說(shuō)明Host Link 命令幀的功能;FCS 包含2 個(gè)字符,是幀的校 驗碼,即從幀起始到報文結束之前數據的異或運算結果,用來(lái)檢查幀的傳送結果是否正確; “*”和“CR”為終止符,表明幀結束[3]。在本系統中,WinCE 中提供了操作文件IO 函數 和通信函數來(lái)操作串口,進(jìn)行串口通信。為了避免讀線(xiàn)程調用WaitCommEvent()函數時(shí)造成 程序阻塞,提高CPU 的利用率和通信程序的實(shí)時(shí)性,改善系統的整體性能,采用多線(xiàn)程技 術(shù)實(shí)現異步串口讀寫(xiě)的模擬[4,5]。串口通信的主要步驟如圖3 所示,(1) 調用函數CreateFile() 打開(kāi)串口,函數SetCommState()配置串口參數;(2)調用函數CreateThread(