S7-200PLC中斷優(yōu)先級和排對等候
優(yōu)先級是指多個中斷事件同時發(fā)出中斷請求時,CPU對中斷事件響應的優(yōu)先次序。S7-200規(guī)定的中斷優(yōu)先由高到低依次是:通信中斷、I/O中斷和定時中斷。每類中斷中不同的中斷事件又有不同的優(yōu)先權(quán),如表2所示。
一個程序中總共可有128個中斷。S7-200在各自的優(yōu)先級組內(nèi)按照先來先服務的原則為中斷提供服務。在任何時刻,只能執(zhí)行一個中斷程序。一旦一個中斷程序開始執(zhí)行,則一直執(zhí)行至完成。不能被另一個中斷程序打斷,即使是更高優(yōu)先級的中斷程序。中斷程序執(zhí)行中,新的中斷請求按優(yōu)先級排隊等候。中斷隊列能保存的中斷個數(shù)有限,若超出,則會產(chǎn)生溢出。中斷隊列的最多中斷個數(shù)和溢出標志位如表3所示。
表2中斷事件及優(yōu)先級
優(yōu)先級分組 |
組內(nèi)優(yōu)先級 |
中斷事件號 |
中斷事件說明 |
中斷事件類別 |
通信中斷 |
0 |
8 |
通信口0:接收字符 |
通信口0 |
0 |
9 |
通信口0:發(fā)送完成 |
||
0 |
23 |
通信口0:接收信息完成 |
||
1 |
24 |
通信口1:接收信息完成 |
通信口1 |
|
1 |
25 |
通信口1:接收字符 |
||
1 |
26 |
通信口1:發(fā)送完成 |
||
I/O中斷
|
0 |
19 |
PTO 0脈沖串輸出完成中斷 |
脈沖輸出 |
1 |
20 |
PTO 1脈沖串輸出完成中斷 |
||
2 |
0 |
I0.0上升沿中斷 |
外部輸入 |
|
3 |
2 |
I0.1上升沿中斷 |
||
4 |
4 |
I0.2上升沿中斷 |
||
5 |
6 |
I0.3上升沿中斷 |
||
6 |
1 |
10.0下降沿中斷 |
||
7 |
3 |
I0.1下降沿中斷 |
||
8 |
5 |
I0.2下降沿中斷 |
||
9 |
7 |
I0.3下降沿中斷 |
||
10 |
12 |
HSC0當前值=預置值中斷 |
高速計數(shù)器 |
|
11 |
27 |
HSC0計數(shù)方向改變中斷 |
||
12 |
28 |
HSC0外部復位中斷 |
||
13 |
13 |
HSC1當前值=預置值中斷 |
||
14 |
14 |
HSC1計數(shù)方向改變中斷 |
||
15 |
15 |
HSC1外部復位中斷 |
||
16 |
16 |
HSC2當前值=預置值中斷 |
||
17 |
17 |
HSC2計數(shù)方向改變中斷 |
||
18 |
18 |
HSC2外部復位中斷 |
||
19 |
32 |
HSC3當前值=預置值中斷 |
||
20 |
29 |
HSC4當前值=預置值中斷 |
||
21 |
30 |
HSC4計數(shù)方向改變 |
||
22 |
31 |
HSC4外部復位 |
||
23 |
33 |
HSC5當前值=預置值中斷 |
||
定時中斷 |
0 |
10 |
定時中斷0 |
定時 |
1 |
11 |
定時中斷1 |
||
2 |
21 |
定時器T32 CT=PT中斷 |
定時器 |
|
3 |
22 |
定時器T96 CT=PT中斷 |
表3 中斷隊列的最多中斷個數(shù)和溢出標志位
隊列 |
CPU 221 |
CPU 222 |
CPU 224 |
CPU 226和CPU 226XM |
溢出標志位 |
通訊中斷隊列 |
4 |
4 |
4 |
8 |
SM4.0 |
I/O中斷隊列 |
16 |
16 |
16 |
16 |
SM4.1 |
定時中斷隊列 |
8 |
8 |
8 |
8 |
SM4.2 |
西門子PLC實現(xiàn)用四個按鈕分別控制四個燈的設計原理:用四個按鈕分別控制四個燈,當其中任意一個按鈕按下時對應的燈亮,多個按鈕按下時燈不亮。
具體控制方案設計如下:
1.輸入/輸出元件及控制功能
|
PLC軟元件 |
元件文字符號 |
元件名稱 |
控制功能 |
輸入 |
I0.0 |
SB1 |
按鈕1 |
控制燈 |
I0.1 |
SB2 |
按鈕2 |
控制燈 |
|
I0.2 |
SB3 |
按鈕3 |
控制燈 |
|
I0.3 |
SB4 |
按鈕4 |
控制燈 |
|
輸出 |
Q0.0 |
EL1 |
燈1 |
照明 |
Q0.1 |
EL2 |
燈2 |
照明 |
|
Q0.2 |
EL3 |
燈3 |
照明 |
|
Q0.3 |
EL4 |
燈4 |
照明 |
看到很多網(wǎng)友問學習PLC的方法, 現(xiàn)將我個人學習PLC編程的心得總結(jié)如下,大家有更好的方法請補充:
1.有一定的電工基礎-----掌握傳感器、接近開關(guān)、編馬器、氣動元件等常用器件的使用及繼電器控制原理。
2.再學數(shù)制及數(shù)制轉(zhuǎn)換-----掌握二進制、八進制、十六進制、BCD碼、ASCI碼的概念。
3.選擇你所在地區(qū)流型的PLC品牌做為學習的機種.---------學會后可以更好的與實際工作對接。
4.買臺手提電腦(配制不低于CPU最好是雙核或以上 ,1G內(nèi)存,硬盤80G,帶串口)----必備學習及外出干活的工具。
5. 學會電腦的基本操作,如開機關(guān)機、文件保存以及WORD、EXCEL辦公軟件的基本應用(電腦使用者必會);常用軟件的安裝與卸載(如編程軟件的安裝和卸載);打字(用于程序起名及加注釋)。
6.尋找PLC編程軟件及仿真軟件、教學軟件(當然還要學會使用它們)。-----必備學習用具。
7. 買相關(guān)書及視頻教材(電工論壇有歐姆龍,西門子,松下PLC視頻教程直播)。-----學習資料。
8. 找齊該PLC編程手冊、使用手冊、使用案例,可從網(wǎng)上收集或參加產(chǎn)品推廣會獲得。----工作中肯定會用到的資料.
9. 以上準備好后,您可以自學PLC了,一般來說PLC梯形圖的基本指令好學,其邏輯關(guān)系與繼電器控制原理圖相通。但功能指令就難很多了。
10.最好是到有實力口碑好的學校培訓.-----比起自學可縮短學習時間,學得更系統(tǒng),還可多交恩師、學友以利于今后發(fā)展。
11. 用一切辦法多結(jié)識周圍的同行、PLC廠家、代理商,以便于得到他們的幫助及有用的信息。
12. 堅持學習,多與同行交流,多動手實踐.-----編程是理論與技能高度結(jié)合的,應多看書多實踐才能提高編程技術(shù)。
13. 當外出包工程時,還要準備該類型PLC程序解密軟件------因為有時你會忘記自己程序中已加的密碼,還有時是別人加密的程序,客戶要你J將它再優(yōu)化、增加新功能、修改參數(shù)、將原來定時停機的程序刪除。這也是很多人找解碼軟件的原因。
用siemens PLC控制噴泉系統(tǒng)梯形圖、控制語句表
一、控制要求及I/O分配
1.控制要求
隔燈閃爍:L1亮0.5秒后滅,接著L2亮0.5秒后滅, 接著L3亮0.5秒后滅,接著L4亮0.5秒后滅,接著L5、L9亮0.5秒后滅,接著L6、L10亮0.5秒后滅,接著L7、L11亮0.5秒后滅,接著L8、L12亮0.5秒后滅,L1亮0.5秒后滅,如此循環(huán)下去。
2.I/O分配
輸入 輸出
起動按鈕:I0.0 L1:Q0.0 L5、L9: Q0.4
停止按鈕:I0.1 L2:Q0.1 L6、L10:Q0.5
L3:Q0.2 L7、L11:Q0.6
L4:Q0.3 L8、L12:Q0.7
圖1-1 噴泉控制示意圖
三、噴泉控制語句表
0
LD
I0.0
16
TON
T38,+5
31
LD
M10.6
1
O
M1.0
17
LD
T38
32
=
Q0.5
2
AN
T37
18
=
M0.0
33
LD
M10.7
3
A
I0.1
19
LD
M0.0
34
=
Q0.6
4
=
M1.0
20
SHRB
M10.0,M10.0,+8
35
LD
M11.0
5
LD
M1.0
36
=
Q0.7
6
TON
T37,+5
21
LD
M10.1
37
LDN
I0.1
7
LD
T37
22
=
Q0.0
38
R
M10.1,8
8
O
M11.0
23
LD
M10.2
9
=
M10.0
24
=
Q0.1
10
LD
I0.0
25
LD
M10.3
11
O
M0.1
26
=
Q0.2
12
A
I0.1
27
LD
M10.4
13
=
M0.1
28
=
Q0.3
14
LD
M0.1
29
LD
M10.5
15
AN
M0.0
30
=
Q0.4
四、噴泉控制梯形圖
PLC中斷程序的概念及建立中斷程序的方法
1. 中斷程序的概念
中斷程序是為處理中斷事件而事先編好的程序。中斷程序不是由程序調(diào)用,而是在中斷事件發(fā)生時由操作系統(tǒng)調(diào)用。在中斷程序中不能改寫其他程序使用的存儲器,最好使用局部變量。中斷程序應實現(xiàn)特定的任務,應“越短越好”,中斷程序由中斷程序號開始,以無條件返回指令(CRETI)結(jié)束。在中斷程序中禁止使用DISI、ENI、HDEF、LSCR和END指令。
2. 建立中斷程序的方法
方法一:從“編輯”菜單→選擇插入(Insert)→ 中斷(Interrupt)。
方法二:從指令樹,用鼠標右鍵單擊“程序塊”圖標并從彈出菜單→選擇插入(Insert)→ 中斷(Interrupt)。
方法三:從“程序編輯器”窗口,從彈出菜單用鼠標右鍵單擊插入(Insert)→ 中斷(Interrupt)。
程序編輯器從先前的POU顯示更改為新中斷程序,在程序編輯器的底部會出現(xiàn)一個新標記,代表新的中斷程序。
S7-200PLC的數(shù)據(jù)區(qū)
(一)數(shù)字量輸入和輸出映象區(qū)
1.輸入映象寄存器(數(shù)字量輸入映象區(qū))(I)
數(shù)字量輸入映象區(qū)是S7-200CPU為輸入端信號狀態(tài)開辟的一個存儲區(qū)。輸入映像寄存器的標識符為I,在每個掃描周期的開始,CPU對輸入點進行采樣,并將采樣值存于輸入映像寄存器中。
輸入映像寄存器是PLC接收外部輸入的開關(guān)量信號的窗口。
可以按位、字節(jié)、字、雙字四種方式來存取。
(1)按“位”方式:從I0.0~I15.7,共有128點
(2)按“字節(jié)”方式:從IB0~IB15,共有16個字節(jié)
(3)按“字”方式:從IW0~IW14,共有8個字
(4)按“雙字”方式:從ID0~ID12,共有4個雙字
2.輸出映像寄存器(Q)
數(shù)字量輸出映象區(qū)是S7-200CPU為輸出端信號狀態(tài)開辟的一個存儲區(qū)。輸出映像寄存器的標識符為Q(從Q0.0~Q15.7,共有128點),在每個掃描周期的末尾,CPU將輸出映像寄存器的數(shù)據(jù)傳送給輸出模塊,再由后者驅(qū)動外部負載。
可以按位、字節(jié)、字、雙字四種方式來存取。
(1)按“位”方式:從Q0.0~I15.7,共有128點
(2)按“字節(jié)”方式:從QB0~QB15,共有16個字節(jié)
(3)按“字”方式:從QW0~QW14,共有8個字
(4)按“雙字”方式:從QD0~QD12,共有4個雙字
說明:實際沒有使用的輸入端和輸出端的映象區(qū)的存儲單元可以作中間繼電器用。
(二)模擬量輸入映象區(qū)和輸出映象區(qū)
1.模擬量輸入映象區(qū)(AI區(qū))
模擬量輸入映象區(qū)是S7-200CPU為模擬量輸入端信號開辟的一個存儲區(qū)。S7-200將測得的模擬量(如溫度、壓力)轉(zhuǎn)換成1個字長(2個字節(jié))的數(shù)字量,模擬量輸入映像寄存器用標識符(AI)、數(shù)據(jù)長度(W)及字節(jié)的起始地址表示。
從AIW0~AIW30,共有16個字,總共允許有16路模擬量輸入。
說明:模擬量輸入值為只讀數(shù)據(jù)。
2.模擬量輸出映象區(qū)(AQ區(qū))
模擬量輸出映象區(qū)是S7-200CPU為模擬量輸出端信號開辟的一個存儲區(qū)。S7-200將1個字長(2個字節(jié),16位)的數(shù)字量按比例轉(zhuǎn)換為電流或電壓。模擬量輸出映像寄存器用標識符(AQ)、數(shù)據(jù)長度(W)及字節(jié)的起始地址表示。
從AQW0~AQW30,共有16個字,總共允許有16路模擬量輸出。
(三)變量存儲器(V)(相當于內(nèi)輔繼電器)
PLC執(zhí)行程序過程中,會存在一些控制過程的中間結(jié)果,這些中間數(shù)據(jù)也需要用存儲器來保存。變量存儲器就是根據(jù)這個實際的要求設計的。變量存儲器是S7-200CPU為保存中間變量數(shù)據(jù)而建立的一個存儲區(qū),用V表示。
可以按位、字節(jié)、字、雙字四種方式來存取。
(1)按“位”方式:從V0.0~I5119.7,共有40960點。CPU221、CPU222變量存儲器只有2048個字節(jié),其變量存儲區(qū)只能到V2047.7位。
(2)按“字節(jié)”方式:從VB0~VB5119,共有5120個字節(jié)
(3)按“字”方式:從VW0~VW5118,共有2560個字
(4)按“雙字”方式:從VD0~VD5116,共有1280個雙字
(四)位存儲器(M)區(qū)
PLC執(zhí)行程序過程中,可能會用到一些標志位,這些標志位也需要用存儲器來寄存。位存儲器就是根據(jù)這個要求設計的。位存儲器是S7-200CPU為保存標志位數(shù)據(jù)而建立的一個存儲區(qū),用M表示。該區(qū)雖然叫位存儲器,但是其中的數(shù)據(jù)不僅可以是位、還可以是字節(jié)、字或雙字。
(1)按“位”方式:從M0.0~M31.7,共有256點。
(2)按“字節(jié)”方式:從MB0~MB31,共有32個字節(jié)
(3)按“字”方式:從MW0~MW30,共有16個字
(4)按“雙字”方式:從MD0~MD28,共有8個雙字
(五)順序控制繼電器區(qū)(S)
PLC執(zhí)行程序過程中,可能會用到順序控制。順序控制繼電器就是根據(jù)順序控制的特點和要求設計的。順序控制繼電器區(qū)是S7-200CPU為順序控制繼電器的數(shù)據(jù)而建立的一個存儲區(qū),用S表示。在順序控制過程中,用于組織步進過程的控制。
可以按位、字節(jié)、字、雙字四種方式來存取。
(1)按“位”方式:從S0.0~S31.7,共有256點。
(2)按“字節(jié)”方式:從SB0~SB31,共有32個字節(jié)
(3)按“字”方式:從SW0~SW30,共有16個字
(4)按“雙字”方式:從SD0~SD28,共有8個雙字
(六)局部存儲器區(qū)(L)(相當于內(nèi)輔繼電器)
S7-200PLC有64個字節(jié)的局部存儲器,其中60個可以用作暫時存儲器或者給子程序傳遞參數(shù)。
局部存儲器和變量存儲器很相似,主要區(qū)別是變量存儲器是全局有效的,而局部存儲器是局部有效的。全局是指同一個存儲器可以被任何程序存?。ɡ?,主程序、子程序或中斷程序)。局部是指導存儲器區(qū)和特定的程序相關(guān)聯(lián)。
幾種程序之間不能互訪。
局部存儲器區(qū)是S7-200CPU為局部變量數(shù)據(jù)建立的一個存儲區(qū),用L表示。該區(qū)域的數(shù)據(jù)可以用位、字節(jié)、字、雙字四種方式來存取。
(1)按“位”方式:從L0.0~L63.7,共有512點。
(2)按“字節(jié)”方式:從LB0~LB63,共有64個字節(jié)
(3)按“字”方式:從LW0~LW62,共有32個字
(4)按“雙字”方式:從LD0~LD60,共有16個雙字
(七)定時器存儲器區(qū)(T)
PLC在工作中少不了需要計時,定時器就是實現(xiàn)PLC具有計時功能的計時設備。定時器的編號:
T0、T1、……、T255
S7-200有256個定時器。
(八)計數(shù)器存儲器區(qū)(C)
PLC在工作中有時不僅需要計時,還可能需要計數(shù)功能。計數(shù)器就是PLC具有計數(shù)功能的計數(shù)設備。
計數(shù)器的編號:
C0、C1、……、C255
(九)高速計數(shù)器區(qū)(HSC)
高速計數(shù)器用來累計比CPU掃描速率更快的事件。S7-200各個高速計數(shù)器不僅計數(shù)頻率高達30kHz。
S7-200各個高速計數(shù)器有32位帶符號整數(shù)計數(shù)器的當前值。若要存取高速計數(shù)器的值,則必須給出高速計數(shù)器的地址,即高速計數(shù)器的編號。
高速計數(shù)器的編號為:HSC0、HSC1、……、HSC5。
S7-200有6個高速計數(shù)器。其中CPU221和CPU222僅有4個高速計數(shù)器(HSC0、HSC3、HSC4、HSC5)
(十)累加器區(qū)(AC)
累加器是可以像存儲器那樣進行讀/寫的設備。例如,可以用累加器向子程序傳遞參數(shù),或從子程序返回參數(shù),以及用來存儲計算的中間數(shù)據(jù)。
S7-200CPU提供了4個32位累加器(AC0、AC1、AC2、AC3)。
可以按字節(jié)、字或雙字來存取累加器數(shù)據(jù)中的數(shù)據(jù)。但是,以字節(jié)形式讀/寫累加器中的數(shù)據(jù)時,只能讀/寫累加器32位數(shù)據(jù)中的最低8位數(shù)據(jù)。如果是以字的形式讀/寫累加器中的數(shù)據(jù),只能讀/寫累加器32位數(shù)據(jù)中的低16位數(shù)據(jù)。只有采取雙字的形式讀/寫累加器中的數(shù)據(jù)時,才能一次讀寫全部32位數(shù)據(jù)。
因為PLC的運算功能是離不開累加器的。因此不有像占用其他存儲器那樣占用累加器。
(十一)特殊存儲器區(qū)(SM)
特殊存儲器是S7-200PLC為CPU和用戶程序之間傳遞信息的媒介。它們可以反映CPU在運行中的各種狀態(tài)信息,用戶可以根據(jù)這些信息來判斷機器工作狀態(tài),從而確定用戶程序該做什么,不該做什么。這些特殊信息也需要用存儲器來寄存。特殊存儲器就是根據(jù)這個要求設計的。
1.特殊存儲器區(qū)
它是S7-200PLC為保存自身工作狀態(tài)數(shù)據(jù)而建立的一個存儲區(qū),用SM表示。特殊存儲器區(qū)的數(shù)據(jù)有些是可讀可寫的,有一些是只讀的。特殊存儲器區(qū)的數(shù)據(jù)可以是位,也可是字節(jié)、字或雙字。
(1)按“位”方式:從SM0.0~SM179.7,共有1440點。
(2)按“字節(jié)”方式:從SM0~SM179,共有180個字節(jié)
(3)按“字”方式:從SMW0~SMW178,共有90個字
(4)按“雙字”方式:從SMD0~SMD176,共有45個雙字
說明:特殊存儲器區(qū)的頭30個字節(jié)為只讀區(qū)。
2.常用的特殊繼電器及其功能
特殊存儲器用于CPU與用戶之間交換信息,例如SM0.0一直為“1”狀態(tài),SM0.1僅在執(zhí)行用戶程序的第一個掃描周期為“1”狀態(tài)。SM0.4和SM0.5分別提供周期為1min和1s的時鐘脈沖。SM1.0、 SM1.1和 SM1.2分別是零標志、溢出標志和負數(shù)標志。
S7-200 PLC高速計數(shù)器指令的使用簡介
(1)每個高速計數(shù)器都有一個32位當前值和一個32位預置值,當前值和預設值均為帶符號的整數(shù)值。要設置高速計數(shù)器的新當前值和新預置值,必須設置控制字節(jié)(表6-7),令其第五位和第六位為1,允許更新預置值和當前值,新當前值和新預置值寫入特殊內(nèi)部標志位存儲區(qū)。然后執(zhí)行HSC指令,將新數(shù)值傳輸?shù)礁咚儆嫈?shù)器。當前值和預置值占用的特殊內(nèi)部標志位存儲區(qū)如表1所示。
表1 HSC0-HSC5當前值和預置值占用的特殊內(nèi)部標志位存儲區(qū)
要裝入的數(shù)值
HSC0
HSC1
HSC2
HSC3
HSC4
HSC5
新的當前值
SMD38
SMD48
SMD58
SMD138
SMD148
SMD158
新的預置值
SMD42
SMD52
SMD62
SMD142
SMD152
SMD162
除控制字節(jié)以及新預設值和當前值保持字節(jié)外,還可以使用數(shù)據(jù)類型HC(高速計數(shù)器當前值)加計數(shù)器號碼(0、1、2、3、4或5)讀取每臺高速計數(shù)器的當前值。因此,讀取操作可直接讀取當前值,但只有用上述HSC指令才能執(zhí)行寫入操作。
(2)執(zhí)行HDEF指令之前,必須將高速計數(shù)器控制字節(jié)的位設置成需要的狀態(tài),否則將采用默認設置。默認設置為:復位和起動輸入高電平有效,正交計數(shù)速率選擇4×模式。執(zhí)行HDEF指令后,就不能再改變計數(shù)器的設置,除非CPU進入停止模式。
(3)執(zhí)行HSC指令時,CPU檢查控制字節(jié)和有關(guān)的當前值和預置值。