有了上述過(guò)程,用PLC實(shí)現(xiàn)控制顯然是可能的。因?yàn)椋河辛溯斎胨⑿拢砂演斎腚娐繁O(jiān)視得到的輸入信息存入PLC的輸入映射區(qū);經(jīng)運(yùn)行用戶(hù)程序,輸出映射區(qū)將得到變換后的信息;再經(jīng)輸出刷新,輸出鎖存器將反映輸出映射區(qū)的狀態(tài),并通過(guò)輸出電路產(chǎn)生相應(yīng)的輸出。又由于這個(gè)過(guò)程是永不停止地循環(huán)反復(fù)地進(jìn)行著,所以,輸出總是反映輸入的變化。只是響應(yīng)的時(shí)間上,略有滯后。但由于PLC的工作速度很快,所以,這個(gè)“略有滯后”的時(shí)間是很短的,一般也就是幾毫秒、幾十毫秒,最多也不會(huì)超過(guò)100到200毫秒。
圖2a所示的是簡(jiǎn)化的過(guò)程,實(shí)際的PLC工作過(guò)程還要復(fù)雜些。除了I/O刷新及運(yùn)行用戶(hù)程序,還要做些其它的公共處理工作。公共處理工作有:循環(huán)時(shí)間監(jiān)視、外設(shè)服務(wù)及通訊處理等。
監(jiān)視循環(huán)時(shí)間的目的是避免用戶(hù)程序“死循環(huán)”,保證PLC能正常工作。為避免用戶(hù)程序“死循環(huán)”的辦法是用“看門(mén)狗”(Watching dog),即設(shè)一個(gè)定時(shí)器,監(jiān)測(cè)用戶(hù)程序的運(yùn)行時(shí)間。只要循環(huán)超時(shí),即報(bào)警,或作相應(yīng)處理。
外設(shè)服務(wù)是讓PLC可接受編程器對(duì)它的操作,或向編程器輸出數(shù)據(jù)。
通訊處理是實(shí)現(xiàn)與計(jì)算機(jī),或與其它PLC,或與智能操作器、傳感器進(jìn)行信息交換的。這也是增強(qiáng)PLC控制能力的需要。
也就是說(shuō),實(shí)際的PLC工作過(guò)程總是:公共處理——I/O刷新——運(yùn)行用戶(hù)程序——再公共處理——⋯反復(fù)不停地重復(fù)著。圖2b所示的是實(shí)際的過(guò)程。
此外,PLC上電后,也要進(jìn)行系統(tǒng)自檢及內(nèi)存的初始化工作,為PLC的正常運(yùn)行做好準(zhǔn)備。
用這種不斷地重復(fù)運(yùn)行程序以實(shí)現(xiàn)控制,稱(chēng)掃描方式工作。是PLC基本的工作方式。
此外,為了應(yīng)對(duì)緊急任務(wù),PLC還有中斷工作方式。在中斷方式下,需處理的任務(wù)先申請(qǐng)中斷,被響應(yīng)后停止正運(yùn)行的程序,轉(zhuǎn)而去處理中斷工作(運(yùn)行有關(guān)中斷的服務(wù)程序)。待處理完中斷,又返回運(yùn)行原來(lái)程序。
PLC的中斷方式的任務(wù),或稱(chēng)事件,是分等級(jí)的。同時(shí)出現(xiàn)兩個(gè)或多個(gè)中斷事件,則優(yōu)先級(jí)高的先處理,繼而處理低的。直到全部處理完中斷任務(wù),再轉(zhuǎn)為執(zhí)行掃描程序。
PLC對(duì)大量控制都用掃描方式工作,而對(duì)個(gè)別急需的處理,則用中斷方式。這樣,既可做到所有的控制都能照顧到,而個(gè)別應(yīng)急的任務(wù)也能及時(shí)進(jìn)行處理。
當(dāng)然,PLC的實(shí)際工作過(guò)程比這里講的還要復(fù)雜一些,分析其基本原理,也還有一些理論問(wèn)題。但如果能弄清上面介紹的思路,也可知到PLC是怎么工作的了。