6ES7223-1BF22-0XA0西門子PLC代理商 6ES7223-1BF22-0XA0西門子PLC代理商
S7-200 CPU224有 HSC0-HSC5六個(gè)高速計(jì)數(shù)器,每個(gè)高速計(jì)數(shù)器有多種不同的工作模式。HSC0和HSC4有模式0、1、3、4、6、7、8、9、10;HSC1和HSC2有模式0~模式11;HSC3和HSC5有模式只有模式0。每種高速計(jì)數(shù)器所擁有的工作模式和其占有的輸入端子的數(shù)目有關(guān)。如表1所示。
表1 高速計(jì)數(shù)器的工作模式和輸入端子的關(guān)系及說明
HSC編號(hào)及其對(duì)應(yīng) 的輸入 端子
HSC模式 | 功能及說明 | 占用的輸入端子及其功能 | |||
HSC0 | I0.0 | I0.1 | I0.2 | × | |
HSC4 | I0.3 | I0.4 | I0.5 | × | |
HSC1 | I0.6 | I0.7 | I1.0 | I1.1 | |
HSC2 | I1.2 | I1.3 | I1.4 | I1.5 | |
HSC3 | I0.1 | × | × | × | |
HSC5 | I0.4 | × | × | × | |
0 | 單路脈沖輸入的內(nèi)部方向控制加/減計(jì)數(shù)??刂谱?/span>SM37.3=0,減計(jì)數(shù); SM37.3=1,加計(jì)數(shù)。 | 脈沖輸入端 | × | × | × |
1 | × | 復(fù)位端 | × | ||
2 | × | 復(fù)位端 | 起動(dòng) | ||
3 | 單路脈沖輸入的外部方向控制加/減計(jì)數(shù)。方向控制端=0,減計(jì)數(shù); 方向控制端=1,加計(jì)數(shù)。 | 脈沖輸入端 | 方向控制端 | × | × |
4 | 復(fù)位端 | × | |||
5 | 復(fù)位端 | 起動(dòng) | |||
6 | 兩路脈沖輸入的單相加/減計(jì)數(shù)。 加計(jì)數(shù)有脈沖輸入,加計(jì)數(shù); 減計(jì)數(shù)端脈沖輸入,減計(jì)數(shù)。 | 加計(jì)數(shù)脈沖輸入端 | 減計(jì)數(shù)脈沖輸入端 | × | × |
7 | 復(fù)位端 | × | |||
8 | 復(fù)位端 | 起動(dòng) | |||
9 | 兩路脈沖輸入的雙相正交計(jì)數(shù)。 A相脈沖超前B相脈沖,加計(jì)數(shù); A相脈沖滯后B相脈沖,減計(jì)數(shù)。 | A相脈沖輸入端 | B相脈沖輸入端 | × | × |
10 | 復(fù)位端 | × | |||
11 | 復(fù)位端 | 起動(dòng) |
說明:表中×表示沒有
選用某個(gè)高速計(jì)數(shù)器在某種工作方式下工作后,高速計(jì)數(shù)器所使用的輸入不是任意選擇的,必須按系統(tǒng)的輸入點(diǎn)輸入信號(hào)。如HSC1在模式11下工作,就必須用I0.6為A相脈沖輸入端,I0.7為 B相脈沖輸入端,I1.0為復(fù)位端,I1.1為起動(dòng)端。
西門子S7-200PLC高速計(jì)數(shù)器指令的初始化的步驟
高速計(jì)數(shù)器指令的初始化的步驟如下:
(1)用掃描時(shí)接通一個(gè)掃描周期的特殊內(nèi)部存儲(chǔ)器SM0.1去調(diào)用一個(gè)子程序,完成初始化操作。因?yàn)椴捎昧俗映绦颍陔S后的掃描中,不必再調(diào)用這個(gè)子程序,以減少掃描時(shí)間,使程序結(jié)構(gòu)更好。
(2) 在初始化的子程序中,根據(jù)希望的控制設(shè)置控制字(SMB37、SMB47、SMB137、SMB147、SMB157),如設(shè)置SMB47=16#F8,則為:允許計(jì)數(shù),寫入新當(dāng)前值,寫入新預(yù)置值,更新計(jì)數(shù)方向?yàn)榧佑?jì)數(shù),若為正交計(jì)數(shù)設(shè)為4×,復(fù)位和起動(dòng)設(shè)置為高電平有效。
(3)執(zhí)行HDEF指令,設(shè)置HSC的編號(hào)(0-5),設(shè)置工作模式(0-11)。如HSC的編號(hào)設(shè)置為1,工作模式輸入設(shè)置為11,則為既有復(fù)位又有起動(dòng)的正交計(jì)數(shù)工作模式。
(4)用新的當(dāng)前值寫入32位當(dāng)前值寄存器(SMD38,SMD48,SMD58 ,SMD138, SMD148, SMD158)。如寫入0,則清除當(dāng)前值,用指令MOVD 0,SMD48實(shí)現(xiàn)。
(5)用新的預(yù)置值寫入32位預(yù)置值寄存器(SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD162)。如執(zhí)行指令MOVD 1000,SMD52,則設(shè)置預(yù)置值為1000。若寫入預(yù)置值為16#00,則高速計(jì)數(shù)器處于不工作狀態(tài)。
(6)為了捕捉當(dāng)前值等于預(yù)置值的事件,將條件CV=PV中斷事件(事件13)與一個(gè)中斷程序相聯(lián)系。
(7)為了捕捉計(jì)數(shù)方向的改變,將方向改變的中斷事件(事件14)與一個(gè)中斷程序相聯(lián)系。
(8)為了捕捉外部復(fù)位,將外部復(fù)位中斷事件(事件15)與一個(gè)中斷程序相聯(lián)系。
(9)執(zhí)行全局中斷允許指令(ENI)允許HSC中斷。
(10)執(zhí)行HSC指令使S7-200對(duì)高速計(jì)數(shù)器進(jìn)行編程。
(11)結(jié)束子程序。