西門子6GK5206-2BS00-2AC2代理商
| 更新時間 2024-10-30 14:14:21 價格 4000元 / 件 西門子 一級代理商 PLC觸摸屏變頻器 核心供應商 德國 總代理 聯系電話 17838383235 聯系手機 17838383235 聯系人 徐嘉泉 立即詢價 |
現在所謂的模塊化編程,面向對象編程,甚至于標準化編程等等理念在電氣編程領域廣泛宣揚,也出現了很多隨便把程序分成幾個模塊就認為這就是面向對象編程了的同仁,沒怎么搞清楚面向對象編程的概念就放手去寫了。比如有些個朋友,喜歡把一個啟保停的程序做成一個塊,然后不同的電機調用一次這個塊,蠻好吧,這是不是面向對象編程?
如下圖,我是發現很多朋友喜歡這樣,把每個小動作做成一個FC,然后集合一下,看,這就是面向對象編程了:
粗看還好,要是某個項目需要控制的東西非常多時,產生了大量的FC,而且上圖還是舉例這一個東西調用了三個FC,有些更甚,你要查個問題,得不斷的進入下級FC,套娃一樣,有甚者在次級FC里還套了下一次FC,有沒有朋友遇到過,可以回帖講講,這種方式讓其他人監控調試程序引起極大不便。
假如這個電機FB測試沒有問題了,其他人可以調用,那么他必須同時調用下面包含的三個FC,否則如果他不清楚的情況少調用一個,就懵了。
這樣寫程序的人大有人在,他們認為把動作分解,各自獨立成一個FC,然后這就是好的程序了,也很標準了。大錯特錯!
上面的例子,我們可以嘗試用下面的方式體現,對比一下是否比它要好:
這個把這個電機的控制和速度還有狀態封裝,它是不是比上面的方式更好呢,起碼其他人只需要調用這一個FB,不需要再復制其它FC,這個FB就是一個完整獨立的功能塊,而且其他人要進入FB監視,也不需要多次點擊內部的其它套娃式FC,這樣的編程方式比前面的那群人呢一點了。但這還不是好的。
雖然理解了封裝的概念,但是我們還要繼續升華,理解面向對象。
其實很多的電氣編程的朋友經常犯一個誤區,喜歡把驅動器或者執行元件當作對象,這理解我認為是錯的。
其實真正的控制對象,它應當像一個人一樣,手,腳只是一個人的一部分驅動,我們不能只把手或腳當作一個對象。我們要學會把一個人當對象,那么這個人除了手,腳(驅動,執行部分),還有膚色,健康狀況,還有體溫是否正常,還有吃飯睡覺等動作;而這些如果都去拆分成各個功能塊,那么再次調用時很難將這些功能塊再組合一起,特別是一千個一萬個呢。
那么這個人我們編程時,不能拆分人這個對象,它有驅動執行部分,有膚色屬性,有狀態信息,還有其它動作。我們要面向它,用一個FB將它的所有功能包含,在引腳上賦值他的所有屬性及事件即可,這樣不管有多少人,我們調用這個FB即可。
那么在設備控制范疇,我們要跳出只關注執行元件范疇,要學會把某個設備或者設備的某個組件看成一個對象,這個組件它有電機,有氣缸,有傳感器,有指示信號等等,它擁有各類屬性及各類事件,但都關聯這一個組件。這個時候我們就可以將它看作一個對象。這種概念很難手把手的傳達,要學會自己探索體會,等真正明白了這個之后所編寫出來的程序那才是好程序。
只有學會將設備的某一部分組件當作對象,摒棄把動作肆意分解多個FC的想法,然后再開始寫程序,我們在一個FB里可以完成它的狀態,它包含的每個執行元件的各自動作輸出,它的各類信息顯示,它與其它組件聯動的引腳等。這個時候,別人在調用你的這個FB,只需要對這個對象進行相關賦值,就可以完成這部分組件的各類動作和信息交換。
如現場很多的軸類控制,西門子的FB284它這個功能塊相信很多人有接觸過,它不是以一個伺服電機為對象,而是以一個軸為對象,這個軸它有回原點動作,有定位動作,有相對定位動作,你想執行什么只要進行相關賦值即可。同時它還可以進行速度,位置的設定和實際值顯示,還包括了它的報警信息,報警代碼。它是一個完整的軸對象。而它的這些各類屬性和動作如果你都拆分成一個個小的獨立的FC,這對其他人熟悉這個FB是非常困難的,我要控制一個軸我得熟悉七八個甚至于幾十個FC,然后還得我把它們串起來才能用,這不是好程序。而FB284就只需要你調用一個FB,即可完成你需要的軸控制任務。這個朋友們體會了就能摸著門道。
上面僅用西門子的這個FB塊舉例讓朋友們方便理解,其它品牌也有同樣高效的面向對象編程的FB樣例,的工程師們早就告訴我們:
1、不要只關注一個動作,不要在程序上把動作分解;
2、要學會關注設備,關注它哪些是可以成為一個組件;
3、電氣控制的終目的是實現每一個動作,但請學會控制了一個對象的動作,就控制了所有同類對象,這樣其它對象就會自動幫你完成動作
聯系方式
- 電 話:17838383235
- 經理:徐嘉泉
- 手 機:17838383235
- 微 信:17838383235