jinsinfo
級別: *
![]() |
小弟一月份接到一個(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)兒“暈倒” ![]() ![]() 整個(gè)控制系統(tǒng)不算復(fù)雜,關(guān)鍵是控制7個(gè)氣缸的動作,出錯(cuò)后要能夠定位到點(diǎn),考慮到輸入按鈕比較多,輸出部件也多(負(fù)責(zé)設(shè)計(jì)的老工程師原先都是基于繼電器線路考慮的),因此前兩天我主動請戰(zhàn)提出用觸摸屏(算是“初生牛犢不怕虎”還是“無知者無畏”?),這下控制就復(fù)雜了一些(原來自動部分由PLC控制,手動則由繼電器線路控制, ![]() ![]() ![]() ![]() 剛開始編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) ![]() 這段時(shí)間以來,我覺得用計(jì)算機(jī)編程的思維方式處理PLC編程,最容易出錯(cuò)的地方就是由PLC的“掃描工作方式”引發(fā)的問題,特別是FEND之前的“主程序”段,一定要時(shí)刻注意條件(輸入變化、軟元件變化、“保持型”軟元件)動態(tài)變化后程序的跳轉(zhuǎn)方向。 最后,有一個(gè)問題想請有經(jīng)驗(yàn)的達(dá)人給予指導(dǎo),就是如何考慮“急!惫δ埽喊凑誔LC的“掃描工作方式”,在如下的梯形圖1中,當(dāng)“X000急停按鈕”接通時(shí),對動作輸出部分可以做到“即時(shí)”響應(yīng),即可以精確的監(jiān)測到究竟是“M999”還是“M998”完成了“急停”功能,而圖2中,如果在執(zhí)行到第1023步之后的時(shí)刻才發(fā)現(xiàn)需要終止下面的輸出動作,這時(shí)按下“X000急停按鈕”,想要終止第1049步的“Y016”輸出(假設(shè)此時(shí)滿足D21=2、D51=2),似乎不能完成,必須要等到下一個(gè)掃描周期才能接通“M999”斷開第1049步,雖然PLC的掃描是以us計(jì)的,但這樣的“不精確”,就會產(chǎn)生“滯后”隱患了。 小弟第一次編PLC,衷心期望有經(jīng)驗(yàn)的達(dá)人給予指點(diǎn),謝謝! ![]() ![]() [ 此帖被jinsinfo在2010-03-03 10:56重新編輯 ] |
---|---|
|
yangli57678
我的QQ:751539177 軟件開發(fā)
級別: 探索解密
![]() |
現(xiàn)在解決了嗎 |
|
---|---|---|
|
jinsinfo
級別: *
![]() |
還在進(jìn)行中...... 正常加工部分完成了,模擬了一下,還行 現(xiàn)在在弄出錯(cuò)處理,比較麻煩的是出錯(cuò)處理是有比較嚴(yán)格的步序要求,需要考慮的因素較多,有點(diǎn)煩, 觸摸屏還不熟,正在看視頻學(xué)習(xí),GOT F930的還不能直接仿真,正準(zhǔn)備先用GT Desiger做一個(gè)GOT F950的屏,這樣就可以模擬了,就是麻煩一些,需要再做F930版的 急停部分先用如梯形圖1所示的方式處理,還好動作不多也不復(fù)雜,這樣處理雖然程序農(nóng)長一些,但放心些。 [ 此帖被jinsinfo在2010-03-03 11:36重新編輯 ] |
---|---|
|
qiulong216
級別: 略有小成
![]() |
照樓主說的,“整個(gè)控制系統(tǒng)不算復(fù)雜,關(guān)鍵是控制7個(gè)氣缸的動作”,說明設(shè)備不是很精密,那么何必在意那幾ns的時(shí)間呢? 如果樓主真的很在意這幾ns的話,可以把急停開關(guān)常閉與硬件電源串聯(lián),按鈕一按下控制部分的電源斷路,就能實(shí)現(xiàn)瞬時(shí)斷開了。還有樓主寫的程序太浪費(fèi)PLC資源了把,同時(shí)掃描周期也大大延長了吧! |
---|---|
|
jinsinfo
級別: *
![]() |
急停不用PLC控制而直接使用硬件連接確實(shí)是更好的選擇。 有此一問是因?yàn)樵诰帉憰r(shí)首先想到的是繼電器線路中急停的連接方式,“直譯”之后再看程序才意識到它們兩者之間的差別,然后的第一反應(yīng)就是急停是為安全需要而設(shè),安全是第一位的,效率則不必很在意,才弄出圖1那樣的“低效算法”,正是這個(gè)原因,才想更多的了解一下這個(gè)問題。第一次編寫PLC程序,距離寫出“漂亮”的程序還有很長的路,現(xiàn)在最關(guān)心的是邏輯正確以及用PLC語言正確的表達(dá)出來,追求效率是需要技術(shù)根底的,還不敢奢望。 |
---|---|
|
jinsinfo
級別: *
![]() |
] ![]() 呵呵,我是“按照加工過程控制的要求用計(jì)算機(jī)編程的思維方式來構(gòu)思整個(gè)控制系統(tǒng)的 ,所以現(xiàn)在的這個(gè)程序中都是大量的條件判斷、MOV、RST及WAND、WXOR這類指令(感覺有點(diǎn)兒匯編的味道)” |
---|---|
|
jinsinfo
級別: *
![]() |
可能是因?yàn)槲沂切率,所以才把這個(gè)弄得復(fù)雜了,確實(shí)不太符合“簡單才是美”的準(zhǔn)則! |
---|---|
|