? PLC的工作原理 表1 LEM PLC的6種指令
前面幾節把可編程控制器硬件體系中的最基本部件做了介紹。本節用一個(gè)最簡(jiǎn)單的PLC來(lái)說(shuō)明其工作原理。設有一臺PLC(型號為L(cháng)EM),它有6種基本指令,指令見(jiàn)表1。
圖1給出了指令格式,每一條指令由13位組成。
圖1 LEM PLC的指令格式
從圖1指令格式中可以看出指令的地址場(chǎng)包含9位2進(jìn)制數,允許尋址29 = 512位。在LEM-PLC中設置128位輸入變量Ui和128位輸出變量Yj,剩下256位保留作為中間變量Xk。因此LEM的數據存儲器(便箋式存儲器)具有512位,以8進(jìn)制表示時(shí),地址為0(O)至777(O)。圖2表示了LEM的數據存儲器組態(tài)。
圖2 LEM的數據存儲器組態(tài)
LEM的中央處理器包含一個(gè)程序計數器(P)或稱(chēng)指令指針(10位寄存器),一個(gè)13位指令寄存器(I)和一個(gè)邏輯累加器(A),最后還有一個(gè)4位后進(jìn)先出的堆棧LIFO。圖3表示執行指令的過(guò)程。指令指針執行完當前指令后把指針數加1,指向下一條將執行的指令?,F在指令指針中的內容為1000(O)(2進(jìn)制碼為001 000 000 000),在程序存儲器(用戶(hù)存儲區)中。地址為1000(O)單元處放置有指令I(lǐng)FU3,中央處理器將這條指令取入指令寄存器(I),這時(shí)(I)寄存器的內容為:
圖3 LEM PLC執行指令的過(guò)程
其地址場(chǎng)的內容為000 000 011轉入地址寄存器(S),并取數據存儲器第3單元(輸入變量U3)的內容送至累加器(A)。這一過(guò)程是中央處理器根據指令中的操作碼0001,經(jīng)譯碼器譯碼后在時(shí)鐘的控制下進(jìn)行的。以上僅僅是執行一條指令的過(guò)程。
下面說(shuō)明PLC怎樣使用LIFO堆棧來(lái)完成一個(gè)梯形圖的梯節或一個(gè)布爾代數方程的表達式:
用梯形圖來(lái)表示上述邏輯方程的梯節如圖4所示:
圖4 用梯形圖表示的例子
將上述邏輯方程或梯節寫(xiě)成LEM PLC能執行的程序,其程序表見(jiàn)表2。 表2 LEM PLC內的用戶(hù)程序表(執行本例子的程序表)
表2中的指令助記符在程序存儲器中的編碼見(jiàn)表3。
在表4中列出了程序執行過(guò)程中,累加器A和堆棧的內容。
輸入變量,中間變量和輸出變量在數據儲器中的位置如表5所示。
上面說(shuō)明了PLC執行一條指令或一個(gè)邏輯方程(用梯形圖表示時(shí)是一個(gè)梯節)的過(guò)程。但是PLC與普通辦公用計算機有一個(gè)很大的不同點(diǎn),就是PLC的程序是自動(dòng)循環(huán)執行的,而普通計算機是按照命令執行程序,程序結束后等待新的命令。后一種工作方式稱(chēng)異步工作方式。因此,對PLC說(shuō)來(lái)循環(huán)是一個(gè)十分重要的概念。大部分PLC采用這樣的循環(huán)方式,程序一開(kāi)始,掃描和采集輸入摸板上各輸入變量的數據,然后轉移到中央存儲器的數據區(有時(shí)稱(chēng)為便箋式存儲器或輸入映像區),接著(zhù)執行用戶(hù)的應用程序,把邏輯運算的結果送到便箋式存儲器的輸出映像區,最后將輸出映像區的值送到輸出摸板去控制具體的物理過(guò)程。在處理完輸出轉移后,要進(jìn)行通信程序處理,來(lái)完成編程命令或監視命令。然后又回到循環(huán)的起始點(diǎn),掃描和采集輸入摸板。
表3 程序表在存儲器中的編碼
表4 程序執行過(guò)程中累加器A和堆棧的內容
表5 程序執行過(guò)程中各個(gè)變量在存儲器中的位置
下面以PHILIPS Proscon邏輯控制器為例,進(jìn)一步說(shuō)明循環(huán)的概念,該控制器的配置如下:
16塊輸入摸板,每塊摸板16個(gè)輸入點(diǎn),總共256個(gè)輸入點(diǎn);
16塊輸出摸板,每塊摸板16個(gè)輸出點(diǎn),總共256個(gè)輸出點(diǎn);
程序存儲器4KB。
圖5 PLC循環(huán)舉例
圖6 PLC摸板之間信息交換的過(guò)程
一塊輸入板或輸出板的存取時(shí)間為29μs,執行1K字程序指令的時(shí)間為1.85ms。這樣,整個(gè)的循環(huán)時(shí)間是8.3ms。它是由兩個(gè)部分組成的:一部分的輸入/輸出循環(huán)時(shí)間為32×29=928μs=0.928ms;另一部分的執行程序存儲器用戶(hù)程序的時(shí)間,最長(cháng)為4×1.85=7.4ms。圖5為PLC循環(huán)舉例。圖6表示了摸板之間信息交換的過(guò)程。 圖7表示了循環(huán)的控制信號定時(shí)圖。
圖7上的各種信號說(shuō)明如下:
S1:輸入/輸出信號的有效周期;
B1:輸入/輸出地址總線(xiàn)信號;
S2:來(lái)自輸入摸板的應答信號;
B2:轉移輸入狀態(tài)到便箋式存儲器(輸入/輸出映像)的總線(xiàn)信號;
B3:從便箋式存儲器中輸出狀態(tài)轉移到緩沖存儲器的總線(xiàn)信號.緩沖存儲器能保證即使在輸出板的電源發(fā)生故障的情況下,也能保持住應輸出的信息;
S3:來(lái)自中央處理單元允許轉移到輸出摸板的時(shí)鐘信號;
S5:邏輯處理信號;
B4:程序存儲器地址總線(xiàn)信號;
S6:開(kāi)始執行指令周期的信號;
B5:指令的總線(xiàn)信號。
有三種基因素會(huì )影響到PLC的循環(huán)結構,它們是:
? 輸入/輸出采集戰略;
? 跳轉指令的應用;
? 有可能存在數值計算。
還有一種更復雜的情況,就是多處理器結構的PLC,在循環(huán)過(guò)程中要分配給智能摸板命令和采集信息,智能摸板是自身帶CPU具有特殊功能的摸板,智能摸板的循環(huán)和主CPU的循環(huán)是并行進(jìn)行的,但主CPU要向智能摸板發(fā)送命令和采集信息。
圖7 PLC循環(huán)的控制信號定時(shí)圖
在循環(huán)過(guò)程中,遇有跳轉指令時(shí)(包括無(wú)條件和條件跳轉),會(huì )改變循環(huán)的方向,圖8 表示了執行程序過(guò)程中修整循環(huán)的例子。
? PLC 軟件體系
PLC系統軟件和應用軟件
PLC的基本軟件包括系統軟件和應用軟件,如果用一個(gè)示意圖來(lái)表示的話(huà)(見(jiàn)圖9),PLC的硬件處在一個(gè)園的核心部分。在硬件外圍有三個(gè)環(huán)包圍著(zhù)。第一個(gè)環(huán)是軟件的操作系統,用它來(lái)管理各種硬件資源(存儲器,軟盤(pán)驅動(dòng),鍵盤(pán)。CRT,輸入,輸出等);第二個(gè)環(huán)是編程語(yǔ)言的編譯系統;第三個(gè)環(huán)是應用程序。最外圍是被控制對象。相對PLC講來(lái)是外部世界。在硬件和外部世界之間的三個(gè)環(huán)就構成了PLC的基本軟件,硬件通過(guò)基本軟件實(shí)現對外部世界的控制。對基本軟件可以下這樣一個(gè)定義:PLC的基本軟件是由一組程序組成,這組程序允許對硬件進(jìn)行管理,并提供使用方便。這組程序也用來(lái)生成和開(kāi)發(fā)應用軟件,通過(guò)應用軟件實(shí)現對外部世界的控制。
在PLC的結構中,軟件操作系統駐留在PLC的中央存儲器內,并且都加以固化。PLC的語(yǔ)言編譯系統,一般都比較大,通常是以磁盤(pán)文件的形式,放置在編程器內,最后生成的應用程序也放置在中央存儲器內.但是需要有后備電池支持,以保證關(guān)機時(shí),程序不會(huì )丟失。只有在程序經(jīng)確認沒(méi)有錯誤,現場(chǎng)也不需改動(dòng)的情況下,為了提高運行的安全性才將應用程序進(jìn)行固化。
(a) 根據程序中的跳轉指令,循環(huán)的時(shí)間是變化的
(b) 子循環(huán)的建立
圖8 程序執行時(shí)循環(huán)時(shí)間修改的例子
圖9 PLC的軟件結構