《[西門子S7200]s7200高速計數(shù)器詳細解說》由會員分享,可在線閱讀,更多相關《[西門子S7200]s7200高速計數(shù)器詳細解說(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、S7-200高速計數(shù)器詳細解說
1?高速計數(shù)器指令
普通計數(shù)器受CPU掃描速度的影響,是按照順序打描的方式進行工作。在沒個掃描周期中,對計數(shù)脈沖只能進行一次累加;對于脈沖信號的頻率比PLC的掃描頻率高時,如果仍采用普通計數(shù)器進行累加,必然會丟失很對輸入脈沖信號。在PLC中,對比打描頻率高的輸入信號的計數(shù)可也使用高速計數(shù)器指令來實現(xiàn)。
在S7-200的CPU22X中,高速計數(shù)器數(shù)量及其地址編號表如K
CPU類型
CPU221
CPU222
CPU224
CPU226
高速計數(shù)器數(shù)量
4
6
高速計數(shù)器編號
HC0,HC3?HC5
HC0?HC5
1.高速計數(shù)器指
2、令
高速計數(shù)器的指令包扌舌:定義高速計數(shù)器指令HDEF和執(zhí)行高速計數(shù)指令HSC,如表
HDEF
HSC
HDEF
II1
ENENO
HSC
A
ENENO
—)1
HSC
?????
MODE
????
N
(1)定義高速計數(shù)器指令HDEF
HDE指令功能是為某個要使用的高速計數(shù)器選定一種工作模式。每個高速計數(shù)器在使用前,都要用HDEF指令來定義工作模式,并且只能用一次。它有兩個輸入端:HSC為要使用的高速計數(shù)器編號,數(shù)據(jù)類型為字節(jié)型,數(shù)據(jù)范闌為0?5的常數(shù),分別對應HC
3、O?HC5;MOCE為高速計數(shù)的工作模式,數(shù)據(jù)類型為字節(jié)型,數(shù)據(jù)范圍為0?11的常數(shù),分別對應12種工作模式。當準許輸入使能EN有效時,為指定的高速計數(shù)器HSC定義工作模式MODEo
(2)執(zhí)行高速計數(shù)指令HSC
HSC指令功能功能是根據(jù)與高速計數(shù)器相關的特殊繼電器確定在控制方式和工作狀態(tài),使高速計數(shù)器的設置生效,按照指令的工作模式的工作模式執(zhí)行計數(shù)操作。它有一個數(shù)據(jù)輸入端N:N為高速計數(shù)器的編號,數(shù)據(jù)類型的字型,數(shù)據(jù)范闈為0?5的常數(shù),分別對應高速計數(shù)器HC0?HC5.當準許輸入EN使能有效時,啟動N號高速計數(shù)器工作。
2.高速計數(shù)器的輸入端
高速計數(shù)器的輸入端不像普通輸入端那樣有用
4、戶定義,而是由系統(tǒng)指定的輸入點輸入信號,每個高速計數(shù)器對它所支持的脈沖輸入端,方向控制,復位和啟動都有專用的輸入點,通過比較或中斷完成預定的操作。每個高速計數(shù)器專用的輸入點如表
高速計數(shù)器的輸入點
高速計數(shù)器標號
輸入點
高速計數(shù)器標號
輸入點
HC0
10.0,10.1,10.2
HC3
10.1
HC1
10610.7,11011.1
HC4
103104,10.5
HC2
I1.2J1.3J1.4J1.5
HC5
10.4
3.高速計數(shù)器的狀態(tài)字節(jié)
系統(tǒng)為每個高速計數(shù)器都在特殊寄存器區(qū)SMB提供了一個狀態(tài)字節(jié),為了監(jiān)視高速計數(shù)器的工作
5、狀態(tài),執(zhí)行由高速計數(shù)器引用的中斷事件,其格式如表。
高速計數(shù)器的狀態(tài)字節(jié)
HC0
HC1
HC2
HC3
HC4
HC5
描述
SM36.0
SM46.0
SM56.0
SM36.0
SM146.0
SM156.0
不用
SM36.1
SM46.1
SM56.1
SM36.1
SM146.1
SM156.1
SM36.2
SM46.2
SM56.2
SM36.2
SM146.2
SM156.2
SM36.3
SM46.3
SM56.3
SM36.3
SM146.3
SM156.3
SM36.4
SM46.4
SM56.4
6、
SM36.4
SM146.4
SM156.4
SM36.5
SM46.5
SM56.5
SM36.5
SM146.5
SM156.5
當前計數(shù)的狀態(tài)位0=
減計數(shù),1=增計數(shù)
SM36.6
SM46.6
SM56.6
SM36.6
SM146.6
SM156.6
當前值等于設定值的狀態(tài)位0=不等于,匸等于
SM36.7
SM46.7
SM56.7
SM36.7
SM146.7
SM156.7
當前值大于設定值得狀態(tài)位0=小于等于,1=大于
只有執(zhí)行高速計數(shù)器的中斷程序時,狀態(tài)字節(jié)的狀態(tài)位才有效。
4.高速計數(shù)器的工作模式
高速計數(shù)器有
7、12種不同的工作模式(0、?11),分為4類。每個高速計數(shù)器都有多種工作模式,可以通過編程的方法,使用定義高速計數(shù)器指令HDEF來選定工作模式。
(1)各個高速計數(shù)器的工作模式
1. 高速計數(shù)器HC0是一個通用的增減計數(shù)器,工有8種模式,口J?也通過編程來選擇不同的工作模式,HC0的工作模式如表
HC0的工作模式
模式
描述
控制位
10.0
10.1
10.2
0
內部方向控制的單向增/減計數(shù)器
SM37.3=0,減
脈沖
1
SM37.3=1,增
復位
3
外部方向控制的單向增/減計數(shù)器
10.1=0,減
脈沖
方向
4
10.1=
8、1,增
復位
6
增/減計數(shù)脈沖輸入控制的雙向計數(shù)器
外部輸入控制
曾計數(shù)脈沖
減計數(shù)脈沖
7
復位
9
A/B相正交計數(shù)器
A超前B,曾計數(shù)
外部輸入控制
A相脈沖
B相脈沖
10
B超前A,
復位
減計數(shù)
2高速計數(shù)器HC1共有12種操作模式如表
HCI的操作模式
模式
描述
控制位
10.6
10.7
11.0
11.1
0
內部方向控制的單向增/減計數(shù)器
SM47.3=0,減
SM47.3=1,增
脈沖
1
復位
2
啟動
3
外部方向控制的單向增/減計數(shù)器
9、
10.7=0,減
10.7=1,增
脈沖
方向
4
復位
5
啟動
6
增/減計數(shù)脈沖輸入控制的雙向計數(shù)器
外部輸入控制
曾計數(shù)
脈沖
減計數(shù)
脈沖
7
復位
8
啟動
9
AB相正交計數(shù)器
A超前B,曾計數(shù)
B超前A,減計數(shù)
外部輸入控制
A相脈沖
B相
Me
10
復位
11
啟動
3.高速計數(shù)器HC2共有12種操作模式,如表
HC2的操作模式
模式
描述
控制位
11.2
113
11.4
11.5
0
內部方向控制的單向增/減計數(shù)器
SM573=0,減
SM57.3=1,
10、增
脈沖
1
復位
2
啟動
3
外部方向控制的單向增/減計數(shù)器
11.3=0,減
11.3=1,增
脈沖
方向
4
復位
5
啟動
6
增/減計數(shù)脈沖輸入控制的雙向計數(shù)器
外部輸入控制
曾計數(shù)
脈沖
減計數(shù)
脈沖
7
復位
8
啟動
9
AB相正交計數(shù)器
A超前B,曾計數(shù)
B超前A,減計數(shù)
外部輸入控制
A相脈沖
B相
Me
10
復位
11
啟動
4高速計數(shù)器HC3只有一種操作模式,如表
HC3的操作模式
模式
描述
控制位
10.1
0
內部方向控制的單向增
11、/減計數(shù)器
SM137.0=0,減;
SM137.3=1,增
脈沖
5.高速計數(shù)器HC4有8操作模式,如表
HC4的操作模式
模式
描述
控制位
103
10.4
10.5
0
內部方向控制的單向增/減計數(shù)器
SM147.3=0?減
脈沖
1
SM147.3=l,i曾
復位
3
外部方向控制的單向增/減計數(shù)
10.1=0,減
脈沖
方向
4
器
10.1=1,增
復位
6
增/減計數(shù)脈沖輸入控制的雙向計數(shù)器
外部輸入控制
增計數(shù)
脈沖
減計數(shù)脈沖
7
復位
9
AB相正交計數(shù)器
A超前B
12、,曾計數(shù)
外部輸入控制
A相脈沖
B相脈沖
10
B超前A,減計數(shù)
復位
6.高速計數(shù)器HC5只有一種操作模式如表
HC5的操作模式
模式
描述
控制位
10.4
0
內部方向控制的單向增/減計數(shù)器
SM1573=0,減SM157.3=1,增
脈沖
4.高速計數(shù)器的控制字節(jié)
系統(tǒng)為每個高速計數(shù)器都安排了一個特殊寄存器SNIB作為控制字,可也通過對控制字節(jié)指定為的設置,確定高速計數(shù)器的工作模式。S7-200在執(zhí)行HSC指令前,首先要檢查與每個高速計數(shù)器相關的控制字節(jié),在控制字節(jié)中設置了啟動輸入信號和復位輸入信號的有效電平,正交計數(shù)器的計數(shù)倍率,計數(shù)
13、方向采用內部控制的有效電平,是否允許改變計數(shù)方向,是否允許更新設定值,是否允許更新當前值,以及是否允許執(zhí)行高速計數(shù)指令。
高數(shù)計數(shù)器的控制字節(jié)
HCO
HC1
HC2
HC3
HC4
HC5
描述
SM37.0
SM47.0
SM57.0
—
SM147.0
復位輸入控制電平有效值:、
0=高電平有效,1=低電平有效
—
SM47.1
SM57.1
—
啟動輸入控制電平有效值:
0=高電平有效,1=低電平有效
SM37.2
SM47.2
SM57.2
SM147.2
倍率選擇:0=4倍率,1=1倍率
SM37.3
SM
14、47.3
SM57.3
SM137.3
SM147.3
SM157.3
計數(shù)方向控制:0為減1為曾
SM37.4
SM47.4
SM57.4
SM137.4
SM147.4
SM157.4
改變計數(shù)方向控制:0=不改變
1=準許改變
SM37.5
SM47.5
SM57.5
SM137.5
SM147.5
SM157.5
改變設定值控制:0=不改變
1=準許改變
SM37.6
SM47.6
SM57.6
SM137.6
SM147.6
SM157.6
改變當前值控制:0=不改變
1=準許改變
SM37.7
SM47.7
SM57.
15、7
SM137.7
SM147.7
SM157.7
高速計數(shù)控制:o-禁止計數(shù)
1=準許計數(shù)
說明:
(1)在高速計數(shù)器的12種工作模式中,模式0、模式3、模式6和模式9,是既無啟動輸入,又無復位輸入的計數(shù)器,在模式1、模式4、模式7和模式10中,是只有復位輸入,而沒有啟動輸入的計數(shù)器;在模式2、模式5、模式8和模式11中,是既有啟動輸入,又有復位輸入的計數(shù)器。
(2)當啟動輸入有效時,允許計數(shù)器計數(shù);當啟動輸入無效時,計數(shù)器的當前值保持不變:當復位輸入有效時,將計數(shù)器的當前值寄存器清零;當啟動輸入無效,而復位輸入有效時,則忽略復位的影響,計數(shù)器的當前值保持不變:當復位輸入
16、保持有效,啟動輸入變?yōu)橛行r,則將計數(shù)器的當前值寄存器清零。
(3)在S7-200中,系統(tǒng)默認的復位輸入和啟動輸入均為高電平有效,正交計數(shù)器為4倍頻,如果想改變系統(tǒng)的默認設置,需要設置如上表中的特殊繼電器的第0,1,2位。
各個高速計數(shù)器的計數(shù)方向的控制,設定值和當前值的控制和執(zhí)行高速計數(shù)的控制,是由表4-22中各個相關控制字節(jié)的第3位至第7位決定的。
6?高速計數(shù)器的當前值寄存器和設定值寄存器
每個高速計數(shù)器都有1個32位的經(jīng)過值寄存器HC0-HC5,同時每個高速計數(shù)器還有1個32位的當前值寄存器和1個32位的設定值寄存器,當前值和設定值都是有符號的整數(shù)。為了向高速計數(shù)器裝入新的當前
17、值和設定值,必須先將當前值和設定值以雙字的數(shù)據(jù)類型裝入如表所列的特殊寄存器中。然后執(zhí)行HSC指令,才能將新的值傳送給高速計數(shù)器。
高速計數(shù)器的當前值和設定值
HC0
HC1
HC2
HC3
HC4
HC5
說明
SMD38
SMD48
SMD58
SMD138
SNID148
SMD158
新當前值
SMD42
SMD52
SMD62
SMD142
SNID152
SMD162
新設定值
7?高速計數(shù)器的初始化
由于高速計數(shù)器的HDEF指令在進入RUN模式后只能執(zhí)行1次,為了減少程序運行時間優(yōu)化程序結構,一般以子程序的形式進行初始化。下面以H
18、C2為例,介紹高速計數(shù)器的各個工作模式的初始化步驟。
1. 利用SM0.1來調用一個初始化子程序。
2. 在初始化子程序中,根據(jù)需要向SMB47裝入控制字。例如,SMB47=16#F8,其意義是:準許寫入新的當前值,準許寫入新的設定值,計數(shù)方向為曾計數(shù),啟動和復位信號為高電平有效。
3. 執(zhí)行HDEF指令,其輸入?yún)?shù)為:HSC端為2(選擇2號高速計數(shù)器),MODE端為0/1/2(對應工作模式0,模式1,模式2)
4. 將希塑的當前技術值裝入SMD58(裝入0可進行計數(shù)器的清零操作)
5. 將希望的設定值裝入SMD62
6. 如果希塑捕獲當前值等于設定值的中斷事件,編寫與中斷事件號1
19、6相關聯(lián)的中斷服務程序
7. 如果希塑捕獲外部復位中斷事件,編寫與中斷事件號18相關聯(lián)的中斷服務程序。
8. 執(zhí)行ENI指令
9. 執(zhí)行HSC指令
10. 退出初始化子程序
8高速計數(shù)器應用舉例
某產(chǎn)品包裝生產(chǎn)線用高速計數(shù)器對產(chǎn)品進行累計和包裝,每檢測1000個產(chǎn)品時,自動啟動包裝機進行包裝,計數(shù)方向可由外部信號控制,。
設計步驟:
1. 選擇高速計數(shù)器,確定工作模式
在本例中,選擇的高速計數(shù)器為HC0,由于要求技術方向可由外部信號控制,而其不要復位信號輸入,確定工作模式為模式3,采用當前值等于設定值得中斷爭件,中斷事件號為12,啟動包裝機工作子程序,高速計數(shù)器的初始化采用子
20、程序。
2. 用SM0.1調用高速計數(shù)器初始化子程序,子程序號為SBR_0
3. 向SMB37寫入控制字SMB37=16#F8
4. 執(zhí)行HDEF指令,輸入?yún)?shù):HSC為0,MODE為3
5. 向SMD38寫入當前值,SMD38=O
6. 向SMD42寫入設定值。SMD42=1000
7?,執(zhí)行建立中斷連接指令ATCH,輸入?yún)?shù):INT為INTOE'NT為12
&編寫中斷服務程序INTO,在本例中為調用包裝機控制子程序,子程序號為SBR
-1
9?執(zhí)行全局開中斷指令ENI
10-執(zhí)行HSC指令,對高速計數(shù)器編程并投入運行。
MAIN
SM0.1sbrZo
——IIEN
SBR0
SER_1包裝機控制程序不寫了
INT0