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