圖1為plc接線圖,圖2為控制梯形圖。圖3描述了每個(gè)掃描周期程序的執(zhí)行過(guò)程。按鈕sb2雖然在程序中沒(méi)有使用,但其狀態(tài)仍影響其對(duì)應(yīng)編號(hào)的內(nèi)部輸入繼電器的狀態(tài)。圖(a)中,①輸入掃描過(guò)程,將兩個(gè)按鈕的狀態(tài)掃描后,存入其映像區(qū),由于sb2是停止按鈕,所以,即使沒(méi)有按下,其輸入回路也是閉合的,因此,x1存“1”(on狀態(tài)),而其它位存“0”(off狀態(tài))。②執(zhí)行程序過(guò)程,程序根據(jù)所用到觸點(diǎn)的編號(hào)對(duì)應(yīng)的內(nèi)部繼電器狀態(tài)來(lái)運(yùn)算。由于x0處于off狀態(tài),因此,對(duì)應(yīng)的動(dòng)合觸點(diǎn)處于斷開狀態(tài),運(yùn)算結(jié)果是y0、y1處于off狀態(tài),其結(jié)果存入輸出映像區(qū),即y0、y1存“0”。③輸出刷新過(guò)程,根據(jù)映像區(qū)各位的狀態(tài)驅(qū)動(dòng)輸出設(shè)備,由于輸出映像區(qū)均為off狀態(tài),所以,輸出指示燈不能形成閉合回路,燈不亮。如果輸入不發(fā)生變化,內(nèi)部繼電器的狀態(tài)均不發(fā)生變化。圖(b)中,按下sb1按鈕后,x0輸入回路閉合。①輸入掃描將輸入狀態(tài)存入其映像區(qū),x0、x1均存“1”。②執(zhí)行程序過(guò)程,按照從左到右,從上到下的原則,逐條執(zhí)行。第一行,x0觸點(diǎn)閉合,但此時(shí),y1的狀態(tài)為“0”,因此,y1觸點(diǎn)為斷開狀態(tài),y0沒(méi)能導(dǎo)通,其狀態(tài)為“0”。第二行,x0觸點(diǎn)閉合,所以,y1的狀態(tài)為“1”。③輸出刷新過(guò)程,由于y1呈導(dǎo)通狀態(tài),燈2亮。
圖(c)為按下sb1按鈕后的第二個(gè)掃描周期。①輸入掃描,由于輸入狀態(tài)不變,輸入映像區(qū)不變。②執(zhí)行程序過(guò)程,第一行,x0觸點(diǎn)閉合,由于上一個(gè)周期中,y1為on狀態(tài),因此,y1觸點(diǎn)也閉合,y0也呈導(dǎo)通狀態(tài);第二行,y1還呈導(dǎo)通狀態(tài)。y0、y1的狀態(tài)均為“1”。③輸出刷新過(guò)程,兩個(gè)燈都亮。注意:由于plc的掃描周期很短,我們用肉眼見(jiàn)到的現(xiàn)象可能是兩燈同時(shí)亮。如果按鈕沒(méi)有變化,內(nèi)部繼電器、輸出設(shè)備狀態(tài)均無(wú)變化。
圖( d)為松開sb1按鈕后的第一個(gè)掃描周期。①輸入掃描使輸入映像區(qū)的x0存“0”、 x1存“1”。②執(zhí)行程序過(guò)程,x0觸點(diǎn)斷開, y1由于上個(gè)周期被置“1”,因此,y1觸點(diǎn)為閉合狀態(tài)。③輸出刷新過(guò)程,由于x0觸點(diǎn)的斷開,y0 、y1都呈斷開狀態(tài)。