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