西門子常州授權(quán)代理商
SIEMENS潯之漫智控技術(shù)(上海)有限公司
本公司西門子自動化產(chǎn)品,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng)
西門子電機,西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,*
面向?qū)ο缶幊淌怯嬎銠C高級語言的一種先進的編程模式,在工業(yè)控制系統(tǒng)的
PLC程序中也可以采用這種設(shè)計思想,雖然我們無法實現(xiàn)面向?qū)ο蟮暮芏鄡?yōu)秀特點如“繼承",甚至于它根本就不具備面向?qū)ο缶幊陶Z言的特點,但面向?qū)ο缶幊痰幕靖拍罹褪穷惡皖惖膶嵗磳ο螅?,我們只需要使用這種概念就可以了。在計算機編程中我們需要把一些事物抽象和歸納,才能編寫類,而在工業(yè)控制系統(tǒng)中,控制對象如:電機,閥等等是很明顯的控制類別,不需要抽象就可以很明顯的針對它們編寫類,以下將會用到西門子的Step7編程語言和施奈德的Unity編程語言來講解PLC的面向?qū)ο缶幊獭?/div>
一、實現(xiàn)方式
面向?qū)ο缶幊淘赟tep7中使用功能塊(即FB)編程,一談到此大家就會想到西門子提出的模塊化編程,不錯,就是這個模塊化編程,但西門子提出的模塊化、背景數(shù)據(jù)塊、多重背景等名詞并不能讓大家很明白的理解和使用這種優(yōu)秀的設(shè)計理念。如果大家從面向?qū)ο缶幊痰慕嵌热ダ斫猓瑒t可以很好的理解這種設(shè)計模式。“FB塊"被看成“類",它可以被看成是對相似的控制對象的代碼歸納,如對MM440的變頻器可以編寫FB塊:MtrMM440,這在面向?qū)ο缶幊讨蟹Q為“類",當(dāng)需要編程控制具體的電機時,可以給它分配一個背景DB塊,在面向?qū)ο缶幊讨蟹Q為類的實現(xiàn)(即創(chuàng)建類的實例:對象),當(dāng)需要控制多個電機時,可以分配不同的背景DB到這個FB塊,即創(chuàng)建類的多個實例。Step7中有另外一種程序塊,即FC塊,以FC塊為主的編程在西門子中稱為結(jié)構(gòu)化編程,這也可以類比于計算機編程中的面向過程編程,即純粹以函數(shù)為主體的編程。
施奈德的Unity軟件編程可以更好的理解面向?qū)ο缶幊?。它的DFB定義中包含輸入/輸出參數(shù),私有/共有變量,以及代碼實現(xiàn),而這正是計算機的面向?qū)ο缶幊讨小邦?的基本元素,而創(chuàng)建類的實例(對象)就像創(chuàng)建普通的“布爾"變量一樣,只需在“FunctionBlocks"中定義這種“類"的變量即可。
Step7和Unity都可以采用面向過程和面向?qū)ο缶幊谭绞剑@兩種編程方式的區(qū)別類似于計算機高級語言中的C語言和C++語言編程的區(qū)別。
以下的講解將會把Step7中的FB和Unity中的DFB稱為“類",Step7中的FB+背景DB以及Unity中DFB的實例稱為“對象"。
二、面向?qū)ο缶幊碳軜?gòu)
以上講解的是實現(xiàn)細節(jié),而編程思想是建立在程序架構(gòu)上的,不是某個局部使用了面向?qū)ο蠓绞?,則可以稱之為這種編程就是面向?qū)ο缶幊獭_@種編程需要從以下方面著手:
1、電路設(shè)計的結(jié)構(gòu)化。
這里主要以自動線為主介紹,對于單機機床可以是它的簡化結(jié)構(gòu),
<1>、自動線層:這是最高層次,它擁有一個主PLC,對屬于它下面的各區(qū)域控制
<2>、工程層:擁有獨立的配送電系統(tǒng),但沒有PLC,只有分布式模塊,由自動線控制。顧名思義,它有著較大的獨立性,可以作為一個單獨的工程項目設(shè)計和制造,當(dāng)自動線比較小時,可以省略該層次。
<3>、功能組層:根據(jù)工藝劃分,將實現(xiàn)某一個工藝功能的區(qū)段設(shè)備劃分為一個功能組,它隸屬于工程層,當(dāng)工程層被省略時,隸屬于自動線層。
面向?qū)ο缶幊滩⒉灰欢ㄒ笫褂靡陨系慕Y(jié)構(gòu),但好的電氣結(jié)構(gòu)更利于面向?qū)ο缶幊獭?/div>
2、任何控制對象邏輯都在“類"中實現(xiàn)。
為了做到這點,必須分析與控制對象相關(guān)的信息,譬如,對于一個電機,有以下相關(guān)的信息需要考慮:
輸入信息:
<1>、電路保護信息,如電機的空氣開關(guān),熱繼電器等。
<2>、功能保護信息,如運動電機的限位開關(guān),風(fēng)機的風(fēng)壓開關(guān),油泵的油位開關(guān)等。
<3>、啟動和終止條件,以上的電路保護和功能保護都可能導(dǎo)致電機運轉(zhuǎn)終止,復(fù)位也可能導(dǎo)致重啟動,但這里的條件指的是正常運行的啟動和終止條件,譬如順序控制的流程步。