您好, 歡迎來到化工儀器網(wǎng),! 登錄| 免費(fèi)注冊| 產(chǎn)品展廳| 收藏商鋪|
當(dāng)前位置:潯之漫智控技術(shù)(上海)有限公司>>技術(shù)文章>>常州SIEMENS西門子PLC模塊S7-300代理商
常州SIEMENS西門子PLC模塊S7-300代理商 常州SIEMENS西門子PLC模塊S7-300代理商
1 5 6 1 8 7 2 2 0 5 7 號(hào) 碼 1 5 6 1 8 7 2 2 0 5 7
潯之漫智控技術(shù)(上海)有限公司 上海詩慕自動(dòng)化設(shè)備有限公司
本公司銷售西門子自動(dòng)化產(chǎn)品,,*,,質(zhì)量保證,,價(jià)格優(yōu)勢
西門子PLC,西門子觸摸屏,,西門子數(shù)控系統(tǒng),,西門子軟啟動(dòng),,西門子以太網(wǎng)
西門子電機(jī),,西門子變頻器,,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),,價(jià)格優(yōu)勢,,*,德國*
面向?qū)ο缶幊淌怯?jì)算機(jī)高級(jí)語言的一種先進(jìn)的編程模式,,在工業(yè)控制系統(tǒng)的PLC程序中也可以采用這種設(shè)計(jì)思想,,雖然我們無法實(shí)現(xiàn)面向?qū)ο蟮暮芏嗵攸c(diǎn)如“繼承”,甚至于它根本就不具備面向?qū)ο缶幊陶Z言的特點(diǎn),,但面向?qū)ο缶幊痰幕靖拍罹褪穷惡皖惖膶?shí)例(即對象),,我們只需要使用這種概念就可以了。在計(jì)算機(jī)編程中我們需要把一些事物抽象和歸納,,才能編寫類,,而在工業(yè)控制系統(tǒng)中,控制對象如:電機(jī),,閥等等是很明顯的控制類別,,不需要抽象就可以很明顯的針對它們編寫類,以下將會(huì)用到西門子的Step7編程語言和施奈德的Unity編程語言來講解PLC的面向?qū)ο缶幊獭?/p>
一,、實(shí)現(xiàn)方式
面向?qū)ο缶幊淘赟tep7中使用功能塊(即FB)編程,,一談到此大家就會(huì)想到西門子提出的模塊化編程,不錯(cuò),,就是這個(gè)模塊化編程,,但西門子提出的模塊化、背景數(shù)據(jù)塊,、多重背景等名詞并不能讓大家很明白的理解和使用這設(shè)計(jì)理念,。如果大家從面向?qū)ο缶幊痰慕嵌热ダ斫猓瑒t可以很好的理解這種設(shè)計(jì)模式,。“FB塊”被看成“類”,,它可以被看成是對相似的控制對象的代碼歸納,如對MM440的變頻器可以編寫FB塊:MtrMM440,這在面向?qū)ο缶幊讨蟹Q為“類”,,當(dāng)需要編程控制具體的電機(jī)時(shí),,可以給它分配一個(gè)背景DB塊,在面向?qū)ο缶幊讨蟹Q為類的實(shí)現(xiàn)(即創(chuàng)建類的實(shí)例:對象),當(dāng)需要控制多個(gè)電機(jī)時(shí),,可以分配不同的背景DB到這個(gè)FB塊,,即創(chuàng)建類的多個(gè)實(shí)例。Step7中有另外一種程序塊,,即FC塊,,以FC塊為主的編程在西門子中稱為結(jié)構(gòu)化編程,這也可以類比于計(jì)算機(jī)編程中的面向過程編程,,即純粹以函數(shù)為主體的編程,。
施奈德的Unity軟件編程可以更好的理解面向?qū)ο缶幊獭K腄FB定義中包含輸入/輸出參數(shù),,私有/共有變量,,以及代碼實(shí)現(xiàn),而這正是計(jì)算機(jī)的面向?qū)ο缶幊讨?ldquo;類”的基本元素,,而創(chuàng)建類的實(shí)例(對象)就像創(chuàng)建普通的“布爾”變量一樣,,只需在“FunctionBlocks”中定義這種“類”的變量即可。
Step7和Unity都可以采用面向過程和面向?qū)ο缶幊谭绞?,這兩種編程方式的區(qū)別類似于計(jì)算機(jī)高級(jí)語言中的C語言和C++語言編程的區(qū)別,。
以下的講解將會(huì)把Step7中的FB和Unity中的DFB稱為“類”,Step7中的FB+背景DB以及Unity中DFB的實(shí)例稱為“對象”,。
二,、面向?qū)ο缶幊碳軜?gòu)
以上講解的是實(shí)現(xiàn)細(xì)節(jié),而編程思想是建立在程序架構(gòu)上的,,不是某個(gè)局部使用了面向?qū)ο蠓绞?,則可以稱之為這種編程就是面向?qū)ο缶幊獭_@種編程需要從以下方面著手:
1,、電路設(shè)計(jì)的結(jié)構(gòu)化,。
這里主要以自動(dòng)線為主介紹,對于單機(jī)機(jī)床可以是它的簡化結(jié)構(gòu),,
<1>,、自動(dòng)線層次,它擁有一個(gè)主PLC,,對屬于它下面的各區(qū)域控制
<2>,、工程層:擁有獨(dú)立的配送電系統(tǒng),但沒有PLC,,只有分布式模塊,由自動(dòng)線控制,。顧名思義,,它有著較大的獨(dú)立性,可以作為一個(gè)單獨(dú)的工程項(xiàng)目設(shè)計(jì)和制造,當(dāng)自動(dòng)線比較小時(shí),,可以省略該層次,。
<3>、功能組層:根據(jù)工藝劃分,,將實(shí)現(xiàn)某一個(gè)工藝功能的區(qū)段設(shè)備劃分為一個(gè)功能組,,它隸屬于工程層,當(dāng)工程層被省略時(shí),,隸屬于自動(dòng)線層,。
面向?qū)ο缶幊滩⒉灰欢ㄒ笫褂靡陨系慕Y(jié)構(gòu),但好的電氣結(jié)構(gòu)更利于面向?qū)ο缶幊獭?/p>
2,、任何控制對象邏輯都在“類”中實(shí)現(xiàn),。
為了做到這點(diǎn),,必須分析與控制對象相關(guān)的信息,,譬如,對于一個(gè)電機(jī),,有以下相關(guān)的信息需要考慮:
輸入信息:
<1>,、電路保護(hù)信息,,如電機(jī)的空氣開關(guān),熱繼電器等,。
<2>,、功能保護(hù)信息,如運(yùn)動(dòng)電機(jī)的限位開關(guān),,風(fēng)機(jī)的風(fēng)壓開關(guān),,油泵的油位開關(guān)等。
<3>,、啟動(dòng)和終止條件,,以上的電路保護(hù)和功能保護(hù)都可能導(dǎo)致電機(jī)運(yùn)轉(zhuǎn)終止,復(fù)位也可能導(dǎo)致重啟動(dòng),,但這里的條件指的是正常運(yùn)行的啟動(dòng)和終止條件,,譬如順序控制的流程步。
<4>,、控制模式:如手動(dòng)和自動(dòng)等,。
<5>、故障復(fù)位:通過復(fù)位信息,,重新啟動(dòng),。
輸出信息:
<1>、控制輸出,,如控制電機(jī)的主接觸器,。
<2>,、狀態(tài)信息輸出
<3>、故障輸出
.........
狀態(tài)儲(chǔ)存信息:
用于代碼實(shí)現(xiàn)的中間變量以及可以被人機(jī)界面讀出的狀態(tài)變量等
把以上信息都整合到一個(gè)類中,,并盡量使類的參數(shù)標(biāo)準(zhǔn)化,。不過,同高級(jí)編程語言還是曾在一些差別,,針對Step7,應(yīng)該遵循的標(biāo)準(zhǔn)是:程序結(jié)構(gòu)由FC實(shí)現(xiàn),,對象控制由FB實(shí)現(xiàn),如下的一種結(jié)構(gòu)體系(其電氣結(jié)構(gòu)來自上面的介紹):這只不過是一個(gè)粗略的PLC程序架構(gòu)體系,,好的架構(gòu)應(yīng)該更完善和科學(xué),。
3、規(guī)劃好數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)的定義相當(dāng)重要,,并盡量統(tǒng)一這些結(jié)構(gòu),,不要顧慮存儲(chǔ)空間,當(dāng)今的PLC內(nèi)存足以容納大量的數(shù)據(jù),。說明一點(diǎn)的是在Step7中盡量不要在類的外部定義數(shù)據(jù)結(jié)構(gòu)(UDT),而是在類里面定義,,雖然會(huì)造成不同類中同一結(jié)構(gòu)的重復(fù)性定義,但卻提高了類的獨(dú)立性,。
三,、*性
1、標(biāo)準(zhǔn)化
使用這種設(shè)計(jì)模式,,可以將程序設(shè)計(jì)分為兩個(gè)階段,,即標(biāo)準(zhǔn)庫、基本架構(gòu)開發(fā),,以及實(shí)際應(yīng)用層面設(shè)計(jì),。其中標(biāo)準(zhǔn)庫、基本架構(gòu)是制定程序標(biāo)準(zhǔn)化的基礎(chǔ),,而應(yīng)用層設(shè)計(jì)是針對具體的控制工程編程,,這樣可以把程序設(shè)計(jì)人員分成兩類,一類是標(biāo)準(zhǔn)開發(fā),,由資深程序員負(fù)責(zé),,一類是應(yīng)用設(shè)計(jì)(其中程序調(diào)試規(guī)劃到應(yīng)用設(shè)計(jì)),由經(jīng)過標(biāo)準(zhǔn)化培訓(xùn)的一般程序員完成,,通過這種分配就可以解決中國工業(yè)自動(dòng)化中面臨的尷尬局面,。傳統(tǒng)的中國控制工業(yè),一個(gè)程序設(shè)計(jì)由一個(gè)人完成,,這樣他還必須負(fù)責(zé)現(xiàn)場調(diào)試,,而擁有豐富經(jīng)驗(yàn)的程序員一般是三十歲后,這時(shí)他已經(jīng)成家,,而顯然長期出差對家庭不利,,很多的程序員為了家庭考慮不得不改行,,要么轉(zhuǎn)到管理崗位,要么去制造工廠搞設(shè)備維護(hù),,這是資源的嚴(yán)重流失。毫無疑問,,使用以上的設(shè)計(jì)流程,,我么可以讓經(jīng)驗(yàn)豐富的程序員搞標(biāo)準(zhǔn)庫和架構(gòu)的設(shè)計(jì),而讓剛踏入這個(gè)行業(yè)的年輕人搞應(yīng)用設(shè)計(jì)和調(diào)試,,這不僅可以讓老程序員繼續(xù)他自己的工作,,而不影響家庭,也可以讓年輕的程序員參入現(xiàn)場調(diào)試,,培養(yǎng)自己的經(jīng)驗(yàn),,提高自己的收入。
這可能讓某些人士擔(dān)心,,認(rèn)為年輕的程序員可以參加現(xiàn)場的調(diào)試嗎,?可以肯定的是沒有標(biāo)準(zhǔn)化支撐的程序不僅年輕的程序員編不出來,而且現(xiàn)場調(diào)試會(huì)問題多多,。但有了好的標(biāo)準(zhǔn)化后,,一年半以上工作經(jīng)驗(yàn)的程序員就應(yīng)該能夠獨(dú)立面對自動(dòng)線。
PLC中的面向?qū)ο缶幊痰暮诵木褪呛谙蛔泳幊?,針對Step7,我們使用FB去實(shí)現(xiàn)每一個(gè)對象的控制,,控制邏輯、報(bào)警處理,、信號(hào)交換全在FB中,,對于應(yīng)用設(shè)計(jì)人員,不需要明白里面的代碼實(shí)現(xiàn),,只需要了解該FB的功能以及如何使用好它就行,,這樣對于應(yīng)用程序人員的編程能力要求大大降低,對于編程只不過是遵循架構(gòu),,拷貝代碼,,改變輸入輸出條件而已。
那么調(diào)試呢,?很多人認(rèn)為使用FB編程的麻煩就是FB的多次調(diào)用后,,根本無法診斷這些代碼,從技術(shù)層面上講確實(shí)如此,,我們除了從背景DB上查看信息外,,是無法在它多次被調(diào)用后監(jiān)控代碼的,但我已說過,,這是黑匣子編程,,我們不需要診斷這些代碼,,只需要知道什么樣的輸入、什么樣的參數(shù)設(shè)定導(dǎo)致什么樣的輸出就行,,代碼的邏輯與功能好壞是由標(biāo)準(zhǔn)庫開發(fā)人員負(fù)責(zé)的,,這就要求標(biāo)準(zhǔn)開發(fā)人員需要對他設(shè)計(jì)的功能塊在不同條件下進(jìn)行不同的測試,保證無誤,,還需要編寫完整,、詳盡的功能說明文檔,以便于應(yīng)用設(shè)計(jì)人員了解這些塊,,標(biāo)準(zhǔn)架構(gòu)并不是制定出來就一勞永逸的,,針對千變?nèi)f化的工程,它是需要不斷完善和修訂的,,這也是一個(gè)工程公司可以實(shí)實(shí)在在進(jìn)行知識(shí)積累的地方,。
程序不僅需要給調(diào)試人員使用,而且用戶(設(shè)備維護(hù)人員)也需要了解,,如果把完整的標(biāo)準(zhǔn)庫文檔給用戶,,可能曾在技術(shù)外泄的可能,若不給,,對他們診斷設(shè)備可能曾在困難,,這就需要標(biāo)準(zhǔn)制定人員制作另外一分文檔,即設(shè)備維護(hù)文檔,,其知識(shí)的透漏以用戶能夠使用程序進(jìn)行診斷為限,。
2、重用性和易管理型
計(jì)算機(jī)面向?qū)ο缶幊痰膬?yōu)點(diǎn)也有重用性和易管理型,,在PLC中也曾在,,以Step7為例,需要討論FC和FB的差異,。觀察數(shù)據(jù)類型,,F(xiàn)B比FC只不過多一個(gè)“STAT”類型,在使用上FB需要背景DB,,F(xiàn)C不需要,,但就這個(gè)差別導(dǎo)致FB擁有自己獨(dú)立的數(shù)據(jù)儲(chǔ)存空間,而FC的數(shù)據(jù)儲(chǔ)存卻必須借助公有變量(如中間變量M或者共享DB),,有這樣一種準(zhǔn)則,,程序塊的獨(dú)立性越強(qiáng),其重用性也越好,,產(chǎn)生數(shù)據(jù)訪問沖突的可能性也更少,,則更易于管理。有些公司生產(chǎn)的PLC,,其程序語言沒有類似FB的這種特性,,這時(shí)可以采用類似“FC+共享DB”的替代方案解決,,但它的獨(dú)立性已經(jīng)大大降低。
請輸入賬號(hào)
請輸入密碼
請輸驗(yàn)證碼
以上信息由企業(yè)自行提供,,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),,化工儀器網(wǎng)對此不承擔(dān)任何保證責(zé)任,。
溫馨提示:為規(guī)避購買風(fēng)險(xiǎn),建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量,。