6ES7214-2AD23-0XB8西門子CPU224XP控制器
6ES7214-2AD23-0XB8西門子CPU224XP控制器
6ES7214-2AD23-0XB8西門子CPU224XP控制器
(1) S7-200程序結構。S7-200用戶程序可以采用主、子程序結構或普通線性化結構。當采用普通線性化結構時,只需要編制主程序OBI;當采用主、子程序式分塊結構時,PLC程序由主程序(OBI)、子程序(SDRn)、中斷程序(INRn)等組成。
??S7-200 PLC的主、子程序結構對程序塊的內部排列有規(guī)定的要求。主程序(OB1)進行編寫,且位于程序的前面;隨后是子程序(SBRn)與中斷程序(INRn)。在S7-200中,子程序(SBRn)、中斷程序(INRn)可以根據(jù)需要進行選用與編寫。
??1) 主程序:S7-200 PLC主程序代號規(guī)定為OBI。早期的S7-200 PLC用戶程序不分塊,需要在主程序之后接著安排子程序與中斷程序,因此,主程序的結束應使用指令MEND作為標記。但如果使用的是Micro/WIN32編程軟件、主程序、子程序、中斷程序都可以通過立的區(qū)域進行編程,通過編程軟件的自動編譯功能可以對程序進行自動的編排與調整,主程序的結束無須再編寫指令MEND,如圖5-30(a)所示。
??主程序OB1在S7~200PLC中為用戶程序的組織、管理者、位于PLC用戶程序的前面以每次執(zhí)行PLC循環(huán)時,對OB1進行掃描。
??2) 子程序:S7-200PLC的子程序代號為SRBn(n為十進制數(shù)值,根據(jù)CPU的不同,可以是0~63或0~127),子程序號用來區(qū)別不同的子程序。
??同樣,早期的$7-200PLC是在子程序結束處使用指令RET作為返回標記,如圖5-30(b)所示,子程序SRBn編在主程序OBI的結束指令MEND之后。采用了Micro/WTN32編程軟件后,這些由編程軟件進行自動編排與調整。
??子程序SRBn在S7-200PLC中為可選部分,可以編寫也可以不編寫。子程序的執(zhí)行通過主程序OB1對該子程序的調用實現(xiàn),并非每次PLC循環(huán)都需要執(zhí)行全部子程序。
??3) 中斷程序:S7-200PLC的中斷程序代號為INTn(n為十進制數(shù)值,可以是0~127),用于區(qū)別不同的中斷程序。早期的中斷程序結束是使用指令 RETI作為返回標記,中斷程序INTn同樣編在主程序 OBI 的結束指令MEND之后,且習慣上是放在子程序SBRn之后(也可以放在子程序之前)。
??中斷程序INTn在S7-200PLC中同樣為可以選擇的部分,它需要通過主程序OB1的調用才能執(zhí)行,并非每次PLC循環(huán)都需要執(zhí)行全部中斷程序。
??S7-200PLC的程序結構與執(zhí)行過程如圖5-30(c)所示。
??4) 局部變量堆棧:在進行PLC程序設計時,程序中有很多為了簡化邏輯塊結構而設置的臨時狀態(tài)、數(shù)據(jù)存儲單元,這些存儲單元實際上只是為了方便編程、檢查而設的臨時存儲單元,它與邏輯外部的程序無關,在S7中將其稱為"局部變量"或"臨時變量(Temp)"。
??根據(jù)需要,設計者可以在S7-200PLC的OBI、SBRa、INTa中使用"臨時變量"。"臨時變量"存儲在局部變量數(shù)據(jù)堆棧(L)中,這一區(qū)域為全部程序塊所公用,只可以用于OB1或SBRn、INTn塊內部使用的中間運算結果寄存(這些中間運算結果不可以用于塊外部)。局部變量堆棧在程序塊執(zhí)行完成后,數(shù)據(jù)將被其他邏輯所需要的內容所替代。
??如果需要保存可以用于其他邏輯塊的狀態(tài),應使用PLC的內部標志寄存器M或變量存儲器。
??圖5-30 S7-200 PLC的程序結構與執(zhí)行過程
??(a)自動編譯的程序結構;(b)早期的程序結構;(c)程序的執(zhí)行過程
??(2) S7-200 PLC的存儲器結構。編制完成的PLC用戶程序以及PLC執(zhí)行程序所需要的數(shù)據(jù)、執(zhí)行過程中產(chǎn)生的中間狀態(tài)等都需要通過存儲器進行存儲、為了使讀者進一步了解CPU的內部管理情況。理將S7-200的存儲器結構介紹如下。
??1) S7-200 PLC存儲器類型。S7-200 PLC可以采用多種形式的存儲器來進行PLC程序與數(shù)據(jù)的存儲,以防止數(shù)據(jù)的丟失。S7-200 PLC可以使用的存儲器主要有如下類型。
??● RAM: CPU模塊本身帶有動態(tài)數(shù)據(jù)存儲器(RAM)。RAM用于存儲PLC的運算、處理結果等數(shù)據(jù)。根據(jù)需要,RAM的數(shù)據(jù)可以通過電容器或電池盒(選件)進行保持,但其存儲時間較短,一般只能保持幾天。
??● EEPROM(或Flash ROM):除RAM外,CPU模塊本身帶有的保持型存儲器(EEPROM或Flash ROM),可以進行數(shù)據(jù)的性存儲。保持型存儲器用于存儲PLC用戶程序、PLC參數(shù)等重要數(shù)據(jù);根據(jù)需要,也可以將PLC程序執(zhí)行過程中所產(chǎn)生的局部變量Y、內部標志M、定時器T、計數(shù)器C等保存在保持型存儲器中。
??● 存儲器卡:存儲器卡在S7-200PLC中為可選件,用戶可以根據(jù)需要選用。存儲器卡為保持型存儲器可以作為PLC保持型存儲器的擴展與后備,用于保存PLC用戶程序、PLC參數(shù)、變量V、內部標志M、定時器T、計數(shù)器C等。
??2) 存儲器分區(qū)。S7-200PLC的內部存儲器分為程序存儲區(qū)、數(shù)據(jù)存儲區(qū)、參數(shù)存儲區(qū)。其中、程序存儲區(qū)用于存儲PLC用戶程序;數(shù)據(jù)存儲區(qū)用于存儲PLC運算、處理的中間結果(如輸入輸出映像,標志、變量的狀態(tài),計數(shù)器、定時器的中間值等);參數(shù)存儲區(qū)用于存儲PLC配置參數(shù)(包括程序保護密碼、地址分配設定、停電保持區(qū)域的設定等)。
??3個區(qū)的作用以及相互間的關系如圖5-31所示。
??圖5-31 S7-200PLC存儲器區(qū)域的作用及相互關系
6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6輸入/4輸出,集成2AI |
6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6輸入/4輸出,集成2AI |
6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6輸入/4輸出,集成2AI |
6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8輸入/6輸出,集成2AI |
6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8輸入/6輸出,集成2AI |
6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8輸入/6輸出,集成2AI |
6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14輸入/10輸出,集成2AI |
6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14輸入/10輸出,集成2AI |
6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14輸入/10輸出,集成2AI |
6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14輸入/10輸出,集成2AI/2AO |
6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14輸入/10輸出,集成2AI/2AO |
6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14輸入/10輸出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14輸入/10輸出,集成2AI/2AO |