S7-200指令詳解參考模板_第1頁
S7-200指令詳解參考模板_第2頁
S7-200指令詳解參考模板_第3頁
S7-200指令詳解參考模板_第4頁
S7-200指令詳解參考模板_第5頁
已閱讀5頁,還剩55頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、S7-200指令詳解PLC在運行時需要處理的數據一般都根據數據的類型不同、數據的功能不同而把數據分成幾類。這些不同類型的數據被存放在不同的存儲空間,從而形成不同的數據區。S7-200的數據區可以分為數字量輸入和輸出映像區、模擬量輸入和輸出映像區、變量存儲器區、順序控制繼電器區、位存儲器區、特殊存儲器區、定時器存儲器區、計數器存儲器區、局部存儲器區、高速計數器區和累加器區。3.1 S7-200的數據區1. 數字量輸入和輸出映象區(1) 數字量輸入映像區(I區) 數字量輸入映像區是S7-200 CPU為輸入端信號狀態開辟的一個存貯區,用I表示。在每次掃描周期的開始,CPU對輸入點進行采樣,并將采樣

2、值存于輸入映像區寄存器中。該區的數據可以是位(1bit)、字節(8bit)、字(16bit)或者雙字(32bit)。其表示形式如下。·用位表示I0.0、I0.1、I0.7 I1.0、I1.1、I1.7 I15.0、I15.1、I15.7 共l28點。輸入映像區每個位地址包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“I”,字節地址為整數部分,位號為小數部分。比如Il.0表明這個輸入點是第1個字節的第0位。·用字節表示IB0、IB1、IB15 共l6個字節。輸入映像區每個字節地址包括存儲器字節標識符、字節地址兩部分。字節標識符為“IB”,字節地址為整數部分。比如IB1

3、表明這個輸入字節是第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示IW0、IW2、IW14 共8個字。輸入映像區每個字地址包括存儲器字標識符、字地址兩部分。字標識符為“IW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位,高位字節在一個字中應該是低8位。比如,IW0中的IB0應該是高8位,IB1應該是低8位。·用雙字表示ID0、ID4、ID12 共4個雙字。輸入映像區每個雙字地址包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“ID”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續

4、。最低位字節在一個雙字中應該是最高8位。比如,ID0中的IB0應該是最高8位,IB1應該是高8位,IB2應該是低8位,IB3應該是最低8位。(2) 數字量輸出映像區(Q區) 數字量輸出映像區是S7-200 CPU為輸出端信號狀態開辟的一個存貯區,用Q表示。在掃描周期的結尾,CPU將輸出映像寄存器的數值復制到物理輸出點上。該區的數據可以是位(1bit)、字節(8bit)、字(16bit)或者雙字(32bit)。其表示形式如下。·用位表示Q0.0、Q0.1、Q0.7 Q1.0、Q1.1、Q1.71 / 60 Q15.0、Q15.1、Q15.7 共l28點。輸出映像區每個位地址包括存儲器標

5、識符、字節地址及位號三部分。存儲器標識符為“Q”,字節地址為整數部分,位號為小數部分。比如Q0.l表明這個輸出點是第0個字節的第1位。·用字節表示QB0、QB1、QB15 共l6個字節。輸出映像區每個字節地址包括存儲器字節標識符、字節地址兩部分。字節標識符為“QB”,字節地址為整數部分。比如QBl表明這個輸出字節是第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示QW0、QW2、QW14 共8個字。輸出映像區每個字地址包括存儲器字標識符、字地址兩部分。字標識符為“QW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字

6、中應該是高8位,高位字節在一個字中應該是低8位。比如,QW0中的QB0應該是高8位,QBl應該是低8位。·用雙字表示 QD0、QD4、QD12 共4個雙字。輸出映像區每個雙字地址包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“QD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位。比如,QD0中的QB0應該是最高8位,QBl應該是高8位,QB2應該是低8位,QB3應該是最低8位。應當指出,實際沒有使用的輸入端和輸出端的映像區的存儲單元可以作中間繼電器用。2. 模擬量輸入和輸出映象區(1) 模擬量輸入映像區(AI區) 模擬量輸入

7、映像區是S7-200 CPU為模擬量輸入端信號開辟的一個存貯區。S7-200將測得的模擬值(如溫度、壓力)轉換成1個字長的(16bit)的數字量,模擬量輸入用區域標識符(AI)、數據長度(W)及字節的起始地址表示。該區的數據為字(l6bit)。其表示形式如下。 AIW0、AIW2、AIW30 共16個字,總共允許有16路模擬量輸入。應當指出,模擬量輸入值為只讀數據。(2) 模擬量輸出映像區(AQ區) 模擬量輸出映像區是S7-200 CPU為模擬量輸出端信號開辟的一個存貯區。S7-200把l個字長(16bit)數字值按比例轉換為電流或電壓。模擬量輸出用區域標識符(AQ)、數據長度(W)及起始字節

8、地址表示。該區的數據為字(l6bit)。其表示形式如下。AQW0、AQW2、AQW30 共16個字,總共允許有16路模擬量輸出。3. 變量存儲器區(V區) PLC執行程序過程中,會存在一些控制過程的中間結果,這些中間數據也需要用存儲器來保存。變量存儲器就是根據這個實際的要求設計的。變量存儲器區是S7-200 CPU為保存中間變量數據而建立的一個存貯區,用V表示。該區的數據可以是位(1bit)、字節(8bit)、字(l6bit)或者雙字(32bit)。其表示形式如下。·用位表示V0.0、V0.1、V0.7 V1.0、V1.1、V1.7 V5119.0、V5119.1、V5119.7 共

