3.2系統(tǒng)功能實(shí)現(xiàn)
(1)電子凸輪代替時(shí)序控制

圖5 時(shí)序控制圖

圖6 進(jìn)瓶水平軸與主軸構(gòu)成的電子凸輪表

圖7 NJ電子凸輪表

圖8 偏移程序
通過(guò)MasterOffset將主軸向后偏移280,這時(shí)的動(dòng)作時(shí)序和凸輪形狀就與工藝要求相符了,但要注意的是,這時(shí)的從軸起始位置不為0,會(huì)造成起始速度“無(wú)窮大”,從而引發(fā)伺服報(bào)警。將MasterScaling設(shè)置為280,就可以將從軸的起始點(diǎn)推遲到“主軸280”的位置,當(dāng)主軸啟動(dòng)時(shí),從軸并不啟動(dòng),而是等到主軸到達(dá)280位置時(shí)再啟動(dòng),這樣就可以實(shí)現(xiàn)客戶(hù)的工藝要求了。
(2)暫停功能
這套系統(tǒng)相比以前用CS、CJ來(lái)做的系統(tǒng)而言,一個(gè)很重要的亮點(diǎn)就是可以很容易的實(shí)現(xiàn)“暫停功能”,具體程序如圖9所示。

圖9 暫停功能程序1

圖10 暫停功能程序2
當(dāng)需要暫停設(shè)備時(shí),只需執(zhí)行MC_Stop指令即可。當(dāng)再次啟動(dòng)時(shí),只需再次執(zhí)行MC_Velocity指令,設(shè)備會(huì)從當(dāng)前停止的位置繼續(xù)運(yùn)行。暫停的好處是,當(dāng)操作人員需要暫時(shí)停止設(shè)備,做簡(jiǎn)單處理,后面又需要快速恢復(fù)生產(chǎn)狀態(tài)時(shí),不需要重新尋原點(diǎn)。對(duì)生產(chǎn)效率的提高幫助很大。
(3)工位判斷

圖11 工位判斷程序
(4)回零停止

圖12 回零停止程序
如圖12程序所示,當(dāng)需要停止主拖動(dòng)軸時(shí),必須要等待主拖動(dòng)當(dāng)前動(dòng)作完成后。根據(jù)虛軸的位置判斷,當(dāng)虛軸處于90到140之間時(shí),主拖動(dòng)處于停止?fàn)顟B(tài),這時(shí)執(zhí)行MC_CamOut指令,就可以將這個(gè)從軸順利脫出凸輪表。
在啟動(dòng)和停止過(guò)程中,必須特別注意一個(gè)問(wèn)題,那就是回零停止和啟動(dòng)過(guò)程一樣,必須要按照嚴(yán)格的順序來(lái)執(zhí)行。例如,停止時(shí),“出瓶”早于“主拖動(dòng)”,“主拖動(dòng)”早于“進(jìn)瓶”,而進(jìn)瓶時(shí)剛好相反。這樣才能保證在下次啟動(dòng)時(shí),出瓶工位的瓶子剛好被抓出,而進(jìn)瓶工位則是空的,剛好可以開(kāi)始放瓶。如果不按照順序啟動(dòng),則會(huì)使進(jìn)瓶工位“有瓶”狀態(tài)下打開(kāi)模板,導(dǎo)致瓶子掉落;或者出瓶工位“有瓶”,但不抓瓶,導(dǎo)致瓶子轉(zhuǎn)到機(jī)器底下。這些都是不允許的。
(5)急停保護(hù)
對(duì)于“撞車(chē)”的保護(hù),是整個(gè)系統(tǒng)設(shè)計(jì)中非常重要的一部分。如果所有軸都能夠嚴(yán)格按照自己凸輪曲線(xiàn)進(jìn)行運(yùn)動(dòng),并且沒(méi)有掛進(jìn)凸輪的軸也能夠正常動(dòng)作的話(huà),“撞車(chē)”原則上是不會(huì)發(fā)生的。但由于伺服故障、氣缸故障等諸多因素的產(chǎn)生,會(huì)使得“撞車(chē)”發(fā)生的概率增加。

