- 可編程控制器應用技術:項目化教程(第二版)
- 祝紅芳 熊媛 張宏明主編
- 6224字
- 2020-09-03 16:17:27
任務四 認識S7-200系列PLC
【知識、能力目標】
了解S7-200 PLC的基本結構及各部件的功能;
了解S7-200 PLC的主要性能指標;
掌握S7-200 PLC的編程元件及尋址方式。
德國西門子(Siemens)公司生產的PLC具有世界領先水平,從1975年至今,先后推出了S3、S5、S7等系列PLC,其中1996年推出的SIMATIC S7系列PLC繼承了上一代S5系列穩定、可靠和故障率低的精髓,將先進控制思想、現代通信技術和IT技術的最新發展集于一身,在CPU運算速度、程序執行效率、故障自診斷、聯網通信等方面取得了業界公認的成就。
SIMATIC S7系列包括小型PLC S7-200、中型PLC S7-300、大型PLC S7-400。
一、S7-200 PLC的構成
S7-200系列PLC,將一個微處理器、一個集成電源和數字量I/O點等部件,集成在一個緊湊的封裝中,從而形成了一個功能強大的、整體式結構的微型PLC。S7-200系列PLC主要有CPU221、CPU222、CPU224、CPU226四種主機CPU型號。該系列PLC的硬件系統主要包含:基本單元(或稱主機、CPU模塊)、擴展模塊、編程器等外設。
基本單元由CPU、存儲器、基本輸入/輸出(I/O)點數及電源等組成。它是PLC系統中必不可少的部分。它實際上已是一個能獨立實現一定控制任務的完整的控制系統。S7-200 主機外形如圖1-4所示。

圖1-4 S7-200主機外形
擴展模塊包括用來增加I/O點數及用來增加PLC控制功能的兩類部件。用戶可根據實際需要,靈活地改變系統的輸入/輸出點數,或將高速計數器模塊、PID模塊等與主機連接,完成相應的特殊控制功能。不同型號的PLC所能連接的擴展模塊數量有所不同,其中CPU 221無擴展模塊。
二、S7-200 CPU的主要性能指標
S7-200 CPU通用規范見表1-1。表1-2列出了S7-200 CPU主要性能指標。
表1-1 S7-200 CPU通用規范

表1-2 S7-200 CPU主要性能指標

對于每個型號,西門子提供DC(24V)和AC(120~220V)兩種供電的CPU類型。四種CPU均有晶體管輸出和繼電器輸出兩種類型。如CPU224 DC/DC/DC和CPU224 AC/DC/Relay的含義如下。
需要說明的是,S7-200 PLC提供了下面幾種方法,確保用戶程序、數據和CPU的組態數據不丟失。
(1)CPU提供了一個EEPROM,永久保存用戶程序、選擇的數據區和CPU的組態數據。
(2)CPU提供了一個超級電容器,在CPU斷電時保存完整的RAM存儲器。根據CPU模塊類型,超級電容器可保存RAM存儲器達數天之久。
(3)CPU提供了一個可選的電池卡,當CPU斷電后,可延長RAM存儲器保持的時間。電池卡只有在超級電容器耗盡后才提供電源。
另外,所有S7-200 CPU都有一個內部電源,為CPU自身、擴展模塊和其他用電設備提供5V、24V直流電源。擴展模塊需要通過與CPU連接的電纜取得5V直流工作電源。24V的直流電源可為CPU和擴展模塊上的I/O點供電,也可為一些特殊或智能模塊提供電源。
三、擴展模塊
S7-200 CPU為了擴展I/O點數或執行特殊的功能,可以連接擴展模塊(CPU 221 除外)。擴展模塊主要有:數字量I/O模塊、模擬量I/O模塊、通信模塊和特殊功能模塊。如EM 221 DI 8X24V(DC)[8點24V(DC) 數字量輸入擴展模塊]、EM 222 DO 8XDC24V[8點24V(DC)數字量晶體管輸出擴展模塊]、CP 243-1(工業以太網通信模塊)。常用擴展模塊所消耗5V(DC)電流詳見表1-3。
表1-3 常用擴展模塊所消耗5V(DC)電流