9、40969點。CPU221、CPU222變量存儲器只有2048個字節,其變量存儲區只能到V2047.7位。變量存儲器區每個位地址包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“V”,字節地址為整數部分,位號為小數部分。比如Vl.l表明這是變量存儲器區第1個字節的第1位。·用字節表示VB0、VB1、VB5119 共5120個字節。變量存儲器區每個字節地址的表示應該包括存儲器字節標識符、字節地址兩部分。字節標識符為“VB”,字節地址為整數部分。比如VBl表明這個變量存儲器字節是第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示VW0、VW2、VW5118

10、 共2560個字。變量存儲器區每個字地址的表示應該包括存儲器字標識符、字地址兩部分。字標識符為“VW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位,高位字節在一個字中應該是低8位。比如,VW0中的VB0應該是高8位,VBl應該是低8位。·用雙字表示 VD0、VD4、VD5116 共1280個雙字。變量存儲器區每個雙字地址的表示應該包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“VD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位。比如,VD0中的VB0應該是最高8位

11、,VBl應該是高8位,VB2應該是低8位,VB3應該是最低8位。應當指出,變量存儲器區的數據可以是輸入,也可以是輸出。4. 位存儲器區(M區) PLC執行程序過程中,可能會用到一些標志位,這些標志位也需要用存儲器來寄存。位存儲器就是根據這個要求設計的。位存儲器區是S7-200 CPU為保存標志位數據而建立的一個存貯區,用M表示。該區雖然叫位存儲器,但是其中的數據不僅可以是位,也可以是字節(8bit)、字(l6bit)或者雙字(32bit)。其表示形式如下。·用位表示M0.0、M0.1、M0.7 M1.0、M1.1、M1.7 M31.0、M31.1、M31.7 共256點。位存儲器區每

12、個位地址的表示應該包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“M”,字節地址為整數部分,位號為小數部分。比如Ml.l表明位存儲器區第1個字節的第1位。·用字節表示MB0、MB1、MB31 共32個字節。位存儲器區每個字節地址的表示應該包括存儲器字節標識符、字節地址兩部分。字節標識符為“MB”,字節地址為整數部分。比如MBl表明位存儲器第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示MW0、MW2、MW30 共16個字。位存儲器區每個字地址的表示應該包括存儲器字標識符、字地址兩部分。字標識符為“MW”,字地址為整數部分。一個字含兩個字節,一個字中

13、的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位,高位字節在一個字中應該是低8位。比如,MW0中的MB0應該是高8位,MBl應該是低8位。·用雙字表示 MD0、MD4、MD28 共8個雙字。位存儲器區每個雙字地址的表示應該包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“MD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位。比如,MD0中的MB0應該是最高8位,MBl應該是高8位,MB2應該是低8位,MB3應該是最低8位。5. 順序控制繼電器區(S區) PLC執行程序過程中,可能會用到順序控制。順序控制繼電器就是根據

14、順序控制的特點和要求設計的。順序控制繼電器區是S7-200 CPU為順序控制繼電器的數據而建立的一個存貯區,用S表示,在順序控制過程中用于組織步進過程的控制。順序控制繼電器區的數據可以是位,也可以是字節(8bit)、字(l6bit)或者雙字(32bit)。其表示形式如下。·用位表示S0.0、S0.1、SM0.7 S1.0、S1.1、S1.7 S31.0、S31.1、S31.7 共256點。順序控制繼電器區每個位地址的表示應該包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“S”,字節地址為整數部分,位號為小數部分。比如S0.l表明位存儲器區第0個字節的第1位。·用字節

15、表示SB0、SB1、SB31 共32個字節。順序控制繼電器區每個字節地址的表示應該包括存儲器字節標識符、字節地址兩部分。字節標識符為“SB”,字節地址為整數部分。比如SBl表明位存儲器第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示SW0、SW2、SW30 共16個字。順序控制繼電器區每個字地址的表示應該包括存儲器字標識符、字地址兩部分。字標識符為“SW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位,高位字節在一個字中應該是低8位。比如,SW0中的SB0應該是高8位,SBl應該是低8位。·用雙字表

16、示 SD0、SD4、SD28 共8個雙字。順序控制繼電器區每個雙字地址的表示應該包括存儲器雙字標識符、雙字地址二部分。雙字標識符為“SD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位。比如,SD0中的SB0應該是最高8位,SBl應該是高8位,SB2應該是低8位,SB3應該是最低8位。6. 局部存儲器區(L區)S7200 PLC有64個字節的局部存儲器,其中60個可以用作暫時存儲器或者給子程序傳遞參數。如果用梯形圖或功能塊圖編程,STEP 7MicroWIN 32保留這些局部存儲器的最后四個字節。如果用語句表編程,可以尋址所有的64個字節

