朱志金,姚 翔,劉永寬
(江蘇揚(yáng)力數(shù)控機(jī)床有限公司,江蘇 揚(yáng)州 225009)
閉鎖開關(guān)在機(jī)床上使用的地方很多,但考慮到成本及其他因素,有時我們需要通過PIC編程控制的方法用非閉鎖按扭開關(guān)實現(xiàn)閉鎖開關(guān)功能。不同的PLC控制器編寫的程序稍有不同,但是其原理基本相同。
本文是在SIEMENS S7-300PLC控制器上對幾種編程方法進(jìn)行的總結(jié),總時序圖如圖1所示。圖1中,I7.0為面板非閉鎖按鈕輸入信號,Q40.0為輸出信號。以下描述中,“1”為高電平,“0”為低電平,M0.0,M0.1,M0.2等為系統(tǒng)內(nèi)部中間繼電器。
圖1 總時序圖
如圖2所示,首次按I7.0,通過一個周期循環(huán),Q40.0輸出置1,并通過Q40.0自鎖,Q40.0始終保持為1。以后循環(huán)中,由于I7.0還沒有再次得電,使得M0.1置0,M0.2置0,Q40.0通過自鎖始終保持為1。
再次按I7.0按鍵后,通過一個周期循環(huán),M0.1置0,M0.2置1,使得Q40.0輸出置0。再次循環(huán)后,由于I7.0還沒有再次得電,使得M0.1和M0.2均置0,Q40.0也為0,從而使得Q40.0輸出始終保持為0。
如圖3所示,首次按I7.0按鈕并松開,網(wǎng)絡(luò)1中通過中間繼電器M0.0自身自鎖使得M0.0始終為1,運(yùn)行至網(wǎng)絡(luò)2中,通過M0.0鎖定,Q40.0輸出始終為1。
再次按I7.0按鈕并松開,網(wǎng)絡(luò)1斷開,使得M0.0通過自身自鎖輸出始終為0,運(yùn)行至網(wǎng)絡(luò)2中,由于I7.0按鈕松開為0,M0.0自鎖始終為0,使得Q40.0輸出始終為0。
圖2 常用方法
圖3 使用下降沿
如圖4所示,首次按I7.0,經(jīng)過一個循環(huán)周期,Q40.0輸出為1,下一次及以后循環(huán),I7.0無上升沿,M0.0置0,Q40.0上個循環(huán)中為1,使得Q40.0輸出始終保持為1。
再次按I7.0,經(jīng)過一個循環(huán)周期,Q40.0輸出置0,繼續(xù)下一次循環(huán),I7.0無上升沿,M0.0置0,Q40.0為0,以后循環(huán)同樣原理,Q40.0始終保持為0,直到下一次I7.0信號到來。
圖4 使用上升沿
如圖5所示,首次按I7.0,經(jīng)過一個循環(huán)周期,通過置位指令功能,Q40.0置位為1,繼續(xù)循環(huán)至網(wǎng)絡(luò)1,當(dāng)松開I7.0按鈕后,通過置位功能,M0.0置位為1,繼續(xù)循環(huán),M0.0始終為1,Q40.0始終置位為1。
圖5 利用置位和復(fù)位指令
再次按I7.0,經(jīng)過一個循環(huán)周期,通過復(fù)位指令功能Q40.0復(fù)位為0,繼續(xù)循環(huán),當(dāng)I7.0按鈕松開后,通過一個周期循環(huán)M0.0復(fù)位為0,如此循環(huán)往復(fù),Q40.0始終保持狀態(tài)為0,直到下一次I7.0信號到來。
如圖6所示,首次按I7.0,首次循環(huán),運(yùn)行網(wǎng)絡(luò)1,不跳轉(zhuǎn),運(yùn)行網(wǎng)絡(luò)2,Q40.0輸出置1,至網(wǎng)絡(luò)3,M0.0置1,直到I7.0按鈕松開。網(wǎng)絡(luò)1中,I7.0為0,跳轉(zhuǎn)至網(wǎng)絡(luò)3,M0.0為0,持續(xù)往復(fù),由于網(wǎng)絡(luò)2始終跳過,Q40.0始終保持之前狀態(tài)為1。
再次按I7.0按鈕。運(yùn)行網(wǎng)絡(luò)1,不跳轉(zhuǎn),繼續(xù)運(yùn)行網(wǎng)絡(luò)2,Q40.0置0,至網(wǎng)絡(luò)3,M0.0置1,循環(huán)至網(wǎng)絡(luò)1,由于M0.0通過上次循環(huán)為1,所以跳轉(zhuǎn)至網(wǎng)絡(luò)3,直到I7.0按鈕松開,運(yùn)行網(wǎng)絡(luò)1時,I7.0為0,還是跳轉(zhuǎn)到網(wǎng)絡(luò)3,M0.0置0,持續(xù)循環(huán),Q40.0始終保持為0,直到下一次I7.0信號到來。
如圖7所示,S_CU型計數(shù)器為增計數(shù)器,PV端為預(yù)置值,CV_BCD端為計數(shù)值,當(dāng)計數(shù)器輸入端(CU)出現(xiàn)上升沿時,計數(shù)器開始計數(shù),復(fù)位端(R)接收到上升沿時,計數(shù)器C1置零。計數(shù)器為零時,輸出端(Q)置0;計數(shù)器不為0時,輸出端置1。
圖6 利用跳轉(zhuǎn)指令
圖7 利用計數(shù)器指令
首次循環(huán),計數(shù)器預(yù)置值為0,M0.0始終設(shè)定為低電平輸入,按I7.0按鈕,計數(shù)器開始計數(shù)為1,輸出Q40.0為1。
再次按I7.0,計數(shù)器計數(shù)為2(MW120值),M121.1位變?yōu)?,計數(shù)器復(fù)位端復(fù)位,計數(shù)器復(fù)位為0,從而Q40.0輸出為0。
實現(xiàn)閉鎖的方法很多,根據(jù)多年經(jīng)驗,本文從多種方法中總結(jié)出了6種不同類型的、比較典型的使用方法,其中方法一為最常用的方法,方法二利用下降沿觸發(fā)實現(xiàn)閉鎖,方法三通過上升沿觸發(fā)實現(xiàn)閉鎖,方法四利用置位復(fù)位指令實現(xiàn)閉鎖,方法五使用跳轉(zhuǎn)功能實現(xiàn)閉鎖,方法六利用計數(shù)器功能實現(xiàn)閉鎖,幾種方法中,第一種是大家最常使用的方法,方法六是最簡單的方法,通過一個計數(shù)器指令就可以實現(xiàn)。
以上方法均通過機(jī)床測試,希望能對同行使用其他PIC控制系統(tǒng)也有所幫助。
[1]廖常初.S7-300/400PLC應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2011.
[2]柴瑞娟,陳海霞.西門子PLC編程技術(shù)及工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.