為了滿足工業(yè)邏輯控制的要求,同時(shí)結(jié)合計(jì)算機(jī)控制的特點(diǎn),plc的工作方式采用不斷循環(huán)的順序掃描工作方式。每一次掃描所用的時(shí)間稱為掃描周期或工作周期。cpu從第一條指令執(zhí)行開(kāi)始,按順序逐條地執(zhí)行用戶程序直到用戶程序結(jié)束,然后返回第一條指令開(kāi)始新的一輪掃描。plc就是這樣周而復(fù)始地重復(fù)上述循環(huán)掃描的。plc工作的全過(guò)程可用圖所示的運(yùn)行框圖來(lái)表示。整個(gè)過(guò)程可分為以下幾個(gè)部分:
第一部分是上電處理。plc上電后對(duì)系統(tǒng)進(jìn)行一次初始化,包括硬件初始化和軟件初始化,停電保持范圍設(shè)定及其他初始化處理等。
第二部分是自診斷處理。plc每掃描一次,執(zhí)行—次自診斷檢查,確定plc自身的動(dòng)作是否正常。如cpu、電池電壓、程序存儲(chǔ)器、i/o和通訊等是否異常或出錯(cuò),如檢查出異常時(shí),cpu面板上的led及異常繼電器會(huì)接通,在特殊寄存器中會(huì)存入出錯(cuò)代碼。當(dāng)出現(xiàn)致命錯(cuò)誤時(shí),cpu被強(qiáng)制為stop方式,所有的掃描便停止。
圖 plc運(yùn)行框圖
第三部分是通訊服務(wù)。plc自診斷處理完成以后進(jìn)入通訊服務(wù)過(guò)程。首先檢查有無(wú)通訊任務(wù),如有則調(diào)用相應(yīng)進(jìn)程,完成與其他設(shè)備的通訊處理,并對(duì)通訊數(shù)據(jù)作相應(yīng)處理;然后進(jìn)行時(shí)鐘、特殊寄存器更新處理等工作。
第四部分是程序掃描過(guò)程。plc在上電處理、自診斷和通訊服務(wù)完成以后,如果工作選擇開(kāi)關(guān)在run位置,則進(jìn)人程序掃描工作階段。先完成輸入處理,即把輸入端子的狀態(tài)讀入輸入映像寄存器中,然后執(zhí)行用戶程序,最后把輸出處理結(jié)果刷新到輸出鎖存器中。
在上述幾個(gè)部分中,通訊服務(wù)和程序掃描過(guò)程是plc工作的主要部分,其工作周期稱為掃描周期??梢钥闯鰭呙柚芷谥苯佑绊懣刂菩盘?hào)的實(shí)時(shí)性和正確性,為了確??刂颇苷_實(shí)時(shí)地進(jìn)行,在每個(gè)掃描周期中,通訊任務(wù)的作業(yè)時(shí)間必須被控制在一定范圍內(nèi)。plc運(yùn)行正常時(shí),程序掃描周期的長(zhǎng)短與cpu的運(yùn)算速度、與i/o點(diǎn)的情況、與用戶應(yīng)用程序的長(zhǎng)短及編程情況等有關(guān)。通常用plc執(zhí)行l(wèi)
kb指令所需時(shí)間來(lái)說(shuō)明其掃描速度,一般為零點(diǎn)幾ms到上百ms。值得注意的是,不同指令其執(zhí)行時(shí)間是不同的,從零點(diǎn)幾μs到上百μs不等,故選用不同指令所用的掃描時(shí)間將會(huì)不同。而對(duì)于一些需要高速處理的信號(hào),則需要特殊的軟、硬件措施來(lái)處理。
當(dāng)plc處于正常運(yùn)行時(shí),它將不斷重復(fù)掃描過(guò)程。分析上述掃描過(guò)程,如果對(duì)遠(yuǎn)程i/o、特殊模塊和其他通訊服務(wù)暫不考慮,這樣掃描過(guò)程就只剩下“輸入采樣”、“程序執(zhí)行”和“輸出刷新”三個(gè)階段了。這三個(gè)階段是plc工作過(guò)程的中心內(nèi)容,理解透plc工作過(guò)程的這三個(gè)階段是學(xué)習(xí)好plc的基礎(chǔ)。下面就對(duì)這三個(gè)階段進(jìn)行詳細(xì)的分析。
(1) 輸入采樣階段
plc在輸入采樣階段,首先掃描所有輸人端點(diǎn),并將各輸入狀態(tài)存入相對(duì)應(yīng)的輸入映像寄存器中。此時(shí),輸入映像寄存器被刷新。接著,進(jìn)入程序執(zhí)行階段和輸出刷新階段,在此階段輸入映像寄存器與外界隔離,無(wú)論輸入情況如何變化,其內(nèi)容保持不變,直到下一個(gè)掃描周期的輸人采樣階段,才重新寫(xiě)入輸入端的新內(nèi)容。所以一般來(lái)說(shuō),輸人信號(hào)的寬度要大于一個(gè)掃描周期,否則很可能造成信號(hào)的丟失。
由此可見(jiàn),輸入映像寄存器的數(shù)據(jù)完全取決于輸入端子上各輸入點(diǎn)在上一刷新期間的接通和斷開(kāi)狀態(tài)。
(2) 程序執(zhí)行階段
根據(jù)plc梯形圖程序掃描原則,一般來(lái)說(shuō),plc按從左到右、從上到下的步驟順序執(zhí)行程序。當(dāng)指令中涉及輸入、輸出狀態(tài)時(shí),plc就從輸入映像寄存器中“讀入”采集到的對(duì)應(yīng)輸入端子狀態(tài),從元件映像寄存器“讀入”對(duì)應(yīng)元件(“軟繼電器”)的當(dāng)前狀態(tài)。然后,進(jìn)行相應(yīng)的運(yùn)算,運(yùn)算結(jié)果再存入元件映像寄存器中。對(duì)元件映像寄存器來(lái)說(shuō),每一個(gè)元件(“軟繼電器”)的狀態(tài)會(huì)隨著程序執(zhí)行過(guò)程而變化。
(3) 輸出刷新階段
在所有指令執(zhí)行完畢后,元件映像寄存器中所有輸出繼電器的狀態(tài)(接通/斷開(kāi))在輸出刷新階段轉(zhuǎn)存到輸出鎖存器中,通過(guò)輸出端子和外部電源,驅(qū)動(dòng)外部負(fù)載。
由此可見(jiàn),輸出映像寄存器的數(shù)據(jù)取決于輸出指令的執(zhí)行結(jié)果,輸出鎖存器中的數(shù)據(jù)由上一次輸出刷新期間輸出映像寄存器中的數(shù)據(jù)決定,而輸出端子的接通和斷開(kāi)狀態(tài),完全由輸出鎖存器決定。