17、,但是不要使用局部存儲器的最后4個字節。局部存儲器和變量存儲器很相似,主要區別是變量存儲器是全局有效的,而局部存儲器是局部有效的。全局是指同一個存儲器可以被任何程序存取(例如,主程序、子程序或中斷程序)。局部是指存儲器區和特定的程序相關聯。S7200 PLC可以給主程序分配64個局部存儲器,給每一級子程序嵌套分配64個字節局部存儲器,給中斷程序分配64個字節局部存儲器。子程序或中斷子程序不能訪問分配給主程序的局部存儲器。子程序不能訪問分配給主程序、中斷程序或其它子程序的局部存儲器。同樣,中斷程序也不能訪問給主程序或子程序的局部存儲器。S7200 PLC根據需要分配局部存儲器。也就是說,當主程序

18、執行時,分配給子程序或中斷程序的局部存儲器是不存在的。當出現中斷或調用一個子程序時,需要分配局部存儲器。新的局部存儲器在分配時可以重新使用分配給不同子程序或中斷程序的相向局部存儲器。局部存儲器在分配時PLC不進行初始化,初值可能是任意的。當在子程序調用中傳遞參數時,在被調用子程序的局部存儲器中,由CPU代替被傳遞的參數的值。局部存儲器在參數傳遞過程中不接收值,在分配時不被初始化,也沒有任何值。可以把局部存儲器作為間接尋址的指針,但是不能作為間接尋址的存儲器區。局部存儲器區是S7-200 CPU為局部變量數據建立的一個存貯區,用L表示。該區的數據可以是位、字節(8bit)、字(l6bit)或者雙

19、字(32bit)。其表示形式如下。·用位表示L0.0、L0.1、L0.7 L1.0、L1.1、L1.7 L63.0、L63.1、L63.7 共512點。局部存儲器區每個位地址的表示應該包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“L”,字節地址為整數部分,位號為小數部分。比如Ll.l表明這個輸入點是第1個字節的第1位。·用字節表示LB0、LB1、LB63 共64個字節。局部存儲器區每個字節地址的表示應該包括存儲器字節標識符、字節地址兩部分。字節標識符為“LB”,字節地址為整數部分。比如LBl表明這個局部存儲器字節是第1個字節,共8位,其中第0位是最低位,第7位是最

20、高位。·用字表示LW0、LW2、LW62 共32個字。局部存儲器區每個字地址的表示應該包括存儲器字標識符、字地址兩部分。字標識符為“LW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位,高位字節在一個字中應該是低8位。比如,LW0中的LB0應該是高8位,LBl應該是低8位。·用雙字表示 LD0、LD4、LD60 共16個雙字。局部存儲器區每個雙字地址的表示應該包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“LD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位

21、。比如,LD0中的LB0應該是最高8位,LBl應該是高8位,LB2應該是低8位,LB3應該是最低8位。7. 定時器存儲器區(T區) PLC在工作中少不了需要計時,定時器就是實現PLC具有計時功能的計時設備。S7-200定時器的精度(時基或時基增量)分為1ms,10ms、100ms三種。·S7-200定時器有三種類型接通延時定時器的功能是定時器計時到的時候,定時器常開觸點由OFF轉為ON。斷開延時定時器的功能是定時器計時到的時候,定時器常開觸點由ON轉為OFF。有記憶接通延時定時器的功能是定時器累積計時到的時候,定時器常開觸點由OFF轉為ON。·定時器有三種相關變量定時器的時

22、間設定值(PT),定時器的設定時間等于PT值乘于時基增量。定時器的當前時間值(SV),定時器的計時時間等于SV值乘于時基增量。定時器的輸出狀態(0或者1)。·定時器的編號T0、T1、T255。S7-200有256個定時器。定時器存儲器區每個定時器地址的表示應該包括存儲器標識符、定時器號兩部分。存儲器標識符為“T”,定時器號為整數。比如T1表明定時器1。實際上T1即可以表示定時器1的輸出狀態(0或者1),也可以表示定時器1的當前計時值。這就是定時器的數據具有兩種數據結構的原因所在。8. 計數器存儲器區(C區) PLC在工作中有時不僅需要計時,還可能需要計數功能。計數器就是PLC具有計數

23、功能的計數設備。·S7-200計數器有三種類型增計數器的功能是每收到一個計數脈沖,計數器的計數值加。當計數值等于或大于設定值時,計數器由OFF轉變為ON狀態。減計數器的功能是每收到一個計數脈沖,計數器的計數值減。當計數值等于0時,計數器由OFF轉變為ON狀態。增減計數器的功能是可以增計數也可以減計數。當增計數時,每收到一個計數脈沖,計數器的計數值加。當計數值等于或大于設定值時,計數器由OFF轉變為ON狀態。當減計數時,每收到一個計數脈沖,計數器的計數值減。當計數值小于設定值時,計數器由ON轉變為OFF狀態。·計數器有三種相關變量計數器的設定值(PV)。計數器的當前值(SV)

24、。計數器的輸出狀態(0或者1)。·計數器的編號C0、C1、C255。S7-200有256個計數器。計數器存儲器區每個計數器地址的表示應該包括存儲器標識符、計數器號兩部分。存儲器標識符為“C”,計數器號為整數。比如C1表明計數器1。實際上C1即可以表示計數器1的輸出狀態(0或者1),C1也可以表示計數器1的當前計數值。這就是說計數器的數據和定時器一樣具有兩種數據結構。9. 高速計數器區(HSC區) 高速計數器用來累計比CPU掃描速率更快的事件。S7-200各個高速計數器不僅計數頻率高達30kHz,而且有12種工作模式。S7-200各個高速計數器有32位帶符號整數計數器的當前值。若要存取

