案例分享 | 基于三軸設(shè)備畫正方形程序設(shè)計(jì)
在這個(gè)案例中,主要讓大家學(xué)習(xí)1200PLC的運(yùn)動(dòng)控制功能,我們借助這個(gè)三軸設(shè)備(如圖1所示)實(shí)現(xiàn)長(zhǎng)寬為50mm的正方形的繪制。
在HMI上(如圖2所示)可以手動(dòng)實(shí)現(xiàn)軸使能、手動(dòng)X軸正負(fù)方向運(yùn)行;手動(dòng)Y軸正負(fù)方向運(yùn)行;手動(dòng)Z軸正負(fù)方向運(yùn)行、示教基準(zhǔn)位置點(diǎn)等。自動(dòng)時(shí),按下“啟動(dòng)”按鈕即自動(dòng)繪制長(zhǎng)寬為50mm的正方形。?
? ? ? ?


1?程序設(shè)計(jì)思路
1)可以設(shè)置一個(gè)基準(zhǔn)點(diǎn)(如圖3),然后依次算出其他的位置點(diǎn)。
2)使用絕對(duì)定位指令,到達(dá)相關(guān)位置點(diǎn)。

2?程序設(shè)計(jì)
1)創(chuàng)建工藝對(duì)象:創(chuàng)建X軸的工藝對(duì)象(如圖4至圖10所示)。Y軸和Z軸的工藝對(duì)象類似,在此不贅述。







2)因?yàn)槲覀冊(cè)O(shè)備上有X、Y、Z三軸軸,每個(gè)軸都有位置值,所以可以建立 “UDT數(shù)據(jù)類型”,用于存儲(chǔ)三個(gè)軸的位置值。UDT的數(shù)據(jù)類型名稱為“Pos”,如圖11及圖12所示.


? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
3)手動(dòng)控制程序(FC1),如圖13至16所示,主要實(shí)現(xiàn)的功能是軸使能,三個(gè)軸的點(diǎn)動(dòng)控制、三個(gè)軸的回原點(diǎn)、三個(gè)軸的故障復(fù)位等。




4)位置計(jì)算(FC2),要計(jì)算zheng方形的4個(gè)位置點(diǎn),可以使用SCL語言編寫。當(dāng)“"inst_Pos".HMI_SetBase”的值(來源于HMI上的按鈕)為1時(shí)計(jì)算4個(gè)位置點(diǎn)。如圖17及18所示,


計(jì)算出來的位置值存儲(chǔ)在數(shù)組變量中,如圖19所示。四個(gè)點(diǎn)的坐標(biāo)值對(duì)應(yīng)圖3的四個(gè)位置值。

3)主程序
①程序段1主要是調(diào)用手動(dòng)控制程序。并且如何按下了HMI上的“"inst_Pos".HMI_Start”這個(gè)按鈕之后把狀態(tài)步MW36設(shè)置為1。

②“"inst_Pos".HMI_SetBase”為觸摸屏上設(shè)置基準(zhǔn)點(diǎn)按鈕,當(dāng)按下這個(gè)按鈕則可以設(shè)置1個(gè)基準(zhǔn)點(diǎn),依次基準(zhǔn)點(diǎn)畫一個(gè)正方形。由于計(jì)算出來的位置值的第3個(gè)點(diǎn)和第4個(gè)位置點(diǎn)是相反的,所以地址中的值做個(gè)交換。"inst_Pos".Pos[1]給到"inst_Pos".FinalPos[1],"inst_Pos".Pos[2]給到"inst_Pos".FinalPos[2],"inst_Pos".Pos[3]給到"inst_Pos".FinalPos[4],"inst_Pos".Pos[4]給到"inst_Pos".FinalPos[3],起始點(diǎn)和結(jié)束點(diǎn)是同一個(gè)點(diǎn),所以"inst_Pos".Pos[1]給到"inst_Pos".FinalPos[5]。其中"inst_Pos".FinalPos變量如圖20


③調(diào)用位置計(jì)算程序

④軸的當(dāng)前位置

⑤狀態(tài)步判斷,然后到達(dá)不同的位置







來源:技成培訓(xùn)網(wǎng),作者:郭彪,未經(jīng)允許不得轉(zhuǎn)載
粉絲福利
微信掃碼,領(lǐng)西門子全系列PLC電子資料包(含手冊(cè),說明書,軟件,課程,案例等電子資料)