由表1-1可知,不同規格的CPU提供5V(DC)和24V(DC)電源的容量不同。每個實際的PLC控制系統都要就電源容量進行規劃計算。如每個擴展模塊都需要5V(DC)電源,應當檢查所有擴展模塊的5V(DC)電源需求是否超出CPU的供電能力,一旦超出,就必須減少或改變模塊配置。同理,需要24V(DC)電源的設備,也要根據CPU的供電能力進行計算,如果所需電源超出電源的容量,則需要增加外接24V(DC)電源。S7-200 CPU模塊上提供的電源不能和外接電源并聯,但它們必須共地。
四、最大I/O配置
S7-200 CPU雖然具有相同大小的I/O映像區,但不同CPU的最大I/O還受下面幾種情況的限制。
(1)模塊數量:CPU 221 不能擴展;CPU 222 最多擴展2個模塊;CPU 224及226最多擴展7個模塊(其中最多2個智能模塊,如EM 277 PROFIBUS-DP)。
(2)數字量映像寄存器大小:每個CPU允許的數字量I/O的邏輯空間為128個輸入和128個輸出。由于該邏輯空間按8點模塊分配,因此有些物理點無法被尋址。一個特殊模塊可能不能全部尋址8個點。如CPU 224有10個輸出點,但它占用邏輯輸出區的16個點地址;又如一個4輸入/4輸出模塊,占用邏輯空間的8個輸入點和8個輸出點。
(3)模擬量映像寄存器大小:模擬量I/O允許的邏輯空間是 CPU 222為16輸入/16輸出;CPU 224及226為32輸入/32輸出。
(4)CPU內部電源所能提供的5V(DC)電源容量和每種擴展模塊所消耗的電流都不同。如CPU 222控制系統的最大數字量I/O配置是78點,因CPU 222最多可擴展2個模塊,選EM 223 DI16/DO16X24V(DC)或者EM 223 DI16/DO16X24V(DC)/繼電器擴展模塊,擴展輸入點2X16、擴展輸出點2X16,CPU 222模塊本身有輸入點8點、輸出點6點,所以共78點。
S7-200系列PLC組成的控制系統中,每種類型CPU模塊提供的主機I/O點,都具有固定的I/O地址;每個擴展模塊的地址,都必須由I/O類型及模塊在I/O鏈中的位置決定。I/O擴展模塊必須依次接到PLC右邊。
S7-200 PLC共有4類I/O:數字量輸入(DI)、數字量輸出(DO)、模擬量輸入(AI)、模擬量輸出(AQ)。其I/O地址分配規則如下。
(1)每一類I/O分別排列地址,從PLC主機開始算起,I/O點從左到右按由小到大的規律排列,擴展模塊的類型和位置一旦確定,則它的I/O點地址也隨之確定。
(2)CPU給數字量擴展模塊的輸入輸出映像寄存器的單位長度為8位(1個字節),某模塊實際位不足8位的,沒有使用的高位也不能分配給I/O鏈的后續模塊。
(3)CPU給模擬量擴展模塊是以2字節遞增方式來分配空間的。
例如,某PLC控制系統需要的輸入輸出點數為:數字量輸入25點、數字量輸出21點,模擬量輸入5點、模擬量輸出2。能夠滿足此要求的配置有多種,表1-4列出了其中的一種,該種配置共有數字量輸入26點、數字量輸出22點、模擬量輸入8點、模擬量輸出2點,可滿足控制系統的需要。
表1-4 I/O地址分配舉例

五、S7-200 PLC的編程元件及尋址方式
1. PLC的數據類型及表示方法
SIMATIC S7-200 系列PLC的數據類型有:邏輯型、整型和實型(或浮點型)。實數采用32位單精度來表示。存儲器的常用單位有位(bit)、字節(Byte)、字(Word)、雙字(Double Word)。一位二進制數稱為1個位(bit),位是最小的存儲單元。這幾種常用單位的換算關系是:1DW=2W=4B=32bit。表1-5列出了不同的數據長度所表示的數值范圍。
表1-5 數據長度和數值范圍