25、高速計數器的值,則必須給出高數計數器的地址,即高數計數器的編號。高速計數器的編號HSC0、HSC1、HSC2、HSC3、HSC4、HSC5。S7-200有6個高速計數器。其中,CPU221和CPO222僅有4個高速計數器(HSC0、HSC3、HSC4、HSC5)。高速計數器區每個高速計數器地址的表示應該包括存儲器標識符、計數器號兩部分。存儲器標識符為“HSC”,計數器號為整數。比如HSC1表明高速計數器1。10. 累加器區(AC區) 累加器是可以像存儲器那樣進行讀寫的設備。例如,可以用累加器向子程序傳遞參數,或從子程序返回參數,以及用來存儲計算的中間數據。S7-200 CPU提供了4個32位累

26、加器(AC0,AC1,AC2, AC3)。可以按字節、字或雙字來存取累加器數據中的數據。但是,以字節形式讀/寫累加器中的數據時,只能讀/寫累加器32位數據中的最低8位數據。如果是以字的形式讀/寫累加器中的數據,只能讀/寫累加器32位數據中的低16位數據。只有采取雙字的形式讀/寫累加器中的數據才能一次讀寫其中的32位數據。因為PLC的運算功能是離不開累加器的。因此不能像占用其它存儲器那樣占用累加器。11. 特殊存儲器區(SM區) 特殊存儲器是S7-200 PLC為CPU和用戶程序之間傳遞信息的媒介。它們可以反映CPU在運行中的各種狀態信息,用戶可以根據這些信息來判斷機器工作狀態,從而確定用戶程序

27、該做什么,不該做什么。這些特殊信息也需要用存儲器來寄存。特殊存儲器就是根據這個要求設計的。(1) 特殊存儲器區 S7-200 CPU的特殊存儲器區用SM表示。特殊存儲器區的數據有些是可讀可寫的,有一些是只讀的。特殊存儲器區的數據可以是位,也可以是字節(8bit)、字(l6bit)或者雙字(32bit)。其表示形式如下。·用位表示SM0.0、SM0.1、SM0.7 SM1.0、SM1.1、SM1.7 SM29.0、SM29.1、SM29.7 SM179.0、SM179.1、SM194.7 特殊存儲器區每個位地址的表示應該包括存儲器標識符、字節地址及位號三部分。存儲器標識符為“SM”,字

28、節地址為整數部分,位號為小數部分。比如SM0.l表明特殊存儲器第0個字節的第1位。·用字節表示SMB0、SMB1、SMB29、SMB194 特殊存儲器區每個字節地址的表示應該包括存儲器字節標識符、字節地址兩部分。字節標識符為“SMB”,字節地址為整數部分。比如SMBl表明位存儲器第1個字節,共8位,其中第0位是最低位,第7位是最高位。·用字表示SMW0、SMW2、SMW28、SMW194特殊存儲器區每個字地址的表示應該包括存儲器字標識符、字地址兩部分。字標識符為“SMW”,字地址為整數部分。一個字含兩個字節,一個字中的兩個字節的地址必須連續,且低位字節在一個字中應該是高8位

29、,高位字節在一個字中應該是低8位。比如,SMW0中的SMB0應該是高8位,SMBl應該是低8位。·用雙字表示SMD0、SMD4、SMD24、SMD192 位存儲器區每個雙字地址的表示應該包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“SMD”,雙字地址為整數部分。一個雙字含四個字節,四個字節的地址必須連續。最低位字節在一個雙字中應該是最高8位。比如,SMD0中的SMB0應該是最高8位,SMBl應該是高8位,SMB2應該是低8位,SMB3應該是最低8位。應當指出S7-200 PLC的特殊存儲器區頭30個字節為只讀區。(2)常用的特殊繼電器及其功能1)SMB0字節(系統狀態位) SM

30、0.0 PLC運行時這一位始終為l,是常0N繼電器。SM0.l PLC首次掃描時為一個掃描周期。用途之一是調用初始化使用。SM0.3 開機進入RUN方式將0N一個掃描周期。SM0.4 該位提供了一個周期為一分鐘,占空比為0.5的時鐘。SM0.5 該位提供了一個周期為一秒鐘,占空比為0.5的時鐘。2)SMB1字節(系統狀態位) SM1.0 當執行某些命令時,其結果為0時,該位置1。SM1.1 當執行某些命令時,其結果溢出或出現非法數值時,該位置1。SM1.2 當執行數學運算時,其結果為負數時,該位置1。SM1.6 當把一個非BCD數轉換為二進制數時,該位置1。SM1.7 當ASCll不能轉換成有

31、效的十六進制數時,該位置1。3)SMB2字節(自由口接收字符) SMB2 為自由口通訊方式下,從PLC端口0或端口1接收到的每一個字符。4)SMB3字節(自由口奇偶校驗) SM3.0 為端口0或端口1的奇偶校驗出錯時,該位置1。5)SMB4字節(隊列溢出) SM4.0 當通訊中斷隊列溢出時,該位置1。SM4.1 當輸入中斷隊列溢出時,該位置1。SM4.2 當定時中斷隊列溢出時,該位置1。SM4.3 在運行時刻,發現編程問題時,該位置1。SM4.4 當全局中斷允許時,該位置1。SM4.5 當(口0)發送空閑時,該位置1。SM4.6 當(口l)發送空閑時,該位置1。6)SMB5字節(I/O狀態)

