有許多人問過我PLC程式的寫作問題,但多數的情況都是小問題,不會很複雜


會有這類問題的,幾乎全是學生。我和一些學校的合作案例中,多數的教出學生基礎相當差,因為老師大多是照本宣科,說實在學不了多少。真的有心要進電控這一行,去電機補習班才能學到必要的知識

 


寫程式之前要先有的基礎知識:


1.PLC硬體知識:有很多學生是先買了PLC,再來問要如何用在他的案子中,基本是這是本末倒置的做法;要買PLC之前沒有先去了解該型號PLC的性能特性,只因為價格便宜就買,這是初學者的通病


正確的流程應該是先分析案子的動作流程和需求,規劃需要哪些配合的電控硬體,再尋找符合需求的PLC型號


若需要用到特殊模組,最好先了解一下特殊模組的相關性能。因為各廠牌間不能互換,若只有某廠牌符合需求,PLC就必需要使用同一廠牌


多數問問題的學生都是買電晶體輸出的PLC,但是在這一行用最多是繼電器輸出的PLC。若不確定自己案子的需求,又急著要先買PLC的話,買繼電器輸出的PLC型號後續問題較少
再來是廠牌選用問題:雖然PLC廠牌很多,撇開大型PLC不說,在台灣這行業用最多的大概就是三菱、歐姆龍和永宏這三大品牌。主要是學校教的大概都是這三大品牌為主,市面上有關PLC的書也是以這三大品牌為主;另一個原因是這三大品牌的周邊模組較齊全容易取得,再來就是穩定度高


那這這三大品牌該選用哪種?學校的案子用三菱FX系列或永宏FBs系列大概就不會錯,因為學校目前教的幾乎多是這2種型號,接點編號和應用指令也雷同,學校教的可以直接套用;歐姆龍就不推薦使用,因為在外流通的資料較少,有教的學校不多。接點編號和應用指令也是獨樹一格,學校教的多數沒用。另一個不推薦的原因是歐姆龍在電腦通訊這方面的資料太少,要和電腦配合的話,對學生來說是個麻煩


另外型號的選用要考慮實際狀況;例如輸出沒有幾個,卻有一堆輸入訊號時。有些同學直接買大點數的PLC,放著一堆輸出接點用不到。因為很多學校設備都會挪用,這種買法不會奇怪;業界的狀況則傾向買小點數的PLC,再加購輸入模組


2.配電材料知識:PLC不是單獨使用的硬體,一定會用到一些開關燈號之類的配電材料,如何把這些配電材料和PLC正確安裝連接是必學知識。奇怪的是不知為何接觸過的學校大半沒有教這個,學生只會按照老師教的安裝連線,卻不知道為何要那樣安裝;曾經就有學生拿電晶體輸出PLC直接接馬達,然後跑來問為何馬達動不了


3.人機螢幕知識:現在一些學校的大型案子已無法只用PLC就結案,多數還要搭配人機螢幕或電腦;電腦和PLC的配合較複雜,等真的進了這行再慢慢學。相比之下人機螢幕和PLC的配合簡單許多,不想外包請人處理的,程式自學自寫應該不成問題

 


寫程式前的準備:


畫動作流程圖或時序圖,有需要的話連電路圖也畫好;動作流程圖或時序圖不一定要很標準,重點是討論時能看得懂,順序分明沒有模糊解釋的空間


雖然不多但有些公司寫PLC程式和配電是分開的,那機器出問題時是找寫程式的工程師還是找配電的師傅?動作流程圖和電路圖可以減少許多麻煩


更重要的是動作流程圖對接案的公司是個保障,尤其是接學校的案子


最早曾經有個學校案子完成的機器動作不如預期,委外的配電公司因為不寫動作流程圖,到底是哪裡動作出問題一直和學校有爭議,最後程式和電路修改超過20次以上才完成。委外的配電公司經過這場教訓,打死都不再接和學校有關的案子


後來的案子我都是在機器設計完成時同時也完成動作流程圖,而動作流程圖也請學校老師或教授再三確認並簽名後,才會開始配電和寫程式。這樣做照理說應該不會出問題了吧?學校方面偏偏就是會有意想不到的狀況

 

某案子公司只負責機器設計和配電,PLC和電腦程式學校另外包給其他公司。試機時機器動作定位不準,結果學校不找寫程式的公司,反而是找機器設計公司算帳。一個減速比高達360還掛剎車的馬達輸送帶定位誤差會超過5公分以上?怎麼想都不會是硬體問題,按照動作流程絕對是程式問題。但教授一口咬定就是硬體問題,就是不找寫程式的公司來處理。當天從早上改機器改到晚上,教授提出的各種改法都試過了還是不行,最後才給我那家配電公司的電話。電話接通後我只問"按照動作流程,東西到定位時,是先停止馬達再跑電腦程式,還是跑完電腦程式再停止馬達?"那家公司工程師一聽就懂,跑來改程式不用5分鐘搞定所有問題


畫動作流程圖除了確認機器動作外,同時也確認在每一動作階段該有哪些訊號輸入,那些訊號要輸出。通常動作流程圖完成的同時,程式的基本架構走向也完成大半


