付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本文格式為Word版,下載可任意編輯西門子PLC面向?qū)ο缶幊?面對對象編程是計算機(jī)高級語言的一種先進(jìn)的編程模式,在工業(yè)掌握系統(tǒng)的plc程序中也可以采納這種設(shè)計思想,雖然我們無法實(shí)現(xiàn)面對對象的許多優(yōu)秀特點(diǎn)如“繼承”,甚至于它根本就不具備面對對象編程語言的特點(diǎn),但面對對象編程的基本概念就是類和類的實(shí)例(即對象),我們只需要使用這種概念就可以了。在計算機(jī)編程中我們需要把一些事物抽象和歸納,才能編寫類,而在工業(yè)掌握系統(tǒng)中,掌握對象如:電機(jī),閥等等是很明顯的掌握類別,不需要抽象就可以很明顯的針對它們編寫類,以下將會用到西門子的Step7編程語言和施奈德的Unity編程語言來講解PLC的面對對象編程。 一
2、、實(shí)現(xiàn)方式 面對對象編程在Step7中使用功能塊(即FB)編程,一談到此大家就會想到西門子提出的模塊化編程,不錯,就是這個模塊化編程,但西門子提出的模塊化、背景數(shù)據(jù)塊、多重背景等名詞并不能讓大家很明白的理解和使用這種優(yōu)秀的設(shè)計理念。假如大家從面對對象編程的角度去理解,則可以很好的理解這種設(shè)計模式?!癋B塊”被看成“類”,它可以被看成是對相像的掌握對象的代碼歸納,如對MM440的變頻器可以編寫FB塊:MtrMM440,這在面對對象編程中稱為“類”,當(dāng)需要編程掌握詳細(xì)的電機(jī)時,可以給它安排一個背景DB塊,在面對對象編程中稱為類的實(shí)現(xiàn)(即創(chuàng)建類的實(shí)例:對象),當(dāng)需要掌握多個電機(jī)時,可以安排不同的背景
3、DB到這個FB塊,即創(chuàng)建類的多個實(shí)例。Step7中有另外一種程序塊,即FC塊,以FC塊為主的編程在西門子中稱為結(jié)構(gòu)化編程,這也可以類比于計算機(jī)編程中的面對過程編程,即純粹以函數(shù)為主體的編程。 施奈德的Unity軟件編程可以更好的理解面對對象編程。它的DFB定義中包含輸入/輸出參數(shù),私有/共有變量,以及代碼實(shí)現(xiàn),而這正是計算機(jī)的面對對象編程中“類”的基本元素,而創(chuàng)建類的實(shí)例(對象)就像創(chuàng)建一般的“布爾”變量一樣,只需在“Function Blocks”中定義這種“類”的變量即可。 Step7和Unity都可以采納面對過程和面對對象編程方式,這兩種編程方式的區(qū)分類似于計算機(jī)高級語言中的C語言和C+
4、語言編程的區(qū)分。 以下的講解將會把Step7中的FB和Unity中的DFB稱為“類”,Step7中的FB+背景DB以及Unity中DFB的實(shí)例稱為“對象”。 二、面對對象編程架構(gòu) 以上講解的是實(shí)現(xiàn)細(xì)節(jié),而編程思想是建立在程序架構(gòu)上的,不是某個局部使用了面對對象方式,則可以稱之為這種編程就是面對對象編程。這種編程需要從以下方面著手: 1、電路設(shè)計的結(jié)構(gòu)化。 這里主要以自動線為主介紹,對于單機(jī)機(jī)床可以是它的簡化結(jié)構(gòu), 1、自動線層:這是最高層次,它擁有一個主PLC,對屬于它下面的各區(qū)域掌握 2、工程層:擁有獨(dú)立的配送電系統(tǒng),但沒有PLC,只有分布式模塊,由自動線掌握。顧名思義,它有著較大的獨(dú)立性,
5、可以作為一個單獨(dú)的工程項目設(shè)計和制造,當(dāng)自動線比較小時,可以省略該層次。 3、功能組層:依據(jù)工藝劃分,將實(shí)現(xiàn)某一個工藝功能的區(qū)段設(shè)備劃分為一個功能組,它隸屬于工程層,當(dāng)工程層被省略時,隸屬于自動線層。 面對對象編程并不肯定要求使用以上的結(jié)構(gòu),但好的電氣結(jié)構(gòu)更利于面對對象編程。 2、任何掌握對象規(guī)律都在“類”中實(shí)現(xiàn)。 為了做到這點(diǎn),必需分析與掌握對象相關(guān)的信息,譬如,對于一個電機(jī),有以下相關(guān)的信息需要考慮: 輸入信息: 1、電路愛護(hù)信息,如電機(jī)的空氣開關(guān),熱繼電器等。 2、功能愛護(hù)信息,如運(yùn)動電機(jī)的限位開關(guān),風(fēng)機(jī)的風(fēng)壓開關(guān),油泵的油位開關(guān)等。 3、啟動和終止條件,以上的電路愛護(hù)和功能愛護(hù)都可能導(dǎo)
6、致電機(jī)運(yùn)轉(zhuǎn)終止,復(fù)位也可能導(dǎo)致重啟動,但這里的條件指的是正常運(yùn)行的啟動和終止條件,譬如挨次掌握的流程步。 4、掌握模式:如手動和自動等。 5、故障復(fù)位:通過復(fù)位信息,重新啟動。 輸出信息: 1、掌握輸出,如掌握電機(jī)的主接觸器。 2、狀態(tài)信息輸出 3、故障輸出 . 狀態(tài)儲存信息: 用于代碼實(shí)現(xiàn)的中間變量以及可以被人機(jī)界面讀出的狀態(tài)變量等 把以上信息都整合到一個類中,并盡量使類的參數(shù)標(biāo)準(zhǔn)化。不過,同高級編程語言還是曾在一些差別,針對Step7,應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)是:程序結(jié)構(gòu)由FC實(shí)現(xiàn),對象掌握由FB實(shí)現(xiàn),如下的一種結(jié)構(gòu)體系(其電氣結(jié)構(gòu)來自上面的介紹):這只不過是一個粗略的PLC程序架構(gòu)體系,好的架構(gòu)應(yīng)
7、當(dāng)更完善和科學(xué)。 3、規(guī)劃好數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)的定義相當(dāng)重要,并盡量統(tǒng)一這些結(jié)構(gòu),不要顧慮存儲空間,當(dāng)今的PLC內(nèi)存足以容納大量的數(shù)據(jù)。說明一點(diǎn)的是在Step7中盡量不要在類的外部定義數(shù)據(jù)結(jié)構(gòu)(UDT),而是在類里面定義,雖然會造成不同類中同一結(jié)構(gòu)的重復(fù)性定義,但卻提高了類的獨(dú)立性。 三、優(yōu)越性 1、標(biāo)準(zhǔn)化 使用這種設(shè)計模式,可以將程序設(shè)計分為兩個階段,即標(biāo)準(zhǔn)庫、基本架構(gòu)開發(fā),以及實(shí)際應(yīng)用層面設(shè)計。其中標(biāo)準(zhǔn)庫、基本架構(gòu)是制定程序標(biāo)準(zhǔn)化的基礎(chǔ),而應(yīng)用層設(shè)計是針對詳細(xì)的掌握工程編程,這樣可以把程序設(shè)計人員分成兩類,一類是標(biāo)準(zhǔn)開發(fā),由資深程序員負(fù)責(zé),一類是應(yīng)用設(shè)計(其中程序調(diào)試規(guī)劃到應(yīng)用設(shè)計),由經(jīng)
8、過標(biāo)準(zhǔn)化培訓(xùn)的一般程序員完成,通過這種安排就可以解決中國工業(yè)自動化中面臨的尷尬局面。傳統(tǒng)的中國掌握工業(yè),一個程序設(shè)計由一個人完成,這樣他還必需負(fù)責(zé)現(xiàn)場調(diào)試,而擁有豐富閱歷的程序員一般是三十歲后,這時他已經(jīng)成家,而明顯長期出差對家庭不利,許多優(yōu)秀的程序員為了家庭考慮不得不改行,要么轉(zhuǎn)到管理崗位,要么去制造工廠搞設(shè)備維護(hù),這是資源的嚴(yán)峻流失。毫無疑問,使用以上的設(shè)計流程,我么可以讓閱歷豐富的程序員搞標(biāo)準(zhǔn)庫和架構(gòu)的設(shè)計,而讓剛踏入這個行業(yè)的年輕人搞應(yīng)用設(shè)計和調(diào)試,這不僅可以讓老程序員連續(xù)他自己的工作,而不影響家庭,也可以讓年輕的程序員參入現(xiàn)場調(diào)試,培育自己的閱歷,提高自己的收入。 這可能讓某些人士擔(dān)
9、憂,認(rèn)為年輕的程序員可以參與現(xiàn)場的調(diào)試嗎?可以確定的是沒有標(biāo)準(zhǔn)化支撐的程序不僅年輕的程序員編不出來,而且現(xiàn)場調(diào)試會問題多多。但有了好的標(biāo)準(zhǔn)化后,一年半以上工作閱歷的程序員就應(yīng)當(dāng)能夠獨(dú)立面對自動線。 PLC中的面對對象編程的核心就是黑匣子編程,針對Step7,我們使用FB去實(shí)現(xiàn)每一個對象的掌握,掌握規(guī)律、報警處理、信號交換全在FB中,對于應(yīng)用設(shè)計人員,不需要明白里面的代碼實(shí)現(xiàn),只需要了解該FB的功能以及如何使用好它就行,這樣對于應(yīng)用程序人員的編程力量要求大大降低,對于編程只不過是遵循架構(gòu),拷貝代碼,轉(zhuǎn)變輸入輸出條件而已。 那么調(diào)試呢?許多人認(rèn)為使用FB編程的最大麻煩就是FB的多次調(diào)用后,根本無法
10、診斷這些代碼,從技術(shù)層面上講的確如此,我們除了從背景DB上查看信息外,是無法在它多次被調(diào)用后監(jiān)控代碼的,但我已說過,這是黑匣子編程,我們不需要診斷這些代碼,只需要知道什么樣的輸入、什么樣的參數(shù)設(shè)定導(dǎo)致什么樣的輸出就行,代碼的規(guī)律與功能好壞是由標(biāo)準(zhǔn)庫開發(fā)人員負(fù)責(zé)的,這就要求標(biāo)準(zhǔn)開發(fā)人員需要對他設(shè)計的功能塊在不同條件下進(jìn)行不同的測試,保證無誤,還需要編寫完整、詳盡的功能說明文檔,以便于應(yīng)用設(shè)計人員了解這些塊,標(biāo)準(zhǔn)架構(gòu)并不是制定出來就一勞永逸的,針對千變?nèi)f化的工程,它是需要不斷完善和修訂的,這也是一個工程公司可以實(shí)實(shí)在在進(jìn)行學(xué)問積累的地方。 程序不僅需要給調(diào)試人員使用,而且用戶(設(shè)備維護(hù)人員)也需要
11、了解,假如把完整的標(biāo)準(zhǔn)庫文檔給用戶,可能曾在技術(shù)外泄的可能,若不給,對他們診斷設(shè)備可能曾在困難,這就需要標(biāo)準(zhǔn)制定人員制作另外一分文檔,即設(shè)備維護(hù)文檔,其學(xué)問的透漏以用戶能夠使用程序進(jìn)行診斷為限。 2、重用性和易管理型 計算機(jī)面對對象編程的優(yōu)點(diǎn)也有重用性和易管理型,在PLC中也曾在,以Step7為例,需要爭論FC和FB的差異。觀看數(shù)據(jù)類型,F(xiàn)B比FC只不過多一個“STAT”類型,在使用上FB需要背景DB,F(xiàn)C不需要,但就這個差別導(dǎo)致FB擁有自己獨(dú)立的數(shù)據(jù)儲存空間,而FC的數(shù)據(jù)儲存卻必需借助公有變量(如中間變量M或者共享DB),有這樣一種準(zhǔn)則,程序塊的獨(dú)立性越強(qiáng),其重用性也越好,產(chǎn)生數(shù)據(jù)訪問沖突的
12、可能性也更少,則更易于管理。有些公司生產(chǎn)的PLC,其程序語言沒有類似FB的這種特性,這時可以采納類似“FC+共享DB”的替代方案解決,但它的獨(dú)立性已經(jīng)大大降低。 同樣的代碼的獨(dú)立性是標(biāo)準(zhǔn)制定的一個重要環(huán)節(jié),很難想象一個與其他功能塊之間有著千絲萬縷聯(lián)系的功能塊能夠被作為標(biāo)準(zhǔn)塊在不同工程中有效的重復(fù)使用。 縱觀計算機(jī)語言的進(jìn)展,最開頭的編程都是令人恐怖的,而當(dāng)今的編程讓人們得到很大的解脫,有許多現(xiàn)成的標(biāo)準(zhǔn)類庫有用,人們可以把更多的編程精力放在實(shí)現(xiàn)功能本身上,plc編程也應(yīng)當(dāng)朝這種方向進(jìn)展,應(yīng)當(dāng)讓更多的人從事應(yīng)用層面的設(shè)計,那些標(biāo)準(zhǔn)功能塊不應(yīng)當(dāng)重復(fù)的被不同人員開發(fā),雖然各大PLC廠開發(fā)了大量的程序庫
13、,但工業(yè)掌握對象各式各樣,不同行業(yè)都應(yīng)當(dāng)擁有自己的程序庫,而代碼的可重用性是評價這些功能塊好壞的關(guān)鍵。 3、設(shè)計思想的先進(jìn)性 在電路圖設(shè)計中我們早已經(jīng)在使用針對掌握對象的繪圖方式,即把基本的主配送電路和PLC配置完成后,我們會針對每一個現(xiàn)場掌握對象如:電機(jī)、閥、氣缸等掌握對象繪制電路圖,他們的電源來自主配送電路,掌握和反饋與PLC建立連接,硬件連鎖依據(jù)實(shí)際狀況調(diào)整,一個個掌握對象就象搭建積木一樣有組織的積累起來,同樣的,編程也是針對一個個掌握對象使用相應(yīng)的標(biāo)準(zhǔn)掌握塊實(shí)現(xiàn)就可以,把程序掌握細(xì)節(jié)實(shí)現(xiàn)了有效的封裝,使程序看起來簡潔和易于維護(hù),而好的設(shè)計可以把原理圖和程序進(jìn)行很好的關(guān)聯(lián),甚至于做到一對一的關(guān)系,如原理圖中的一個掌握對象可以在程序中找到相應(yīng)的FB調(diào)用與之對應(yīng),真正做到面對掌握對象編程。 可能有人疑慮,PLC編程大部分是步進(jìn)編程,這一個個標(biāo)準(zhǔn)塊都是針對掌握對象的,那掌握挨次如何實(shí)現(xiàn)呢?這就要求編寫特地的挨次掌握FB塊,或者使用Siemens現(xiàn)成的Graph7來實(shí)現(xiàn),這點(diǎn)與一般編程沒什么差別。 結(jié)束語:現(xiàn)在的工業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2378-2026數(shù)字計量體系框架及應(yīng)用指南
- GB/T 46897-2025光伏發(fā)電站應(yīng)急管理規(guī)范
- 法律資格考試題目及答案
- 一建市政基坑案例題目及答案
- 法學(xué)類考試題目及答案
- 養(yǎng)老院老人緊急救援人員職業(yè)道德制度
- 養(yǎng)老院老人健康監(jiān)測人員表彰制度
- 養(yǎng)老院環(huán)境清潔制度
- 線上知識問答題目及答案
- 辦公室員工出差安全管理制度
- 2026年齊齊哈爾高等師范??茖W(xué)校單招職業(yè)技能測試題庫必考題
- 輸變電工程安全教育課件
- 物業(yè)項目綜合服務(wù)方案
- 2025-2026學(xué)年北京市西城區(qū)初二(上期)期末考試物理試卷(含答案)
- 高血壓病的中醫(yī)藥防治
- 2024年度初會職稱《初級會計實(shí)務(wù)》真題庫匯編(含答案)
- 產(chǎn)科品管圈成果匯報降低產(chǎn)后乳房脹痛發(fā)生率課件
- 綠植租賃合同
- 狼蒲松齡原文及翻譯
- 2023初會職稱《經(jīng)濟(jì)法基礎(chǔ)》習(xí)題庫及答案
- 比亞迪Forklift軟件使用方法
評論
0/150
提交評論