32、SM5.0 有I/O錯誤時,該位置1。SM5.1 當I/O總線上接了過多的數字量I/O點時,該位置1。SM5.2 當I/O總線上接了過多的模擬量I/O點時,該位置1。SM5.7 當DP標準總線出現錯誤時,該位置1。7)SMB6字節(CPU識別寄存器) SM6.76.4=0000為CPU212/CPU222 SM6.76.4=0010為CPU214/CPU224SM6.76.4=0110為CPU221 SM6.76.4=1000為CPU215 SM6.76.4=1001為CPU216/CPU226 8)SMB8到SMB21字節(I/O模塊識別和錯誤寄存器) SMB8 模塊0識別寄存器SMB9 模

33、塊0錯誤寄存器SMB10 模塊1識別寄存器SMB11 模塊1錯誤寄存器SMB12 模塊2識別寄存器SMB13 模塊2錯誤寄存器SMB14 模塊3識別寄存器SMB15 模塊3錯誤寄存器SMB16 模塊4識別寄存器SMB17 模塊4錯誤寄存器SMB18 模塊5識別寄存器SMB19 模塊5錯誤寄存器SMB20 模塊6識別寄存器SMB21 模塊6錯誤寄存器9)SMW22到SMW26字節(掃描時間) SMW22 上次掃描時間SMW24 進入RUN方式后,所記錄的最短掃描時間SMW26 進入RUN方式后,所記錄的最長掃描時間10)SMB28和SMB29字節(模擬電位器) SMB28 存儲模擬電位0的輸入值

34、SMB29 存儲模擬電位l的輸入值11)SMB30和SMB130字節(自由口控制寄存器) SMB30 控制自由口0的通訊方式SMB130 控制自由口1的通訊方式12)SMB34和SMB35字節(定時中斷時間間隔寄存器) SMB34 定義定時中斷0的時間間隔(從5ms255ms,以1ms為增量) SMB35 定義定時中斷l的時間間隔(從5ms255ms,以1ms為增量) 13)SMB36到SMB65字節(高速計數器HSC0、HSCl和HSC2寄存器) SMB36 HSC0當前狀態寄存器SMB37 HSC0控制寄存器SMD38 HSC0新的當前值SMD42 HSC0新的予置值SMB46 HSC1當

35、前狀態寄存器SMB47 HSC1控制寄存器SMD48 HSC1新的當前值SMD52 HSC1新的予置值SMB56 HSC2當前狀態寄存器SMB57 HSC2控制寄存器SMD58 HSC2新的當前值SMD62 HSC2新的予置值14)SMB66到SMB85字節(監控脈沖輸出PTO和脈寬調制PWM功能) 15)SMB86到SMB94,SMB186到SMB179字節(接收信息控制) SMB86到SMB94為通訊口0的接收信息控制SMB186到SMB179為通訊口1的接收信息控制接收信息狀態寄存器SMB86和SMB186: 接收信息控制寄存器SMB87和SMB187: 16)SMB98和SMB99字節

36、(有關擴展總線的錯誤號) 17)SMB131到SMB165字節(高速計數器HSC3、HSC4和HSC5寄存器) 18)SMB166到SMB179字節(PTO0、PTO1的包絡步的數量、包絡表的地址和V存儲器中表的地址) 3. 2 S7-200的尋址方式S7-200 PLC編程語言的基本單位是語句,而語句的構成是指令。每條指令有兩部分組成,一部分是操作碼,另一部分是操作數。操作碼是指出這條指令的功能是什么,操作數則指明了操作碼所需要的數據所在。所謂尋址,就是尋找操作數的過程。S7-200 CPU的尋址方式可以分為三種。即立即尋址、直接尋址和間接尋址。1. 立即尋址(1) 關于立即尋址 在一條指令

37、中,如果操作碼后面的操作數就是操作碼所需要的具體數據,這種指令的尋址方式就叫做立即尋址。例如:傳送指令“MOV IN OUT” 中,操作碼“MOV”指出該指令的功能把IN中的數據傳送給OUT中。其中IN是被傳送的源操作數,OUT表示要傳送到的目標操作數。如果該指令為:“MOVD 2505 VD500”,該指令的功能是將十進制數2505傳送給VD500中。這里2505就是指令碼中的源操作數,因為這個操作數的數值已經在指令中了,不用再去尋找了,這個操作數即立即數,這個尋址方式就是立即尋址方式。而目標操作數的數值在指令中并未給出,只給出了要傳送到的地址VD500,這個操作數的尋址方式就不是立即尋址,

38、而是直接尋址了。(2) 關于立即數S7-200指令中的立即數(常數)可以為字節、字或雙字。CPU可以以二進制方式、十進制方式、十六進制方式、ASCII方式、浮點數方式來存儲。·十進制格式 十進制數, 取值范圍為 字節0255、字065535、雙字04294967295。 例如 255 ·十六進制格式 16#十六進制數, 取值范圍為 字節0FF、字0FFFF、雙字0FFFF FFFF。 例如 16#100F ·實數或浮點格式 浮點數, 例如: 2.05 +1.175495E-3 ·ASCII碼格式 “ASCII碼文本”。 例如 “ABCDEF” ·

