(1)原理圖:Q0.0為X軸脈沖,Q0.2為X軸方向;Q0.1為y軸脈沖,Q0.7為y軸方向

(2)實物圖:三個步進驅(qū)動器,三套電機配合絲桿,定義往電機方向移動為正方向,絲桿的邏輯為4mm,步進驅(qū)動的細(xì)分設(shè)置為3200個脈沖一轉(zhuǎn)。如下圖所示:

(二)走圓軌跡算法
西門子S7-200SMART系列PLC不支持圓弧插補功能,所以需要自己根據(jù)算法進行計算后分別驅(qū)動X軸和Y軸的移動從而來實現(xiàn)畫圓功能,要驅(qū)動XY軸畫圓,可采用極限逼近法,把畫圓弧變成畫線段,如下圖所示左側(cè)為六等分,角度a=30°,右側(cè)為十二等分,角度a=15°。

從上圖中可以看出,當(dāng)?shù)冗叾噙呅蔚倪呍蕉鄷r,則多邊形的軌跡就越和圓相近,所以當(dāng)角度a足夠小時,則得到的多邊形軌跡就越與圓接近。根據(jù)以上分析需要完成畫圓功能,我們需要知道“圓心坐標(biāo)值”、“圓的半徑”、“畫圓的速度”,然后根據(jù)分為三部分來實現(xiàn):
1、畫筆移動到圓上
把XY軸分別回原點,回原點后的位置默認(rèn)為XY平面坐標(biāo)的原點,然后由原點移動到圓心坐標(biāo),如下圖所示1#點為圓心,2#點為圓上點。

假設(shè)1#點的坐標(biāo)為(X1,Y1),速度為V,則X軸移動的距離為X1,Y軸移動的距離為Y1。根據(jù)勾股定理可計算出原點到圓心的距離“Y(0→1)”、X軸移動速度“VXaxis”和Y軸移動速度“VYaxis” ,計算公式如下所示:

當(dāng)畫筆到達(dá)1#點后,然后Y軸不動,X軸以V的速度移動半徑R的距離到達(dá)圓上2#點位置,假2#點的坐標(biāo)為(X2,Y2)
2、畫筆開始畫圓
畫筆從2#點位置開始移動畫圓,假設(shè)下個圓上的點為3#點,坐標(biāo)為(X3,Y3),從圓心到3#點和從圓心到2#點的角度為a,如下圖所示:

根據(jù)三角函數(shù)可計算出3#點的坐標(biāo)(X3,Y3)的值分別為:
X3=Cos(a)*R+X1,Y3=Sin(a)*R+Y1
根據(jù)勾股定理可計算出XY軸要移動的距離 “Y(2→3)”的值。X軸移動速度“VXaxis”和Y軸移動速度“VYaxis” ,計算公式如下所示:

注:此時X2和Y2為X軸和Y軸的當(dāng)前位置,X3和Y3為X軸和Y軸要移動的目標(biāo)位置,速度需要取絕對值。
同理:當(dāng)畫筆到達(dá)3#點后,角度變?yōu)?a,則對應(yīng)的圓上點為4#點,坐標(biāo)為(X4,Y4),如下圖所示:

根據(jù)三角函數(shù)可計算出4#點的坐標(biāo)(X4,Y4)的值分別為:
X4=Cos(2a)*R+X1,Y4=Sin(2a)*R+Y1
根據(jù)勾股定理可計算出XY軸要移動的距離 “Y(3→4)”的值。X軸移動速度“VXaxis”和Y軸移動速度“VYaxis” ,計算公式如下所示:

注:此時X3和Y3為X軸和Y軸的當(dāng)前位置,X4和Y4為X軸和Y軸要移動的目標(biāo)位置,速度需要取絕對值。
依次下去,每走完一次后,角度自加一次,當(dāng)角度值大于360°時,則認(rèn)為畫圓完成。
(三)PLC程序
根據(jù)分析,對于S7-200SMART系列PLC的程序設(shè)計主要分為“運動向?qū)У慕M態(tài)配置”、“初始與會原點程序”、“速度計算程序”、“開始畫圓程序”
(1)初始化和回原點


(2)速度換算程序

(3)畫圓程序

子程序結(jié)構(gòu)



程序運行


**【延伸閱讀】S7-200 SMART 運動控制指令詳解 **
S7-200 smart 運動控制指令由編程軟件向?qū)桑\動控制指令有很多條構(gòu)成,且每條指令都帶有很多接口參數(shù),想要使用這些指令,要先知道接口是什么意思,雖然幫助文章都有解釋,但讀懂幫助文件也很費勁,今天就詳細(xì)給大家介紹運動指令的使用。
S7-200 SMRAT 運動控制指令如下圖生成:
1、選擇"運動"右鍵打開。

2、本次就以"軸0"為例。

3、命個名字。

4、數(shù)字1位選擇工程單位,可以使工程單位,也可以使用脈沖。
數(shù)字2是電機旋轉(zhuǎn)一圈的脈沖量,我目前步進撥碼設(shè)定是10000個脈沖旋轉(zhuǎn)一周
數(shù)字3是單位,根據(jù)自己需要設(shè)定
數(shù)字4是電機旋轉(zhuǎn)一圈的工程量,我設(shè)定的是360度,也就是說10000個脈沖對應(yīng)360度。

5、方向控制,我是用的脈沖加方向,所以選擇單項2軸。

6、正負(fù)極限根據(jù)需要設(shè)定,我這個沒有正負(fù)極限就沒有選擇。


7、零電位使用,走絕對位置和相對位置之前一定要定義好原點,否則絕對位置和相對位置不運行。

