本程序皆經(jīng)過本人上機(jī)測試正常后發(fā)出;本意是能讓plc初學(xué)者迅速掌握西門子s7-200plc高速計(jì)數(shù)器的基本使用方法,所以程序盡量加以簡化,以便大家學(xué)習(xí);同時也希望能起到拋磚引玉的效果,多得到plc高人的指點(diǎn),使自己有更多的領(lǐng)悟,結(jié)識更多的朋友、導(dǎo)師。
程序通過先設(shè)定計(jì)數(shù)器的值,本例中設(shè)定值為13;按設(shè)備啟動按鈕i0.1啟動設(shè)備,運(yùn)行后通過信號輸入點(diǎn)i0.0進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)當(dāng)前值等于設(shè)定值13時,輸出點(diǎn)斷開,設(shè)備運(yùn)行停止。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含義為:要求進(jìn)行初始值設(shè)定;不裝入預(yù)設(shè)值;運(yùn) 行中不要求更改計(jì)數(shù)方向;計(jì)數(shù)器類型為增。)
(2)執(zhí)行hdef指令,進(jìn)行高速計(jì)數(shù)器工作模式的選定設(shè)置(計(jì)數(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)記速值達(dá)到要求值時,m14.0復(fù)位,高速計(jì)數(shù)器計(jì)數(shù)將復(fù)位為初始值,以備下次計(jì)數(shù)使用。
ldd< hc0, +13
= m14.0
上述程序注解:當(dāng)計(jì)數(shù)器值小于13 時,m14.0始終處于置位狀態(tài)。
ld i0.1
o q0.0
an i0.2
a m14.0
= q0.0
上述程序注解:i0.1為設(shè)備啟動信號;i0.1為設(shè)備停止信號。高速計(jì)數(shù)器累計(jì)值達(dá)到13 時,設(shè)備運(yùn)行停止。
西門子s7-200plc高速計(jì)數(shù)器的使用方法(二)
本例程序設(shè)計(jì)的背景:(中斷單點(diǎn)控制)
程序是通過一個板材自動定長剪切設(shè)備工作程序簡單設(shè)計(jì)進(jìn)行高數(shù)計(jì)數(shù)器和中斷指令的使用。
工作要求為:啟動設(shè)備,料滾電機(jī)工作帶動板材進(jìn)行送料,同時由計(jì)數(shù)器記錄長度脈沖信號,當(dāng)達(dá)到脈 沖預(yù)設(shè)值時,即板材設(shè)定長度時,中斷指令發(fā)信號,停止料滾電機(jī)工作,執(zhí)行壓料、裁 剪,裁剪完成后,壓料閥和料剪同時復(fù)位,料滾電機(jī)工作,進(jìn)行下一次裁剪,周而復(fù)始。
程序拓展:可根據(jù)實(shí)際需要設(shè)計(jì)成鋼板的定長裁剪;或流量的控制。
通過本程序?qū)W習(xí),可加深高數(shù)計(jì)數(shù)器指令和中斷指令的使用了解。i0.0為計(jì)數(shù)脈沖輸入點(diǎn)。
主程序:
network 1 // 開機(jī)調(diào)用子程序,進(jìn)行高數(shù)記速器的參數(shù)設(shè)定
ld sm0.0
call sbr0
network 2 // 送料電機(jī)啟動控制
ld i1.1
o t39
s q0.0, 1
network 3 // 送料電機(jī)停止控制
ld i1.0
r q0.0, 3
network 4 // 壓緊時間設(shè)置
ld q0.1
ton t37, 15
network 5
ld t37
s q0.2, 1
network 6 // 剪裁時間設(shè)置
ld q0.2
ton t38, 10
network 7 // 壓板、裁刀復(fù)位時間設(shè)定
ld t38
ld m0.0
an t39
old
r q0.1, 1
ton t39, 20
= m0.0
r q0.2, 1
network 8 // 程序調(diào)試計(jì)數(shù)器運(yùn)行檢測;實(shí)際中可刪除。
ld sm0.0
movd hc0, vd30
子例行程序及注解:
第一條為設(shè)定高數(shù)計(jì)數(shù)器參數(shù):16#e8=11101000。含義是:啟用計(jì)數(shù)器;可更新當(dāng)前值即smd38;允許更新設(shè)定值即smd42;不更改計(jì)數(shù)方向。
ld sm0.1
movb 16#e8, smb37 設(shè)定高數(shù)計(jì)數(shù)器參數(shù);
movd +0, smd38 設(shè)定當(dāng)前值smd38=0
movd +20, smd42 設(shè)定預(yù)裝值smd42=20;
hdef 0, 0 選用0#記速器連接12號中斷事件
atch int0, 12
eni 開中斷;
hsc 0 開啟0#計(jì)速器
中斷例行程序注解:
ld sm0.0
r q0.0, 1 中斷執(zhí)行,q0.0失電料滾停轉(zhuǎn)
movb 16#e8, smb37 重新設(shè)置高數(shù)計(jì)數(shù)器控制參數(shù)smb37
movd 0, smd38 清空高數(shù)計(jì)數(shù)器當(dāng)前值smd38。
hsc 0 執(zhí)行高數(shù)計(jì)數(shù)器指令hsc0。
s q0.1, 1 中斷執(zhí)行,壓板控制得電工作開始。