單俠芹
摘要:編程能力作為機電一體化技能競賽的核心能力,提高編程能力,對提高競賽獲勝率具有至關重要的作用。模塊化程序設計思想可以使程序結構更加整潔清晰,利于系統的調試、維護和升級。在機電一體化技能競賽中采用模塊化編程,能夠保障程序的穩定性,降低調試難度,提高競爭力。
關鍵詞:模塊化,編程方法,機電一體化,技能競賽
中圖分類號:G712 文獻標志碼:A 文章編號:1673-9094-(2017)06C-0017-04
一、模塊化編程在機電一體化技能競賽中的可行性分析
職業技能競賽是職業教育的風向標,對職業教育具有引領和示范作用,機電一體化技能競賽為自動化類專業人才培養指明了方向,為學校專業實踐教學提供了寶貴的素材。機電一體化技能競賽從2007年舉辦至今已有非常成熟的理論和實踐基礎,形成了完整的競賽制度,也為職業教育積累了很多專業和經驗知識,通過競賽成果的轉換,競賽的資源能夠有效運用到實際教學中,為提高職業教育教學質量添磚加瓦。同時,競賽成績也是職業學校教學水平的體現,那么如何在競賽中獲得理想成績,是教練和選手們最為關注的問題,這取決于訓練的方法和訓練的內容是否與時俱進、是否足夠扎實。在機電一體化技能競賽中,PLC編程和臨場解決問題的能力是制勝的關鍵,這將關系到選手們能否在規定時間順利完成比賽。因此,探尋一個高效的編程方法成為師生共同的目標,能夠大大縮減編程設計時間、保障程序設計的穩定性和可移植性,通過賽前的強化訓練,熟練掌握各種技巧,在競賽時能夠大大提高選手競賽信心。
PLC的編程方法有很多,常見的有面向數據結構方法和面向對象方法,二者各有優缺點,實際運用要根據設備情況和賽題要求,選擇合適的編程方法。這里我們介紹一種子功能模塊的編程方法,它能有效提高競賽的水平。
(一)模塊化程序設計思想
模塊化程序設計,簡單地說就是用主程序、子程序、子過程等框架把軟件的主要結構和流程描述出來,并定義和調試好各個框架之間的輸入、輸出鏈接關系,最終得到一系列以功能塊為單位的程序。模塊是提供特定功能的相對獨立的單元,把這種以功能塊為單位進行程序設計的方法稱為模塊化,它由小塊的、分散的代碼塊組成,每一塊都是獨立的。模塊化的目的是為了降低程序復雜度,使程序設計、調試和維護等操作簡單化,在高級語言程序設計中有著廣泛運用。
模塊化編程操作簡單、應用方便、相互獨立、互不干涉,任何一個功能拿出來都能獨立運行。因此,模塊化編程具有以下特點:(1)標準化:標準尺寸和標準接口;(2)可組合:多個模塊可以方便靈活地組合;(3)可替換:改變系統的局部功能;(4)可維護:對模塊進行局部修改或設置。
(二)模塊化編程思想在PLC程序設計中的運用特性分析
在PLC程序設計中,根據設備的功能特性考慮是否可以采用模塊化編程方法,根據模塊化編程特性,那么什么情況運行效果較為明顯呢?
當一臺需要程序設計的設備動作有明顯分組,且需重復運行的情況下,我們可以將這些動作進行分組,每組動作看作一個小功能模塊,這種情況下可以在PLC編程中引入模塊化編程思想,通過對子模塊的組合和調用,使程序結構清晰,增強易讀性,便于修改,提高系統運行的可靠性。
模塊不能隨意劃分,分解時應盡量保持模塊之間的獨立性,模塊的獨立性可以用兩個定性標度衡量,即耦合和內聚,模塊之間盡量小的耦合性,模塊內部具有高度的內聚性,要保證模塊充分的獨立性,就需要低耦合和高內聚。
(三)機電一體化技能競賽編程特性分析
技能競賽反映了企業的新工藝、新知識和新方法,要求選手對已有知識具有熟練運用和一定創新能力,這就要求平時的訓練認真分析競賽特性,找出其共有特性,形成自己的編程策略,設計的程序便于添加和刪減內容,才能在競賽過程中以不變應萬變。
機電一體化技能競賽賽題特點:
(1)控制要求多、靈活多變;
(2)PLC程序量大、功能復雜;
(3)調試難度大、容易混亂;
(4)程序穩定性要高;
(5)編程調試時間緊張。
通過什么方法將復雜的機電一體化設備功能快速設計并調試成功呢?這就要求在訓練過程中,優化編程思路,找到合適的編程和調試方法。鑒于模塊化編程和競賽賽題特點,我們可以在機電一體化競賽中采用模塊化編程來優化程序結構、節約編程調試時間,提高競賽獲勝幾率。采用模塊化編程后,程序思路如下圖所示。
二、模塊化編程在機電一體化技能競賽中的運用
不是所有地方都需要使用模塊化編程,在程序設計中對復雜工作單元可以采用模塊化的編程思想,且能切實提高編程和調試效率。
(一)模塊化設計思路
模塊化編程,首先需要對將要設計的功能進行分析,如若可行,則進行模塊化分解,每個子模塊都有自己特定的功能,當需要此功能時,在所需要的位置進行調用。其次,為每個子模塊分配一定數量的軟元件,包括位軟元件、數據寄存器、定時器和計數器等,軟元件分配應遵循數量相同、互不沖突、使用策略相同的原則,數量分配以需求量最大的子模塊為準,并留有一定余量。當然,模塊之間以及輔助程序、主程序之間所用的軟元件應相互獨立,不混用,以防相互之間發生碰撞沖突,致使程序混亂,增加調試難度。
為使子模塊更具可讀性,我們將子模塊的格式統一化,即將分配好的軟元件進行細化,包括分配子模塊的入口條件、過程標志、完成標志以及在子程序模塊執行過程產生必要狀態標志和過程信息等。子模塊的格式設計好后,根據各個子模塊的功能不同,編寫各自的功能程序,并進行獨立調試,最后將調試合格后的子模塊進行封裝。
(二)模塊化編程在機電一體化競賽設備中的實際應用
在競賽過程中要想取得好成績要以不變應萬變,根據模塊化編程思想,首先分解設備功能、固化功能模塊;做好模塊程序、優化程序框架;分模塊調試、節省精力、主攻主程序,做到在重復中求穩定。
1.子功能模塊設計與調試
模塊化編程在PLC編程中實際使用時,首先根據功能是否復雜討論是否運用模塊化編程。這里筆者以競賽設備的某個復雜單元為例,來分析子模塊設計方法。首先進行模塊化分解,根據功能分成一個個功能模塊,即:子模塊一、子模塊二、子模塊三等。做好各個獨立模塊程序,并進行模塊調試,一次調試好的模塊,后續可以一直使用,不需要再調試,這樣在競賽過程中可節省精力,把精力放在主程序的設計上,將賽題的變化變成順序的調整。
下表為子模塊分配方法,表中各軟元件數量可以根據實際使用情況進行調整。
根據設計的子模塊的格式及其所使用地址,編寫子模塊的功能程序。
其中入口條件為入口位軟元件的常開軟觸點,同時傳遞過來的還有一些數據量,供子模塊使用,當入口條件成立后,置過程標志和初始狀態寄存器(采用步進順控指令協助完成),即進入子模塊程序執行階段,過程標志有效,直到子模塊程序執行完成為止。
結束后生成完成標志位,并輸出相應的數據量,供程序其他部分使用。當主程序檢測到完成子模塊的完成標志位(M)的常開軟觸點接通,表示本次子模塊功能執行完成,為使完成標志保持足夠長的時間,這里采用定時器延時一定時間的方法,時間到,清楚所有標志位和最后一個狀態寄存器(S)。
注意在采用步進順控指令編程時,模塊中最后清除操作全部完成后,必須有步進返回指令,這樣一個完整的功能模塊程序就設計完成了。
最后,將編寫好的功能程序進行調試。所有模塊可以獨立調試,確保獨立過程執行正確、穩定。調試完成后,保存并固化各功能模塊的內容,在程序整體調試時,不改變子模塊內容。
2.子功能模塊的調用與總調試
在競賽過程中,選手要根據任務書的要求,進行程序設計,由于設備整體沒有大的改動,所有一些動作流程是固定不變的,在前期訓練過程中,已經讓選手們將這些固定動作流程設計成一些獨立小模塊,每個模塊代表一個動作組合,比如抓取工件的動作子模塊、輸送工件的動作子模塊。在競賽過程中,這些固定的功能子模塊選手可以很熟練的編寫出來,甚至不需要調試,為選手節省足夠的時間設計和調試任務書中的新內容,這些新內容往往才是體現選手實力的地方,也是變化多樣的,有一定難度的。在調用、組合現有的子程序模塊時,要遵循一定原則,使程序結構更加清晰,降低調試難度,便于添加新內容。
調用各功能模塊時,需要給定對應模塊的入口條件,條件滿足則去執行子功能模塊程序,主程序等待,待模塊程序執行完畢,主程序接收到完成信號標志,則繼續往下執行。
純功能調用只需要位地址入口條件,當需要數據量傳遞時,在調用的同時還需要將一定的數據量傳遞給子模塊的相應數據寄存器備用。例如定位時,調用移動功能子模塊,就需要將目標位置值和所需要的速度等信息同時傳遞過去。
三、模塊化編程對機電一體化技能競賽的影響
在時間有限、氛圍緊張的競賽環境下,尋求在復雜的機電一體化技能競賽中不同的編程的調試方法對競賽結果影響巨大。采用模塊化編程具有以下優點:(1)便于設計:復雜問題化成簡單問題;(2)便于實現:可以團隊開發,分析清晰;(3)便于測試:各模塊可各自測試,整體調試時間大幅度減少;(4)便于維護:可以根據需要增加模塊;(5)可重用:一個模塊可參與組合不同程序。因此在機電一體化技能競賽中使用模塊化編程能夠滿足競賽的需求,可以縮減時間、增強信心等。
(一)縮減編程和調試時間
使用傳統的編程方法是按照要求按部就班地編寫下去,將調試留到最后,程序結構混亂,沒有層次感,調試時往往根據要求逐一對照,效率低下。另外,同一功能每次編寫的程序往往也不同,每次都需要重新調試。使用模塊化編程以后,經過一段時間練習,能夠保證同一功能編寫的程序也一樣,這樣經過調試的子模塊就無需再調試,大大降低了調試時間。
(二)穩定情緒,增強信心
競賽過程中,在競賽氛圍的影響下,選手內心往往較緊張,再加上接觸新任務,不知從何下手。因此在訓練過程中,采用模塊化編程,讓每次訓練都是一次競賽,在編程過程中可以從簡單的固定功能模塊開始設計起,這些部分由于已經非常成熟,選手可以邊編寫邊思考其他內容,優化了選手編程思路,同時起到情緒緩沖作用,化解緊張情緒,待到難點、新內容時,可以充分發揮腦動力,增強選手獲勝的信心。
(三)有利于編程技巧的養成
PLC編程能力是機電一體化技能競賽的核心能力,編程的技巧和效率會直接影響比賽的成績,采用模塊化編程解放了大部分功能程序設計時間,給編程技巧的探索和養成提供了機會。在練習過程中,有傾向地更加注重技巧探索,注意怎么提高編程效率,如何用最穩定、最少的編程語言實現同一功能,這在附加功能的設計方面尤為突出。
四、總結
模塊是提供特定功能的相對獨立的單元,引入模塊化編程思想之后,系統編程思路更加清晰,各功能模塊的編程與調試更簡單,把復雜的系統設計變成了對模塊的組合和調用的過程,大大增強了程序的易讀性和靈活性。在技能競賽中,通常需要根據題目要求不斷增加新的功能,采用模塊化編程能夠確保程序不會混亂,方便增加新東西,不會對已完成的功能產生破壞,另外,由于時間緊張,采用模塊化編程,可以提前準備很多東西,縮短選手調試時間,通過采用模塊化編程,選手在競賽中的成績也更加理想。
責任編輯:馮志軍
Abstract: Programming ability is the core ability of Mechatronics skills competition. Improving the programming ability plays a vital role in improving the winning rate of the competition. The modular programming idea can make the program structure neater and clearer, which is beneficial to the debugging, maintenance and upgrading of the system. In the Mechatronics skills competition, modular programming can guarantee the stability of the program, reduce the difficulty of debugging and improve the competitiveness.
Key words: modularization; programming method; Mechatronics; skills competition