8、0脈沖位置,也可以使用此點定義0點。

9、停止根據(jù)需要選擇,通過閱讀STP就能理解什么意思。

10、停止根據(jù)需要選擇,通過閱讀TRIG就能理解什么意思。

11、禁用根據(jù)需要選擇,通過閱讀DIS就能理解什么意思。

12、最大速度和最小速度根據(jù)現(xiàn)場情況設(shè)定,我設(shè)定最大速度為360度/秒。

13、JOG命令也就是手動運行,根據(jù)需要設(shè)定速度,建議設(shè)定小一些,看看運行速度再調(diào)整。

14、此處設(shè)定加減速時間,也就是脈沖輸出的加減速時間,根據(jù)現(xiàn)場情況設(shè)定。

15、急停補償。

16、反沖補償,也就是校準(zhǔn)絲杠間隙。

17、參考點設(shè)定

18、找零點時速度和方向設(shè)定。

19、偏移量設(shè)定

20、搜索參考點方式選擇

21、從驅(qū)動器中讀取絕對位置

22、曲線設(shè)定,我這里沒用曲線,沒有生成曲線。

23、點"建議"自動分配地址。

24、組件

25、映射顯示

26、完成,點擊生成就完成了。

1.啟用并初始化軸
AXISx_CTRL子程序(控制)啟用和初始化運動軸,方法是自動命令運動軸每CPU更改為RUN模式時加載組態(tài)/曲線表。在項目中只對每條運動軸使用此子程序一次,并確保程序會在每次掃描時調(diào)用此子程序。使用SM0.0(始終開啟)作為EN參數(shù)的輸入。

管腳含義:
MODE:啟用模塊。1=可發(fā)送命令;0=中止進行中的任何命令
Done:完成標(biāo)志位
Error:錯誤代碼(字節(jié))
C_Pos:軸的當(dāng)前位置(絕對定位或者相對定位),工程單位:Real型數(shù)據(jù);相對脈沖:DINT型數(shù)據(jù)
C_Speed:軸的當(dāng)前速度,Real型數(shù)據(jù)
C_Dir:軸的當(dāng)前方向(1=反向,0=正向)
2.手動控制軸
AXISx_MAN子例程(手動模式)將運動軸置為手動模式。這允許電機按不同的速度運行,或沿正向或負(fù)向慢進。在同一時間僅能啟用RUN、JOG_P或JOG_N輸入之一。

管腳含義:
RUN:1=軸手動運行(速度和方向分別由Speed和Dir管腳控制)0=停止手動控制
JOG_P:1=正轉(zhuǎn)點動控制
JOG_N:1=反轉(zhuǎn)點動控制
Speed:RUN運行時的目標(biāo)速度,Real型數(shù)據(jù)
Dir:RUN運行時的方向
Error:錯誤代碼(字節(jié))
C_Pos:軸當(dāng)前位置(絕對定位或者相對定位),工程單位:Real型數(shù)據(jù);相對脈沖:DINT型數(shù)據(jù)
C_Speed:軸當(dāng)前速度,Real型數(shù)據(jù)
C_Dir:軸的當(dāng)前方向(1=反向,0=正向)
3、查找參考點
走絕對位置和相對位置前需要找到真實的零點,絕對位置和相對位置才能根據(jù)零點運行。
AXISx_RSEEK子程序(搜索參考點位置)使用組態(tài)/曲線表中的搜索方法啟動參考點搜索操作。運動軸找到參考點且運動停止后,運動軸將RP_OFFSET參數(shù)值載入當(dāng)前位置。

管腳含義:
START:每接通一個掃描周期,就執(zhí)行一次查找參考點(參考點查找方式由軸組態(tài)確定)
Done:完成標(biāo)志位
Error:錯誤代碼(字節(jié))
4.絕對或者相對定位
AXISx_GOTO子程序命令運動軸轉(zhuǎn)到所需位置。

管腳含義:
START:每接通一個掃描周期,就執(zhí)行一次定位
Pos:目標(biāo)位置(絕對定位為坐標(biāo)點,相對定位為兩點間距離),工程單位:Real型數(shù)據(jù);相對脈沖:DINT型數(shù)據(jù)
Speed:目標(biāo)速度,Real型數(shù)據(jù)
MODE:移動模式0:絕對位置 1:相對位置 2:單速連續(xù) 正向旋轉(zhuǎn) 3:單速連續(xù)反向旋轉(zhuǎn)
Abort:停止正在執(zhí)行的運動
Done:完成標(biāo)志位
Error:錯誤代碼(字節(jié))
C_Pos:軸當(dāng)前位置(絕對定位或者相對定位),工程單位:Real型數(shù)據(jù);相對脈沖:DINT型數(shù)據(jù)
C_Speed:軸當(dāng)前速度,Real型數(shù)據(jù)
審核編輯:湯梓紅
-
原理圖
+關(guān)注
關(guān)注
1353文章
6427瀏覽量
246279 -
驅(qū)動器
+關(guān)注
關(guān)注
54文章
9082瀏覽量
155494 -
plc
+關(guān)注
關(guān)注
5051文章
14592瀏覽量
486879 -
西門子
+關(guān)注
關(guān)注
98文章
3310瀏覽量
120369 -
程序
+關(guān)注
關(guān)注
117文章
3846瀏覽量
85232
原文標(biāo)題:
文章出處:【微信號:電子技術(shù)控,微信公眾號:電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
S7-200西門子PLC視頻教程大全
西門子S7-200 PLC應(yīng)用100例
西門子S7-200SMAR圓形軌跡的算法及程序
評論