FOXBOT编程手册Word文档下载推荐.docx

上传人:b****6 文档编号:21815990 上传时间:2023-02-01 格式:DOCX 页数:90 大小:539.11KB
下载 相关 举报
FOXBOT编程手册Word文档下载推荐.docx_第1页
第1页 / 共90页
FOXBOT编程手册Word文档下载推荐.docx_第2页
第2页 / 共90页
FOXBOT编程手册Word文档下载推荐.docx_第3页
第3页 / 共90页
FOXBOT编程手册Word文档下载推荐.docx_第4页
第4页 / 共90页
FOXBOT编程手册Word文档下载推荐.docx_第5页
第5页 / 共90页
点击查看更多>>
下载资源
资源描述

FOXBOT编程手册Word文档下载推荐.docx

《FOXBOT编程手册Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《FOXBOT编程手册Word文档下载推荐.docx(90页珍藏版)》请在冰豆网上搜索。

FOXBOT编程手册Word文档下载推荐.docx

<

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

開始端口地址+15

DEFPOS

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

格式﹕DEFPOS<

變量名>

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

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

相關指令poseP

格式﹕DimlpxasposeP

DELAY

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

格式﹕DELAY<

Delaytime>

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

單位:

ms

舉例﹕

DIMli1AsInteger

Delay100

‘延時100ms(0.1s)

Delayli1+10

‘延時li1+10ms

DEFJNT

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

格式﹕DEFJNT<

DEFJNTljx

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

DIST

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

