怎樣理解和看待PLC程序標準化

2021/9/16 0:01:39 人評論 次瀏覽 分類:PLC應用  文章地址:http://www.wfcycy.cn/tech/3972.html

當前很多人已經有做標準化的意識,一般都會涉及PLC程序標準化。周圍以及網絡上的很多同行在談論標準化時會有一些絕對的定義,比如“只要程序中不是這樣或者只要程序中有那樣的變量,你這都不是標準化!”每當聽到類似聲音的時候,我的內心都在思考,難道PLC程序標準化的評判標準就是這么一句無法考證的話嗎?

那到底怎么去理解PLC程序標準化呢?這個肯定無法用一句話或者一段文字來描述。如果您看到這里還沒有離開,我們不妨往下一起探討下PLC程序標準化的內容。


1、標準化功能

所謂標準化功能就是一些常見的可以供所有人重復使用的函數或者實例化功能,比如一個電機的控制功能、西門子的Epos的功能塊(FB284/FB285)。

但談論標準化功能的時候也要分情況探討,看這些標準化功能的作用范疇。


◆產品供應商或者獨立的組織

比如西門子這樣的供應商,他提供的庫或者功能一定是要能所有的人都能使用,比如Epos的功能塊、基本運動控制庫LAxisCtrl等很多類似的庫,這些標準化功能主要供所有各個行業的使用,所以它們不能有很多局限性的東西,比如里面應用到M寄存器等類似的變量(因為這些變量開發者可能會用到)。所以,這些標準功能一般都是需要實例化的功能塊或者一些函數,并且里面的程序變量一般都是靜態變量以及臨時變量。

由于潛在使用者可能是所有行業,所以這樣的功能塊或者函數的功能一定是針對產品的功能,不會涉及到具體工藝(飛鋸控制庫屬于工藝標準庫,不是功能庫),這樣大家只要參照文檔即可像使用PLC自帶的指令一樣方便,并不會對自己的程序帶有任何負面的影響。


還有一些獨立的組織,常見的比如PLCopen組織,他們定義了一整套的運動控制的相關指令和方法,這些指令就是各個PLC廠商都在應用的MC指令。用過不同品牌PLC的人肯定會發現,大家的運動控制指令從名稱到實現方式都很相似,不同的只是依據各個品牌的基因做了一些相關的改進。


◆設備開發商或者系統集成商

這類開發者開發的標準功能都是只有自己公司或者項目才有使用價值,對于除他自己以外的第三者只有思路的參考價值,并不能直接使用。

比如一個電機控制的標準功能塊,若要將電機所有存在的可能性功能做在一個功能塊,那這個功能塊的管腳以及功能會非常龐大。隨便列舉下,電機可能存在的工頻控制還是變頻控制,有沒有多段速控制,有沒有方向的切換,遠程啟動還是本地啟動,不同控制方式的錯誤診斷……等等,把這些全部實現的話,管腳是不是非常龐大(在PCS7中經常看到很多管腳)。


對于一個設備開發商或者系統集成商來說,匹配他們的電機控制需求可能沒有那么多,同時對于一些工藝設備來說,往往簡單的一個電機塊也只是工藝設備需要的底層功能塊(因為電機的控制需要結合工藝需求實現不同時序要求,Epos也可能是工藝設備的底層塊)。這個時候,這個標準功能就沒有必要大而全,也沒有給第三方使用的必要。反而,這樣的標準功能塊的效率會更高,對于和工藝的匹配也是最佳拍檔。


由于不需要考慮第三方的使用需求,這個時候我可以結合自身程序架構編程。有的程序架構中可能會使用一些M寄存器的變量,這些變量都是自身程序架構中已經定義好了,即使有需要使用的時候也會有一些預留區域,在設計標準功能塊的時候就需要結合自身程序架構理念,實現工藝和程序架構的無縫匹配的程序。


這也是很多國外以前的程序中M變量頻繁出現的原因,因為這些程序和自己設備工藝以及程序架構是無縫匹配的,同時也不需要像西門子一樣提供給可能存在的所有從業者使用。


這樣的功能塊對于其他人來說不是標準功能,但對于該設備開發商或者系統集成商來說,這就是他們的標準化程序,是他們效率和質量倍增器(3-4個工程師一年可以做幾個億的項目,這是我的實際經歷,這就是倍增器的加持效果)。


在Portal優化使用的時代,不建議使用M寄存器,這是另當別論。


2、標準化框架

在汽車行業或者包裝行業可能都會用到Epos功能,而大家都知道汽車行業有一個規范的標準架構Sicar,包裝行業有OMAC的ISA88標準。那在使用Epos的標準功能塊的時候可能就需要做一些針對性的修改,用于匹配各自標準的規范和邏輯實現(比如控制和狀態反饋的邏輯)。

那所有在該行業的企業都能合適上述的一些行業標準化架構么?本人對Sicar不是很了解,但對于OMAC的深入研究后發現其實并不是不一定。這類的標準有特定的前提以及特殊需求(OMAC里面主要為計算OEE),一些該行業的邊緣從業者或者配套企業來說,由于一些工藝需求根本無法匹配進去這類的標準架構。


