FOXBOT编程手册精编版.docx

上传人:b****0 文档编号:526835 上传时间:2022-10-10 格式:DOCX 页数:89 大小:97.18KB
下载 相关 举报
FOXBOT编程手册精编版.docx_第1页
第1页 / 共89页
FOXBOT编程手册精编版.docx_第2页
第2页 / 共89页
FOXBOT编程手册精编版.docx_第3页
第3页 / 共89页
FOXBOT编程手册精编版.docx_第4页
第4页 / 共89页
FOXBOT编程手册精编版.docx_第5页
第5页 / 共89页
点击查看更多>>
下载资源
资源描述

FOXBOT编程手册精编版.docx

《FOXBOT编程手册精编版.docx》由会员分享,可在线阅读,更多相关《FOXBOT编程手册精编版.docx(89页珍藏版)》请在冰豆网上搜索。

FOXBOT编程手册精编版.docx

FOXBOT编程手册精编版

 

富士康.工業機器人

FOXBOT

編程手冊

(Ver.2007.1)

 

 

簡介

FOXBOT的編程手冊由FOXBOT指令手冊和CypressEnable編輯器語言參考手冊組成。

FOXBOT指令手冊主要用于機器人的運動控制指令;CypressEnable主要用于程序的變量命名﹑流程控制﹑子程序等。

程序編輯界面是CypressEnable編輯器﹐程序中的語句語法要求應符合CypressEnable的要求。

FOXBOT

指令手冊

目錄

ACCEL

功能:

指定內部加速度比例

格式:

ACCEL<加速度比例>

範例:

ACCEL50

CURPOS

功能:

取得目前的位置(typeP格式)

格式:

Positiontype變數=CURPOS

說明:

範例:

DEFPOSlp1

lp1=CURPOS

MSGBOXPOSX(lp1)&chr(13)&chr(10)&_

POSY(lp1)&chr(13)&chr(10)&_

POSZ(lp1)&chr(13)&chr(10)&_

POSRX(lp1)&chr(13)&chr(10)&_

POSRY(lp1)&chr(13)&chr(10)&_

POSRZ(lp1)&chr(13)&chr(10)&_

FIG(lp1)

DECEL

功能:

指定內部減速度比例

格式:

DECEL<減速度比例>

說明:

範例:

DECEL50

DEFIO

功能:

聲明IO變數

格式:

DEFIO<變量名稱>=,<端口地址>

說明:

通過變量名聲明指定變量作為一個IO變量

選擇IO變量的類型。

IO變量的類型包括﹕BIT(1位)﹑BYTE(8位)﹑INTEGER(16位)

<端口地址>指定輸入輸出IO的開始號

相關指令﹕INOUTSETRESET

範例:

DimaASInteger

DEFIOsamp1=INTEGER,0

’聲明一個來自端口15的IO字類型變量。

Sampl返回值是16位的來自從0到15端口整型

INa=samp1

Msgbox

Notes:

對于字或整型,使用MSB作為一個信號位。

Byte

允許數字值范圍﹐MSB端口號:

開始端口地址+7

Integer

允許數字值范圍﹐MSB端口號:

開始端口地址+15

DEFPOS

功能﹕聲明一個位置類型變量

格式﹕DEFPOS<變量名>

舉例﹕DEFPOSlpx‘聲明lpx作為位置類型變量

注意﹕一個語句只能聲明一個位置變量類型

相關指令poseP

格式﹕DimlpxasposeP

DELAY

功能﹕暫停程序處理,延時一個指定的周期時間,

格式﹕DELAY

說明﹕程序處理停止直到暫停時間到。

單位:

ms

舉例﹕

DIMli1AsInteger

Delay100

‘延時100ms(0.1s)

Delayli1+10

‘延時li1+10ms

DEFJNT

功能﹕聲明一個關節類型變量

格式﹕DEFJNT<變量名>

舉例﹕

DEFJNTljx

‘聲明ljx作為一個關節類型變量

DIST

功能﹕返回兩點之間的距離

格式﹕DIST(<位置類型變量1>,<位置類型變量2>)

說明﹕獲得位置1和位置2之間的距離

舉例﹕

Dimlf1ASSingle

DEFPOSlp1

DEFPOSlp2

lp1=CURPOS

lp1.x=lp2.x+10

lp1.y=lp2.y+10

lp1.z=lp2.z+10

lp1.rx=lp2.rx+10

lp1.ry=lp2.ry+10

lp1.rz=lp2.r2+10

lf1=DIST(lp1,lp2)

‘lf1等于lp1和lp2之間的距離

MSGBOXlf1

DRIVE

功能:

執行每個軸的相對運動

格式:

DRIVE(<軸號>﹐<相對運動量>)

說明﹕移動指定軸﹐移動量用角度來表示,角度的正負表示移動的方向。

舉例﹕DRIVE1,30

'移動1軸﹐30度。

DRIVEA

功能﹕執行每個軸的絕對運動

格式﹕DRIVEA<軸號>﹐<角度>

說明﹕移動指定軸到指定角度

舉例﹕

DRIVEA1,-30

‘移動1軸到-30度。

FIG

功能﹕提取一個形態。

格式﹕FIG(位置類型變量)

說明:

從位置數據提取一個形態

舉例﹕

DIMlp1ASposeP

li1=FIG(lp1)

‘指定一個lp1的形態給li1

GOHOME

功能﹕移動到HOME語句定義的坐標位置

格式:

GOHOME

說明:

移動機器人使用PTP控制從當前位置到HOME位置

