小弟一月份接到一個(gè)設(shè)備改造任務(wù),由我負(fù)責(zé)PLC編程。我原是學(xué)計(jì)算機(jī)的,因?yàn)榇饲俺晒Ω倪M(jìn)了一臺測試設(shè)備的測試程序(VB開發(fā)的),所以領(lǐng)導(dǎo)就這樣安排了,理由是兩者都是編程(不是我開玩笑,當(dāng)時(shí)差點(diǎn)兒“暈倒”
,再三推辭,領(lǐng)導(dǎo)當(dāng)時(shí)拿出了“禮賢下士”的姿態(tài),聲稱就當(dāng)學(xué)習(xí)學(xué)習(xí),沒有什么事情是百分百成功的,沒辦法只能接受了
)。就這樣開始了PLC的學(xué)習(xí)之路,從論壇上下了一些學(xué)習(xí)資料、到圖書館借了兩本書(借書之前就搞清楚了一些必要的因素如先把PLC品牌定好,這樣效率高多了)。
整個(gè)控制系統(tǒng)不算復(fù)雜,關(guān)鍵是控制7個(gè)氣缸的動(dòng)作,出錯(cuò)后要能夠定位到點(diǎn),考慮到輸入按鈕比較多,輸出部件也多(負(fù)責(zé)設(shè)計(jì)的老工程師原先都是基于繼電器線路考慮的),因此前兩天我主動(dòng)請戰(zhàn)提出用觸摸屏(算是“初生牛犢不怕虎”還是“無知者無畏”啊?),這下控制就復(fù)雜了一些(原來自動(dòng)部分由PLC控制,手動(dòng)則由繼電器線路控制,
后來我了解到,之所以要用PLC是因?yàn)槿靠刂剖褂美^電器線路比較復(fù)雜,器件較多,且今后還要增加不同型號的產(chǎn)品,成本會(huì)超出計(jì)劃,尤其是時(shí)間繼電器價(jià)格不便宜 ,所以才提出這樣的設(shè)計(jì)框架,“暈”啊
)。
剛開始編PLC時(shí),老工程師帶的年輕助工說控制線路設(shè)計(jì)好了,還用Festo的工具軟件模擬了一下效果,當(dāng)時(shí)以為這事簡單了,只要把繼電器控制線路“翻譯”成PLC梯形圖就行了,但隨著對加工過程控制的了解,發(fā)現(xiàn)這樣簡單的“翻譯”,先不說極大的浪費(fèi)了PLC資源,就連一些必要的控制都無法完成,而另一方面“形勢”變得急轉(zhuǎn)而下,領(lǐng)導(dǎo)要求必須在3本月底完成改造任務(wù)。認(rèn)識到問題的復(fù)雜性和“嚴(yán)重性”,我不得不放棄做一名翻譯的理想,毅然決定轉(zhuǎn)回來“吃老本”,按照加工過程控制的要求用計(jì)算機(jī)編程的思維方式來重新構(gòu)思整個(gè)控制系統(tǒng)
,所以我現(xiàn)在的這個(gè)程序中都是大量的條件判斷、MOV、RST及WAND、WXOR這類指令(感覺有點(diǎn)兒匯編的味道,仔細(xì)想想,PLC指令系統(tǒng)就可以認(rèn)為是一套專用的宏匯編系統(tǒng))。
這段時(shí)間以來,我覺得用計(jì)算機(jī)編程的思維方式處理PLC編程,最容易出錯(cuò)的地方就是由PLC的“掃描工作方式”引發(fā)的問題,特別是FEND之前的“主程序”段,一定要時(shí)刻注意條件(輸入變化、軟元件變化、“保持型”軟元件)動(dòng)態(tài)變化后程序的跳轉(zhuǎn)方向。
最后,有一個(gè)問題想請有經(jīng)驗(yàn)的達(dá)人給予指導(dǎo),就是如何考慮“急停”功能:按照PLC的“掃描工作方式”,在如下的梯形圖1中,當(dāng)“X000急停按鈕”接通時(shí),對動(dòng)作輸出部分可以做到“即時(shí)”響應(yīng),即可以精確的監(jiān)測到究竟是“M999”還是“M998”完成了“急停”功能,而圖2中,如果在執(zhí)行到第1023步之后的時(shí)刻才發(fā)現(xiàn)需要終止下面的輸出動(dòng)作,這時(shí)按下“X000急停按鈕”,想要終止第1049步的“Y016”輸出(假設(shè)此時(shí)滿足D21=2、D51=2),似乎不能完成,必須要等到下一個(gè)掃描周期才能接通“M999”斷開第1049步,雖然PLC的掃描是以us計(jì)的,但這樣的“不精確”,就會(huì)產(chǎn)生“滯后”隱患了。 小弟第一次編PLC,衷心期望有經(jīng)驗(yàn)的達(dá)人給予指點(diǎn),謝謝!
[ 此帖被jinsinfo在2010-03-03 10:56重新編輯 ]