39、;二進制格式 2#二進制數。 例如 2#1010-0101-1010-0101 。 應當指出,S7-200 CPU不支持“數據類型”或數據的檢查(例如指定常數作為整數、帶符號整數或雙整數來存儲),且不檢查某個數據的類型。舉例來說,ADD指令可以VW100的值作為一個帶符號整數來使用,而一條異或指令也可以把VW100中的值當作為一個帶符號二進制數來使用。2. 直接尋址(1) 關于直接尋址方式 在一條指令中,如果操作碼后面的操作數是以操作數所在地址的形式出現的,這種指令的尋址方式就叫做直接尋址。例如:傳送指令“MOV IN OUT” 中,操作碼“MOV”指出該指令的功能把IN中的數據傳送給OUT中

40、。其中IN是被傳送的源操作數,OUT表示要傳送到的目標操作數。如果該指令為:“MOVD VD400 VD500”,該指令的功能是將VD400中的雙字數據傳送給VD500。指令中的源操作數的數值在指令中并未給出,只給出了貯存操作數的地址VD400,尋址時要到該地址VD400中尋找操作數,這種以給出操作數地址的形式的尋址方式是直接尋址。(2) 關于直接地址 在直接尋址中,指令中給出的是操作數的存放地址。在S7-200中,可以存放操作數的存儲區有輸入映像寄存器(I)存儲區、輸出映像寄存器(Q)存儲區、變量(V)存儲區、位存儲器(M)存儲區、順序控制繼電器(S)存儲區、特殊存儲器(SM)存儲區、局部存

41、儲器(L)存儲區、定時器(T)存儲區、計數器(C)存儲區、模擬量輸入(AI)存儲區、模擬量輸出(AQ)存儲區、累加器區和高速計數器區。3. 間接尋址 (1) 關于間接尋址方式 在一條指令中,如果操作碼后面的操作數是以操作數所在地址的地址的形式出現的,這種指令的尋址方式就叫做間接尋址。例如:如果傳送指令為:“MOVD 2505 *VD500”。這里*VD500中指出的不是存放2505的地址,而是存放2505的地址的地址。例如VD500中存放的是VB0,則VD0才是存放2505的地址。該指令的功能是將十進制數2505傳送給VD0地址中。指令中的目標操作數的數值在指令中并未給出,只給出了貯存操作數的

42、地址的地址VD500,這種以給出操作數地址的地址形式的尋址方式是間接尋址。(2) 關于間接地址 S7-200的間接尋址方式適用的存儲區為I區、Q區、V區、M區、S區、T區(限于當前值)、C區(限于當前值)。除此之外,間接尋址還需要建立間接尋址的指針和對指針的修改。·關于建立指針 為了對某一存儲區的某一地址進行間接訪問,首先要為該地址建立指針。指針長度為雙字,存放另一個存儲器的地址。間接尋址的指針只能使用變量存儲區(V)、局部存儲區(L)、或累加器(AC1、AC2、AC3)作為指針。為了生成指針,必須使用雙字傳送指令(M0VD),將存儲器某個位置的地址移入存儲器的另一個位置或累加器作為

43、指針。指令的輸入操作數必須使用“&”符號表示是某一位置的地址,而不是它的數值。把從指針處取出的數值傳送到指令輸出操作數標識的地址位置。例如: MOVD &VB0,VD500 MOVD &VB0,AC2 MOVD &VB0,L8 ·關于使用指針來存取數據 在操作數前面加“*”號表示該操作數為一個指針,指針指出的是操作數所在的地址。例如:MOVD &VB0, VD10 是確定了VD10是間接尋址的指針。如果執行指令MOVD *VD10, VD20 則是把VDl0指針指出的地址VD0中的數據傳送到VD20中。如果執行指令MOVW *VD10, VW3

44、0 則是把VDl0指針指出的地址VW0中的數據傳送到VW30中。如果執行指令MOVB *VD10, VB40 則是把VDl0指針指出的地址VB0中的數據傳送到VB40中。·關于修改指針在間接尋址方式中,指針指示了當前存取數據的地址。當一個數據已經存入或取出,如果不及時修改指針會出現以后的存取仍使用用過的地址,為了使存取地址不重復,必須修改指針。因為指針為32位的值,所以使用雙字指令來修改指針值。簡單的數學運算指令,加法指令“ +D IN1 OUT ”或自增指令“INCD OUT”可用于修改指針值。要注意存取的數據的長度。當存取字節時,指針值加1;當存取一個字、定時器或計數器的當前值時

45、,指針值加2。當存取雙字時,指針值加4。例如: LD SM0.1 /PLC首次掃描為狀態。 MOVD &VB0, VD10 /把VB0的地址裝入間接尋址的地址指針VD10。 LD I0.0 /輸入I0.0由OFF變為ON時有效。 MOVD *VD10, VD20 /將VD0中的數據傳送到VD20中。 +D +4, VD10 /地址指針VD10指向VB4。 LD I0.2 /輸入I0.2由OFF變為ON時有效。 MOVW *VD10, VW24 /將VW4中的數據傳送到VW24中。 +D +2, VD10 /地址指針VD10指向VB6。 MOVB *VD10, VB26 /將VB6中的數