圖13 進(jìn)、出瓶模板的空間保護(hù)程序
圖13所示兩段程序是對(duì)進(jìn)、出瓶模板的空間保護(hù),當(dāng)模板被氣缸頂起時(shí),模板絕對(duì)不能拖動(dòng),否則會(huì)被掀翻。這里依舊采取通過(guò)對(duì)主軸位置的判斷,來(lái)判斷從軸。當(dāng)主軸位置處于320和360之間時(shí),模板被氣缸頂起,同時(shí)由模板開(kāi)合軸將模板分開(kāi)。如果此時(shí)氣缸突然下降,模板將來(lái)不及合攏,而被掀翻。此時(shí)可通過(guò)MC_ImmediateStop指令完成急停操作。
(6)曲柄的線(xiàn)性處理
整套設(shè)備采用了多個(gè)曲柄機(jī)構(gòu),比如灌裝、擰蓋升降等等。根據(jù)曲柄機(jī)構(gòu)的特性,當(dāng)伺服勻速旋轉(zhuǎn)時(shí),曲柄機(jī)構(gòu)的垂直速度并不是勻速的,并且垂直位置也不是線(xiàn)性變化的。而灌裝機(jī)構(gòu)需要一個(gè)相對(duì)穩(wěn)定的速度(主要是防止液體飛濺),和一個(gè)線(xiàn)性的標(biāo)定(可以通過(guò)對(duì)伺服位置的設(shè)定,直接標(biāo)定灌裝量)。解決速度基本恒定的方式如下:
IF 30>=MC_Fill1.Act.Pos OR (180>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>150) THEN
Fill1_Velocity_Out:=LREAL#1*灌裝1速度HMI;
ELSIF (60>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>30) OR (150>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>120) THEN
Fill1_Velocity_Out:=LREAL#0.8*灌裝1速度HMI;
ELSIF (80>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>60) OR (120>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>100) THEN
Fill1_Velocity_Out:=LREAL#0.5*灌裝1速度HMI;
ELSIF 100>=MC_Fill1.Act.Pos AND MC_Fill1.Act.Pos>80 THEN
Fill1_Velocity_Out:=LREAL#0.3*灌裝1速度HMI;

用以上公式,可以在灌裝伺服到達(dá)各個(gè)位置時(shí),給予不同的速度,通過(guò)對(duì)角速度賦予“多段速”來(lái)實(shí)現(xiàn)垂直速度的基本恒定。再通過(guò)每10ms寫(xiě)入一次速度的方式,來(lái)實(shí)現(xiàn)速度的變換。解決位置可標(biāo)定的方法如下:
糾偏角度轉(zhuǎn)弧度:=DegToRad(REAL#15);
Fill1_Feed_rad:=ACOS(臨時(shí)數(shù)字1);
Fill1_Feed:=RadToDeg(Fill1_Feed_rad)-REAL#15;
臨時(shí)數(shù)字:=REAL#3.14*REAL#16*REAL#7.5;
臨時(shí)數(shù)字1:=COS(糾偏角度轉(zhuǎn)弧度)-HMI氣缸1進(jìn)給量/臨時(shí)數(shù)字;
通過(guò)平面解析幾何和三角函數(shù)運(yùn)算,求得伺服角位置和曲柄垂直位置之間的線(xiàn)性關(guān)系。
最終實(shí)現(xiàn),觸摸屏上面可以直接設(shè)定以“毫升”為單位的灌裝量值。
(7)凸輪表的變換
凸輪表編制好以后,每根軸都會(huì)按照自己的凸輪表數(shù)據(jù)進(jìn)行重復(fù)運(yùn)動(dòng)。但是,如果更換了產(chǎn)品(主要是瓶子大小有變化),個(gè)別軸的動(dòng)作就要發(fā)生變化。例如:把220mm高的瓶子換成了300mm,那么出瓶放瓶時(shí),氣爪距離傳送帶的高度就要增加,這就要求凸輪表可以通過(guò)程序進(jìn)行變換,程序如下:
FOR IndexOutUp := UINT#10#0 TO UINT#10#360 DO
IF IndexOutUp<=UINT#10#70 THEN
Cam_BottleOutUp[IndexOutUp].Distance:= Cam_BottleOutUp00[IndexOutUp].Distance*2*BottleOutUpFeed1;
ELSIF IndexOutUp>UINT#10#70 and IndexOutUp<=UINT#10#85 THEN
Cam_BottleOutUp[IndexOutUp].Distance:= (Cam_BottleOutUp00[IndexOutUp].Distance-0.5)*2*(BottleOutUpFeed2 - BottleOutUpFeed1)+BottleOutUpFeed1;
ELSE
Cam_BottleOutUp[IndexOutUp].Distance:= Cam_BottleOutUp00[IndexOutUp].Distance * BottleOutUpFeed2;
END_IF;
END_FOR;

4結(jié)束語(yǔ)










共0條 [查看全部] 網(wǎng)友評(píng)論