林植洲,蔡啟仲,李克儉,潘紹明,未慶超
LIN Zhi-zhou,CAI Qi-zhong,LI Ke-jian,PAN Shao-ming,WEI Qing-chao
(廣西科技大學 電子與信息工程學院,柳州 545006)
在工業控制領域,人機界面(Human Machine Interface,簡稱HMI)以其友好的人機交互功能,被廣泛的使用在工業控制設備之中,人機界面和PLC組合的控制系統更是得到了廣泛的應用,根據PLC被控對象的不同或應用場合的不同,用戶對人機界面的需求也有所不同[1~3]。為了滿足不同被控對象的應用需求,提高人機界面的開發效率和利用率,本文結合自主研制的通用小型可編程控制器,設計了一種通用人機界面裝置,給出了具體軟硬件設計,并建立了人機界面的物理量與PLC軟元件的映射關系,使人機界面能和PLC進行準確通訊,最后以具體實例進行了驗證。
通用人機界面作為小型PLC控制系統中的監控裝置,通過CAN總線與由ARM和FPGA構成的PLC主機進行通訊[4,5]。通用人機界面裝置的設計遵循以下原則:1)硬件簡單、可靠、廉價且運行環境好,并配有大容量存儲器,提供靜態與動態參數數據等的存儲;2)軟件簡單、實用、開發方便;3)人機交互界面友好;4)通用性好,能應用于不同被控對象。
在人機界面裝置的電路系統設計方面,采用LPC2478微控制器和迪文智能顯示終端為核心硬件,配置CAN接口模塊以及其他外圍電路模塊,能夠達到一臺 PLC 配置多臺人機界面;在軟件結構方面,由界面設計軟件和系統程序作支持,系統程序采用 C 語言結合迪文指令集進行二次開發,在此基礎上實現人機界面的各項功能,設計人機交互系統。
人機界面硬件由主控制器模塊、顯示模塊、CAN接口模塊、輔助模塊、其他接口模塊組成。硬件框圖如圖1所示。
1)LPC2478是基于32位ARM7內核的微控制器,工作頻率為72MHz,集成了豐富的外設組件,作為人機界面的主控制器,主要承擔系統各模塊的控制任務及通訊功能。
2)顯示模塊采用5.6寸迪文智能顯示終端,顯示終端通過RS-232串口與LPC2478或PC機進行通訊[6]。通過顯示終端的顯示屏和觸摸屏實現被控對象控制參數的輸入和顯示、運行參數的實時顯示、報警信息顯示等;顯示終端自帶128MB Nand FLASH的用戶存儲空間,其中64MB的圖片存儲器能存儲640×480的全屏圖片102幅;最大32MB的數據存儲器,其中64KB的用作隨機存儲空間、29.875MB的作為順序存儲空間用于存儲歷史數據,以便于對數據進行分析;顯示終端能外接最大6×6矩陣鍵盤,便于用戶在需要使用外接鍵盤時,接入人機界面進行輸入。
3)由于LPC2478內部集成了CAN控制器,本文采用具有DC 2500V隔離功能的CTM8251T芯片作為CAN收發器,人機界面通過CAN接口與小型PLC系統連接,CAN接口模塊主要實現CAN總線上信息的接收和發送。

圖1 人機界面硬件結構框圖
4)輔助模塊由電源管理模塊、時鐘模塊、報警模塊、復位模塊組成,為系統功能的實現提供了必要的協助。其它接口模塊中還配置有USB接口與調試接口。
軟件設計包括界面設計,系統程序設計以及人機界面物理量與PLC軟元件映射關系的設計。映射關系的設計為界面設計中的鍵碼配置、系統程序設計中鍵碼與軟元件編碼轉換程序提供了依據。
3.1.1 設計思路
在由ARM與FPGA組成的PLC主機的用戶存儲區中每個軟元件保存的信息都與被控對象的工作狀態或運行參數相關[4,7],即每一個軟元件編號與每一個被控對象實際物理量都有唯一的對應關系,每一個軟元件的信息表示了該物理量的數據或開關量狀態。為了使人機界面能夠顯示被控對象實際物理量的信息,應建立起人機界面物理量與PLC軟元件唯一的映射關系。
在PLC主機中與人機界面通訊的PLC軟元件有輸入繼電器、輸出繼電器、輔助繼電器、定時器、計數器、狀態器、數據寄存器。為了建立人機界面物理量與軟元件的映射關系,首先給每個PLC軟元件賦予一個確定值;接著在給人機界面物理量配置鍵碼值時,根據人機界面的開關量要與PLC主機中保存被控對象開關量狀態的軟元件相對應、人機界面顯示的模擬量要與PLC主機中保存被控對象模擬量設定值或當前值的軟元件相對應的原則,把人機界面物理量的鍵碼值配置成與其對應PLC軟元件的賦值相同。這樣就建立起了人機界面物理與PLC軟元件的映射關系。
3.1.2 具體設計
考慮到本裝置最大配置鍵碼值為9999,而PLC主機中與人機界面通訊的軟元件總個數超過這個數值,因此要對PLC軟元件的個數做進一步的限定。在考慮實際使用情況后,本設計對與人機界面通訊的PLC軟元件做了如下規定,并賦給一個確定值,具體如表1所示。

表1 與人機界面通訊的PLC軟元件賦值設計表
自主研制的小型PLC控制系統采用了CAN 2.0B標準幀格式的自定義CAN協議作為系統的通信協議,該協議采用起始位+設備地址+數據類型+數據號+數據長度+數據+CRC 校驗+結束標志[4]。在協議中定義了軟元件的編碼規則,具體如表2所示。