46、據傳送到VB26中。 INCD VD10 /地址指針VD10指向VB7。在這個例子中,當PLC啟動后SM0.l使VD10裝入的間接地址指針為VB0。當I0.0為ON時,把VD0的數據裝入VD20中,利用加法指令把VD10中的間接地址指針修改為VB4。當I0.2為ON時,把VW4的數據裝入VW24中,利用加法指令把VD10中的間接地址指針修改為VB6,接著把VB6的數據裝入VB26中,利用加一指令把VD10中的間接地址指針修改為VB7。從這個例子中可以看到S7-200的間接尋址的全過程。圖3-3-13.3 S7-200的程序結構S7-200程序有三種。一種是主程序,主程序只有一個,名稱為OBl。

47、第二種是子程序,子程序可以達到64個,名稱分別為SBR0SBR63。子程序可以在主程序中調用,也可以由子程序或中斷程序調用。第三種是中斷程序,中斷程序可以達到128個,名稱分別為INT0INT127。中斷方式有輸入中斷、定時中斷、高速計數器中斷、通訊中斷等中斷事件引發,當CPU響應中斷時,可以執行中斷程序。由這三種程序可以組成線性程序和分塊程序兩種結構。線性程序是指一個工程的全部控制任務都按照工程控制的順序寫在一個程序中,比如寫在OBl中。程序執行過程中,CPU不斷地掃描OBl,按照事先準備好的順序去執行控制工作。如圖3-3-1所示。圖3-3-2 顯然,線性程序結構簡單,一目了然。但是,當控制

48、工程大到一定程度之后,僅僅采用線性程序就會使整個程序變得龐大而難于編制、難于調試了。分塊程序是指一個工程的全部控制任務被分成多個小的任務塊,每個任務塊的控制任務根據具體情況分別放到子程序中或者放到中斷程序中。程序執行過程CPU不斷地調用這些子程序或者披中斷程序中斷。如圖3-3-2所示。分塊程序雖然結構復雜一些。但是,它可以把一個復雜的過程分解成多個簡單的過程。對于具體的程序塊容易編寫,容易調試。從總體上看分塊程序的優勢是十分明顯的。3.4 S7-200的位邏輯指令S7-200的指令有三種表達形式。這三種形式為語句表、梯形圖和功能塊圖。實際應用中采用梯形圖編寫程序較為普遍。這是因為梯形圖是種通用

49、的圖形編程語言,不同類型的PLC的梯形圖的圖形表達相差無幾。語句表編寫的程序是最接近機器代碼的文本程序。在S7-200的三種編程語言中,語句表適用最廣,保存、注釋最方便。本書中介紹的指令和編程都是以梯形圖和語句表為主。讀者想了解功能塊圖的相關內容請查閱書后的參考文獻。1. 標準觸點·標準觸點的梯形圖表示:標準常開觸點由標準常開觸點和觸點位地址bit構成。標準常閉觸點由標準常閉觸點和觸點位地址bit構成。圖3-4-1 ·標準觸點的語句表表示:標準常開觸點由操作碼“LD”和標準常開觸點位地址bit構成。標準常閉觸點由操作碼“LDN”和標準常閉觸點位地址bit構成。標準觸點用梯形

50、圖、語句表的表示如圖3-4-1所示。·標準觸點的功能:常開觸點是在其線圈不帶電時其觸點是斷開的(其觸點的狀態為OFF或為0),而其線圈帶電時其觸點是閉合的(其觸點的狀態為ON或為1)。常閉觸點是在其線圈不帶電時其觸點是閉合的(其觸點的狀態為ON或為1),當其線圈帶電時其觸點是斷開的(其觸點的狀態為OFF或為0)。在程序執行過程,標準觸點起開關的觸點作用。·操作數范圍:標準觸點的取值范圍是I、Q、M、SM、T、C、V、S、L(位)。 2. 立即觸點 ·立即觸點的梯形圖表示:立即常開觸點由立即常開觸點和觸點位地址bit構成。立即常閉觸點由立即常閉觸點和觸點位地址bit

51、構成。圖3-4-2·立即觸點的語句表表示:立即常開觸點操作碼“LDI”和立即常開觸點位地址bit構成。立即常閉觸點由操作碼“LDNI”和立即常閉觸點位地址bit構成。立即觸點用梯形圖、語句表的表示如圖3-4-2所示。 ·立即觸點的功能:含有立即觸點的指令叫立即指令。當立即指令執行時,CPU直接讀取其物理輸入的值,而不是更新映像寄存器。在程序執行過程,立即觸點起開關的觸點作用。·操作數范圍:I(位)。 3. 輸出操作 ·輸出操作的梯形圖表示:輸出操作由輸出線圈和位地址bit構成。 圖3-4-3 ·輸出操作的語句表表示:輸出操作由輸出操作碼“”和線

52、圈位地址bit構成。輸出操作用梯形圖、語句表的表示如圖3-4-3所示。 ·輸出操作的功能:輸出操作是把前面各邏輯運算的結果復制到輸出線圈,從而使輸出線圈驅動的輸出常開觸點閉合,常閉觸點斷開。輸出操作時,CPU是通過輸入/輸出映像區來讀/寫輸出的狀態的。 ·輸出操作的操作數范圍:I、Q、M、SM、T、C、V、S、L(位)。 4.立即輸出操作 ·立即輸出操作的梯形圖表示:立即輸出操作由立即輸出線圈位和位地址構成。 圖3-4-4 ·立即輸出操作的語句表表示:立即輸出操作由操作碼“”和立即輸出線圈位地址bit構成。立即輸出操作用梯形圖和語句表的表示如圖3-4-4