如果是接案子,要記得動作流程圖一定要和設計者或最終使用者討論,這是避免後續跑維修改程式的麻煩;公司曾經委外過5家配電公司,只有一家有在畫流程圖和我討論,也只有那家公司配電的機器使用10多年從來沒維修過,其餘的光是每年跑維修都跑不完。那為何不繼續找那家公司?只因老闆每次都想改動作流程圖,那家公司沒有完全照做所以被換掉。說實在話改動作流程會不會有問題是設計者最清楚,不經過設計者就改動作流程哪能不出問題。後面幾家委外廠商看準老闆的牛脾氣,老闆要怎麼改就配合改,後續出差維修再收出差費

 


寫程式心得:


1.寫I/O表:這一動作基本上在動作流程圖完成時,應該也同時完成了。每個輸出輸入的接點編號清清楚楚,後續寫程式就不用再想個老半天


2.要謹記PLC程式的特性是由上到下,從左到右的順序掃描執行;所以有時相同的程式碼,因為其中幾行先後順序不同,執行的結果不如預期


除非是使用SFC的寫法,否則我一般的寫法一定是把輸出接點放在最後面;同一接點一定是以最靠近底下程式的狀態為最後輸出結果,曾經有同學寫的程式一開始M0接點ON,在底下又把M0接點OFF,然後問為什麼不會動作?底下那段程式不改,怎樣都不會動


3.除了SFC寫法外,程式中輸出接點(Y接點)都要避免重複,也就是禁止雙線圈輸出。用SFC寫法其實還是要注意一下,很多同學在某一步序把輸出ON保持住,後續忘了把輸出OFF,還奇怪動作沒有繼續下去


4.同一輸出接點有很多動作都會用到時,先用輔助接點(M接點)取代,程式最後再把輔助接點整合到同一輸出接點上;基本上PLC輔助接點(M接點)很多,不必省著用


5.要使用應用程式時先徹底了解應用程式的特性;各廠牌PLC多少有點不同,應用程式也是。同名稱用法不一定相同,曾經就有同學拿這種問題來問,為什麼同一種程式寫法換個廠牌就不行?


6.事關安全的緊急停止開關不要完全用PLC接點取代;PLC接點總有損壞的時候,緊要關頭停不下來就會是場災難。總之就是有狀況時緊急停止開關能優先跳過PLC程式,關閉機器所有可動部分。當然這部分要靠配電的配線來配合處理


7.和電腦或人機螢幕配合時,除了緊急停止開關和一些感測器的輸入訊號外,其餘的一些開關全部用輔助接點(M接點)取代。使用的輔助接點(M接點)最好是連號,電腦寫程式時會比較省事。同樣若需要由電腦或人機螢幕監控輸出輸入接點狀態時,使用的輸出輸入接點最好也是連號,也是方便電腦寫程式時會比較省事


8.寫程式註解:很多寫PLC程式的工程師從來不寫註解,怕被別人破解,要破解方法多的是,有無註解其實沒差;註解不一定要寫在程式內,也可以另外寫在其他文件上,我現在是用這方法


註解的主要用途是方便以後修改程式,找故障原因。前面寫配合不良的委外廠商,完全沒在寫流程圖和註解;以我設計蔬菜嫁接機為例,在機器完成設計的同時我就已經同時完成動作流程圖,因為是和學校合作的案子,流程圖有預留可能會修改動作位置的註解。結果委外公司的工程師完全不看流程圖,在機器完成時才一邊說動作流程給他聽一邊寫程式。最糟糕的是事後沒有寫註解,試機時教授只說要改一下動作,他就改不動了搞了3天還沒有弄好,原因是他忘了程式裡哪個接點有什麼用途。這台機器也成了和那家公司合作的最後一個案子


後續這台機器的PLC程式由我接手完成,當然是完全按照自己寫的流程圖,不到3天搞定程式。後來試機的使用者要求追加動作,因為原始動作流程圖有預留可能會修改動作位置的註解,程式的修改不用5分鐘就搞定


9.若是接學校的案子,動作流程預留可修改空間是必備選項。學校的案子幾乎沒有一次搞定的,修改多次是很正常的事。若覺得這樣不划算,在投標時這些費用就要先灌在投標金額內,當然風險就是很難得標,所以要灌多少金額就要自己拿捏一下

 


總結下來:先畫動作流程圖,依動作流程圖需求選定合用的PLC型號。選定採購好PLC之後,搞定其他配電硬體問題,確定沒問題才動手寫程式。寫程式一定要留下註解,方便日後修改維修


學寫PLC程式還是從傳統階梯圖開始學起,不要一下跳到SFC寫法。這樣才能打下穩固的基礎


學習時必備的工具書是PLC附的原廠說明書,最好是能搭配硬體學習。若沒有那個經費,較新版的PLC編輯程式大都具有模擬功能,能模擬PLC大部分動作,也可以用來學習

 

PLC程式書寫.jpg  

arrow
arrow
    文章標籤
    PLC 程式 寫作
    全站熱搜

    未出師的小工程師 發表在 痞客邦 留言(6) 人氣()