陜西PLC系統(tǒng)中的重要部件就是CPU,這種程序中有很多操作系統(tǒng)以及用戶程序處理系統(tǒng),在這種系統(tǒng)當(dāng)中它處理的數(shù)據(jù)是非常準(zhǔn)確的,當(dāng)然也能重復(fù)的循環(huán)的處理一些數(shù)據(jù),那么這是什么原理呢?
用戶程序由用戶生成,用來實(shí)現(xiàn)用戶要求的自動化任務(wù)。STEP 7將用戶編寫的程序和程序所需的數(shù)據(jù)放置在塊中,功能塊FB和功能FC是用戶編寫的子程序,系統(tǒng)功能塊SFB和系統(tǒng)功能SFC是操作系統(tǒng)提供給用戶使用的標(biāo)準(zhǔn)子程序,它們和組織塊OB統(tǒng)稱為邏輯塊。
陜西PLC系統(tǒng)的電或由STOP模式切換到RUN模式時(shí),CPU執(zhí)行啟動操作,將沒有斷電保持功能的位存儲器、定時(shí)器和計(jì)數(shù)器清零,清除中斷堆棧和塊堆棧的內(nèi)容,復(fù)位保存的硬件中斷等。此外還要執(zhí)行一次用戶生成的“系統(tǒng)啟動”組織塊OB100,完成用戶指定的初始化操作。以后PLC采用循環(huán)執(zhí)行用戶程序的方式,這種運(yùn)行方式也稱為掃描工作方式。
在陜西PLC系統(tǒng)的存儲器中,設(shè)置了一片區(qū)域用來存放輸入信號和輸出信號的狀態(tài),它們分別稱為過程映像輸入?yún)^(qū)和過程映像輸出區(qū)。PLC梯形圖中的其他編程元件也有對應(yīng)的存儲區(qū)。
下面是循環(huán)處理的各個(gè)階段的任務(wù):
1)操作系統(tǒng)啟動循環(huán)時(shí)間監(jiān)控。
2) CPU將過程映像輸出區(qū)的數(shù)據(jù)寫到輸出模塊。
3) CPU讀取輸入模塊的輸入狀態(tài),并存入過程映像輸入?yún)^(qū)。
4) CPU處理用戶程序,執(zhí)行用戶程序中的指令。
5)在循環(huán)結(jié)束時(shí),操作系統(tǒng)執(zhí)行其他任務(wù),例如下載和刪除塊,接收和發(fā)送全局?jǐn)?shù)據(jù)等。
6) CPL返回**階段,重新啟動循環(huán)時(shí)間監(jiān)控。
在啟動完成后,每次循環(huán)都要調(diào)用一次組織塊OB1。OB1是用戶程序中的主程序,它可以調(diào)用別的邏輯塊(FB、FC、SFB或SFC)。循環(huán)程序處理過程可以被某些事件中斷。如果有中斷事件出現(xiàn),當(dāng)前正在執(zhí)行的塊被暫停執(zhí)行,并自動調(diào)用分配給該事件的組織塊。該組織塊被執(zhí)行完后,被暫停執(zhí)行的塊將從被中斷的地方開始繼續(xù)執(zhí)行。
在循環(huán)程序處理過程中,CPU并不直接訪問I/O模塊中的輸入地址區(qū)和輸出地址區(qū),而是訪問CPU內(nèi)部的過程映像區(qū)。
在寫輸出模塊階段,CPU將過程映像輸出區(qū)的狀態(tài)傳送到輸出模塊。梯形圖中某一數(shù)字量輸出位(例如Q4.0)的線圈“通電”時(shí),對應(yīng)的過程映像輸出位為1狀態(tài)。信號經(jīng)輸出模塊隔離和功率放大后,繼電器型輸出模塊中對應(yīng)的硬件繼電器的線圈通電,其常開觸點(diǎn)閉合,使外部負(fù)載通電工作。若梯形圖中輸出位的線圈“斷電”,對應(yīng)的過程映像輸出位為0狀態(tài),在寫輸出模塊階段之后,繼電器型輸出模塊中對應(yīng)的硬件繼電器的線圈斷電,其常開觸點(diǎn)斷開,外部負(fù)載斷電,停止工作。
在讀輸入模塊階段,PLC把所有外部輸入電路的接通/斷開狀態(tài)讀人過程映像輸入?yún)^(qū)。
外部輸入電路接通時(shí),對應(yīng)的過程映像輸入位(例如I0.0)為1狀態(tài),梯形圖中該輸入位的常開觸點(diǎn)接通,常閉觸點(diǎn)斷開。外部輸入電路斷開時(shí),對應(yīng)的過程映像輸入位為0狀態(tài),梯形圖中該輸入位的常開觸點(diǎn)斷開,常閉觸點(diǎn)接通。
某一編程元件對應(yīng)的位為1狀態(tài)時(shí),稱該編程元件的狀態(tài)為ON,該位為0狀態(tài)時(shí),稱該編程元件的狀態(tài)為OFF。在程序執(zhí)行階段,即使外部輸入電路的狀態(tài)發(fā)生了變化,過程映像輸入位的狀態(tài)也不會隨之而變,輸入信號變化了的狀態(tài)只能在下一個(gè)掃描循環(huán)周期的讀取輸入模塊階段被讀入過程映像輸入?yún)^(qū)。
PLC的用戶程序由若干條指令組成,指令在存儲器中順序排列。在沒有跳轉(zhuǎn)指令和塊調(diào)用指令時(shí),CPU從**條指令開始,逐條順序地執(zhí)行用戶程序,直到用戶程序結(jié)束之處。在執(zhí)行指令時(shí),從過程映像輸入?yún)^(qū)或別的存儲區(qū)中將有關(guān)編程元件的0、1狀態(tài)讀出來,并根據(jù)指令的要求執(zhí)行相應(yīng)的邏輯運(yùn)算,運(yùn)算的結(jié)果寫入到對應(yīng)的存儲區(qū)中,因此,各編程元件的存儲區(qū)的內(nèi)容隨著程序的執(zhí)行而變化。