林滔
(上海電子信息職業技術學院,上海 201411)
PLC是一種可編程控制器,它是一種數字操作的電子學系統,特別適用于工業環境中的自動控制[1]。PLC從單機到整條生產線,甚至對整條生產線的自動化都起到了很好的作用。為了降低PLC在控制系統中的占用空間,同時保證PLC控制指令的執行與傳輸效率,大多采用嵌入式的方式將其安裝在被控制對象內部。嵌入式系統是基于計算機技術,通過對軟硬件的剪裁來滿足用戶對功能、體積和功耗等方面的需求。相對于傳統PLC,嵌入式PLC的硬件架構更開放,指令集也更多,便于用戶編程,因此應用范圍更廣、應用頻率更高。
從當前關于嵌入式PLC智能控制的研究成果方面來看,各研究單位加強了對嵌入式小型 PLC 技術的研究,也形成了一些技術積累。但是,由于技術還不是很完善,因此存在控制效果不佳的問題,主要體現在開關量和模擬量兩個方面。為了解決當前小型PLC智能控制模塊存在的問題,本文深入研究嵌入式技術,對小型PLC控制模塊加以改進。
在嵌入式技術的支持下,應用小型PLC為智能控制模塊核心處理部件[2]。此次小型PLC智能控制模塊的設計分為硬件設備設計和智能控制模塊的邏輯設計兩個部分。在硬件設備和模塊設計的交互作用下,完成嵌入式PLC智能控制模塊的邏輯構建。具體的嵌入式PLC智能控制模塊邏輯圖如圖1所示。

圖1 嵌入式PLC智能控制模塊邏輯圖
此次以嵌入式技術為基礎的小型PLC智能控制模塊,選擇MCS8051型號的PLC作為模塊的核心處理部件,能夠進行硬件除法、分支預測等處理任務,其內部結構如圖2所示。

圖2 模塊內部結構圖
圖2所示的PLC是一個8位二進制的中心處理器,即以字節為單位進行數據的處理[3]。PLC主要包括三大模塊:運算邏輯模塊、定時控制模塊以及專用寄存器模塊。算術邏輯單位可以進行加、減、乘、除、與、或、非、異或等的邏輯操作指令[4]。
小型PLC由電源、微控制器、存儲器和輸入輸出接口集成電路等部分構成,圖3表示的是PLC的基本結構。

圖3 PLC硬件組成框圖
根據MCS8051的工作模式以及PLC的編程與控制原理,調整其接口電路。以輸入電路為例,由于設備輸入界面包含了數字和模擬量,因此,在進行數據輸入與采樣時應分別考慮模擬和數字兩種情況[5]。具體的接口電路調整結果如圖4所示。

圖4 PLC設備輸入接口電路圖
圖4中的Va是通過信號調節器與線性光耦合器HCNR200進行光電絕緣并由AD1輸出的傳感器信號[6]。對嵌入式 PLC輸出、LCD等改裝調整。
按照存儲的控制命令格式,將存儲單元劃分為X區、Y區、M區、T區、VD區等區域。X區存儲從接收外部單元發送的信號,Y區存儲要進行端口輸出的信號,M區存儲輔助繼電器信號,VD區用來存儲數據和執行結果,T區存儲計時器信息[7]。
小型PLC智能控制模塊的任務工作流程可以分為輸入采樣、用戶程序執行、輸出刷新3個階段[8]。其中,用戶控制任務調度算法的具體流程設計如圖5所示。

圖5 小型PLC智能控制模塊的工作流程圖
完成梯形圖的掃描后,PLC更新全部鎖存回路,通過輸出回路驅動外部器件[9]。每次掃描時,PLC還會執行自我診斷程序,檢查各個輸入、輸出點、內存等。再與編程程序通信,以完成相應的處理[10]。輸入現場資料,依次進行用戶編程、輸出控制信號、完成一次掃描,進入PLC自診斷程序,輸出最終的刷新結果。實際的用戶控制任務調度處理過程如下。
計算當前嵌入式PLC的處理能力:
(1)
式中Tn和Ti分別為用戶輸入控制任務在標準處理器和嵌入式PLC設備上的執行時間。若λi的計算結果高于0.8,則確定當前嵌入式PLC設備具有處理當前控制任務的能力。輸出控制指令轉換過程表示為
(2)
式中VIN和VREF分別為輸入的模擬量電壓和參考電壓。按上述方式轉換模塊中所有的控制任務,并計算各個控制任務的動態價值密度與執行緊迫性,計算公式如式(3)所示。
(3)

完成控制任務調度后,對小型PLC智能控制模塊的控制算法進行設計,其具體流程如圖6所示。