表2 人機界面與PLC主機通訊的軟元件編碼
3.1.3 實現過程
以保存PLC主機工作狀態“手動”信息的軟元件M1為例,將顯示界面中“手動”控制按鈕的鍵碼值依據表1配置為1501(0x05 0xDD),當按下“手動”按鈕時顯示終端通過串口上傳一個攜帶鍵碼值為 0x05 0xDD的迪文指令給LPC2478,LPC2478收到這條指令提取鍵碼為0x05 0xDD時,判斷為改變PLC主機的工作狀態為手動,并將鍵碼值轉換成軟元件M1的編碼信息:數據類型為0x04、數據號為0x00 0x01。將編碼信息按照自定義的CAN協議進行填充編碼寫成改變M1狀態的CAN指令,通過CAN總線傳給PLC主機。這樣就實現了通訊過程中人機界面物理量與PLC軟元件映射關系的轉換。
界面設計軟件由PC機上的畫圖軟件、迪文觸控界面制作軟件、迪文演示助理軟件構成。界面設計采用迪文觸控界面設計方式,用戶可以根據需要在PC機上用畫圖軟件設計出類似windows風格的圖形界面來實現人機交互。
顯示界面用畫圖軟件制作完成之后,由迪文觸控界面制作軟件配置界面間的觸控關系、界面中顯示的物理量按人機界面物理量與PLC軟元件映射關系進行鍵碼配置,并生成觸控配置文件。通過迪文演示助理軟件調試后把顯示界面和觸控配置文件下載到顯示終端,并對顯示終端的參數進行設置包括界面觸控方式設置、串口通信波特率設置等。本設計把觸控方式設計成點擊有效觸控區域才發出聲音,并上傳觸控鍵碼值:當點擊顯示界面中的控制按鈕、數值顯示框或數字鍵盤時,迪文智能顯示終端通過串口自動上傳一個攜帶相應鍵碼值的迪文指令到LPC2478。
系統程序通過C語言結合迪文指令集進行開發,采用模塊化結構設計方法進行設計。人機界面系統程序由4個模塊組成:系統初始化模塊、中斷模塊、功能模塊和主控模塊。
系統初始化任務主要是實現人機界面系統各個硬件驅動的初始化;中斷模塊包括串口接收中斷程序和CAN接收中斷程序,通過中斷程序保證迪文顯示終端通過串口發送來的數據和CAN總線上的數據的實時接收;主控模塊完成系統工作任務判斷,進行正??刂蒲h;功能模塊包括鍵盤輸入程序、鍵碼與軟元件編碼轉換程序、CAN編碼程序、CAN解碼程序、串口編碼程序、串口解碼程序、數據保存程序、光標顯示程序等具體功能小模塊。本文的鍵盤輸入程序采用工業中應用比較廣泛的“防錯誤輸入法”進行設計,即當輸入錯誤值時,不用退出,只需重新輸入正確的值即可。
人機界面裝置每個功能都是通過調用這些具體功能小模塊來實現的,如對PLC被控對象參數進行設定功能的實現過程如圖2所示。

圖2 參數設定功能的實現過程
本文以太陽能熱水器控制系統為試驗對象,在構建好的通用人機界面平臺上進行二次開發。依據系統要求[8],人機界面要實現的主要功能有∶水位顯示/設定、溫度顯示/設定、自動/手動控制、報警顯示等,系統顯示界面的顯示菜單設為2級菜單的形式,例舉菜單中參數設置界面功能如果圖3所示。

圖3 太陽能熱水器控制系統人機界面功能菜單
首先將人機界面的物理量與保存太陽能熱水器信息的PLC軟元件進行一一映射,例舉部分映射關系如表3所示;接著用畫圖軟件制作所需的顯示界面,并配置各界面的觸控關系和鍵碼值;最后經調試無誤后把顯示界面、觸控配置文件下載到人機界面裝置。

表3 部分人機界面物理量與PLC軟元件的映射關系
將人機界面裝置接入控制系統對太陽能熱水器進行實時監控。顯示系統運行時參數設置界面如圖4所示。
采用LPC2478微控制器結合迪文的智能顯示終端進行通用人機界面設計,提高了系統的處理速度和設計的可靠性,也便于功能的擴展;采用迪文觸控界面設計方式簡化了界面設計過程,而且界面設計可以和系統程序設計同時進行,縮短了設計周期時間。經實例驗證表明本文設計的通用人機界面裝置開發方式簡單,滿足實際應用需求,達到友好人機交互的目的。
[1] 陳永利,李玉鼎.PLC與人機界面組合的控制系統研究[J].制造業自動化,2012,34(7)∶148-150.
[2] 蔡啟仲,賀漾,潘紹明.基于CAN總線的塑料助吹中空成型機人機界面裝置[J].儀表技術與傳感器,2011,(4)∶28-30.
[3] 邴旭,化春雷,李焱,等.西門子數控系統人機界面二次開發方法研究[J].制造技術與機床,2011,(10)∶163-167.
[4] 侯鴻佳,蔡啟仲,陳文輝,等.ARM+FPGA 組成的PLC 結構的通信系統[J].廣西工學院學報,2012,23(1)∶14-19.
[5] 蔡啟仲,郭毅鋒,陳文輝,等.通用小型可編程控制器及其控制方法∶中國,200710052941.X[P].2009-08-19.
[6] 北京迪文科技有限公司.DMT64480T056_01WT數據手冊[OL].(2010-07-01)[2013-03-16]. http∶\www.dwin.com.cn.
[7] 方承遠,張振國.工廠電氣控制技術[M].北京∶機械工業出版社,2008.
[8] 耿立明,劉漫洲,劉雨剛,等.基于PLC的太陽能熱水器的自動控制系統[J].電氣傳動,2006,36(11)∶54-56.