在許多S7-200指令中經常會使用到常數。常數值可為字節、字和雙字。CPU以二進制方式存儲所有常數,也可用十進制、十六進制、ASCII碼或浮點數形式來表示,表1-6列出了常數的各種表示方式。
表1-6 常數的表示方式

2. S7-200 PLC的編程元件及直接尋址
S7-200 將信息存于不同的存儲器單元,每個單元都有唯一的地址,只要明確指出要存取的存儲地址,用戶程序就可以直接存取其中的信息。S7-200 CPU使用數據地址訪問所有的數據,稱為尋址,尋址方式又分為直接尋址和間接尋址兩種。
① 直接尋址方式:按給定地址所找到的存儲單元中的內容就是操作數。
② 間接尋址方式:使用指針來存取存儲器中的數據。在存儲單元中放置一個地址指針,按照這一地址找到的存儲器中的數據才是所要取的操作數。
編程元件是PLC內部的具有一定功能的各種存儲器單元電路,它們由寄存器與存儲器單元等組成,是支持該機型編程語言的軟元件,按習慣叫法分別稱為繼電器、定時器、計數器等,由于它們與物理元件有很大的差別,一般稱它們為“軟繼電器”,也就是說軟繼電器是PLC內部的編程元件。每一個編程元件與PLC的元件映像寄存器的一個存儲單元相對應。軟繼電器的工作線圈沒有工作電壓等級、功耗大小和電磁慣性等問題;觸點沒有數量限制、沒有機械磨損和電蝕等問題。它們在不同的指令操作下,其工作狀態可以無記憶,也可以有記憶,還可以作脈沖數字元件使用。
PLC中的各種編程元件的功能是相互獨立的,它們均用一定的字母來命名。不同的名稱實質上代表了不同的存儲器區域。對于同名元件又按一定的規則進行編號,這就是元件的地址,其實質是在存儲器區域內的編號。使用這些元件編程時必須用元件名稱(即區域號)和元件地址(即區內編號)來加以識別。圖1-5和圖1-6分別是位尋址的格式和字節尋址的格式舉例。

圖1-5 位尋址的格式舉例

