西安菱川電氣有限公司

24小時服務熱線:

029-85251859 13991923335

 

西門子PLC與施耐德PLC面向對象編程講解

面向對象編程是計算機高級語言的一種先進的編程模式,在工業(yè)掌握體系的plc程序中也能夠接納這種設計頭腦,固然我們無法實現(xiàn)面向對象的很多優(yōu)秀特色如“秉承”,乃至于它基礎就不具有面向對象編程語言的特色,但面向對象編程的根基概念即是類和類的實例(即對象),我們只需要使用這種概念就可以了。在計算機編程中我們需要把一些事物空洞和歸納,才氣編寫類,而在工業(yè)掌握體系中,掌握對象如:電機,閥等等是很明顯的掌握種別,不需要空洞就可以很明顯的針對它們編寫類,以下將會用到西門子的Step7編程語言和施奈德的Unity編程語言來疏解PLC的面向對象編程。


一、實現(xiàn)方法


面向對象編程在Step7中使用功效塊(即FB)編程,一談到此朋友們就會想到西門子提出的模塊化編程,不錯,即是這個模塊化編程,但西門子提出的模塊化、布景數(shù)據(jù)塊、多重布景等名詞并不能讓朋友們很清楚的理解和使用這種優(yōu)秀的設計理念。若朋友們從面向對象編程的角度去理解,則可以很好的理解這種設計模式?!癋B塊”被當作“類”,它可以被當作是對類似的掌握對象的代碼歸納,如對MM440的變頻器可以編寫FB塊:MtrMM440,這在面向對象編程中稱為“類”,當需要編程掌握具體的電機時,可以給它分派一個布景DB塊,在面向對象編程中稱為類的實現(xiàn)(即建立類的實例:對象),當需要掌握多個電機時,可以分派不同的布景DB到這個FB塊,即建立類的多個實例。Step7中有另外一種程序塊,即FC塊,以FC塊為主的編程在西門子中稱為布局化編程,這也能夠類比于計算機編程中的面向歷程編程,即純粹以函數(shù)為主體的編程。


施奈德的Unity應用編程可以更好的理解面向對象編程。它的DFB定義中包含輸入/輸出參數(shù),專有/共有變量,以及代碼實現(xiàn),而這恰是計算機的面向對象編程中“類”的根基元素,而建立類的實例(對象)就像建立一般的“布爾”變量同樣,只需在“FunctionBlocks”中定義這種“類”的變量即可。


Step7和Unity都可以接納面向歷程和面向對象編程方法,這兩種編程方法的差別類似于計算機高級語言中的C語言和C++語言編程的差別。


以下的疏解將會把Step7中的FB和Unity中的DFB稱為“類”,Step7中的FB+布景DB以及Unity中DFB的實例稱為“對象”。


二、面向對象編程架構


以上疏解的是實現(xiàn)細節(jié),而編程頭腦是確立在程序架構上的,不是某個局部使用了面向對象方法,則可以稱之為這種編程即是面向對象編程。這種編程需要從以下方面動手:


1、電路設計的布局化。


這里主要以自動線為主說明,對于單機機床可以是它的簡化布局,


自動線層:這是非常高檔次,它擁有一個主PLC,對屬于它下面的各區(qū)域掌握


工程層:擁有自力的配送電體系,但沒有PLC,惟有分布式模塊,由自動線掌握。顧名思義,它有著較大的自力性,可以作為一個獨自的工程項目設計和制造,當自動線相對小時,可以省略該檔次。


功效組層:憑據(jù)工藝分別,將實現(xiàn)某一個工藝功效的區(qū)段裝備分別為一個功效組,它從屬于工程層,當工程層被省略時,從屬于自動線層。


面向對象編程并不一定要求使用以上的布局,但好的電氣布局更利于面向對象編程。


2、任何掌握對象邏輯都在“類”中實現(xiàn)。


為了做到這點,必需說明與掌握對象關聯(lián)的信息,譬如,對于一個電機,有以下關聯(lián)的信息需要考慮:


輸入信息:


電路護衛(wèi)信息,如電機的空氣開關,熱繼電器等。


功效護衛(wèi)信息,如運動電機的限位開關,風機的風壓開關,油泵的油位開關等。


啟動和終止條件,以上的電路護衛(wèi)和功效護衛(wèi)都可能造成電機運轉終止,復位也可能造成重啟動,但這里的條件指的是平常運轉的啟動和終止條件,譬如挨次掌握的流程步。


掌握模式:如手動和自動等。


故障復位:通過復位信息,重新啟動。


輸出信息:


掌握輸出,如掌握電機的主接觸器。


狀況信息輸出


故障輸出


狀況儲存信息:


用于代碼實現(xiàn)的中心變量以及可以被電路圖設計中我們早曾經(jīng)在使用針對掌握對象的畫圖方法,即把根基的主配送電路和PLC配置實現(xiàn)后,我們會針對每一個現(xiàn)場掌握對象如:電機、閥、氣缸等掌握對象繪制電路圖,他們的電源來自主配送電路,掌握和反應與PLC確立連接,硬件連鎖憑據(jù)現(xiàn)實情況調(diào)整,一個個掌握對象就象搭建積木同樣有組織的堆積起來,同樣的,編程也是針對一個個掌握對象使用相應的標準掌握塊實現(xiàn)就可以,把程序掌握細節(jié)實現(xiàn)了有用的封裝,使程序看起來簡潔和易于護衛(wèi),而好的設計可以把道理圖和程序進行很好的關聯(lián),乃至于做到一對一的關系,如道理圖中的一個掌握對象可以在程序中找到相應的FB調(diào)用與之對應,真正做到面向掌握對象編程。


可能有人疑慮,PLC編程大片面是步進編程,這一個個標準塊都是針對掌握對象的,那掌握挨次怎樣實現(xiàn)呢?這就要求編寫特地的挨次掌握FB塊,或者使用Siemens現(xiàn)成的Graph7來實現(xiàn),這點與一般編程沒什么差別。


結束語:當今的工業(yè)掌握平臺有很多程序妙手,他們很醒目算法,也有著本人的編程理念,當我和一些人探究標準化時,他們認識到標準化的高效性,但覺得如許無法體現(xiàn)本人的編程水準,是的,如上所述作為應用層面的程序設計是不要很高的編程水平,但要想想,一個人豈非能一輩子去搞現(xiàn)場調(diào)試嗎?若想體現(xiàn)本人的代價,可以從事標準編程。我更希望他們能花一點時間研究程序架構,各行各業(yè),真確大師是體系架構設計者,編程小方法只但是是為好的架構如虎添翼。


西安PLC控制柜,西安變頻控制柜,西安自動化公司,西安PLC解密,西安PLC編程,西安變頻器,西安自動化控制工程,西安自動化控制柜

聯(lián)系我們
 
 
 工作時間
周一至周日 :8:00-18:00
 聯(lián)系方式
技術部:13991923335
辦公室:029-85251859