PMAC應用三 運動程式

2021-10-09 22:34:38 字數 2921 閱讀 8420

線性移動引數說明

結後語前面我們已經知道了怎麼定義乙個座標系,現在我們可以開始先建立乙個座標系1,再編寫乙個簡單的運動程式,先來看乙個例子。

undefine all    // 清除所有座標系定義

&1 //定義乙個座標系

#1->x //將1號電機分配給x軸

#2->y //將2號電機分配給y軸

#3->z //將3號電機分配給z軸

open prog 1     //開啟程式1

linear abs //直線絕對值運動模式

ta 300 ts 100 td 300 f 30 //加速度時間為300ms s型曲線時間為100ms 減速度時間為300 進給速度為30

x 0 y 0 z 10 //x移動10個使用者單元 y不移動 z移動10個使用者單元

x 10 y 10 z 10

x10 y0 z10

x0 y 10 z 0

close //關閉運動程式

所有的動作程式都必須有乙個開啟陳述(open prog ****)和乙個結尾陳述(close),程式名可按自己功能定義,e.g.open prog montion_proggram

運動模式分為5種,分別為linear,pvt, circle,spline,rapid,官方解釋如下:

inc // 增量移動

pvt 1000 // 1000 ms移動時間

x 20:1.5 //x點為20個使用者單位,點速度為1.5進給單位

上面講解了幾種運動模式及與運動模式相關的嘗試,下面是乙個線性運動的例子。

open prog motion_program

linear abs //線性絕對值

ta 300 ts 100 td 300 f 30 加速度時間300 s型曲線時間100 減速時間300 向量軸進給速30

dwell 1 //等待1ms,dwell與普通的延時不同,dwell不會對後面的移動或邏輯進行計算或判斷

x 12.0666623184884703 y -2.55370140075683594 z 175.31781379350133

x 12.0667004654611265 y -2.55370140075683594 z 342.974248567900133

dwell 0

call timer(m89) //乙個延時子程式

x 12.0666733527865606 y -2.55370140075683594 z 278.997280101779666 a -0.432743549346923828

x 12.0666619086947637 y 87.0913314819335938 z 278.998695116046633 a -0.432743549346923828

call timer(10)

x 12.0666623184884703 y -2.55370140075683594 z 175.31781379350133 a -0.43274688720703125

dwell 0

m86=0;

m87=0;

close

如果使用者距離單位時mm,coord[x].feedtime = 1000(預設值),f 10表示10mm/s

f //指定進給軸的速度

f 10

frax(axes) // 向量進給軸定義

frax(x,y,z)

當使用f時,tm的值如下計算:

t m=

總的距離

f−總的

加減時間

tm=\frac -總的加減時間

tm=f總的

距離​−

總的加減

時間當定義tm而不是f時,f最大值為:

f ma

x=勻速

的距離t

mfmax=\frac

fmax=t

m勻速的

距離​delay

dwell

由於pmac對與移動無關的數值計算進行了預先處理,因此通常的變數分配可能會在使用者預期之前執行,若要強制在下乙個移動開始時進行變數分配,請使用同步變數賦值,就像乙個普通的變數賦值,但是在賦值表示式中使用==而不是=,可以用於global, csglobal或ptr變數(除了自分配的prt變數)

clearglue == 1   //當運動開始時,變數輸出1

x 12.0667004654611265 y -2.55370140075683594 z 342.974248567900133 a -0.43274688720703125

clearglue == 0

x 12.0666733527865606 y -2.55370140075683594 z 278.997280101779666 a -0.432743549346923828

cleargluelidopen == 0

x 12.0666619086947637 y 87.0913314819335938 z 278.998695116046633 a -0.432743549346923828

toolrotationenable == 0 // //當運動結束時,變數輸出0

這一節總結了運動程式的一些引數,下一節總結一下plc指令碼程式。

power pmac 5-day training (plus opt ecat training)

PMAC運動程式例程 一

日期 2015 06 10 修訂資訊 2015 08 13修改1 1 選擇座標系1 close 關閉所有的緩衝暫存器 1 x 將1號電機分配給x軸 open prog1 開啟程式1的緩衝暫存器 clear 清除緩衝暫存器的內容 linear 選擇混合線性插值運動模式,還可以選擇circle圓弧運動 ...

PMAC運動程式例程 一

日期 2015 06 10 修訂資訊 2015 08 13修改1 1 選擇座標系1 close 關閉所有的緩衝暫存器 1 x 將1號電機分配給x軸 open prog1 開啟程式1的緩衝暫存器 clear 清除緩衝暫存器的內容 linear 選擇混合線性插值運動模式,還可以選擇circle圓弧運動 ...

三體運動的程式模擬

前幾天看了 三體 很不錯的科幻 說到三體,我想到我大學的乙個舍友叫王晶,和香港那個導演同名同姓同性別.記得有一次幾個同學在一塊聊天,有個女生問他 父母為什麼給他取名叫晶.他說叫晶是父母希望能有三個太陽守護著他。那時我還很單純,不會用五行缺什麼的話來諷刺他,只是說,如果給他起名叫王晶晶的話,那就有6個...