圖1-6 字節尋址的格式舉例
注意,當涉及多字節組合尋址時,S7-200遵循“高地址、低字節”規律。如果將16#6C送入VB200,16#9A送入VB201,那么,VW200的值將是16#6C9A,即VB201作為高地址字節,保存的則是數據的低字節部分。
下面介紹S7-200 PLC 的編程元件的直接尋址方式。
(1)輸入映像寄存器(I)尋址
在每個掃描周期的開始,CPU對輸入點進行采樣,并將采樣值存入輸入映像寄存器中。輸入映像寄存器是以字節為單位的寄存器,它的每一位對應一個外部數字量輸入端子。可以按位、字節、字及雙字來存取輸入映像寄存器中的數據。
① 位尋址:I字節地址.位地址,如:I0.1;
② 字節、字、雙字尋址:I長度 起始字節地址,如:IB0,IW1,ID3。
(2)輸出映像寄存器(Q)尋址
在每次掃描周期的結尾,CPU將輸出映像寄存器中的數據復制到物理輸出端點上。輸出映像寄存器也是以字節為單位的寄存器,它的每一位對應一個外部數字量輸出端子。可以按位、字節、字及雙字來存取輸出映像寄存器中的數據。
① 位尋址:Q字節地址.位地址,如:Q1.2;
② 字節、字、雙字尋址: Q長度起始字節地址,如:QB0,QW1,QD3。
(3)變量存儲器(V)尋址
變量存儲器用于存儲程序執行過程中控制邏輯操作的中間結果,也可以用來保存與工序或任務相關的其他數據。可以按位、字節、字及雙字來存取變量存儲器。
① 位尋址:V字節地址.位地址,如:V10.2;
② 字節、字、雙字尋址: V長度起始字節地址,如:VB20,VW6,VD11。
(4)位存儲器(M)尋址
可以用位存儲器作為通用輔助繼電器來存儲中間操作狀態和控制信息。同樣可以按位、字節、字及雙字來存取位存儲器區中的數據。
① 位尋址:M字節地址.位地址,如:M0.2;
② 字節、字、雙字尋址:M長度起始字節地址,如:MB1,MW6,MD10。
(5)順序控制繼電器(S)存儲器區尋址
順序控制繼電器(S)用于組織機器操作或進入等效程序段的步進控制。SCR指令提供控制程序的邏輯分段。可以按位、字節、字及雙字來存取順序控制繼電器中的數據。
① 位尋址:S字節地址.位地址,如:S0.1;
② 字節、字、雙字尋址:S長度起始字節地址,如:SB1,SW6,SD21。
(6)特殊標志存儲器(SM)
特殊標志存儲器的位提供了CPU和用戶程序之間傳遞信息的方法。可以使用這些位控制S7-200 CPU 的一些特殊功能。如:SM0.1位第一次掃描為ON,SM0.0位始終為ON;SM0.5為時鐘脈沖(0.5S閉合/0.5S斷開);關于SM的詳細信息,請參閱有關的編程手冊。可以按位、字節、字及雙字來存取特殊標志存儲器中的數據。
① 位尋址:SM字節地址.位地址,如:SM0.0;
② 字節、字、雙字尋址: SM長度 起始字節地址,如:SMB35,SMW6,SMD52。
(7)局部變量存儲器(L)區尋址
局部變量存儲器用來存放局部變量。可以按位、字節、字及雙字來存取局部存儲器中的數據。
① 位尋址:L字節地址.位地址,如:L1.2;
② 字節、字、雙字尋址:L長度起始字節地址,如:LB0,LW1,LD6。
(8)定時器(T)存儲器區尋址
定時器是累計時間增量的器件,用來進行延時控制,它相當于繼電接觸器控制系統中的時間繼電器。定時器尋址有兩種形式,兩種尋址格式相同,均用定時器地址(T+定時器號)來存取定時器的定時器當前值或定時器位。如:T37不僅是定時器的地址,T37還包含了以下兩方面的變量信息。
① 定時器當前值:它用16位有符號整數表示,存儲定時器當前所累計的時間。
② 定時器位:表示定時器是否發生動作的狀態。按照定時器的當前值和預置值的比較結果置位或復位,帶位操作數的指令存取定時器位,而帶字操作數的指令存取定時器當前值。詳見項目二。
(9)計數器(C)存儲器區尋址
計數器用于累計輸入端脈沖電平的次數。計數器也有兩種尋址形式,其格式相同,均用計時器地址(C + 計時器號)來存取計數器的當前值或計數器位。如:C10不僅是計數器的地址,C10還包含了以下兩方面的變量信息。
① 計數器當前值:是一個16位有符號整數,存儲計數器當前所累計的輸入脈沖個數;
② 計數器位:表示計數器是否發生動作的狀態。按照計數器當前值和預置值的比較結果來置位或復位,帶位操作數的指令存取計數器位,而帶字操作數的指令存取當前值。詳見項目二。
(10)高速計數器(HC)尋址
高速計數器用來累計比CPU掃描速度更快的脈沖。CPU 221及CPU 222均有四個高速計數器,CPU 224及CPU 226均有六個。高速計數器的當前值為32位有符號整數,且為只讀數據,可作為雙字(32位)來尋址,其尋址格式為HC+高速計數器號,如:HC2。
(11)累加器(AC)尋址
累加器是與存儲器相仿的存取數據的讀/寫器件。例如,可用來向子程序傳遞參數、從子程序返回參數、存儲計算的中間值。CPU只提供四個32位累加器(AC0、AC1、AC2、AC3),可以按字節、字及雙字來存取累加器中的數據,若按字節或字來存取累加器只能使用其8位或16位,按雙字存取累加器可以使用全部32位。存取數據的長度由所用指令來決定。其尋址格式為AC+累加器號,如:AC3。
(12)模擬量輸入映像寄存器(AI)尋址
S7-200 PLC 將實際系統中的模擬量輸入值(如溫度、速度、流量等)轉換成1個字長(16位)的數字量。其尋址格式如圖1-7所示。

