參考一下:
程序通過先設(shè)定計數(shù)器的值,本例中設(shè)定值為10;按設(shè)備啟動按鈕i0.1啟動設(shè)備,運行后通過信號輸入點i0.0進行計數(shù),當計數(shù)當前值等于設(shè)定值10時,輸出點斷開,設(shè)備運行停止。i0.2為設(shè)備停止按鈕。程序如下:
ldsm0.1
movb16#c8,smb37
hdef0,0
movd+0,smd38
hsc0
上述程序注解:(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è)置。ldnm14.0
eumovb
16#c8,smb37
movd+0,smd38
hsc0
上述程序注解:當記速值達到要求值時,m14.0復(fù)位,高速計數(shù)器計數(shù)將復(fù)位為初始值,以備下次計數(shù)使用。
ldd<hc0,+10
=m14.0
上述程序注解:當計數(shù)器值小于10時,m14.0始終處于置位狀態(tài)。
ldi0.1
oq0.0
ani0.2
am14.0
=q0.0
上述程序注解:i0.1為設(shè)備啟動信號;i0.2為設(shè)備停止信號。高速計數(shù)器累計值達到10時,設(shè)備運行停止。