參考一下:
程序通過先設(shè)定計數(shù)器的值,本例中設(shè)定值為10;按設(shè)備啟動按鈕I0.1啟動設(shè)備,運行后通過信號輸入點I0.0進行計數(shù),當(dāng)計數(shù)當(dāng)前值等于設(shè)定值10時,輸出點斷開,設(shè)備運行停止。I0.2為設(shè)備停止按鈕。 程序如下:
LD SM0.1
MOVB 16#C8, SMB37
HDEF 0, 0
MOVD +0, SMD38
HSC 0
上述程序注解:(1)對高數(shù)記數(shù)器HSC0初始化,寫入控制字節(jié)(16#C8含義為:要求進行初始值設(shè)定;不裝入預(yù)設(shè)值;運行中不要求更改計數(shù)方向;計數(shù)器類型為增。) (2)執(zhí)行HDEF指令,進行高速計數(shù)器工作模式的選定設(shè)置(計數(shù)器為HSC0;模式為0) (3)初始值設(shè)定:裝載高數(shù)記數(shù)器初始值為0 (4)執(zhí)行HSC指令,寫入HSC0設(shè)置。 LDN M14.0
EU MOVB
16#C8, SMB37
MOVD +0, SMD38
HSC 0
上述程序注解:當(dāng)記速值達到要求值時,M14.0復(fù)位,高速計數(shù)器計數(shù)將復(fù)位為初始值,以備下次計數(shù)使用。
LDD< HC0, +10
= M14.0
上述程序注解:當(dāng)計數(shù)器值小于10 時,M14.0始終處于置位狀態(tài)。
LD I0.1
O Q0.0
AN I0.2
A M14.0
= Q0.0
上述程序注解:I0.1為設(shè)備啟動信號;I0.2為設(shè)備停止信號。高速計數(shù)器累計值達到10 時,設(shè)備運行停止。