編制PLC程序注意的問題說明:網友通過郵件發送來的文章
可編程序控制器(PC)的應用中,我們常會碰到對繼電器控制系統的改造問題,這時我們往往要參考原有的繼電器控制電路來編制PC的應用程序。因此,在編程時,我們應注意PC控制系統與繼電器控制系統工作方式上的一些不同。
下面我們看一個例子:一個繼電器控制回路如圖1 所示。
因繼電器控制系統是以“并行”方式工作的,而且其觸點的通斷需要一定的動作時間。所以當該電路起動后,時間繼電器KT延時時間到時,KT是否能繼續保持通電狀態,需要同時考慮“并行”的兩個動作過程:KT的常閉延時觸點斷開,KA1失電,KA1常開觸點斷開;KT的常開延時觸點閉合,KA2得電,KA2常開觸點閉合。這兩個過程作用的結果,來決定KT的狀態。同時,觸點動作時間的存在,使得電路出現時序競爭。因此該電路不能可*工作。如果加入虛框中的回路,并如圖1把KA2的常開觸點換成KA3的常開觸點(見圖1中括號)。結果是KT動作后,KT自身失電,就不會繼續保持通電狀態。
同樣是這個電路,我們用PC來實現,梯形圖如圖2 所示。
PC是以“串行”方式工作的,也就是以掃描的方式,循環地、連續地、順序地,逐條執行程度的方式工作。同時,PC中,軟觸點的動作可認為是瞬時完成的,且其能把本次動作的結果記憶保持到下一次掃描運算時為止。即具有記憶保持功能。按這樣一個順序“串行”的工作方式,梯形圖動作順序如下:當在某一掃描周期中TIM00延時到后,則:
1. TIM00常閉觸點斷開(OFF),0000 OFF;
2. TIM00常開觸點閉合(ON),0001 ON;
3. 0000常開觸點OFF,0001常開觸點ON,TIM00繼續保持通電狀態。而且不論我們在0001與TIM00之間再加多少級前面繼電器電路所加的虛框中的回路,并把0001常開觸點換成所加回路最后一級繼電器的常開觸點,TIM00仍能繼續保持通電狀態。
同樣的電路,由于繼電器控制系統和PC控制系統工作方式上的差異,兩者會有不同的動作結果。注意到這一點,我們在編程時,就會避免一些不應有的錯誤。
CPU故障的排除
當PC控制出現下列優先級錯誤時會引起CPU停機:CPU WAIT’ G (CPU等待)、MEMORY ERR(存儲器錯誤)、NO END INST(無結束語句)、I/O BUS ERR(I/O總線錯誤)、I/O SET ERR(I/O設置錯誤)、I/O UNIT ERR(I/O單元錯誤)、SYS FAIL FALS(系統出錯)等。
用編程器讀出出錯信息如下:COU WAIT’ G、MEMORY ERR。拆下該CPU,經查看內部線路,發現CPU內部電源部分一集成件SI-9510A已炸開,顯然,CPU不能運行。可能原因是當時電源電壓高于OMRON產品給定電壓最高值(240Va.c)7V左右或該集成件本身質量欠佳造成的。更換同型號CPU,ERROR紅燈仍亮,系統不能啟動,用編程器讀出的出錯信息依然如故。
為了防止意外和查看問題方便,我們將備用的存貯器換上,因其RAM中無用戶程序。此時,能引發CPU等待的錯誤主要有兩個方面:特殊I/O單元等待及擴展I/O單元等待。首先,我們查看了擴展單元的各部分,其電源供給正常,發現連接電纜插頭松動,插好,試機,PC CPU依然停機,但無存貯器錯誤顯示。由于系統未進行I/O地址登記,為查找原因方便,將擴展機架“離線”操作,直接檢查主板特殊單元。存貯器中RAM為空白,只要拆下壞的模板后,CPU就應運行,其RUN指示燈亮(編程器置RUN或MONIT狀態)。當拆下主板上OD215模板后,RUN亮,將備用的OD215進行狀態設置,替換后也亮。此時,再將原來的存貯器換上,結果編程器上蜂鳴器馬上聲響,又出現MEMORY ERR出錯信息,可見存貯器也被燒壞。只能用備用的存貯器,重新輸入原始用戶程序,分段檢查、試車,最后全部重新試車,系統正常,交付使用。
直此,筆者認為引起這次停機故障的可能原因是特殊I/O單元OD215損壞,又由于偶然因素如電壓偏高,使CPU燒壞及存貯器損壞。