圖6 小型PLC智能控制模塊的控制算法流程圖
從開關量和數字量兩個方面,實現小型PLC模塊的智能控制功能。開關量控制過程也就是被控制對象啟動或停止的控制過程,開關量取值為“0”或“1”。通過開關量數值的切換,實現被控對象工作狀態的控制,而數字量的控制則是被控對象運行參數的控制,具體包括速度、位置以及工作頻率等[12]。在開關量的控制過程中,切換開關量取值并利用控制器驅動相應按鈕,實現對開關量的控制。控制數字量需在PLC中將輸入的控制信號的標度進行變換處理,標度變換過程為
(4)
式中:X、XF和XV分別為控制信號的采樣值及其上、下限;M為被控對象的量程;y0和y對應的是控制參數的初始值和標稱值。以速度參數控制任務為例,假設被控對象的實際速度值為νt,速度的控制目標為νa,則加減速控制過程為
(5)
式中:Δ為速度控制量;a為加速值;t為速度參數的控制時間。按照上述方式,可實現參數控制,若無其他控制指令,輸出PLC智能控制結果。
以測試嵌入式小型PLC智能控制模塊的應用效果為目的,設計驗證實驗,并通過與傳統控制模塊的對比,體現出優化設計模塊在智能控制方面的性能優勢。
1)控制對象
此次實驗選擇機械生產場景作為研究環境,選擇機械工廠中VMC855和STC50型號的數控機床及其內部的自動加工機械設備作為控制對象。開始實驗前,需確定準備的控制對象上安裝的驅動設備正常運行。
2)控制任務樣本
根據本文小型PLC智能控制模塊的構建結果,分別從開關量控制和數字量控制兩個方面設置實驗控制任務,其中部分控制任務的設置情況如表1所示。

表1 控制任務樣本設置表
為保證實驗結果可信度,設置控制任務樣本數量共800個,平均分為5組,且每組控制任務內容均不相同。
3)模塊開發與運行環境
除PLC設備外,在實驗環境中還需安裝上位機設備,以顯示小型PLC智能控制模塊的智能控制效果。在上位機中配置BorlandC++Builder編程環境,支持C++和JAVA兩種編程語言,為編程任務提供軟件支持。
實驗元件包含TLP521光電耦合器件、ATMEGA169型嵌入式微處理器、線性光耦合器HCNR200、MCS8051型號單片機、編碼器等。編寫特定硬件環境的初始化代碼及系統主要功能模塊,使用預定義關鍵字編寫主要實現代碼,最后編寫應用程序主代碼。
完成初始化代碼的編寫、任務代碼的創建后,執行任務調度程序。調度800個任務,運行結束后,成為一個新建的任務,并立即進入就緒狀態,用該方法模擬繁重的系統應用任務。根據硬件優化結果,實現嵌入式小型PLC智能控制模塊的設定,實現過程如圖7所示。

圖7 PLC智能控制模塊編碼實現過程
編譯梯形圖,把已編譯的用戶控制任務程序下載到PLC的內存中,由單片機以周期掃描方式讀取、執行用戶程序,實現預定的監控控制功能。若經過調試上位機界面能夠輸出預期結果,證明嵌入式小型PLC智能控制模塊調試成功,可執行實驗中的控制任務,否則需重新安裝硬件和軟件程序,直至輸出預期界面。
在構建并調試完成的基礎上,以自動輸入的方式逐條導入準備的控制任務指令,利用PLC模塊的編譯功能將控制任務轉換成控制進程。在硬件設備與軟件程序的協同作用下,得出控制任務的執行結果。圖8顯示了01號開關量控制任務和04號數字量控制任務的輸出結果。

圖8 嵌入式小型PLC智能控制模塊輸出結果
實驗中設置傳統的基于Fuzzy-PID雙模的控制模塊作為實驗的對比模塊,保證對比模塊的運行環境與執行控制任務相同。為體現設計模塊在控制效果方面的優勢,分別設置開關量控制任務執行成功率、模擬量控制任務控制誤差和吞吐量3個指標為測試指標,其中控制任務的執行成功率的數值結果表示為
(6)
式中Nsuccess和Nswitch分別表示模塊成功執行的開關控制任務量和任務設置總量。模擬量控制任務的控制誤差的數值結果表示為
εnumber=∑|xtarget-xcontrol|
(7)
式中xtarget和xcontrol對應的是目標參數值和實際控制值。最終計算得出ηswitch的值越高、εnumber越小,證明對應模塊的控制效果越好。吞吐量結果表示為
(8)
式中:T為時間;numtask為模塊并發處理的控制任務量。TPS取值越大,相應模塊的控制性能越高。
通過對實時控制數據的讀取,得出嵌入式小型PLC智能控制模塊性能的測試結果,其中模塊控制精度的量化測試結果如表2所示。

表2 開關量控制任務測試數據表 單位:個
將表2中的數據代入式(6),可以得出兩個控制模塊開關量控制任務運行成功率的平均值分別為93.25%和99.63%。模塊數字量控制結果如表3所示。

表3 數字量控制任務測試數據表 單位:個
由于模塊控制的參數單位不同,故控制誤差的測試結果以數值方式表示。將表3數據代入到式(7)中得出兩個模塊平均控制誤差分別為3.2和0.4。綜合開關量和數字量兩種類型的控制任務,可確定優化設計的智能控制模塊的控制效果更優。通過式(8)的計算得出模塊吞吐量的測試結果,如圖9所示。

圖9 嵌入式小型PLC智能控制模塊吞吐量對比曲線
從圖9中可以直觀地看出,優化嵌入式小型PLC智能控制模塊的吞吐量始終高于傳統模塊,即本文設計的模塊在控制性能方面更加具有優勢。
在計算機網絡快速發展的大背景下,PLC的控制技術也在不斷地革新,并逐步完善。通過嵌入式技術的應用,有效地改善PLC的智能控制模塊的性能和功能,為今后自動控制方面的推廣應用打下良好的基礎。