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