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