在編制PLC程序時,不管是新手還是老手,都會犯下面的這種低級錯誤。因為這種錯誤是非語法上的,所以用編程軟件也不能檢查出錯誤之處。此錯誤一旦發(fā)生,自己有時還很難發(fā)現(xiàn),直至上機調(diào)試運行時,所控設(shè)備不能運行或運行到某個位置停止不前,才察覺出來有問題,再對PLC程序逐條逐句查找分析,或采取對程序逐條逐句執(zhí)行,費時費工。
那么究竟是什么問題易使我們犯下這種低級錯誤呢?
繼電器電氣控制的固有思維,在編制程序時,某個或幾個輸入點采用物理常閉觸點(如停止開關(guān)、行程限位開關(guān)),在程序中,仍延續(xù)繼電器電氣控制方式編制,即仍采用常閉接點作為導(dǎo)通條件使用。
下面用一個簡單的啟停與自鎖電路示例來說明:
根據(jù)上圖編制的不能運行的錯誤PLC程序如下:
PLC上電后,X000、X002常閉點就會斷開。即邏輯值為“0”Y0=(Y0+X001)×X000×X002從上面數(shù)字邏輯表達式可知,在按下啟動按鈕SB1后,X001的邏輯值為“1”,而Y0的邏輯值永遠不會變化,始終為“0”。原因是與PLC內(nèi)部輸入電路有關(guān),以下是PLC內(nèi)部輸入等效電路:
正確的PLC程序如下:
PLC上電后,X000、X002常開點就會閉合。即邏輯值為“1”Y0=(Y0+X001)×X000×X002只要按下啟動按鈕SB1后,X001的邏輯值為“1”,Y0邏輯值就為“1”。松開啟動按鈕SB1,X001的邏輯值為“0”但Y0邏輯值為“1”,Y0與X001是或的關(guān)系,保證了Y0邏輯值始終為“1”,即自鎖。直至按下停止按鈕或出現(xiàn)過載 (FR0動作),Y0的邏輯值才變?yōu)椤?”。
通過上面的簡單示例可知,新手可能還未弄懂外部為常閉輸入時,經(jīng)PLC內(nèi)部輸入電路后邏輯值發(fā)生了“非”的變化。以及繼電器電氣控制固有思維影響,老手是出于疏忽。這雖然是低級錯誤,也易發(fā)生在程序編制過程中。