圖1-7 存取模擬量輸入值尋址格式
(13)模擬量輸出映像寄存器(AQ)尋址
S7-200 PLC把一個字長(16位)數值按比例轉換為電流或電壓。因為模擬輸出量為一個字長,且從偶數字節(如:0,2,4)開始,必須使用偶數字節地址(如:AQ0,AQ2)來設置這些值,所以用戶程序無法讀取這個模擬輸出值。其尋址格式如圖1-8所示。

圖1-8 存取模擬量輸出值尋址格式
S7-200 PLC的編程元件及尋址范圍見表1-7,其中輸入映像寄存器和輸出映像寄存器采用八進制編號,其他元件用十進制編號。
表1-7 S7-200 PLC編程元件及尋址范圍

3. 存儲器區域的SIMATIC 間接尋址
前面介紹的對各存儲器區域訪問都是使用直接尋址方式,即按照給定地址所找到的存儲單元中的內容就是操作數。間接尋址方式則使用指針來存取存儲器中的數據。S7-200 CPU允許使用指針對指定存儲器區域進行間接尋址:I、Q、V、M、S、T(僅當前值)、C(僅當前值),但不可以對獨立的位(BIT)或模擬量進行間接尋址。使用間接尋址方式訪問存儲器區域的步驟如下。
(1)建立指針
為了對存儲器區域的某一地址進行間接尋址,需要先為該地址建立指針。指針為雙字值,是需要被訪問的存儲器的物理地址。只能使用變量存儲器(V)、局部變量存儲器(L)和累加器(AC)作為指針。為了生成指針,必須使用雙字傳送指令(MOVD),將所要訪問的存儲器區地址移入,用來作為指針的存儲器或寄存器。
例:MOVD &VB200,AC0
MOVD &MB10,VD100
MOVD &C50,LD10
“&”是取地址符號,&VB200表示VB200單元的32位物理地址,而VB200本身是一個直接地址編號,注意區別。第一條指令是將VB200單元的32位物理地址裝入AC0中。指令中的第二個操作數是用來存放物理地址的,它必須是雙字長,如上面的AC、VD、LD。
(2)間接存取
操作數前面加有“*”,則表示該操作數為一個指針。
例:MOVD &VW0,AC1
MOVW *AC1, AC2
第一條指令將VW0的地址移入AC1中,即建立地址指針;第二條指令中的*AC1表示AC1為MOVW指令確定的一個字長的存儲單元的指針。執行結果是將以AC1中內容為起始地址的內存單元的16位數據送到累加器AC2中,即AC1指針所指的一個字長的數據(VB0,VB1)送到累加器AC2中。
另外,根據控制程序的要求,有時需要修改指針的值。因為指針是32位的值,所以用雙字指令來修改指針大小。簡單的數學運算指令,如加法、減法、自增和自減等指令可用來修改指針。
例:INCD AC1
INCD AC1
MOVW *AC1,AC2
執行情況:前兩條指令使AC1中的內容增加了兩個單位,變成了下一個數據的地址(VW2 的起始字節地址);第三條指令將指針所指的一個字長的數據(VB2、VB3中內容)送到累加器AC2中。
注意,調整指針大小要根據所存取的數據長度進行。存取字節時,指針調整單位為1;存取一個字、定時器或計數器的當前值時,指針調整單位為2;存取雙字時,指針調整單位為4。
六、習題與訓練
1.4.1 簡述S7-200系列PLC的系統基本構成。
1.4.2 PLC中的軟繼電器有什么特點?
1.4.3 S7-200系列PLC主機中有哪些編程元件? 各編程元件如何直接尋址?