寶雞技師學(xué)院 曹艷利
工業(yè)觸摸屏是把觸摸板、LCD液晶顯示器、控制器以及其他外圍電路整合在一起的具有某種特定功能的微型計(jì)算機(jī)系統(tǒng),是智能化的操作顯示終端。本文,筆者介紹了一種基于μC/OS-II 的工業(yè)觸摸屏系統(tǒng),該系統(tǒng)圖形組態(tài)軟件在計(jì)算機(jī)的Windows 平臺(tái)下,采用Visual C++語言構(gòu)建,在ARM 的嵌入式μ C/OS-II 平臺(tái)上開發(fā)應(yīng)用程序。計(jì)算機(jī)上的組態(tài)軟件和觸摸屏之間通過USB 口進(jìn)行通信。觸摸屏系統(tǒng)作為上位機(jī),可以與不同的控制設(shè)備(如PLC、儀表、變頻器等)構(gòu)成復(fù)雜的過程控制系統(tǒng),實(shí)現(xiàn)不同的控制任務(wù)。
工業(yè)觸摸屏系統(tǒng)包括觸摸屏系統(tǒng)本體和計(jì)算機(jī)中的嵌入式組態(tài)軟件兩部分。觸摸屏系統(tǒng)本體作為工業(yè)控制系統(tǒng)中的上位機(jī)使用時(shí),一是接受下位機(jī)的狀態(tài)及存儲(chǔ)器信息,并以數(shù)據(jù)、曲線、圖形、動(dòng)畫的方式顯示,二是通過觸摸方式控制下位機(jī)中的狀態(tài)位及存儲(chǔ)器數(shù)據(jù),下位機(jī)可以是PLC、儀表、變頻器等具有同樣接口及協(xié)議的控制設(shè)備,完成工業(yè)控制系統(tǒng)的數(shù)據(jù)采集和控制功能,并通過串口,如RS232、RS485、RS422等,與觸摸屏系統(tǒng)進(jìn)行通信。工業(yè)觸摸屏系統(tǒng)組成如圖1所示。
圖1 工業(yè)觸摸屏系統(tǒng)組成
組態(tài)人員,亦即編程人員,利用計(jì)算機(jī)中安裝的嵌入式觸摸屏組態(tài)軟件,設(shè)計(jì)開發(fā)出系統(tǒng)監(jiān)控組態(tài)界面后,創(chuàng)建工程文件,經(jīng)加密后生成加密的Bin文件,通過USB口將生成的監(jiān)控組態(tài)界面下載到觸摸屏系統(tǒng)的存儲(chǔ)器中。觸摸屏系統(tǒng)上電運(yùn)行時(shí),將解密Bin文件,解析工程文件,顯示監(jiān)控畫面,自動(dòng)進(jìn)行監(jiān)視,并可以由用戶在觸摸屏上進(jìn)行控制操作。觸摸屏系統(tǒng)存儲(chǔ)器內(nèi)的Bin文件也可以通過USB口上傳至計(jì)算機(jī)。
觸摸屏本體包括硬件電路和嵌入式操作系統(tǒng)及應(yīng)用軟件。觸摸屏本體的硬件電路是整個(gè)嵌入式操作系統(tǒng)和應(yīng)用程序運(yùn)行的硬件平臺(tái)。硬件電路部分分為微處理器和外圍電路。設(shè)計(jì)所采用的微處理器為ARM9系列的S3C2440A芯片,微處理器是嵌入式系統(tǒng)的核心部件,負(fù)責(zé)控制整個(gè)嵌入式系統(tǒng)的運(yùn)行。外圍電路包括嵌入式系統(tǒng)的RAM、Flash、I/O端口、復(fù)位和電源等,與微處理器一起構(gòu)成一個(gè)完整的嵌入式目標(biāo)系統(tǒng)。
設(shè)計(jì)選用μC/OS-II操作系統(tǒng)作為觸摸屏應(yīng)用軟件的開發(fā)平臺(tái),完成嵌入式應(yīng)用的任務(wù)調(diào)度和控制核心功能。μC/OS-II 是一種結(jié)構(gòu)小巧、免費(fèi)公開源代碼、具有可剝奪實(shí)時(shí)內(nèi)核的實(shí)時(shí)操作系統(tǒng),具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn)。μC/OS-II 已經(jīng)移植到了很多知名的CPU 上,包括S3C2440A,它的基于優(yōu)先級(jí)調(diào)度的搶占式的實(shí)時(shí)內(nèi)核較精簡、可配置,與高層應(yīng)用關(guān)聯(lián)緊密。
本系統(tǒng)的嵌入式應(yīng)用程序開發(fā)環(huán)境為ARM Developer Suite v1.2,用C語言編寫。ARM平臺(tái)利用μC/OS-II提供最基本的系統(tǒng)服務(wù),如信號(hào)量、郵箱、消息隊(duì)列、內(nèi)存管理、中斷管理等,完成特定功能的嵌入式應(yīng)用。嵌入式應(yīng)用程序包括圖形繪制模塊、數(shù)據(jù)傳輸模塊、顯示驅(qū)動(dòng)模塊、設(shè)備驅(qū)動(dòng)模塊、動(dòng)態(tài)保存模塊等。圖形繪制模塊負(fù)責(zé)解析接收到的圖形編輯信息,并在顯示設(shè)備上重新繪制出來;數(shù)據(jù)傳輸模塊負(fù)責(zé)接收和發(fā)送數(shù)據(jù);顯示驅(qū)動(dòng)模塊負(fù)責(zé)具體顯示設(shè)備的驅(qū)動(dòng)程序編寫,向繪圖模塊提供底層接口;設(shè)備驅(qū)動(dòng)模塊負(fù)責(zé)與PLC等設(shè)備通訊;動(dòng)態(tài)保存模塊負(fù)責(zé)將需要保存的數(shù)據(jù)寫入Flash芯片中。
設(shè)計(jì)開發(fā)軟件為VC++,采用面向?qū)ο蟮拈_發(fā)語言。嵌入式組態(tài)軟件主要包括圖形編輯模塊、數(shù)據(jù)下載模塊和數(shù)據(jù)上載模塊。圖形編輯模塊負(fù)責(zé)編輯將要顯示的圖形信息,一般為靜態(tài)圖形信息;數(shù)據(jù)下載模塊負(fù)責(zé)將編輯的圖形信息下載到觸摸屏中,數(shù)據(jù)上載模塊負(fù)責(zé)將觸摸屏存儲(chǔ)器中的Bin文件通過USB口上傳至計(jì)算機(jī)中。嵌入式組態(tài)軟件與應(yīng)用程序的結(jié)構(gòu)與關(guān)系如圖2所示。
圖2 嵌入式組態(tài)軟件與應(yīng)用程序的結(jié)構(gòu)與關(guān)系
設(shè)工業(yè)觸摸屏系統(tǒng)是在μC/OS-II 實(shí)時(shí)操作系統(tǒng)和ARM 平臺(tái)上開發(fā)應(yīng)用程序,在VC++平臺(tái)下編寫組態(tài)軟件。程序均采用模塊化的設(shè)計(jì)思想,使系統(tǒng)具有更好的可維護(hù)性和可移植性。系統(tǒng)具有良好的人機(jī)交互界面,支持多種監(jiān)控設(shè)備,支持雙串口多協(xié)議運(yùn)行控制,具有較強(qiáng)的計(jì)算功能。