當前很多人已經(jīng)有做標準化的意識,一般都會涉及PLC程序標準化。周圍以及網(wǎng)絡上的很多同行在談論標準化時會有一些絕對的定義,比如“只要程序中不是這樣或者只要程序中有那樣的變量,你這都不是標準化!”每當聽到類似聲音的時候,我的內(nèi)心都在思考,難道PLC程序標準化的評判標準就是這么一句無法考證的話嗎?
那到底怎么去理解PLC程序標準化呢?這個肯定無法用一句話或者一段文字來描述。如果您看到這里還沒有離開,我們不妨往下一起探討下PLC程序標準化的內(nèi)容。
1、標準化功能
所謂標準化功能就是一些常見的可以供所有人重復使用的函數(shù)或者實例化功能,比如一個電機的控制功能、西門子的Epos的功能塊(FB284/FB285)。
但談論標準化功能的時候也要分情況探討,看這些標準化功能的作用范疇。
◆產(chǎn)品供應商或者獨立的組織
比如西門子這樣的供應商,他提供的庫或者功能一定是要能所有的人都能使用,比如Epos的功能塊、基本運動控制庫LAxisCtrl等很多類似的庫,這些標準化功能主要供所有各個行業(yè)的使用,所以它們不能有很多局限性的東西,比如里面應用到M寄存器等類似的變量(因為這些變量開發(fā)者可能會用到)。所以,這些標準功能一般都是需要實例化的功能塊或者一些函數(shù),并且里面的程序變量一般都是靜態(tài)變量以及臨時變量。
由于潛在使用者可能是所有行業(yè),所以這樣的功能塊或者函數(shù)的功能一定是針對產(chǎn)品的功能,不會涉及到具體工藝(飛鋸控制庫屬于工藝標準庫,不是功能庫),這樣大家只要參照文檔即可像使用PLC自帶的指令一樣方便,并不會對自己的程序帶有任何負面的影響。
還有一些獨立的組織,常見的比如PLCopen組織,他們定義了一整套的運動控制的相關指令和方法,這些指令就是各個PLC廠商都在應用的MC指令。用過不同品牌PLC的人肯定會發(fā)現(xiàn),大家的運動控制指令從名稱到實現(xiàn)方式都很相似,不同的只是依據(jù)各個品牌的基因做了一些相關的改進。
◆設備開發(fā)商或者系統(tǒng)集成商
這類開發(fā)者開發(fā)的標準功能都是只有自己公司或者項目才有使用價值,對于除他自己以外的第三者只有思路的參考價值,并不能直接使用。
比如一個電機控制的標準功能塊,若要將電機所有存在的可能性功能做在一個功能塊,那這個功能塊的管腳以及功能會非常龐大。隨便列舉下,電機可能存在的工頻控制還是變頻控制,有沒有多段速控制,有沒有方向的切換,遠程啟動還是本地啟動,不同控制方式的錯誤診斷……等等,把這些全部實現(xiàn)的話,管腳是不是非常龐大(在PCS7中經(jīng)??吹胶芏喙苣_)。
對于一個設備開發(fā)商或者系統(tǒng)集成商來說,匹配他們的電機控制需求可能沒有那么多,同時對于一些工藝設備來說,往往簡單的一個電機塊也只是工藝設備需要的底層功能塊(因為電機的控制需要結合工藝需求實現(xiàn)不同時序要求,Epos也可能是工藝設備的底層塊)。這個時候,這個標準功能就沒有必要大而全,也沒有給第三方使用的必要。反而,這樣的標準功能塊的效率會更高,對于和工藝的匹配也是最佳拍檔。
由于不需要考慮第三方的使用需求,這個時候我可以結合自身程序架構編程。有的程序架構中可能會使用一些M寄存器的變量,這些變量都是自身程序架構中已經(jīng)定義好了,即使有需要使用的時候也會有一些預留區(qū)域,在設計標準功能塊的時候就需要結合自身程序架構理念,實現(xiàn)工藝和程序架構的無縫匹配的程序。
這也是很多國外以前的程序中M變量頻繁出現(xiàn)的原因,因為這些程序和自己設備工藝以及程序架構是無縫匹配的,同時也不需要像西門子一樣提供給可能存在的所有從業(yè)者使用。
這樣的功能塊對于其他人來說不是標準功能,但對于該設備開發(fā)商或者系統(tǒng)集成商來說,這就是他們的標準化程序,是他們效率和質(zhì)量倍增器(3-4個工程師一年可以做幾個億的項目,這是我的實際經(jīng)歷,這就是倍增器的加持效果)。
在Portal優(yōu)化使用的時代,不建議使用M寄存器,這是另當別論。
2、標準化框架
在汽車行業(yè)或者包裝行業(yè)可能都會用到Epos功能,而大家都知道汽車行業(yè)有一個規(guī)范的標準架構Sicar,包裝行業(yè)有OMAC的ISA88標準。那在使用Epos的標準功能塊的時候可能就需要做一些針對性的修改,用于匹配各自標準的規(guī)范和邏輯實現(xiàn)(比如控制和狀態(tài)反饋的邏輯)。
那所有在該行業(yè)的企業(yè)都能合適上述的一些行業(yè)標準化架構么?本人對Sicar不是很了解,但對于OMAC的深入研究后發(fā)現(xiàn)其實并不是不一定。這類的標準有特定的前提以及特殊需求(OMAC里面主要為計算OEE),一些該行業(yè)的邊緣從業(yè)者或者配套企業(yè)來說,由于一些工藝需求根本無法匹配進去這類的標準架構。
所以說,標準化架構還是要和自身工藝以及整體的公司設計有關。比如物流行業(yè),除了設備的控制以外,很多時候還要考慮物流的信息流程。這些信息流在PLC程序中怎么和架構程序?qū)崿F(xiàn),怎么和設備的控制相結合,讓實際項目中方便簡單的使用,那這些都是需要在標準化中體現(xiàn)出來。
這就是說,所謂的標準化并不是指一個架構或者規(guī)范就能完整覆蓋所有行業(yè),更多的都是一些思路的借鑒,然后結合公司自身的工藝要求和硬件基礎,做成一個符合自身要求的程序架構。
當程序架構搭建完成后,就可以基于該架構的方式和方法,做符合自身工藝要求的程序庫。當這些程序庫隨著時間的積累以及bug的不斷解決,這些工藝程序塊和程序架構的穩(wěn)定性只會越來越高,后續(xù)PLC程序開發(fā)就會越來越節(jié)省時間,并能提高效率和質(zhì)量(標準化的本質(zhì)就是提高質(zhì)量),這樣就能用最少的成本實現(xiàn)最大化的利益。
在以前經(jīng)典Step7時代,很多標準架構中就存在很多M寄存器的變量。比如一個控制字是Word的名字是MW_Control,其地址是MW2。其中,M2.0到M3.7分別對應不同的控制命令,在程序中我只要對布爾型變量處理,然后在傳遞的時候直接用MW2以Word的形式傳遞,這樣整個程序的管腳就會由可能存在的16個布爾管腳變成一個Word型的管腳。
在Portal的優(yōu)化處理時代,M寄存器使用反而不高效,此時要像上面那樣處理的話,還必須先定義一個由16個布爾型變量組成的自定義數(shù)據(jù),然后處理結束后還必須通過SCATTER指令將這16個布爾型變量在Word型變量中序列化。
圖1 SCATTER指令圖
當然,需要說明的是,在標準架構中都是按照面向?qū)ο蟮木幊趟枷刖幊痰模瑢ο蟮乃凶兞康霓D(zhuǎn)換都是通過實例化數(shù)據(jù)完成的,除了架構程序中使用到M寄存器以外,實例化程序中是不需要使用M寄存器變量。
以上描述意思就是,一個標準架構只要滿足覆蓋自身工藝需求(比如物流的信息處理)同時能簡化工作提高效率,有著良好的工程接口和數(shù)據(jù)接口,讓自身所有的工藝對象都能無縫的實例化,工程人員的工作效率和質(zhì)量大幅提高,這可能就是一個符合自身工藝需求的標準架構。而這些工作更多的是企業(yè)自身將工藝需求和規(guī)律總結出來,然后將這些共性的東西提取出來,形成一個總結性的東西。
比如所有標準架構中都會有的控制指令的下發(fā)以及狀態(tài)的反饋,那這些就是一些共性的規(guī)律。標準化架構只是把這些共性的內(nèi)容通過一定規(guī)范的PLC程序和方法體現(xiàn)出來,只是在這個規(guī)范中要和自身工藝相結合。
所以,標準化其實是一群對象共性的內(nèi)容的提煉和總結,讓這些共性的東西規(guī)范化,這樣就讓編程人員聚焦在工藝的研究上,讓工藝更加的成熟和進步。
也就是說,很多標準化的規(guī)范和方法,更多是具有借鑒參考意義。當然,這不是說企業(yè)自身都能自己搞成一個標準化體系,這些共性的內(nèi)容沒有一定的時間經(jīng)驗和積累,很可能您總結的內(nèi)容不是很全面,這樣就變成了您的標準化之路一直在路上。
3、工藝標準化
是不是有了上述說的兩個方面的內(nèi)容,所謂的標準化就完全實現(xiàn)了呢?非也,請參考下面的圖示列舉的內(nèi)容。
圖2 設備標準化系統(tǒng)圖
標準化的目的是提高質(zhì)量和效率,但標準化的基準一定是基于設備工藝。當完整的標準化做好以后,對于任意一個工藝設備,只要通過合適的指引,比如工藝代碼編號,其整個工藝設備的各個標準資料和軟件都有隊形的資料和指導說明。
比如上圖,只要知道設備的工藝代碼,那該工藝設備的機械結構和運行數(shù)據(jù)就是一個標準設計,這些數(shù)據(jù)和說明可以在這一類的設備工藝說明書中可以了解到更詳細的內(nèi)容。
對應的,該設備的標準圖紙也會隨著工藝代碼而出現(xiàn),并且在整個標準電氣圖紙架構中有相關的接口融入到整個系統(tǒng)的電氣設計圖紙中。
同理,該工藝設備的標準實例化程序以及對應的標準程序架構也相應的有對應的資料和程序。當然,隨著信息化的到來,該工藝設備的信息接口以及整個IT的軟件架構也有對應的接口提取。
這就是一個工藝設備的完整標準化系統(tǒng),當實際設備對應的功能代碼有了之后,該類設備的上述四方面的信息和資料都會被提取出來,這才是一個完整的標準化內(nèi)容。
當然,上述的內(nèi)容就是一個架構設計,里面還有很多細化的內(nèi)容。而要保證這些細化的內(nèi)容和程序能實現(xiàn)不斷的迭代和更新,那就需要具備相應的資料體系的規(guī)劃和管理。
……
所以,一個合適的標準化體系內(nèi)容是非常豐富的,也是很具體的。只有和工藝完美結合的PLC程序標準化才是一個符合實際需求的標準化體系,否則再好的程序架構也可能只是一個PLC編程規(guī)范而已!
作者:流浪梟雄
相關閱讀
PLC控制系統(tǒng)設計的八個步驟
可編程序控制柜由哪些元件組成
從簡單案例了解PLC編程與上位機程序開發(fā)調(diào)試
共有訪客發(fā)表了評論
網(wǎng)友評論