李可成
(廣西工業(yè)職業(yè)技術學院 智能制造學院,南寧 530001)
嵌入式系統(tǒng)是一種專用型計算機處理系統(tǒng),以計算機技術作為構建基礎,在軟硬件方面具有獨立可裁剪的能力,對程序可靠性、程序功能等因素具有嚴格要求。SOC片上系統(tǒng)是嵌入式系統(tǒng)的重要組成形式,可以將包括CPU元件在內的多種外設控制器設備集成在幾個獨立芯片結構之上,故而SOC嵌入式系統(tǒng)的體積相對較小、功耗成本相對較低,能夠適應多種不同的互聯網應用環(huán)境[1]。PLC作為設備和裝置的核心控制器設備,能夠借助I/O組件安裝在機架結構之上,并可以按照智能化編程原則,改寫系統(tǒng)主機內的原有程序編碼原則,從而使得下級設備部件的無縫連通能力大幅提升。由于PLC控制體系的運行需要多個應用部件的共同配合,所以在更換另一種硬件設備時,也需要重新編寫相關軟件執(zhí)行程序[2]。
軟PLC在保留傳統(tǒng)PLC應用功能的基礎上,采用面向現場總線網絡的體系設計結構,全面開放了高速串口、通信接口等以太網連接通路,通過多語言編程的處理方式,修改原有執(zhí)行程序的編譯形式,從而將多個數據開放通路同時轉接至TCP/IP網絡之中[3]。然而對于PC端主機而言,若所生成指令程序不能滿足PLC控制原則,則會使PLC編程器的邏輯編譯能力大幅下降,從而造成網絡體系出現混亂運行狀態(tài)。文獻[4]設計了基于工控業(yè)務仿真的高交互可編程邏輯控制器蜜罐系統(tǒng),設置了過程仿真循環(huán)與服務仿真循環(huán)閉環(huán)體系,又在Matlab/Simulink應用軟件的作用下,完善了主機端元件與執(zhí)行端元件之間的協同工作模式。然而在指令程序較為復雜的情況下,該系統(tǒng)并不能確保程序樣本的編碼形式完全符合PLC控制原則,因此,其對于編程器元件邏輯編譯能力的保障作用也就無法達到實際需求標準。為此,設計了基于嵌入式軟PLC分布式控制系統(tǒng)。
嵌入式軟PLC應用技術可以在更改系統(tǒng)結構布局形式的同時,完善基礎工作執(zhí)行機制,本章節(jié)將針對上述內容展開研究。
嵌入式軟PLC系統(tǒng)的實現需要嵌入式系統(tǒng)組件、軟PLC系統(tǒng)組件的共同配合,簡單來說,就是利用軟PLC技術控制嵌入式系統(tǒng)平臺,再利用軟件編程為PLC邏輯結構提供基礎運算環(huán)境,最后將處理后的軟件程序完整封裝進嵌入式系統(tǒng)執(zhí)行平臺,以用于對下級應用元件進行控制[5]。由于嵌入式軟PLC系統(tǒng)包含嵌入式系統(tǒng)、軟PLC系統(tǒng)的全部運行特點,所以定義其模式特征時應注意如下幾方面內容:
1)開放式控制平臺與相關軟件控制程序必須遵循相同的編碼原則,在軟PLC控制端口閉合的情況下,嵌入式端口也應隨之進入閉合狀態(tài),且兩個端口之間的數據信息樣本不可以出現誤傳、反傳行為,即控制程序運行指令只能由一個端口指向另一個端口,且這種指向性指令傳輸行為運行模式不具備可逆性。
2)當軟PLC控制程序植入嵌入式系統(tǒng)后,PLC邏輯結構的運行模式會發(fā)生變化,當前情況下,分布式主機對于控制執(zhí)行指令的編碼速率較快,軟PLC控制端口內的數據信息樣本被快速消耗,故而整個PLC控制系統(tǒng)的運行速度也相對較快[6]。
3)在多類型軟件程序同時存在的情況下,嵌入式系統(tǒng)主機運行速率始終比軟PLC系統(tǒng)主機運行速率更快,當控制指令累積量達到數據庫主機最大編碼條件時,兩類系統(tǒng)運行速率同時下降,直至已累計指令樣本被PLC編碼軟件完全消耗。
嵌入式軟PLC分布式控制系統(tǒng)由硬件、軟件兩部分共同組成。硬件部分是系統(tǒng)的應用基礎,主要包括I/O組件、CPU設備、PLC內核、軟移植內核等多種應用設備;軟件部分是控制功能實現的關鍵,可以按照相關硬件設備的運行狀態(tài),制定必要的控制任務執(zhí)行指令[7]。分布式控制系統(tǒng)基本布局如圖1所示。
圖1 嵌入式軟PLC分布式控制系統(tǒng)結構組成圖
I/O組件是嵌入式軟PLC分布式控制系統(tǒng)硬件的核心,負責分析PLC軟件程序,并可以根據控制指令約束條件,完成數據樣本的處理。嵌入式存儲器設備直接控制下級ROM結構,其內核組件上集合了多個外設接口,能夠滿足軟PLC系統(tǒng)多種不同的控制需求,由于訪問中間件、I/O驅動器設備、ROM結構之間保持穩(wěn)定的并列連接關系,所以PLC內核、軟移植內核、嵌入式存儲器單元的任何指令行為都不會對下級設備結構的應用能力造成影響[8]。隨著嵌入式軟PLC系統(tǒng)所承擔控制指令任務量的增大,應用軟件層內控制任務的定義量也會不斷增大,直至指令運行量達到系統(tǒng)數據庫主機的最大存儲條件。
簡單來說,分布式控制系統(tǒng)工作執(zhí)行機制就是將嵌入式系統(tǒng)輸出的指令程序改寫成符合軟PLC系統(tǒng)運行需求的編碼形式,但由于軟PLC定義標準會隨著控制指令累積量的增大而改變,所以初始化控制系統(tǒng)時,要求代碼執(zhí)行文件樣本、控制程序編輯序列必須使用相同的定義模板??刂葡到y(tǒng)開發(fā)環(huán)境與運行環(huán)境是兩個完全獨立的執(zhí)行體系,前者通過配置嵌入式硬件設備的方式,確定PLC控制網絡內編譯文本的設置規(guī)則,再聯合待編輯的控制程序,生成完整的代碼執(zhí)行文件,以供系統(tǒng)控制主機的直接調取與利用;后者可以在初始化控制系統(tǒng)的同時,實施對PLC程序的編碼,并可以根據程序代碼掃描文件中樣本序列的定義規(guī)則,判斷輸出代碼文件與系統(tǒng)控制需求之間的匹配性關系[9-10]。系統(tǒng)開發(fā)環(huán)境與運行環(huán)境之間工作執(zhí)行機制的對應標準如圖2所示。
圖2 分布式控制系統(tǒng)執(zhí)行機制詳解圖
由于一個嵌入式硬件設備所輸出的控制指令需要供給多個運行程序選擇,所以開發(fā)環(huán)境與運行環(huán)境之間的對應關系并不滿足單一性原則。
基于嵌入式軟PLC分布式控制系統(tǒng)的設計,需借助I/O組件完成對PLC程序的編寫及CODESYS工程的設置,但由于分布式運行體系不僅模式相對較為復雜,所以為實現對組件設備間連接關系的判斷,還要考慮I/O驅動程序的開發(fā)與編譯原則。
分布式運行體系是指主機對象與服務器對象分別對應的系統(tǒng)運行模式,一般來說,嵌入式硬件應用平臺中的主機對象與服務器對象只能保持一一對應關系,即隨著PLC控制程序輸出量的增大,對應映射關系的存在組別數量也會不斷增大[11]。在軟PLC控制系統(tǒng)中,分布式運行體系布局形式如圖3所示。
圖3 軟PLC系統(tǒng)分布式運行體系的基礎架構
可以將已編碼、未編碼的指令程序區(qū)分開來,其中已編碼的程序指令直接反饋至服務器單元,以供其對嵌入式系統(tǒng)運行模式進行準確辨別;未編碼程序指令則會在主機單元中進行二次加工,當前實時編碼格式滿足PLC控制標準后,這些程序指令則可以經由反饋信道,傳輸至服務器單元。假設Client主機輸出的指令文件為“1”,在分布式運行體系作用下,服務器主機所接收到的指令文件也為“1”。若將此模式應用到基于嵌入式軟PLC分布式控制系統(tǒng)中,就可以認為PC端主機所生成指令程序的編碼形式,與PLC編程器所接收到的指令程序編碼形式保持一致,且無論I/O組件運行模式是否發(fā)生改變,這種分布式編碼對應關系都不會發(fā)生變化[12]。
I/O驅動開發(fā)就是調動軟PLC分布式控制系統(tǒng)在嵌入式運行體系內的作用能力,在控制程序定義標準不同的情況下,I/O組件的驅動性越強,就表示待執(zhí)行控制程序的累積量越大,當前情況下,驅動條件對于控制程序的適應能力較弱[13-14]。設α、δ表示兩個隨機選取的PLC控制向量,且α≠δ的不等式取值條件恒成立,qα表示基于向量α的I/O組件驅動指標,qδ表示基于向量δ的I/O組件驅動指標,其求解表達式為:
(1)
(2)
基于I/O組件驅動指標值,推導軟PLC分布式控制系統(tǒng)的I/O驅動程序開發(fā)表達式為:
(3)
式中,β表示PLC控制程序規(guī)劃系數,且系數β取值恒大于自然數1。
在基于嵌入式軟PLC分布式控制系統(tǒng)中,驅動系數與驅動向量的變化趨勢保持一致,但當其取值超過額定限度標準后,這種取值規(guī)則不成立。
通過以上步驟完成I/O驅動開發(fā)過程,提高軟PLC分布式控制系統(tǒng)的調動能力。
PLC程序編寫是解決PC端主機所生成指令程序編碼格式不統(tǒng)一的必要方法,可以按照I/O驅動開發(fā)原則,確定軟PLC控制系統(tǒng)指令程序的初始傳輸位置與目標傳輸位置[15-16]。對于嵌入式系統(tǒng)組件而言,軟PLC分布式控制系統(tǒng)執(zhí)行指令會隨著運行時間的延長而不斷累積,故而PLC程序編寫文本定義標準并不唯一,而是會隨著執(zhí)行指令累積量的增大而不斷改變。設φ表示PLC控制指令初始傳輸位置定義條件,φ′表示控制指令目標傳輸位置定義條件,I/O驅動開發(fā)原則要求,φ′>φ的不等式條件恒成立,ε表示控制指令編譯系數,在上述物理量的支持下,聯立式(3),可將PLC程序編寫表達式定義為:
(4)
設置軟PLC分布式控制系統(tǒng)CODESYS工程之前,需要確認編譯好的PLC控制程序描述文件安裝是否正確,在嵌入式系統(tǒng)運行模式中,只有正確的PLC程序描述文件能夠得到CODESYS工程的認證,而錯誤的PLC程序描述文件則會被系統(tǒng)數據庫主機直接存儲[17]。CODESYS工程可以在系統(tǒng)控制指令中添加一個獨立賦值任務,當任務優(yōu)先級審核標準為“1”時,控制指令直接被PLC編程器執(zhí)行,當任務優(yōu)先級審核標準為“0”時,控制指令經過I/O組件的再次開發(fā),直至其審核標準等于“1”(基于嵌入式軟PLC分布式控制系統(tǒng)作為計算機應用系統(tǒng)的一種,所以其在處理控制指令時遵循二進制原則)[18]。
基于PLC程序編寫原則的CODESYS工程設置條件滿足式(5):
(5)
在I/O組件結構的作用下,控制實時內核的進入與退出作用,再通過規(guī)劃分時映像區(qū)的方式,推導控制指令邏輯棧表達式,從而實現基于嵌入式軟PLC分布式控制系統(tǒng)的設計。
實時內核進入與退出是兩個完全相反的執(zhí)行流程,前者意在將嵌入式軟PLC控制程序植入分布式執(zhí)行主機,而后者則可以將已植入控制程序再次移出分布式執(zhí)行主機,從而釋放系統(tǒng)緩存壓力,使得PLC編程器運行速率加快,PC端主機輸出的指令文件能夠得到加密與編輯處理[19]。實時內核是一個實體編程結構,可以更改PLC程序指令信息的編碼形式,但為了保證嵌入式軟PLC分布式控制系統(tǒng)的執(zhí)行一致性,內核進入與退出過程所遵循的編碼原則完全一致。
實時內核進入編碼原則為:
(6)
式中,smin表示軟PLC控制程序植入特征最小值,smax表示軟PLC控制程序植入特征最大值,κmin表示分布式植入系數最小值,κmax表示分布式植入系數最大值。
實時內核退出編碼原則為:
(7)
(8)
式(8)取值為零,表示分時映像區(qū)覆蓋空間極小,并不代表嵌入式軟PLC分布式控制系統(tǒng)中不存在分時映像區(qū)空間。
控制指令邏輯棧也叫軟PLC分布式控制程序的執(zhí)行協議棧。在嵌入式系統(tǒng)執(zhí)行環(huán)境中,棧文本是具有邏輯約束作用的程序指令,但單一的棧文本并不能決定分布式主機對軟PLC執(zhí)行程序的作用能力,故而控制指令邏輯棧的運行還需要I/O組件及相關硬件主機的共同配合[23-24]。
嵌入式軟PLC分布式控制系統(tǒng)控制指令邏輯棧作用表達式推導結果滿足式(9):
(9)
為了驗證設計的基于嵌入式軟PLC分布式控制系統(tǒng)的有效性,首先,通過式(1)和式(2)計算得到的I/O組件驅動指標值,在Windows主機中輸入所設計的基于嵌入式軟PLC分布式控制系統(tǒng)的PLC程序編寫表達式,記錄PC端主機所生成指令程序的編碼形式,使其滿足式(5)的CODESYS工程設置條件,將其與給定的編碼原則進行對比,總結出實驗組控制指令的編碼原則;然后,將各項顯示參數歸零,斷開PLC編程器的所有連線,將PC端主機還原至初始連接狀態(tài);其次,根據I/O驅動開發(fā)原則,在Windows主機中輸入文獻[4]系統(tǒng)的PLC程序編寫表達式,記錄PC端主機所生成指令程序的編碼形式,判斷其是否滿足CODESYS工程設置條件,總結出對照組控制指令的編碼原則;最后,對比實驗組、對照組編碼原則,總結實驗規(guī)律。
在PLC編程器連接回路中,所有應用開關的連接狀態(tài)均保持一致,所以PC端主機所生成指令是影響控制程序編碼原則的唯一條件。
利用SoftPLC-C650PLC軟件監(jiān)測PLC編程器的運行情況,當相關配置欄顯示情況如圖4所示時,閉合控制開關,進行實驗。
圖4 SoftPLC-C650PLC軟件配置
為避免錯誤識別行為的出現,SoftPLC-C650PLC軟件每次只查看一條指令程序的編碼情況。
本次實驗選取10條PC端主機指令程序,及其在PLC控制原則下的編碼結果,指令程序編碼原則如表1所示。
表1 指令程序編碼原則
在實驗組、對照組控制系統(tǒng)作用下,所選定10條指令的編碼結果分別如圖5和圖6所示。
圖5 實驗組控制系統(tǒng)指令編碼
圖6 對照組控制系統(tǒng)指令編碼
分析圖5可知,在實驗組控制系統(tǒng)作用下,PC端主機所生成指令程序的編碼結果與表1給定標準完全一致,即實驗組控制系統(tǒng)的編碼能力與PLC控制原則相符合。
分析圖6可知,當PC端主機所生成指令程序為X0011、X0013、X0014、Y3301、Y3303時,對照組控制系統(tǒng)所輸出程序的編碼結果與表1給定標準完全一致;當PC端主機所生成指令程序為X0012、Y3304、Y3305時,對照組控制系統(tǒng)所輸出程序雖然能夠顯示出編碼結果,但其編碼形式卻與給定PLC控制原則不符合;當PC端主機所生成指令程序為X0015、Y3302時,對照組控制系統(tǒng)所輸出程序不能顯示出編碼結果,即對于所選定10條指令,因為設計系統(tǒng)通過式(4)對控制系統(tǒng)進行PLC程序編寫,使PC端主機所生成指令程序編碼格式相統(tǒng)一。而對照組控制系統(tǒng)只能保證5條指令的編碼結果與PLC控制原則相符合。
在此基礎上,對實驗組、對照組控制系統(tǒng)指令編碼準確性進行統(tǒng)計,具體實驗結果如圖7所示。
圖7 實驗組、對照組控制系統(tǒng)指令編碼準確性
根據圖7可知,整個實驗過程中,實驗組、對照組控制系統(tǒng)指令編碼準確性均保持相對穩(wěn)定的數值狀態(tài)。當測試時間為100 min時,實驗組、對照組控制系統(tǒng)平均指令編碼準確性分別為91.6%和80.5%。由此可知,實驗組控制系統(tǒng)平均指令編碼準確性明顯大于對照組控制系統(tǒng)平均指令編碼準確性,因為實驗組設計了I/O驅動開發(fā)過程,提高了軟PLC分布式控制系統(tǒng)的調度能力,有效提高指令編碼準確性。
綜上可知,在基于嵌入式軟PLC分布式控制系統(tǒng)的作用下,PC端主機所生成的10條指令程序均滿足PLC控制原則,對于保障PLC編程器的邏輯編譯能力可以起到一定的促進性影響作用,且能夠有效提高指令編碼準確性。
本文設計了基于嵌入式軟PLC分布式控制系統(tǒng),能夠根據軟PLC定義標準,確定PC端主機的工作執(zhí)行機制,再按照分布式運行框架,分析I/O驅動組件的開發(fā)能力,又聯合PLC應用程序,判斷CODESYS工程的運行現狀是否符合設計需求。由于實時內核的進入與退出是兩個完全不同的指令執(zhí)行流程,所以分時映像區(qū)結構的取值條件將直接影響控制指令邏輯棧的表達形式。在實際應用方面,該系統(tǒng)可以使PC端主機所生成指令程序滿足PLC控制原則,符合保障PLC編程器邏輯編譯能力的實際應用需求,并能夠有效提高指令編碼準確性。