所以說,標準化架構還是要和自身工藝以及整體的公司設計有關。比如物流行業,除了設備的控制以外,很多時候還要考慮物流的信息流程。這些信息流在PLC程序中怎么和架構程序實現,怎么和設備的控制相結合,讓實際項目中方便簡單的使用,那這些都是需要在標準化中體現出來。


這就是說,所謂的標準化并不是指一個架構或者規范就能完整覆蓋所有行業,更多的都是一些思路的借鑒,然后結合公司自身的工藝要求和硬件基礎,做成一個符合自身要求的程序架構。


當程序架構搭建完成后,就可以基于該架構的方式和方法,做符合自身工藝要求的程序庫。當這些程序庫隨著時間的積累以及bug的不斷解決,這些工藝程序塊和程序架構的穩定性只會越來越高,后續PLC程序開發就會越來越節省時間,并能提高效率和質量(標準化的本質就是提高質量),這樣就能用最少的成本實現最大化的利益。


在以前經典Step7時代,很多標準架構中就存在很多M寄存器的變量。比如一個控制字是Word的名字是MW_Control,其地址是MW2。其中,M2.0到M3.7分別對應不同的控制命令,在程序中我只要對布爾型變量處理,然后在傳遞的時候直接用MW2以Word的形式傳遞,這樣整個程序的管腳就會由可能存在的16個布爾管腳變成一個Word型的管腳。


在Portal的優化處理時代,M寄存器使用反而不高效,此時要像上面那樣處理的話,還必須先定義一個由16個布爾型變量組成的自定義數據,然后處理結束后還必須通過SCATTER指令將這16個布爾型變量在Word型變量中序列化。

SCATTER指令圖
圖1 SCATTER指令圖


當然,需要說明的是,在標準架構中都是按照面向對象的編程思想編程的,對象的所有變量的轉換都是通過實例化數據完成的,除了架構程序中使用到M寄存器以外,實例化程序中是不需要使用M寄存器變量。


以上描述意思就是,一個標準架構只要滿足覆蓋自身工藝需求(比如物流的信息處理)同時能簡化工作提高效率,有著良好的工程接口和數據接口,讓自身所有的工藝對象都能無縫的實例化,工程人員的工作效率和質量大幅提高,這可能就是一個符合自身工藝需求的標準架構。而這些工作更多的是企業自身將工藝需求和規律總結出來,然后將這些共性的東西提取出來,形成一個總結性的東西。


比如所有標準架構中都會有的控制指令的下發以及狀態的反饋,那這些就是一些共性的規律。標準化架構只是把這些共性的內容通過一定規范的PLC程序和方法體現出來,只是在這個規范中要和自身工藝相結合。


所以,標準化其實是一群對象共性的內容的提煉和總結,讓這些共性的東西規范化,這樣就讓編程人員聚焦在工藝的研究上,讓工藝更加的成熟和進步。


也就是說,很多標準化的規范和方法,更多是具有借鑒參考意義。當然,這不是說企業自身都能自己搞成一個標準化體系,這些共性的內容沒有一定的時間經驗和積累,很可能您總結的內容不是很全面,這樣就變成了您的標準化之路一直在路上。


3、工藝標準化

是不是有了上述說的兩個方面的內容,所謂的標準化就完全實現了呢?非也,請參考下面的圖示列舉的內容。


圖2 設備標準化系統圖


標準化的目的是提高質量和效率,但標準化的基準一定是基于設備工藝。當完整的標準化做好以后,對于任意一個工藝設備,只要通過合適的指引,比如工藝代碼編號,其整個工藝設備的各個標準資料和軟件都有隊形的資料和指導說明。


比如上圖,只要知道設備的工藝代碼,那該工藝設備的機械結構和運行數據就是一個標準設計,這些數據和說明可以在這一類的設備工藝說明書中可以了解到更詳細的內容。


對應的,該設備的標準圖紙也會隨著工藝代碼而出現,并且在整個標準電氣圖紙架構中有相關的接口融入到整個系統的電氣設計圖紙中。


同理,該工藝設備的標準實例化程序以及對應的標準程序架構也相應的有對應的資料和程序。當然,隨著信息化的到來,該工藝設備的信息接口以及整個IT的軟件架構也有對應的接口提取。


這就是一個工藝設備的完整標準化系統,當實際設備對應的功能代碼有了之后,該類設備的上述四方面的信息和資料都會被提取出來,這才是一個完整的標準化內容。


當然,上述的內容就是一個架構設計,里面還有很多細化的內容。而要保證這些細化的內容和程序能實現不斷的迭代和更新,那就需要具備相應的資料體系的規劃和管理。

……
所以,一個合適的標準化體系內容是非常豐富的,也是很具體的。只有和工藝完美結合的PLC程序標準化才是一個符合實際需求的標準化體系,否則再好的程序架構也可能只是一個PLC編程規范而已!
作者:流浪梟雄

相關閱讀
PLC控制系統設計的八個步驟
可編程序控制柜由哪些元件組成
從簡單案例了解PLC編程與上位機程序開發調試

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?
野花视频在线观看