格式﹕DIST(<

位置類型變量1>

<

位置類型變量2>

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

Dimlf1ASSingle

DEFPOSlp2

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<

插補方法>

@<

到達目標位置確認形式>

<

路徑目標位置>

S=速度百分比>

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

對于<

位置>

﹐位置類型<

P型>

關節類型<

J型>

可以使用。

插補方法

說明

P(PTP)

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

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

L

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

運動路徑是一條直線

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

@0:

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

@P:

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

@E:

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

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

到達P3﹕

‘PROGRAMPASS_MOVE

‘TAKEARM

MOVEP,@P,P

(2),S=10

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

END

PROGRAMEND_MOVE

TAKEARM

MOVEL,@0,P

(2),S=10

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

END

PROGRAMENCODER_MOVE

MOVEL,@E,P

(2),S=10

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

OUT

功能﹕給輸出IO變量賦值

格式﹕OUT<

I/O變量>

=<

舉例﹕'

EXAMPLE_OUT"

Declareli1asInteger

Declaresamp1asTypeIOvariable,lengthis16(integer),startingfromIO(30)

DEFIOsamp1=Integer,30

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

li1=2^5-1

Outputtheli1datafromtheportdeclaredinsamp1

Outsamp1=li1

Delay3seconds

Delay3000

Outputtheli1datafromtheport38

OutIO(38)=li1

POSRX

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

格式﹕POSRX<

Dimlf1AsSingle

DEFPOSlp

lp1=CURPOSE

lf1=POSRX(lp1)

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

POSRY

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

格式﹕POSRY<

lf1=POSRY(lp1)

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

POSRZ

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

格式﹕POSRZ<

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

舉例﹕Dimlf1AsSingle

lf1=POSRZ(lp1)

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

POSX

功能﹕獲得X坐標

格式﹕POSX<

舉例﹕DIMlf1AsSingle

lf1=POSX(lp1)

‘指定lp1的X部分給lf1

POSY

功能﹕獲得Y坐標

格式﹕POSY<

說明﹕從位置類型或向量類型坐標值提出Y部分。

DIMlf1AsSingle

DIMlp1AsposeP

lf1=POSY(lp1)

‘指定lp1的Y部分給lf1

POSZ

功能﹕獲得Z坐標

格式﹕POSZ<

說明﹕從位置類型變量坐標值提出Z部分。

lf1=POSZ(lp1)

‘指定lp1的Z部分給lf1

RESETIO

功能﹕設置一個IO口為OFF

格式﹕RESETIO<

IO變量>

說明﹕設置通過IO變量標明的端口為OFF

‘!

titile“example_setio”

‘takearm

RESETIOIO(40)

‘設置IO40為OFF

ROBOTSTOP

功能﹕機器人運行停止

格式﹕ROBOTSTOP

說明﹕機器人進入持續停止狀態﹐關閉馬達電源﹐關閉機器人正在操作的輸出信號。

舉例﹕‘PROGRAMTSR1

ROBOTSTOP

‘停止機器人

ROTATE

功能﹕繞指定向量執行旋轉運動

格式﹕ROTATE<

旋轉平面>

向量>

速度百分比>

說明﹕

旋轉平面﹕XYH,XZH,YZH;

XY,XZ,YZ

旋轉平面與XYH,XZH,YZH平行,向量是相對工具坐標系,

旋轉平面與XY,YZ,YZ平行﹐向量是相對工件坐標系

半徑應是向量在指定平面的投影距離。

注意﹕機器人6軸端面與指定旋轉平行﹐才能畫圓。

范例﹕

AssignJ(0)position

J(0).J1=0

J(0).J2=0

J(0).J3=90

J(0).J4=0

J(0).J5=30

J(0).J6=0

MovetoJ(0)

MOVEP,J(0),S=50

AssignJ(0).J2anewposition

J(0).J2=60

MovetonewJ(0)

Rotate360degreeonXYplanaroundavectorV(0)describedinToolCoordinate

ROTATEXYH,360,V(0),S=100

SETIO

功能﹕設置一個IO口為ON。

格式﹕SETIO(IO變量)

說明﹕設置指定IO為ON

舉例‘!

SETIO(40)

‘設置IO(24)點為ON

SPEED

功能﹕指定內部關節合成速度。

格式﹕SPEED<

運動速度>

說明﹕運動速度是內部關節合成最大速度的百分比(%)﹐范圍:

0.1-100

最大速度是指TCP點的最大速度

SPEED50

機器人有內部速度和外部速度。

外部速度是指示教器上設定的速度

內部速度是指用SPEED指令設定的值。

實際速度=最大速度*內部速度*外部速度

例如﹕

內部速度=70%

外部速度30%

實際速度=最大速度*0.7*0.3

WAIT

功能﹕程序停止直到條件滿足。

格式﹕WAIT<

條件表達>

程序被停止直到條件被滿足。

舉例:

WAITIO(10)=ON

’程序等一直到IO(10)為ON

附錄

指令

說明

頁數

宣告IO變數

宣告Jointtype變數

宣告Positiontype變數

使程式執行延遲一段指定的時間

取得兩點間的距離

執行單軸之相對運動

執行單軸之絕對運動

取得一typeP變數之figure值

移動至HOME指令所指定之位置(Home位置)

指定Home位置

將IO埠狀態資料給一變數(此資料定義於一IO變數內)

關節變量轉換成位置變量

移動至指定的位置

輸出IO狀態資料至IO埠(此IO埠定義於一IO變數內)

取得一typeP變數之RX值

取得一typeP變數之RY值

取得一typeP變數之RZ值

取得一typeP變數之X值

取得一typeP變數之Y值

取得一typeP變數之Z值

使一個IO埠設為OFF

使robot停止並SERVOOFF

對某一指定向量作旋轉運動

使一個IO埠設為ON

指定內部速度比例

根據某一狀況暫停程式執行

CypressEnable

編輯器

語言參考手冊

CypressEnable程序編寫規范

這部分主要描述Enable語言的一般元素,包括注釋﹑語句﹑數字的不同表達形式﹑變量數據類型(包括用戶定義類型)﹑多流程程序控制結構等。

注釋

格式﹕’注釋內容

說明﹕注釋是不可執行的代碼行﹐是為了便于編程人員閱讀程序而加入的。

注釋目前只能單獨占一行﹐Enable將忽略出現在撇號或者Rem之后的任何文本。

Rem和所有其他的關鍵字以及Enable的大部分名稱都是大小寫不敏感的。

MsgBoxMsg'

顯示信息

語句

說明﹕在Enable里沒有語句結束符﹐一行可以放多條語句﹐通過“:

”隔開。

x.AddPoint(25,100):

x.AddPoint(0,75)

等價于﹕

x.AddPoint(25,100)

x.AddPoint(0,75)

續行符

在Enable中續行符用下划線“_”表示﹐在續行符”_”前后都要有空格。

x.AddPoint_

(25,100)

數字

CypressEnable支持三種數字表達形式﹕十進制﹑八進制和十六進制。

本手冊中所使用的大部分數字用十進制表示。

使用八進制或者十六進制需要分別在數字前加前綴”&

O”或”&

H”。

變量和常量名

變量和常量名必須以字母開頭﹐可以包含大寫字母A~Z﹑小寫字母a~z﹑下划線”_”和數字0~9。

變量與常量名都不超過40個字符﹐也不能使用保留字(可參見本手冊語言概述部分的保留字表)。

但是對象成員名和屬性名不受此項規則的限制﹐可以使用保留字。

變量類型

Variant變體變量

說明﹕與VB類似﹐當在CypressEnable中引入變量時不必在首行聲明(如果使用了optionexplicit則例外﹐可參見optionexplicit說明)。

如果使用一個變量但沒有事先聲明則系統隱式聲明其為Variant類型。

Variant變量也可以使用”Asvariant”以DimxAsVariant的形式顯式地聲明。

Variant數據類型能夠存儲數值﹑字符串﹑日期和時間。

使用Variant類型變量時不必顯式地從一個類型轉換到另外一個類型﹐數據類型轉換是自動完成的。

格式﹕Dim變量名As變量類型

SubMain

Dimx'

variantvariable

x=10

x=x+8

x="

F"

x

printx'

printsF18

EndSub

一個Variant類型變量可以很容易地改變其類型﹐其內部表示可以使用VarType函數確定。

VarType返回一個與顯式數據類型一致的值(可在語言參考A~Z參見VarType的返回值)。

當以Variant變量存儲數據時所使用的數據類型總是盡可能緊湊的。

比如﹐如果對Variant變量賦值一個很小的整數值﹐它將以integer類型存儲﹔如果賦值的數據包含小數部分﹐將以double類型存儲。

如果運用Variant變量進行數值運算﹐往往有必要確定其存儲的是否是有效的數值﹐從而避免出錯。

這可由IsNumeric函數實現。

變體變量和串聯

字符串和數字串聯的結果是字符串。

使用”&

”操作符可以確保無論何種數據類型都能連接成功﹐&

操作符不能對數值進行數學運算﹐它只是簡單地把它們當作字符串連接起來。

可以使用IsEmpty函數確認Variant變量之前是否被賦過值。

其他數據類型

CypressEnable有12個數據類型﹐在下表只列出常用的几種﹕

數據類型表

類型

類型聲明符

存儲空間

大小范圍

類型聲明

1字節

0to255

DimBvarAsByte

Boolean

2個字節

DimBoolvarAsBoolean

String

$

字符串長度

0to65,500字符

DimStrVarAsString

Interger

%

2字節

DimInt_VarAsInteger

Long

4字節

DimLong_VarAsLong

Single

DimSing_VarAsSingle

Double

#

8字節

DimDbl_VarAsDouble

Variant

按需分配

DimXAsAny

UserDefinedType

每個元素的尺寸之和

變量范圍

CypressEnable程序可由多個文件組成﹐每個文件可包含多個子程序和函數。

不同的文件中變量名可以重復使用﹐變量可以是局部的﹐也可以是全局的。

變量的聲明

在CypressEnable中變量用DIM語句聲明。

要聲明一個除variant類型之外的變量﹐必須在變量名后跟隨As說明變量類型或者附加類型聲明符。

例如﹐%代表Integer類型。

格式﹕Dim變量名As變量類型

DimXAsInteger

DimYAsDouble

DimName$,Age%'

multipledeclarationononelineDimv

EndSub

控制結構

CypressEnable有完整的過程控制功能﹐可用的控制結構有Do循環﹐While循環﹐For循環﹐SelectCase﹐IfThen和IfThenElse。

另外﹐CypressEnable還有一個跳轉語句﹕GoTo。

GoTo語句跳轉到語句所指定的標號處。

Gotolabel1

…….

label1:

程序跳到以”Label1:

”所標記的部分

循環結構

循環結構是指程序重復執行循環語句中的一行或多行代碼。

DO循環

Do...Loop循環允許以不確定的次數重復執行某個語句塊。

Do...Loop的變種有DoWhile和DoLoopWhile。

格式﹕

DoWhile條件

語句塊...

[ExitDo]

Loop

Do

語句塊.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

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

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