西門(mén)子S7-1200 PLC基于三軸設(shè)備畫(huà)正方形程序案例詳解
王曾
發(fā)布于2023-05-04 15:50
203
4
標(biāo)簽:西門(mén)子S7-1200 PLC,西門(mén)子PLC,PLC案例
? 在這個(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
圖2
1.程序設(shè)計(jì)思路:
1)可以設(shè)置一個(gè)基準(zhǔn)點(diǎn)(如圖3),然后依次算出其他的位置點(diǎn)。
2)使用絕對(duì)定位指令,到達(dá)相關(guān)位置點(diǎn)。
圖3
2.程序設(shè)計(jì):
1)創(chuàng)建工藝對(duì)象:創(chuàng)建X軸的工藝對(duì)象(如圖4至圖10所示)。Y軸和Z軸的工藝對(duì)象類(lèi)似,在此不贅述。
圖4
圖5
圖6
圖7
圖8
圖9
圖10
2)因?yàn)槲覀冊(cè)O(shè)備上有X、Y、Z三軸軸,每個(gè)軸都有位置值,所以可以建立 “UDT數(shù)據(jù)類(lèi)型”,用于存儲(chǔ)三個(gè)軸的位置值。UDT的數(shù)據(jù)類(lèi)型名稱(chēng)為“Pos”,如圖11及圖12所示.

3)手動(dòng)控制程序(FC1),如圖13至16所示,主要實(shí)現(xiàn)的功能是軸使能,三個(gè)軸的點(diǎn)動(dòng)控制、三個(gè)軸的回原點(diǎn)、三個(gè)軸的故障復(fù)位等。
圖13
圖14
圖15
圖16
4)位置計(jì)算(FC2),要計(jì)算zheng方形的4個(gè)位置點(diǎn),可以使用SCL語(yǔ)言編寫(xiě)。當(dāng)“"inst_Pos".HMI_SetBase”的值(來(lái)源于HMI上的按鈕)為1時(shí)計(jì)算4個(gè)位置點(diǎn)。如圖17及18所示,
圖17
圖18
計(jì)算出來(lái)的位置值存儲(chǔ)在數(shù)組變量中,如圖19所示。四個(gè)點(diǎn)的坐標(biāo)值對(duì)應(yīng)圖3的四個(gè)位置值。
圖19
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)畫(huà)一個(gè)正方形。由于計(jì)算出來(lái)的位置值的第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
圖20
③調(diào)用位置計(jì)算程序
④軸的當(dāng)前位置
⑤狀態(tài)步判斷,然后到達(dá)不同的位置