文獻標識碼: A
遠程測控系統是當前工業自動化領域研究的熱點之一。遠程測控已滲入工業自動化和辦公信息化的各個系統。這些測控系統大多是根據具體的應用需求進行專門設計的,實際上它們的功能或相同或相似,關聯較大。如果將每個系統看成獨立體,每次開發均從零開始,就會帶來大量的重復勞動,這無疑加大了設計成本[1]。現代測控系統的開發要求,需要設計人員在盡可能短的時間內開發出滿足客戶需求的軟硬件系統。因此,如何提高軟硬件的可重用性,如何在保證系統性能的前提下,避免重復勞動,縮短開發周期,就成為越來越多的嵌入式系統開發人員研究的熱點。
本文分析研究了遠程測控系統的共性,建立了測控系統的一般模型,利用嵌入式以太網、Web服務器、硬件構件和軟件可重用等技術,設計了一種面向測控領域的基于B/S與C/S相結合體系結構的通用軟硬件平臺。
1總體設計方案
1.1 一般測控系統的通用模型特點分析
基于通用設計思想的系統開發在設計思路上須遵循模塊化、可二次開發性和平臺化的設計原則。實際的應用系統需要處理的信號可能存在很大的差異,所以本文在系統總體設計過程中,分析了各種應用系統之間的共性,從現有的一般的測控系統中抽象出一個通用模型。
一個典型的嵌入式測控系統通常包括模擬量輸入模塊、開關量輸入模塊、模擬量輸出模塊、開關量輸出模塊、數據通信模塊[2]和MCU工作支撐電路。
實際模擬信號是物理世界的自然信號,需要通過傳感器將其轉換為電信號,然后由A/D轉換接口將電信號轉換為數字信號。由于傳感器輸出的電信號通常比較微弱,而且輸出的信號類型各異,因此,需要相應的轉換電路對其進行處理。實際開關信號一般來自開關類傳感器或手動開關,需要開關量轉換電路將實際開關信號轉換至MCU可接受的電信號范圍。
測控系統的執行機構,包括開關量控制和模擬量控制。開關量執行機構只有開和關兩種狀態。模擬量執行機構需要連續變化的模擬量控制,MCU通過D/A轉換接口將數字量轉換為模擬量輸出控制。此外,由于MCU引腳的驅動能力在10 mA左右,不能直接控制這些執行機構,因此需要借助于相應的驅動電路來實現。
通信接口模塊主要實現MCU與各外圍模塊或設備之間的通信,常用的通信方式有:UART、SPI、USB、以太網等。對于遠程測控系統,通常采用以太網與遠程主機進行通信。
通過分析,本文建立了如圖1所示的一般測控系統的通用模型。
1.2 通用模型特點分析
完整的測控系統包括硬件和軟件兩部分。建立測控系統通用模型就是分別為軟、硬件建立相應的通用模型。硬件模型體現在測控終端控制器的硬件設計上;軟件模型根據所選擇的體系結構不同而有所差別。但不論是哪一種體系結構,對軟件的設計都是建立在硬件的基礎之上,所以整個通用模型的建立首先且關鍵是對硬件通用模型的建立。
1.2.1 遠程測控系統的硬件模型
遠程測控系統的測量與控制在硬件上主要體現在位于現場的網絡化測控終端對外界數據的采集以及控制量的輸出,其中數據采集部分通常包括模擬量輸入模塊和開關量輸入模塊;控制輸出部分通常包括模擬量輸出模塊和開關量輸出模塊。因此,通用模型的建立主要體現在對這四種輸入輸出模塊的設計上。
本文通過提供業內比較通用的信號類型來達到通用的目的。對于使用這些信號接口的測控設備,可直接互連;對于使用其他信號接口的測控設備,只需要增加相應的信號轉換電路即可互連。通過對多個具體測控系統的分析,采用了如下的硬件設計方案:
(1)模擬量輸入接口,提供8路模擬量輸入通道;考慮到市場上大多數傳感器或變送器都提供0~5 V電壓信號輸出,另一方面由于A/D轉換器通常以0~5 V電壓信號輸入,因此本文將模擬量輸入接口設計為可直接處理0~5 V電壓信號。另外為了便于給傳感器或外接的轉換電路供電,提供5 V和12 V電源接口。
(2)開關量輸入接口,提供8路開關量輸入通道,可直接處理12 V開關信號。對于其他類型的開關信號,需要外接轉換電路。
(3)模擬量輸出接口,提供8路模擬量輸出通道,提供0~12 V電壓信號輸出,對于其他類型的模擬信號,需要外接相應的驅動電路。
(4)開關量輸出接口,提供8路開關量輸出通道;可直接輸出12 V電壓信號,也可通過更換繼電器實現對其他電壓信號的輸出。
(5)通信接口,采用以太網作為傳輸媒介,與遠程主機進行信息交互,從而實現遠程測控功能;對于其他通信接口,由其他輔助模塊決定。
(6)提供良好的人機交互接口。現場信息采用液晶顯示;對受控設備的現場手動干預采用SDF-1通用型手持編程器實現,以避免為所有的輸出接口配備相應的控制按鈕。
(7)在進行具體的硬件設計時,融入硬件構件的設計思想,將各個硬件模塊進行獨立的封裝,以提高硬件的可重用性[3]。
根據以上方案所設計的硬件模型如圖2所示。
1.2.2 遠程測控系統的軟件模型
采用何種網絡體系結構是開發網絡軟件時首當其沖考慮的問題。究竟是采用C/S模式還是B/S模式,或是兩者兼有的混合模式,這就需要分析它們各自的特點,揚長避短,這樣才能設計出最合適的網絡結構。為了實現實時方便地訪問任一臺終端控制器,查看當前的監控信息,本文將終端控制器設計為一個嵌入式Web服務器。但是由于嵌入式系統資源很有限,無法實現對長時間歷史記錄的保存,因此必須借助于上位機的存儲能力,將所有的歷史記錄轉移到監控上位機保存。另一方面,B/S結構采用瀏覽器訪問時,每次只能查看單個控制器的現場信息,無法實現集中監控和管理功能,而C/S結構的客戶端軟件可以很好地解決這個問題。因此,本文采用B/S與C/S相結合的體系結構,對于瀏覽器客戶端采用HTTP協議與測控終端交互;對于監控平臺軟件客戶端采用UDP協議進行通信。
根據上述的體系結構,通用平臺的軟件系統應該包括3部分:測控終端內的嵌入式軟件、提供可配置功能的二次開發軟件以及用于集中監控和數據存儲的監控管理軟件,由于后兩種軟件都是在PC上運行的,本文將其合二為一集成在同一個軟件系統——監控平臺軟件中實現。其軟件模型如圖3所示。
2通用模型的軟硬件解決方案
2.1基于MCF52233的單芯片方案
單芯片解決方案是一種選用帶有以太網接口MCU的以太網接入方案,因此,以太網驅動與TCP/IP協議棧的實現需要開發人員完成,軟件實現相對較復雜。但是與多芯片解決方案相比,單芯片解決方案具有硬件設計簡單、集成度高、成本低廉等優點,而且便于修改和擴充。
經過比較,本文采用了單芯片的以太網接入方案,主控MCU選用Freescale公司的32位ColdFire系列微控制器MCF52233[4]。它內部集成了快速以太網控制器FEC(Fast Ethernet Controller)和以太網物理層收發器EPHY(Ethernet Physical Transceiver),實現了以太網的單芯片解決方案;還擁有UART、I2C、QSPI、PWM以及A/D轉換模塊等豐富的外圍接口,包含32 KB片內SRAM,256 KB片內Flash,總線頻率最高可達60 MHz,是Freescale公司大學計劃2008年主推的芯片之一。
根據硬件模型的設計,測控終端的具體硬件總體設計框圖如圖4所示,按硬件模塊劃分為:電源轉換模塊、開關量輸入模塊、A/D轉換模塊、開關量輸出模塊、PWM輸出模塊、以太網通信模塊、液晶顯示模塊、手持編程器模塊和時鐘模塊。基于適配性和通用性考慮,預留了8路模擬量輸入、8路模擬量輸出和8路開關量輸入、8路開關量輸出作為二次開發的可配置接口。此外,報警燈蜂鳴器控制2個引腳、LCD顯示控制3個引腳以及以太網/系統運行指示燈控制3個引腳。在數據通信過程中,串行通信、以太網通信以及I2C通信各需要2個、2個以及4個引腳,共8個引腳。經過仔細分析,測控終端需44個I/O引腳。
根據MCU與外圍模塊的選型原則,以及對控制器的功能需求與輸入輸出分析,本文選了表1所示的外圍器件和模塊,從而確保測控終端芯片工作穩定,進而滿足測控系統的通用性。
本文選用80引腳LQFP封裝的MCF52233作為測控終端的主控MCU[5],在充分考慮到布線以及編程的方便后,為各個模塊分配了如表2所示的I/O引腳。
2.2 監控平臺的軟件設計
監控平臺軟件主要實現對測控終端的配置式二次開發,對所有已配置測控終端的實時信息進行遠程監控,并將這些信息存入數據庫中以便管理。它是測控系統通用平臺必不可少的組成部分,待開發完成后,它就只是作為監控并存儲各測控終端信息的輔助工具。監控平臺軟件按功能劃分為數據庫管理模塊、功能界面模塊和網絡通信模塊3部分,其中功能界面模塊包括二次開發模塊、參數設置模塊、遠程監控模塊、物理量回歸的動態在線校準模塊[6]、歷史記錄查詢與導出模塊、系統維護模塊、用戶管理模塊以及輔助功能模塊共8部分。除了輔助功能模塊之外,其他模塊都涉及到數據庫的操作,包括記錄的添加、查詢檢索、修改、刪除等。
3 配置式二次開發界面
配置式二次開發主要是添加接入網絡中的測控終端控制器,以及對控制器的網絡參數和各通道及其控制關系的配置。添加控制器的界面如圖5所示,其中單元名和網絡參數屬于必配項,其他通道配置由實際項目需求確定。
單元名用于直觀地表示各控制器的名稱,用戶可以根據控制器所放置的監控現場對其命名,之后的監控界面都以該名稱唯一標識對應的控制器。實際通信時以IP地址唯一確定一個控制器,對于同一版終端軟件,其配置的IP地址、MAC地址等網絡參數皆相同,接入網絡后會出現IP地址沖突,無法進行網絡通信。所以在添加控制器時需要修改其網絡配置參數。控制器的默認IP地址為192.168.1.164,在新增控制器時,需確保PC到控制器之間的網絡是連通的。
對于控制器提供的模擬量輸入、開關量輸入、模擬量輸出、開關量輸出等通道,本系統默認不作任何配置,因此在添加控制器時需要根據實際需求配置傳感器和輸入輸出設備所接的相應通道。將所有通道配置信息填好之后,就可以通過“新增”按鈕將這些配置信息寫入數據庫,系統會自動將這些信息寫入需要配置的新控制器內。
另外,本界面還提供了模板功能,用戶在添加新的控制器時,可以通過添加模塊按鈕將當前配置信息以模塊形式保存,在配置后續控制器時,只需要選擇該模板,然后修改IP地址等少量信息即可實現快速的添加并配置控制器功能。與添加控制器菜單相對應的還有一個修改控制器菜單,開發人員可以在相應的界面中重新修改某個已存在控制器的配置信息或刪除不再使用的控制器,該功能對于后期維護比較實用。
輸入輸出控制關系配置界面如圖6所示。本文實現的控制關系中每個模擬量輸入通道可以控制2個模擬量輸出通道和2個開關量輸出通道;每個開關量輸入通道可以控制一個開關量輸出通道。控制關系配置界面中各選項的內容是根據添加控制器界面中配置的通道信息加載的,所以應該先添加控制器,才能對其進行控制關系的配置。
現有測控系統的開發基本是根據具體應用需求進行單獨重復的設計、編碼、測試,而實際上這些系統在功能結構上具有雷同性,為提高軟硬件的可重用性,本文通過對測控系統的分析,抽象出測控系統的一般結構,在此基礎上實現了一種基于嵌入式以太網的面向測控領域的通用平臺。該平臺已應用于網絡機房遠程環境監控系統和基于嵌入式以太網的IC(Integrate Circuit,集成電路)硬化爐監控系統中,為現代嵌入式系統開發提供了一個快速原型工具。
參考文獻
[1] 陳鳴慰. 基于ARM的通用型實時測控系統設計與實現[D].南京:東南大學,2006.
[2] 王宜懷.嵌入式技術基礎與實踐[M].北京:清華大學出版社,2007.
[3] 薦紅梅.基于硬件構件的嵌入式底層軟件開發方法研究及其應用[D].蘇州:蘇州大學, 2008.
[4] 王宜懷,陳建明,蔣銀珍.基于32位ColdFire構建嵌入式系統[M].北京:電子工業出版社,2009.
[5] Freescale. MCF52233 ColdFire Integrated Microcontroller Reference Manual [EB/OL].http://www.freescale.com,2006.
[6] 劉偉,沈安東,王宜懷.低端嵌入式系統中物理量回歸算法的優化[J].現代電子技術,2008(18):31-34.