一、
網友求助“西門子PLC用一個(ge) 按鈕控製電機啟停,不容許用中繼,可用計數器定時器…”
答複:隻用PLC一條指令,就可實現電機啟停。見下圖:
該梯形圖編程技巧是:在SR觸發器的輸出端接Q0.0的輸出線圈,再用Q0.0的常開與(yu) 常閉點串接在R、S輸入端上,這樣的編程處理可確保動作的可靠性。該梯形圖的工作原理說明,請見“用S7-200編程的三個(ge) 實例解析”中的第1例。
二、
用S7-200編程,可實現用一個(ge) 按鈕可控製電機的正傳(chuan) 、反轉、停車的梯形圖
該梯形圖編程技巧是:用按鈕的輸入點(I1.0)連接斷電延時定時器(T101),及通電延時定時器(T102),T101延時為(wei) 0.2 S,T102延時為(wei) 1 S,T101作用是防按鈕顫動而形成連發現象,確保按一下按鈕隻產(chan) 生一個(ge) 脈衝(chong) (即T101)從(cong) 而確保對MB5加1運算的正確性,二次連續按鈕的時間間隔控製在0.5S以下,T102 延時為(wei) 1S,故在連續按鈕時,由於(yu) 間隔時間小於(yu) 1S,它不斷的被切斷。隻有按下按鈕不抬起(保持I1.0=1),當延時大於(yu) 1S時,T102動作,其前沿將MB5的內(nei) 容傳(chuan) 入MB6,再將MB5清0。
工作原理及操作說明:
1)開機SM0.1將MB5置1、MB6清0,由於(yu) M6.0、M6.1皆為(wei) 0,使Q0.0與(yu) Q0.1都=0,故電機停止不動。
2)電機正傳(chuan) 運行:點擊一下按鈕(I1.0),產(chan) 生一個(ge) (T101=1)的正脈衝(chong) ,其後沿觸發MB5計數器,使其+1,再按下按鈕不抬起,此時MB5=0000_0010。經1秒延時,T102閉合,其前沿將MB5的內(nei) 容送入MB6,隨之將MB5清0。此時M6.0=0、M6.1=1,故使Q0.0=1,電機正傳(chuan) 運行。隨後將按鈕抬起,T101的後沿使MB5+1,此時MB5=0000_0001。
3)電機停轉:按下按鈕不抬起,此時MB5=0000_0001。延時1秒後T102動作,T102=1的前沿,將MB5送入MB6,之後MB5清0,此時M6.0=1、M6.1=0,故Q0.0、Q0,1皆為(wei) 0,電機停止轉動。當按鈕抬起時,T101的後沿觸發MB0,使MB5=1。
4)電機反轉運行:點擊二下按鈕(I1.0),產(chan) 生二個(ge) (T101=1)的正脈衝(chong) ,其後沿觸發MB5計數器,使其+2,再按下按鈕不抬起,此時MB5=0000_0011。經1秒延時,T102閉合,其前沿將MB5的內(nei) 容送入MB6,隨之將MB5清0。此時M6.0=1、M6.1=1,故使Q0.1=1,電機反傳(chuan) 運行。隨後將按鈕抬起,T101的後沿使MB5+1,此時MB5=0000_0001。
該程序不需任何外圍硬件,而且程序簡短,經上機運行考驗,程序正確,動作可靠。可以實用。
三、
網友求助:“s7-300裏的定時器t1,怎麽(me) 循環啟動? 現在是,使用完一次,t1就停止了!而我想用T1實現每隔2秒重複一個(ge) 動作!請大家幫忙,謝謝!”
又提出:“其實,我就是想用定時器來實現每隔3秒,QB0循環右移一位。我現在比較菜鳥哈,希望高手們(men) 能指點詳細點,最好能有梯形圖!嘿嘿,感謝!!”
回複:“ 樓主:根據你的要求“其實,我就是想用定時器來實現每隔3秒,QB0循環右移一位。”我給你編出用S7-200和用S7-300編出的功能一樣的梯形圖。從(cong) 圖中可以看出,S7-200由於(yu) 采用字節循環右移指令,所以編出程序簡短易懂。S7-300由於(yu) 沒有字節循環右移指令,就得通過編程來達到同樣的功能作用,編出的程序相對長了一些,看懂梯形圖也相對難了一點。有什麽(me) 問題可以提出,我可以解答。 ”
解析梯形圖:
1、圖一是用S7200編寫(xie) 的圖形圖,其編程技巧有二:(1)用通電延時定時器T101的常閉點連接T101的線圈構成振蕩器,其脈衝(chong) 的低電平為(wei) 3秒寬度,高電平為(wei) 連續二個(ge) 掃描周期的間隔時間,即隻出現一次,故可直接用T101的常開觸點去觸發QB0的循環右移,而不需選用其前沿觸發,就可確保QB0隻右移一次。(2)、選用字節循環右移指令,在T101=1的這一掃描周期裏將此時刻的QB0內(nei) 容右移一位,同時又自動的將移出的QB0的最高位(Q0.7)送回QB0的最低位(Q0.0)(如不需循環右移,可改用字節右移一位的指令),使編程簡短易懂。
2、圖二是用S7300編寫(xie) 的圖形圖,其編程技巧也是使用T101構成的振蕩器,利用該振蕩脈衝(chong) 的正方波在程序掃描中隻出現一次的特點,完成將QB0右移一位。由於(yu) S7-300沒有字節移位指令,編程是這樣處理:將QBO送入MW7的低字節MB8中,右移一位MW7,MB8也隨之右移一位, MB8的最高位移到MB7的最低位(即M8.0),再把M8.0送入M7.0中,再把MB8送回QB0,從(cong) 而實現了將QB0內(nei) 容的循環右移一位的功能,如程序不需要循環右移,可將“M7.0àM8.0”這條語句去掉就可以了。
四、
網友求助:“如何把一個(ge) 字節的全部位,高位低位反向重排。”
回複:現用S7-200編出一個(ge) 字節內(nei) 容反排列的程序梯形圖,供你參考
程序解析:該程序編程的技巧就是巧妙地運用字節的循環左移與(yu) 字節右移:MB10為(wei) 原數據,MB12為(wei) 轉換後的反排列數據,啟動此程序,先將MB0=7,再使M1.0、M1.1置1。M1.0=1,先將M10,7àM12.7,再將MB10循環左移一次,這樣原MB10的內(nei) 容左移一位,原M10.0àM10.7,而MB12右移一位,M12.7àM12.6, 0àM12.7’,接著MB0減1,再判斷MB0等不等0,不等0,下一周期再進行上述移位運算及判斷,當MB0=0時,MB10循環左移7次,同時使M1.0=0,停止此段程序再運行,M1.0=0、M1.1=1,使MB10又右移一位,使MB10正好恢複原數值,而MB12的內(nei) 容變為(wei) MB10的內(nei) 容的反排列數值。
由於(yu) PLC指令沒有位信號交換指令,對於(yu) 字或雙字的內(nei) 容反排列用此思路編程最好,對單字節也可這樣編程:將M10.7-->M12.0
五、
網友求助:“用西門子200梯形圖編寫(xie) 總共有八個(ge) 燈泡,通電後第一個(ge) 燈泡亮三秒滅五秒接著下個(ge) 燈泡亮,直到第八個(ge) 燈泡亮三秒滅五秒後自動返回到第一個(ge) 燈泡繼續循環,你搞下,我那天麵試的題目,不是很難,但也沒編好”
回複:根據你的要求用S7-200給你編出如下梯形圖.,供你參考。如有看不明白之處,可告知,給你解釋。
程序解析:該程序編程的特點,就是巧妙地運用T101、T102構成的振蕩器與(yu) MB8的循環左移相結合,使編出的程序短小精煉:T101與(yu) T02二個(ge) 定時器構成負3秒正5秒的方波振蕩器,利用T102=1隻占1個(ge) 掃描周期將MB8循環左移一位,這樣用MB0中的各位為(wei) 信號與(yu) T101的常閉點相與(yu) ,去連接QB0的各個(ge) 位輸出,就可達到控製目的。