使用HOME語句聲明一個原點位置

如果沒有設置HOME﹐執行這個語句將會出現錯誤。

舉例﹕GOHOME

‘機器人從當前位置移動到原點位置

HOME

功能﹕聲明任意位置為原點位置

格式﹕HOME<位置類型變量>

說明﹕聲明任意的位置類型的坐標作為原點位置

舉例﹕DimJJAsposeJ

Speed30

JJ.J5=20

'賦值20度給JJ.J5,其他JJ的組成是0

HomeJJ

'設置JJ作為原點位置

GoHome

'移動到原點位置

End

IN

功能﹕IO變量值賦給指定變量

格式﹕IN<變量名>=<IO變量>

舉例﹕

'!

TITLE"EXAMPLE_IN"

Dimli1AsInteger

'Declareli1andli2asInteger

Dimli2AsInteger

'Declaresamp1asTypeIOvariable,

DEFIOsamp1=Integer,48

'lengthis16(integer),startingfromIO(48)

'GetthecurrentIOstatusdefinedinsamp1

'intointegerformatandassignittoli1

Inli1=samp1

'GetIOstatusstartingfrom56intoaninteger

'andassignittoli2

Inli2=IO(56)

'Showli1andli2

'(ifonlyIO(56)ison,li1=256meaning100000000

'inbinarystartingfromport48andli2=1)

MsgBox"li1="&li1&Chr(13)&Chr(10)_

&"li2="&li2

J2P

功能﹕關節類型變量轉換成位置類型變量。

格式﹕J2P<關節類型變量>,<位置類型變量>

舉例﹕

Dimlj1asposeJ

Dimlp1asposeP

lj1.j1=0

lj1.j2=0

lj1.j3=0

lj1.j4=0

lj1.j5=0

lj1.j6=0

J2Plj1,lp1

Msgboxlp1.x&“”lp1.y&“”lp1.z_

lp1.rx&“”lp1.ry&“”lp1.rz

MOVE

功能﹕移動機器人末端操作器到指定坐標。

格式﹕MOVE<插補方法>,@<到達目標位置確認形式>,<路徑目標位置>,

說明﹕移動機器人從當前位置到指定的目標位置。

對于<位置>﹐位置類型,關節類型可以使用。

插補方法

說明

 

P(PTP)

PTP(點到點)﹕運動從一個點到另一個點﹐機器人移動的路徑依賴機器人的姿態﹐不是一條直線。

運動路徑可以不是一條直線

 

L

CP控制,到達目標位置的路徑是一條直線

A

B

 

運動路徑是一條直線

機器人手臂從一個運動到另一個運動有三種方法確定第一個運動的完成。

@0:

運動位置到達目標位置就算到達。

@P:

實際位置到達目標位置附近即算到達,且不減速而往下一位置。

@E:

編碼器值核實點,實際位置到達目標位置,停下來﹐檢查編碼器的值是否在一定時間內不超出一定範圍才算到達。

下面的例子都是機器人從當前位置P1經過P2

P3

到達P3﹕

‘PROGRAMPASS_MOVE

‘TAKEARM

MOVEP,@P,P

(2),S=10

MOVEP,@0,P(3),S=10

END

P3

PROGRAMEND_MOVE

TAKEARM

MOVEL,@0,P

(2),S=10

MOVEL,@0,P(3),S=10

END

P3

PROGRAMENCODER_MOVE

TAKEARM

MOVEL,@E,P

(2),S=10

MOVEL,@0,P(3),S=10

END

OUT

功能﹕給輸出IO變量賦值

格式﹕OUT=<變量名>

舉例﹕'!

TITLE"EXAMPLE_OUT"

Dimli1AsInteger

'Declareli1asInteger

'Declaresamp1asTypeIOvariable,lengthis16(integer),startingfromIO(30)

DEFIOsamp1=Integer,30

'assign2^5-1=31(11111inHexvalue)toli1

li1=2^5-1

'Outputtheli1datafromtheportdeclaredinsamp1

Outsamp1=li1

'Delay3seconds

Delay3000

'assign2^5-1=31(11111inHexvalue)toli1

li1=2^5-1

'Outputtheli1datafromtheport38

OutIO(38)=li1

POSRX

功能﹕獲得繞X軸旋轉的角度

格式﹕POSRX<位置類型變量>

舉例﹕

Dimlf1AsSingle

DEFPOSlp

lp1=CURPOSE

lf1=POSRX(lp1)

‘指定X軸旋轉lp1部分給lf1

POSRY

功能﹕獲得繞Y軸旋轉的角度

格式﹕POSRY<位置類型變量>

舉例﹕

Dimlf1AsSingle

DEFPOSlp

lp1=CURPOSE

lf1=POSRY(lp1)

‘指定Y軸旋轉lp1部分給lf1

POSRZ

功能﹕獲得繞Z軸旋轉的角度

格式﹕POSRZ<位置類型變量>

說明﹕從位置坐標系中提出繞Z軸旋轉部分

舉例﹕Dimlf1AsSingle

DEFPOSlp

lp1=CURPOSE

lf1=POSRZ(lp1)

‘指定Z軸旋轉lp1部分給lf1

POSX

功能﹕獲得X坐標

格式﹕POSX<位置類型變量>

舉例﹕DIMlf1AsSingle

DEFPOSlp1

lf1=POSX(lp1)

‘指定lp1的X部分給lf1

POSY

功能﹕獲得Y坐標

格式﹕POSY<位置類型變量>

展开阅读全文
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1