李 嫄
(廣東松山職業(yè)技術(shù)學(xué)院,廣東韶關(guān) 512126)
在PLC編程中,移位指令是一組使用頻率很高的指令,包含左移位指令、右移位指令、循環(huán)左移、循環(huán)右移等移位指令。其功能是將目標(biāo)操作數(shù)中的所有位按規(guī)定的方式移動(dòng),結(jié)果存放在目標(biāo)操作數(shù)中。本文針對(duì)在西門子S7-1200、S7-200smart等中小型PLC中沒有SFC流程圖的編程方式,介紹了移位指令在順序編程中的應(yīng)用,該應(yīng)用實(shí)現(xiàn)了順序控制功能。
左右旋轉(zhuǎn)氣缸的設(shè)備如圖1所示,其工作原理:如有料則完成“左轉(zhuǎn)、下降、真空吸、上升、右轉(zhuǎn)、下降、真空放、上升”共8步。很顯然符合順序編程。因西門子S7-1200、S7-200smart等中小型PLC沒有SFC流程圖的編程方式,如果要實(shí)現(xiàn)流程控制,需要將流程圖轉(zhuǎn)換為梯形圖,編程比較繁瑣,如果用移位指令則使程序簡(jiǎn)單易懂?,F(xiàn)以循環(huán)左移指令(圖2)為例介紹移位指令[1-2]。
圖1 左右旋轉(zhuǎn)氣缸的設(shè)備
圖2 循環(huán)左移指令
(1)可以使用“左移”指令將輸入IN中操作數(shù)的內(nèi)容按位向左移,并在輸出OUT中查詢結(jié)果。參數(shù)N用于指定將指定值移位的位數(shù)。
(2)當(dāng)參數(shù)N的值為“0”時(shí),輸入IN的值將復(fù)制到輸出OUT中的操作數(shù)中。
(3)如果參數(shù)N的值大于可用位數(shù),則輸入IN中的操作數(shù)值將向左移動(dòng)可用位數(shù)個(gè)數(shù)。
(4)用0填充操作數(shù)右側(cè)部分因移位空出的位。
圖3 左右旋轉(zhuǎn)氣缸移位指令編程實(shí)例
用移位指令來對(duì)左右旋轉(zhuǎn)氣缸進(jìn)行編程,程序如圖3所示。首先需要滿足左轉(zhuǎn)條件接通M6.0,M6.0接通后氣缸左轉(zhuǎn);到左限位就移位,移位后接通M6.1,M6.1接通后機(jī)械手下降;到達(dá)下限位就移位,移位后M6.2接通,M6.2接通后真空吸;真空吸感應(yīng)到后就移位,移位后M6.3接通,M6.3接通機(jī)械手上升;到達(dá)上限位就移位,移位后M6.4接通,M6.4接通后機(jī)械手右轉(zhuǎn);到達(dá)右限位就移位,移位后M6.5接通,M6.5接通后機(jī)械手下降;到達(dá)下限位就移位,移位后M6.6接通,M6.6接通后真空放;真空放感應(yīng)到后就移位,移位后M6.7接通,M6.7接通后機(jī)械手上升;然后再次接通M6.0,下一個(gè)循環(huán)開始。對(duì)于其他機(jī)械手的取放料順序控制都可以采用這種方法進(jìn)行編程[3-4]。
三自由度機(jī)械手的設(shè)備如圖4所示,設(shè)備功能是上一站的組合屬性信號(hào)將實(shí)時(shí)傳輸給該站,該站的三自由機(jī)械手將根據(jù)上一站傳來的組合信號(hào),將4種不同組合的工件分別存儲(chǔ)在4層立體倉庫中。每放一個(gè)工件在人機(jī)界面中都會(huì)有信息顯示,當(dāng)某個(gè)倉庫放滿時(shí),倉庫托盤將伸出不再收倉。機(jī)器發(fā)出蜂鳴提醒操作員進(jìn)行人工清理。
圖4 三自由度機(jī)械手
流程分析:滿足取料條件則完成“控制X和Y軸伺服運(yùn)動(dòng)到取料點(diǎn)上方、控制Z軸下降運(yùn)動(dòng)到取料點(diǎn)、夾物料、控制Z軸上升運(yùn)動(dòng)到取料點(diǎn)上方、控制X和Y軸伺服運(yùn)動(dòng)到放料點(diǎn)上方、控制Z軸下降運(yùn)動(dòng)到放料點(diǎn)、放物料、控制Z軸上升運(yùn)動(dòng)到放料點(diǎn)上方”共8步。
用移位指令來對(duì)三自由度機(jī)械手取放料進(jìn)行編程[5-6],程序如圖5所示。首先需要滿足左轉(zhuǎn)條件接通V20.0,V20.0接通后控制X和Y軸伺服運(yùn)動(dòng)到取料點(diǎn)上方;X和Y軸運(yùn)動(dòng)完成且有料就移位,移位后接通V20.1,V20.1接通后控制Z軸下降運(yùn)動(dòng)到取料點(diǎn);Z軸運(yùn)動(dòng)完成就移位,移位后V20.2接通,V20.2接通后夾物料;夾到位后就移位,移位后V20.3接通,V20.3接通控制Z軸上升運(yùn)動(dòng)到取料點(diǎn)上方;Z軸運(yùn)動(dòng)完成就移位,移位后V20.4接通,V20.4接通后控制X和Y軸伺服運(yùn)動(dòng)到放料點(diǎn)上方;X和Y軸運(yùn)動(dòng)完成且允許放料就移位,移位后V20.5接通,V20.5接通后控制Z軸下降運(yùn)動(dòng)到放料點(diǎn);Z軸運(yùn)動(dòng)完成就移位,移位后V20.6接通,V20.6接通后放物料;放到位后就移位,移位后V20.7接通,V20.7接通后控制Z軸上升運(yùn)動(dòng)到放料點(diǎn)上方;然后再次接通M6.0,下一個(gè)循環(huán)開始。
圖5 三自由度機(jī)械手移位指令編程實(shí)例
8工位轉(zhuǎn)盤的設(shè)備如圖6所示,其工作原理:轉(zhuǎn)盤每次轉(zhuǎn)動(dòng)45°遇到一次大轉(zhuǎn)盤原點(diǎn),會(huì)暫停一下。整個(gè)生產(chǎn)線共A、B、C、D四個(gè)站,B站將工件放到第1個(gè)工位,轉(zhuǎn)盤轉(zhuǎn)動(dòng),轉(zhuǎn)到第3個(gè)工位時(shí),通知A站,曲軸取A站工件在第3個(gè)工位進(jìn)行裝配,裝配好轉(zhuǎn)至第4個(gè)工位時(shí)補(bǔ)壓氣缸進(jìn)行沖壓,使工件裝配完好。用MB8代表8個(gè)工位,M8.0~M8.7分別代表C站第1~8個(gè)工位。幾個(gè)工位為并行序列,如果使用流程圖編程,流程圖如圖7所示。因西門子S7-1200、S7-200smart等中小型PLC沒有SFC流程圖的編程方式,如果要實(shí)現(xiàn)流程控制,需要將圖7的流程圖轉(zhuǎn)換為梯形圖,編程非常繁瑣[7-8]。如果用移位指令則使程序簡(jiǎn)單易懂。用移位指令來對(duì)8工位轉(zhuǎn)盤進(jìn)行編程,程序框架如圖8所示,第1個(gè)工位有工件時(shí)置M8.0為1,然后大轉(zhuǎn)盤每轉(zhuǎn)1次,MB8左移1次并將結(jié)果再次存放在MB8中,轉(zhuǎn)1次M8.1為1,再轉(zhuǎn)1次M8.2為1,依次類推,當(dāng)對(duì)應(yīng)位為1時(shí),該工位執(zhí)行相應(yīng)的動(dòng)作。根據(jù)實(shí)際情況添加各工位工作程序即可。
圖6 8工位轉(zhuǎn)盤
圖7 8工位轉(zhuǎn)盤流程圖
圖8 八工位轉(zhuǎn)盤移位指令編程實(shí)例
順序控制是PLC編程中常見的控制功能,本文針對(duì)在西門子S7-1200、S7-200smart等中小型PLC中沒有SFC流程圖的編程方式,使用移位指令來完成順序控制,使程序簡(jiǎn)單易懂,在教學(xué)中取得了良好的效果。