53、。 ·立即輸出操作的功能:含有立即輸出的指令叫立即指令。當立即指令執行時,CPU直接讀取其物理輸入的值,而不是更新映像寄存器。立即輸出操作是把前面各邏輯運算的結果復制到標準輸出線圈,從而使立即輸出線圈驅動的立即輸出常開觸點閉合,常閉觸點斷開。 ·操作數范圍:Q(位)。 5.邏輯與操作 ·邏輯與操作的梯形圖表示:邏輯與操作由標準觸點或立即觸點的串聯構成。 ·邏輯與操作的語句表表示:邏輯與操作由操作碼“” 和觸點的位地址構成。其梯形圖和語句表表示形式和對應的邏輯關系如圖3-4-5所示。 圖3-4-5 ·邏輯與操作的功能:與邏輯是指兩個元件的狀態都是

54、時才有輸出,兩個元件中只要有個為,就無輸出。 在圖3-4-5中,當操作數I0.0和操作數I0.1進行與操作時,其輸入(I0.0和I0.1)與輸出(Q0.0)的邏輯關系如下。 I0.0=0 且 I0.1=0 則 Q0.0=0 I0.0=1 且 I0.1=0 則 Q0.0=0 I0.0=0 且 I0.1=1 則 Q0.0=0 I0.0=1 且 I0.1=1 則 Q0.0=1 其邏輯關系為只有當I0.0與I0.1都是時,.才可能為。 ·操作數范圍:I、Q、M、SM、T、C、V、S、L(位)。 6.邏輯或操作 ·邏輯或操作的梯形圖表示:邏輯或操作由標準觸點或立即觸點的并聯構成。 &

55、#183;邏輯或操作的語句表表示:邏輯或操作由操作碼“O” 和觸點的位地址構成。其梯形圖和語句表表示形式和對應的邏輯關系如圖3-4-6所示。 ·邏輯或操作的功能:或邏輯是指兩個元件的狀態只要有一個是就有輸出,只有當兩個元件都是時才無輸出。在圖3-4-6中,當操作數I0.0和操作數I0.1進行或操作時,其輸入(I0.0和I0.1)與輸出(Q0.0)的邏輯關系如下。 圖3-4-6I0.0=0 且 I0.1=0 則 Q0.0=0 I0.0=1 且 I0.1=0 則 Q0.0=1 I0.0=0 且 I0.1=1 則 Q0.0=1 I0.0=1 且 I0.1=1 則 Q0.0=1 其邏輯關系為

56、I0.0或I0.1有一個為,.就為。 ·操作數范圍:I、Q、M、SM、T、C、V、S、L(位)。 7.取非操作 ·取非操作的梯形圖表示:取非操作是在一般觸點上加寫“N0T”字符構成。 圖3-4-7 ·取非操作的語句表表示:取非操作是由操作碼“NOT”構成,它只能和其它操作聯合使用,本身沒有操作數。其梯形圖和語句表的表示如圖3-4-7所示。 ·取非操作的功能:取非操作就是把源操作數的狀態取反作為目標操作數輸出。當操作數的狀態為OFF(或0)時,對操作數取非操作的結果狀態應該是ON(或1);若操作數的狀態是ON(或1),對操作數取非的結果狀態應該是OFF(或

57、0) 圖3-4-8 8.串聯電路的并聯連接 ·串聯電路的并聯連接的梯形圖表示:這是個由多個觸點的串聯構成條支路,系列這樣的支路再互相并聯構成的復雜電路。 ·串聯電路的并聯連接的語句表表示:串聯電路的并聯連接的語句表示是在兩個與邏輯的語句后面用操作碼“OLD”聯接起來,表示上面兩個與邏輯之間是“或”的關系。串聯電路的并聯連接的梯形圖和語句表表示形式如圖3-4-8所示。 ·串聯電路的并聯連接的功能:所謂串聯就是指觸點間是與的邏輯關系,多個觸點的與的聯接就構成了一個串聯電路。串聯電路的并聯連接就是指多個串聯電路之間又構成了或的邏輯操作。在執行程序時,先算出各個串聯支路(

58、與邏輯)的結果,然后再把這些結果的或傳送到輸出。 9.并聯電路的串聯連接 ·并聯電路的串聯連接的梯形圖表示:這是個由多個觸點的并聯構成一個局部電路,系列這樣的一個局部電路再互相串串構成的復雜電路。 圖3-4-9 ·并聯電路的串聯連接的語句表表示:并聯電路的串聯連接的語句表表示是在兩個或邏輯的語句后面用操作碼“ALD”聯接起來,表示上面兩個或邏輯之間是“與”的關系。并聯電路的串聯連接的梯形圖和語句表表示形式如圖3-4-9所示。 ·并聯電路的串聯連接的功能:所謂并聯就是指觸點間是或的邏輯關系,多個觸點的或的聯接就構成了一個并聯電路。并聯電路的串聯連接就是指多個并聯電路之間又構成了與的邏輯操作。在執行程序時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論