1. S7-200系列PLC主機中有哪些主要編程元件各編程元件如何直接定址
數字量輸入繼電器(I) 輸入繼電器也就是輸入映像寄存器,每個PLC的輸入端子都對應有一個輸入繼電器,它用於接收外部的開關信號。輸入繼電器的狀態唯一地由其對應的輸入端子的狀態決定,在程序中不能出現輸入繼電器線圈被驅動的情況,只有當外部的開關信號接通PLC的相應輸入端子的迴路,則對應的輸入繼電器的線圈「得電」,在程序中其常開觸點閉合,常閉觸點斷開。這些觸點可以在編程時任意使用,使用數量(次數)不受限制。
所謂輸入繼電器的線圈「得電」,事實上並非真的有輸入繼電器的線圈存在,這只是一個存儲器的操作過程。在每個掃描周期的開始,PLC對各輸入點進行采樣,並把采樣值存入輸入映像寄存器。PLC在接下來的本周期各階段不再改變輸入映像寄存器中的值,直到下一個掃描周期的輸入采樣階段。
需要特別注意的是,輸入繼電器的狀態唯一的由輸入端子的狀態決定,輸入端子接通則對應的輸入繼電器得電動作,輸入端子斷開則對應的輸入繼電器斷電復位。在程序中試圖改變輸入繼電器的狀態的所有做法都是錯誤的。
數字量輸入繼電器用「I」表示,輸入映像寄存器區屬於位地址空間,范圍為I0.0~I15.7,可進行位、位元組、字、雙字操作。實際輸入點數不能超過這個數量,未用的輸入映像寄存器區可以做其他編程元件使用,如可以當通用輔助繼電器或數據寄存器,但這只有在寄存器的整個位元組的所有位都未佔用的情況下才可做他用,否則會出現錯誤執行結果。
數字量輸出繼電器(Q) 輸出繼電器也就是輸出映像寄存器,每個PLC的輸出端子對應都有一個輸出繼電器。當通過程序使得輸出繼電器線圈「得電」時,PLC上的輸出端開關閉合,它可以作為控制外部負載的開關信號。同時在程序中其常開觸點閉合,常閉觸點斷開。這些觸點可以在編程時任意使用,使用次數不受限制。
數字量輸出繼電器用「Q」表示,輸出映像寄存器區屬於位地址空間,范圍為Q0.0~Q15.7,可進行位、位元組、字、雙字操作。實際輸出點數不能超過這個數量,未用的輸出映像區可做他用,用法與輸入繼電器相同。
由圖7.5、圖7.6、圖7.7可知,在PLC內部,輸出映像寄存器與輸出端子之間還有一個輸出鎖存器。在每個掃描周期的輸入采樣、程序執行等階段,並不把輸出結果信號直接送到輸出鎖存器,而只是送到輸出映像寄存器,只有在每個掃描周期的末尾才將輸出映像寄存器中的結果信號幾乎同時送到輸出鎖存器,對輸出點進行刷新。
另外需要注意的是,不要把繼電器輸出型的輸出單元中的真實的繼電器與輸出繼電器相混淆。
通用輔助繼電器(M)
通用輔助繼電器如同電器控制系統中的中間繼電器,在PLC中沒有輸入輸出端與之對應,因此通用輔助繼電器的線圈不直接受輸入信號的控制,其觸點也不能直接驅動外部負載。所以,通用輔助繼電器只能用於內部邏輯運算。 通用輔助繼電器用「M」表示,通用輔助繼電器區屬於位地址空間,范圍為M0.0~M31.7,可進行位、位元組、字、雙字操作。
特殊標志繼電器(SM)
有些輔助繼電器具有特殊功能或存儲系統的狀態變數、有關的控制參數和信息,我們稱為特殊標志繼電器。用戶可以通過特殊標志來溝通PLC與被控對象之間的信息,如可以讀取程序運行過程中的設備狀態和運算結果信息,利用這些信息用程序實現一定的控制動作。用戶也可通過直接設置某些特殊標志繼電器位來使設備實現某種功能。
特殊標志繼電器用「SM」表示,特殊標志繼電器區根據功能和性質不同具有位、位元組、字和雙字操作方式。其中SMB0、SMB1為系統狀態字,只能讀取其中的狀態數據,不能改寫,可以位定址。系統狀態字中部分常用的標志位說明如下:
SM0.0:始終接通; SM0.1:首次掃描為1,以後為0,常用來對程序進行初始化;
SM0.2:當機器執行數學運算的結果為負時,該位被置1; SM0.3:開機後進入RUN方式,該位被置1一個掃描周期;
SM0.4:該位提供一個周期為1分鍾的時鍾脈沖,30秒為1,30秒為0;
SM0.5:該位提供一個周期為1秒鍾的時鍾脈沖,0.5秒為1,0.5秒為0;
SM0.6:該位為掃描時鍾脈沖,本次掃描為1,下次掃描為0; SM1.0:當執行某些指令,其結果為0時,將改位置1;
SM1.1:當執行某些指令,其結果溢出或為非法數值時,將改位置1; SM1.2:當執行數學運算指令,其結果為負數時,將改位置1;
SM1.3:試圖除以0時,將改位置1; 其他常用特殊標志繼電器的功能可以參見S7-200系統手冊。
變數存儲器(V)
變數存儲器用來存儲變數。它可以存放程序執行過程中控制邏輯操作的中間結果,也可以使用變數存儲器來保存與工序或任務相關的其他數據。
變數存儲器用「V」表示,變數存儲器區屬於位地址空間,可進行位操作,但更多的是用於位元組、字、雙字操作。變數存儲器也是S7-200中空間最大的存儲區域,所以常用來進行數學運算和數據處理,存放全局變數數據。
局部變數存儲器(L)
局部變數存儲器用來存放局部變數。局部變數與變數存儲器所存儲的全局變數十分相似,主要區別是全局變數是全局有效的,而局部變數是局部有效的。全局有效是指同一個變數可以被任何程序(包括主程序、子程序和中斷程序)訪問;而局部有效是指變數只和特定的程序相關聯。
S7—200
PLC提供64個位元組的局部存儲器,其中60個可以作暫時存儲器或給子程序傳遞參數。主程序、子程序和中斷程序在使用時都可以有64個位元組的局部存儲器可以使用。不同程序的局部存儲器不能互相訪問。機器在運行時,根據需要動態地分配局部存儲器:在執行主程序時,分配給子程序或中斷程序的局部變數存儲區是不存在的,當子程序調用或出現中斷時,需要為之分配局部存儲器,新的局部存儲器可以是曾經分配給其他程序塊的同一個局部存儲器。
局部變數存儲器用「L」表示,局部變數存儲器區屬於位地址空間,可進行位操作,也可以進行位元組、字、雙字操作。
順序控制繼電器(S)
順序控制繼電器用在順序控制和步進控制中,它是特殊的繼電器。有關順序控制繼電器的使用請閱讀本章後續有關內容。 順序控制繼電器用「S」表示,順序控制繼電器區屬於位地址空間,可進行位操作,也可以進行位元組、字、雙字操作。
定時器(T)
定時器是可編程序控制器中重要的編程元件,是累計時間增量的內部器件。自動控制的大部分領域都需要用定時器進行定時控制,靈活地使用定時器可以編制出動作要求復雜的控製程序。
定時器的工作過程與繼電器接觸器控制系統的時間繼電器基本相同。使用時要提前輸入時間預置值。當定時器的輸入條件滿足且開始計時,當前值從0開始按一定的時間單位增加;當定時器的當前值達到預置值時,定時器動作,此時它的常開觸點閉合,常閉觸點斷開,利用定時器的觸點就可以按照延時時間實現的各種控制規律或動作。
計數器(C)
計數器用來累計內部事件的次數。可以用來累計內部任何編程元件動作的次數,也可以通過輸入端子累計外部事件發生的次數,它是應用非常廣泛的編程元件,經常用來對產品進行計數或進行特定功能的編程。使用時要提前輸入它的設定值(計數的個數)。當輸入觸發條件滿足時,計數器開始累計其輸入端脈沖電位跳變(上升沿或下降沿)的次數;當計數器計數達到預定的設定值時,其常開觸點閉合,常閉觸點斷開。
模擬量輸入映像寄存器(AI)、模擬量輸出映像寄存器(AQ)
模擬量輸入電路用以實現模擬量/數字量(A/D)之間的轉換,而模擬量輸出電路用以實現數字量/模擬量(D/A)之間的轉換,PLC處理的是其中的數字量。
在模擬量輸入/輸出映像寄存器中,數字量的長度為1字長(16位),且從偶數號位元組進行編址來存取轉換前後的模擬量值,如0、2、4、6、8。編址內容包括元件名稱、數據長度和起始位元組的地址,模擬量輸入映像寄存器用AI表示、模擬量輸出映像寄存器用AQ表示,如:AIW10,AQW4等。
PLC對這兩種寄存器的存取方式不同的是,模擬量輸入寄存器只能作讀取操作,而對模擬量輸出寄存器只能作寫入操作。
高速計數器(HC)
高速計數器的工作原理與普通計數器基本相同,它用來累計比主機掃描速率更快的高速脈沖。高速計數器的當前值為雙字長(32位)的整數,且為只讀值。 高速計數器的數量很少,編址時只用名稱HC和編號,如:HC2。
累加器(AC)
S7—200PLC提供4個32位累加器,分別為AC0、ACl、AC2、AC3,累加器(AC)是用來暫存數據的寄存器。它可以用來存放數據如運算數據、中間數據和結果數據,也可用來向子程序傳遞參數,或從子程序返回參數。使用時只表示出累加器的地址編號,如AC0。
累加器可進行讀、寫兩種操作,在使用時只出現地址編號。累加器可用長度為32位,但實際應用時,數據長度取決於進出累加器的數據類型。