李永明,張海
[摘? ? 要]PLC技術(shù)發(fā)展迅速,高級(jí)編程語言在PLC中的應(yīng)用也日益普遍,CODESYS 平臺(tái)作為其中一款PLC編程軟件,逐漸成為未來發(fā)展趨勢(shì),支持面向?qū)ο蟮木幊烫攸c(diǎn),具備PLC程序標(biāo)準(zhǔn)化的軟件基礎(chǔ)。PLC程序標(biāo)準(zhǔn)化是自動(dòng)化控制系統(tǒng)科學(xué)管理的發(fā)展方向,不僅可以提升程序的兼容性,容錯(cuò)性,優(yōu)化資源,提高效率,而且可以推動(dòng)技術(shù)創(chuàng)新和科技進(jìn)步?;贑ODESYS平臺(tái),闡述了PLC程序標(biāo)準(zhǔn)化的思路、框架和流程,并結(jié)合光伏自動(dòng)化設(shè)備的案例進(jìn)行解析。
[關(guān)鍵詞]PLC技術(shù);CODESYS;程序標(biāo)準(zhǔn)化
[中圖分類號(hào)]TP242;TP333 [文獻(xiàn)標(biāo)志碼]A [文章編號(hào)]2095–6487(2022)02–00–03
Standardized Design of PLC Program Based on CoDeSys Platform
Li Yong-ming,Zhang Hai
[Abstract]With the rapid development of PLC technology, the application of high-level programming language in PLC is becoming more and more common. CoDeSys platform, as one of the PLC programming software, has gradually become the development trend in the future. It supports the characteristics of object-oriented programming and has the software foundation of PLC program standardization. PLC program standardization is the development direction of scientific management of automatic control system. It can not only improve program compatibility, fault tolerance, optimize resources and improve efficiency, but also promote technological innovation and scientific and technological progress. Based on CoDeSys platform, this paper expounds the idea, framework and process of PLC program standardization, and analyzes it combined with a case of photovoltaic automation equipment.
[Keywords]PLC technology; CODESYS; procedure standardization
CODESYS軟件是一款基于先進(jìn)的.NET架構(gòu)和IEC61131-3國際編程標(biāo)準(zhǔn)的、面向工業(yè)4.0及物聯(lián)網(wǎng)應(yīng)用的軟件開發(fā)平臺(tái)。它可以實(shí)現(xiàn)一個(gè)完整的工業(yè)自動(dòng)化解決方案,包括邏輯控制(PLC)、運(yùn)動(dòng)控制(Motion Control)及人機(jī)界面(HMI)、基于Web Service的網(wǎng)絡(luò)可視化編程和遠(yuǎn)程監(jiān)控、冗余控制(Redundancy)和安全控制(Safety)等,它具備面向?qū)ο蟮木幊烫攸c(diǎn),具備標(biāo)準(zhǔn)化的軟件架構(gòu)和工程基礎(chǔ)。未來,它將成為連接電子、工控和IT行業(yè)的重要紐帶,將會(huì)極大地推動(dòng)工控自動(dòng)化領(lǐng)域的發(fā)展,為實(shí)現(xiàn)萬物互聯(lián)互通、智能制造夯實(shí)基礎(chǔ)。
傳統(tǒng)的自動(dòng)化PLC程序設(shè)計(jì)中存在結(jié)構(gòu)化不清晰、應(yīng)用性差、靈活性和維護(hù)性差,開發(fā)效率低,經(jīng)常出現(xiàn)同一任務(wù)的“并行工程”,導(dǎo)致工程效率低,維護(hù)難度大,智慧和知識(shí)無法得到有效的利用、保護(hù)與推廣。PLC程序標(biāo)準(zhǔn)化是一種趨勢(shì),是自動(dòng)化控制系統(tǒng)科學(xué)管理的發(fā)展方向,標(biāo)準(zhǔn)化設(shè)計(jì)不僅可以提升工作效率和技術(shù)競(jìng)爭(zhēng)力,還將推動(dòng)技術(shù)創(chuàng)新和科技進(jìn)步。本文基于CODESYS平臺(tái),闡述了PLC程序標(biāo)準(zhǔn)化的思路、框架和流程,并結(jié)合光伏自動(dòng)化設(shè)備的案例進(jìn)行詳細(xì)剖析。
1 標(biāo)準(zhǔn)化框架
標(biāo)準(zhǔn)化廣義的概念是指在經(jīng)濟(jì)、技術(shù)、科學(xué)和管理等社會(huì)實(shí)踐中,對(duì)重復(fù)性的事物和概念,通過制訂、發(fā)布和實(shí)施標(biāo)準(zhǔn)達(dá)到統(tǒng)一,以獲得最佳秩序和社會(huì)效益。針對(duì)具體的行業(yè)和領(lǐng)域,標(biāo)準(zhǔn)化也有其獨(dú)特的含義和使用范疇。
在電氣自動(dòng)化PLC控制領(lǐng)域,程序標(biāo)準(zhǔn)化是指將一些常見的、通用的函數(shù)、功能和單元進(jìn)行封裝,并結(jié)合自動(dòng)化設(shè)備的硬件條件和工藝要求,建立一套符合自身需求的程序架構(gòu),以提升自動(dòng)化設(shè)備開發(fā)效率和質(zhì)量(標(biāo)準(zhǔn)化的本質(zhì)就是提高質(zhì)量),降低服務(wù)和維護(hù)成本,將利益最大化。
PLC程序標(biāo)準(zhǔn)化的最終目標(biāo)就是能夠?qū)崿F(xiàn)將一些功能模塊按照一定的接口設(shè)計(jì)進(jìn)行組織和聯(lián)系,使其能夠滿足機(jī)器或者系統(tǒng)的各項(xiàng)運(yùn)行需求和性能指標(biāo)。
單元(Unit)相當(dāng)于一條生產(chǎn)線的一種設(shè)備,它是由多個(gè)設(shè)備模塊,通過一定的接口設(shè)計(jì)和邏輯控制,使得相互獨(dú)立的設(shè)備模塊之間具備某種聯(lián)系,實(shí)現(xiàn)某種功能,進(jìn)行某種活動(dòng)的模塊組合,它是程序標(biāo)準(zhǔn)化的頂層,是實(shí)現(xiàn)系統(tǒng)標(biāo)準(zhǔn)化的關(guān)鍵。
設(shè)備模塊(Equipment Module,簡(jiǎn)稱EM)是多個(gè)控制模塊通過一定的邏輯關(guān)系組合構(gòu)建的可以執(zhí)行有限數(shù)量的某些較小的處理活動(dòng)的功能模塊,它是構(gòu)成單元的重要元素,具有參數(shù)化、重復(fù)使用性、易修改性等特征。
控制模塊(Control Modules,簡(jiǎn)稱CM)是構(gòu)成單元的最小單位,它處于程序標(biāo)準(zhǔn)化的底層,是具有標(biāo)準(zhǔn)化接口的驅(qū)動(dòng)模塊,也叫它底層功能塊,例如電機(jī)操作功能塊、伺服操作功能塊、氣缸操作功能塊等,它是一旦測(cè)試確認(rèn)就輕易不修改的高度獨(dú)立化的底層標(biāo)準(zhǔn)軟件,程序標(biāo)準(zhǔn)化的第一階段就是要實(shí)現(xiàn)控制模塊(底層功能塊)的標(biāo)準(zhǔn)化,在此基礎(chǔ)上實(shí)現(xiàn)單元的標(biāo)準(zhǔn)化。
控制模塊、設(shè)備模塊、單元三者層層遞進(jìn),層級(jí)關(guān)系如圖1所示。
以太陽能電池制絨工序?yàn)槔?,闡明單元、設(shè)備模塊、控制模塊之間的定義和關(guān)系以及程序標(biāo)準(zhǔn)化設(shè)計(jì)的框架,其簡(jiǎn)要構(gòu)成圖如圖2所示。
2 標(biāo)準(zhǔn)化流程
程序標(biāo)準(zhǔn)化流程包括設(shè)備名稱規(guī)范化定義、設(shè)備模塊劃分、接口定義、設(shè)備模塊分解、標(biāo)準(zhǔn)化程序結(jié)構(gòu)設(shè)計(jì)、設(shè)備模塊測(cè)試、封裝庫管理及標(biāo)準(zhǔn)化文檔,標(biāo)準(zhǔn)化流程圖如圖3所示。
以光伏自動(dòng)化領(lǐng)域離線制絨導(dǎo)片機(jī)為例,進(jìn)行標(biāo)準(zhǔn)化程序的開發(fā)流程的演示。離線制絨導(dǎo)片機(jī)機(jī)械俯視圖如圖4所示。
2.1 名稱規(guī)范化定義
(1)駱駝命名法(camelCase):除第一個(gè)單詞外,其他單詞首字母大寫;中間沒有其他連接符或空格;全局變量(globalTags)、塊(FC、FB)形參(Input、Output、InOut、Static、Temp)、PLC 自定義數(shù)據(jù)類型(User-defined Data Type,簡(jiǎn)稱UDT)都使用這種命名方法。
(2)帕斯卡命名法(PascalCase):與駱駝命名法的區(qū)別是第一個(gè)單詞首字母也要大寫;全局變量、程序塊(OB、FB、FC)、變量表、監(jiān)控表、Trace、組合測(cè)量、工藝對(duì)象等的命名均采用此命名方法。
(3)對(duì)于一些特殊領(lǐng)域的專有名詞,可以制定局部范圍內(nèi)的命名標(biāo)準(zhǔn)化,如部門范圍,公司范圍等,以保證局部范圍內(nèi)不同的自動(dòng)化機(jī)器和系統(tǒng)命名的統(tǒng)一性,增加不同機(jī)器和系統(tǒng)程序的可讀性、易讀性。
2.2 設(shè)備模塊劃分
設(shè)備模塊劃分可以按照機(jī)械組件完成的特定機(jī)械功能進(jìn)行劃分,也可以根據(jù)工藝段中完成特定工藝功能進(jìn)行劃分。
設(shè)備模塊的劃分并不是任意為之,而是有一定的準(zhǔn)則和限制。設(shè)備模塊劃分需要清晰地知道設(shè)備要實(shí)現(xiàn)的功能,需要預(yù)留的接口,要具備相對(duì)獨(dú)立性,而且涉及的控制模塊不能太多,否則會(huì)使得接口特別復(fù)雜。以上面制絨導(dǎo)片機(jī)為例,進(jìn)行設(shè)備模塊劃分,如圖5所示。
2.3 接口定義
接口定義是程序標(biāo)準(zhǔn)化設(shè)計(jì)非常重要的環(huán)節(jié),用戶程序以及各個(gè)模塊之間的信號(hào)交換都是通過模塊接口進(jìn)行的,因此接口設(shè)計(jì)的好壞直接影響用戶程序的運(yùn)行穩(wěn)定性,因此接口設(shè)計(jì)應(yīng)盡可能完善,信號(hào)交互形成回路;接口設(shè)計(jì)也要盡可能“公開”定義,以便靈活調(diào)用模塊。
接口定義一般有兩種類型:①設(shè)備模塊的自身對(duì)象屬性、事件類別,如速度,運(yùn)行狀態(tài),啟動(dòng),停止,手自動(dòng)等;②程序模塊的邏輯屬性、事件構(gòu)造,如動(dòng)作觸發(fā)條件、動(dòng)作停止條件等,它與其他的設(shè)備模塊相關(guān)聯(lián)。
2.4 設(shè)備模塊分解
設(shè)備模塊分解是指將上述劃分的設(shè)備模塊挨個(gè)進(jìn)行分解,分解到最小器件,如傳感器、電機(jī)、伺服、氣缸等,以便利用底層功能塊進(jìn)行邏輯設(shè)計(jì),完成功能單元的程序模塊;另外,功能單元需要分解為輸入設(shè)備和輸出設(shè)備,并定義其功能,為下一步標(biāo)準(zhǔn)化程序構(gòu)造做好準(zhǔn)備。以其中一個(gè)設(shè)備模塊——籃具升降模塊進(jìn)行分解,見表1。
2.5 標(biāo)準(zhǔn)化程序結(jié)構(gòu)設(shè)計(jì)
標(biāo)準(zhǔn)化程序結(jié)構(gòu)設(shè)計(jì)是程序標(biāo)準(zhǔn)化流程中最為關(guān)鍵的環(huán)節(jié)。程序結(jié)構(gòu)設(shè)計(jì)要完善、條理。完善是指該控制模塊的程序結(jié)構(gòu)可以完全滿足所有該機(jī)械條件下的邏輯、運(yùn)動(dòng)控制,即具有通用性(重復(fù)使用性);條理是指程序結(jié)構(gòu)流程清晰,接口明確,即具有擴(kuò)展性(靈活使用性)。針對(duì)上述籃具升降模塊,基于CODESYS平臺(tái)所做的功能模塊如圖6所示。
2.6 設(shè)備模塊測(cè)試
設(shè)備模塊測(cè)試的目標(biāo)就是確認(rèn)該功能塊(FB)是否滿足既定功能,是否存在程序漏洞,通過實(shí)例測(cè)試各個(gè)輸入輸出功能,優(yōu)化程序結(jié)構(gòu),修復(fù)程序漏洞,使其滿足一定的性能指標(biāo),驗(yàn)證成功以后就可以庫化,為封裝庫管理奠定基礎(chǔ)。
2.7 封裝庫管理與標(biāo)準(zhǔn)化文檔
封裝庫管理包括版本管理及知識(shí)產(chǎn)權(quán)保護(hù);標(biāo)準(zhǔn)化文檔記錄包括名稱定義規(guī)則、程序結(jié)構(gòu)及功能標(biāo)準(zhǔn)化說明,封裝庫注釋模板如圖7所示:公司名稱、庫名稱、使用限制(如輸入輸出類型等)、要求(硬件、選件等)、功能描述、作者、日期、版本。
3 結(jié)束語
針對(duì)傳統(tǒng)自動(dòng)化PLC程序設(shè)計(jì)中存在結(jié)構(gòu)化不清晰、應(yīng)用性差、靈活性和維護(hù)性差,開發(fā)效率低,智慧和知識(shí)無法得到有效的利用、保護(hù)與推廣的問題,提出了PLC程序的標(biāo)準(zhǔn)化設(shè)計(jì)?;贑ODESYS平臺(tái),闡述了PLC程序標(biāo)準(zhǔn)化的思路、框架和流程,并結(jié)合光伏自動(dòng)化設(shè)備的案例進(jìn)行解析。實(shí)踐證明,PLC程序標(biāo)準(zhǔn)化設(shè)計(jì)不僅可以提升工作效率和技術(shù)競(jìng)爭(zhēng)力,還能夠推動(dòng)技術(shù)創(chuàng)新和科技進(jìn)步,未來PLC程序標(biāo)準(zhǔn)化設(shè)計(jì)將成為自動(dòng)化控制系統(tǒng)科學(xué)管理的發(fā)展方向。
參考文獻(xiàn)
[1] 魏小星,朱建國,張良華,等.基于CODESYS的面向?qū)ο驪LC編程[J].工業(yè)控制計(jì)算機(jī),2021(34):12-15.
[2] 馬立新. 開放式控制系統(tǒng)編程技術(shù)——基于IEC 61131-3國際標(biāo)準(zhǔn)[M].北京:人民郵電出版社,2015.