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