工業(yè)機(jī)器人課件20_第1頁
工業(yè)機(jī)器人課件20_第2頁
工業(yè)機(jī)器人課件20_第3頁
工業(yè)機(jī)器人課件20_第4頁
工業(yè)機(jī)器人課件20_第5頁
已閱讀5頁,還剩120頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

M_Wai變量的功能、語法結(jié)構(gòu)與使用方法M_Wai變量的功能M_Wai變量的功能、語法結(jié)構(gòu)與使用方法返回指定插槽是否處于待機(jī)中(也叫暫停中)狀態(tài)。待機(jī)中時(shí)值為1,不是待機(jī)中時(shí)值為0M_Wai變量的語法結(jié)構(gòu)M_Wai變量的功能、語法結(jié)構(gòu)與使用方法格式:<字符串變量>=M_Wai[(<數(shù)值>)]M_Wai變量的參數(shù)<字符串變量>:指定代入的字符串變量。<數(shù)值>:1~32,代入任務(wù)插槽號(hào)碼。省略時(shí)為1。M_Wai變量的舉例M_Wai變量的功能、語法結(jié)構(gòu)與使用方法1M1=M_Wai(1)''將1號(hào)插槽的待機(jī)中標(biāo)志賦值給變量M1M_Wai變量的使用說明:M_Wai變量的功能、語法結(jié)構(gòu)與使用方法(1)該變量只讀,不能寫入;(1)程序文件的概念;

(2)編程語言的功能;(3)語句與附隨語句(4)步與步號(hào)(5)可用字符與命名(6)有特殊意義的字符(7)標(biāo)簽(8)注釋(9)指令文(10)數(shù)據(jù):類型、常數(shù)、變量(11)常數(shù):5種類型及其表達(dá)(12)坐標(biāo)系(13)變量:5種類型及其表達(dá)、局部與全局(14)全局變量:特殊、預(yù)設(shè)、用戶自定義(15)數(shù)組:(16)函數(shù):預(yù)設(shè)、用戶自定義(17)多任務(wù)控制:指令、參數(shù)1程序文件的基本概念機(jī)器人程序由以下3部分構(gòu)成

程序名稱

◆在顯示器上最多只能顯示4個(gè)字符。

◆英文字母開頭、12個(gè)字符以內(nèi)、符合標(biāo)識(shí)符命名規(guī)則。

◆不足4個(gè)字符時(shí),顯示屏?xí)詣?dòng)在程序名前補(bǔ)0。指令語句

◆由步號(hào)、命令語、數(shù)據(jù)、附隨語句、標(biāo)識(shí)語句等元素組成位置數(shù)據(jù)◆在直交坐標(biāo)系或關(guān)節(jié)坐標(biāo)系下示教保存的位置數(shù)據(jù)MELFABASIC編程語言知識(shí)總覽2編程語言功能MELFABASIC編程語言知識(shí)總覽(1)機(jī)器人動(dòng)作控制;(2)碼垛運(yùn)算;(3)程序流程控制;(4)信號(hào)輸入輸出;(5)通信;(6)數(shù)值運(yùn)算;(7)附隨語句;3語句與附隨語句MELFABASIC編程語言知識(shí)總覽語句是程序的基本構(gòu)成單元;

在語句后再附加一條語句,便有了附隨語句4步與步號(hào)MELFABASIC編程語言知識(shí)總覽步由步號(hào)、語句、附隨語句構(gòu)成;

1MovP12MovP1,-50WthM_Out(17)=1每一行程序?yàn)橐徊?。步?hào)由編程系統(tǒng)自動(dòng)添加,無需人工添加。5可用字符與命名MELFABASIC編程語言知識(shí)總覽可以在程序內(nèi)使用的文字如下所示。但是,在程序名、變量名及標(biāo)簽名的使用上有限制。可使用的文字為○、無法使用的文字為×、有限制使用文字則以△表示。區(qū)分程序可使用的文字程序名變量名標(biāo)簽名英文ABCDEFGHIJKLMNOPQRSTUVWXYZ○○○abcdefghijklmnopqrstuvwxyz×○○數(shù)字0123456789○△△記號(hào)"’&()*+-.,/:;=<>?@`[\]^{}~|×××%&!#$×后綴型號(hào)×_下劃線×△○空格空格×××6有特殊意義的字符MELFABASIC編程語言知識(shí)總覽

(1)大寫、小寫的區(qū)別除了作為字符型數(shù)據(jù)時(shí)區(qū)分大小寫外,其它地方不區(qū)分大小寫。(2)下劃線(_)將_作為變量名稱的第2個(gè)字符時(shí),變量會(huì)成為全局變量。(3)撇號(hào)(’)將撇號(hào)以后的文字視為注釋(指令)。(4)星號(hào)(*)星號(hào)后綴可用字符串,形成標(biāo)簽。例)200*KAKUNIN(5)逗號(hào)(,)作為指令的參數(shù)(自變量)及添加字的區(qū)分。(6)句號(hào)(.)作為小數(shù)點(diǎn)或位置變量、關(guān)節(jié)變量取成分?jǐn)?shù)據(jù)時(shí)使用。(7)空格(.)在輸入指令語句時(shí)分隔成分之用。7標(biāo)簽MELFABASIC編程語言知識(shí)總覽

定義:在星號(hào)*后面附加可用字符串便構(gòu)成了標(biāo)簽,后綴的字符串就是標(biāo)簽名。

命名:標(biāo)簽名由用戶定義,標(biāo)簽被用作程序跳轉(zhuǎn)或轉(zhuǎn)移的入口指針。

例):2*LB1

:10Goto*LB1標(biāo)簽名第一個(gè)字符必須是英文字母,英文字母不區(qū)分大小寫。標(biāo)簽名由最多不能超過16個(gè)字符的字符串構(gòu)成。8注釋MELFABASIC編程語言知識(shí)總覽

在英文狀態(tài)下輸入撇號(hào)('),或者輸入Rem,則該行之后的所有內(nèi)容將視為指令的注釋部分,不會(huì)被機(jī)器人控制系統(tǒng)編譯。

例):10Goto*Check'跳轉(zhuǎn)至標(biāo)簽Check行…50*Check'標(biāo)簽Check行9指令MELFABASIC編程語言知識(shí)總覽指令一覽關(guān)節(jié)插補(bǔ)指令MOV直線插補(bǔ)指令MVS

圓弧插補(bǔ)指令MVR

圓弧插補(bǔ)指令MVR2

圓弧插補(bǔ)指令MVR3

圓周插補(bǔ)指令MVC

加減速ACCEL

最佳加減速OADL

速度OVRDSPDJOVRD

剩余脈沖確認(rèn)Fine

延時(shí)DLY

碼垛定義指令DEFPLT

碼垛計(jì)算指令PLT

伺服上電Servo

條件分支IF語句

無條件轉(zhuǎn)移Goto

條件轉(zhuǎn)移Select

等待語句Wait

循環(huán)語句ForNext

循環(huán)語句While

子程序調(diào)用GoSub

子程序調(diào)用CallP

工具坐標(biāo)系切換Tool基本變換指令Base

中斷9指令MELFABASIC編程語言知識(shí)總覽

9.1關(guān)節(jié)插補(bǔ)指令MOV。

■指令的功能以關(guān)節(jié)插補(bǔ)的方式將控制點(diǎn)從起點(diǎn)位置移到目標(biāo)位置,控制點(diǎn)的移動(dòng)軌跡是隨機(jī)的曲線。9指令MELFABASIC編程語言知識(shí)總覽

9.1關(guān)節(jié)插補(bǔ)指令MOV。

■指令的語法結(jié)構(gòu)格式:Mov口<目標(biāo)位置>[,<接近距離>][口Type口<常數(shù)1>,<常數(shù)2>]口[附隨語句]

參數(shù):(1)目標(biāo)位置:直交位置或關(guān)節(jié)位置類型的常量或變量。不可省略。(2)接近距離:指定此值的情況下,實(shí)際的移動(dòng)目的位置會(huì)往以TOOL坐標(biāo)的Z軸方向(+/-方向)往指定距離的偏離位置動(dòng)作。以常數(shù)或變量指定。對(duì)于RV機(jī)器人而言,在數(shù)值前加負(fù)號(hào)“-”;對(duì)于RH機(jī)器人而言,在數(shù)值前加正號(hào)“+”??墒÷浴#?)<常數(shù)1>:賦值1/0,指定繞道/走近路的動(dòng)作方式。初始值為1。可省略。(4)<常數(shù)2>:無效??墒÷浴#?)附隨語句:使用Wth或Wthif語句??墒÷?。9指令MELFABASIC編程語言知識(shí)總覽

9.1關(guān)節(jié)插補(bǔ)指令MOV。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.2直線插補(bǔ)指令MVS。

■指令的功能以直線插補(bǔ)的方式將控制點(diǎn)從起點(diǎn)位置移到目標(biāo)位置,控制點(diǎn)的移動(dòng)軌跡為直線。9指令MELFABASIC編程語言知識(shí)總覽

9.2直線插補(bǔ)指令MVS。

■指令的語法結(jié)構(gòu)格式:Mvs口<目標(biāo)位置>[,<接近距離>][口Type口<常數(shù)1>,<常數(shù)2>]口[附隨語句]

參數(shù):

(1)目標(biāo)位置:直交位置或關(guān)節(jié)位置類型的常量或變量。不可省略。(2)接近距離:指定此值的情況下,實(shí)際的移動(dòng)目的位置會(huì)往以TOOL坐標(biāo)的Z軸方向(+/-方向)往指定距離的偏離位置動(dòng)作。以常數(shù)或變量指定。對(duì)于RV機(jī)器人而言,在數(shù)值前加負(fù)號(hào)“-”;對(duì)于RH機(jī)器人而言,在數(shù)值前加正號(hào)“+”。可省略。(3)<常數(shù)1>:賦值1/0,指定繞道/走近路的動(dòng)作方式。初始值為0??墒÷?。(4)<常數(shù)2>:賦值0/1/2,指定“等量旋轉(zhuǎn)/三軸直交/特異點(diǎn)通過”的姿勢(shì)插補(bǔ)種類,初始值為0。(5)附隨語句:使用Wth或Wthif語句??墒÷浴?指令MELFABASIC編程語言知識(shí)總覽

9.2直線插補(bǔ)指令MVS。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.3圓弧插補(bǔ)指令MVR。

■指令的功能從起點(diǎn)開始,經(jīng)由通過點(diǎn)到終點(diǎn)為止,執(zhí)行三維元圓弧插補(bǔ)動(dòng)作。9指令MELFABASIC編程語言知識(shí)總覽

9.3圓弧插補(bǔ)指令MVR。

■指令的語法結(jié)構(gòu)格式:Mvr□<起點(diǎn)>,<通過點(diǎn)>,<終點(diǎn)>[□Type□<常數(shù)1>,<常數(shù)2>]□[<附加條件>]

參數(shù):

<起點(diǎn)>:圓弧的起點(diǎn)。記述位置型的變量和常數(shù)、或關(guān)節(jié)變量。<通過點(diǎn)>:圓弧的通過點(diǎn)。記述位置型的變量和常數(shù)、或關(guān)節(jié)變量。<終點(diǎn)>:圓弧的終點(diǎn)。記述位置型的變量和常數(shù)、或關(guān)節(jié)變量。<常數(shù)1>:走近路/繞道動(dòng)作=0/1、初始值為0。<常數(shù)2>:等量旋轉(zhuǎn)/三軸直交/特異點(diǎn)通過=0/1/2,初始值為0。<附加條件>:記述Wth或WthIf節(jié)。9指令MELFABASIC編程語言知識(shí)總覽

9.3圓弧插補(bǔ)指令MVR。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.4圓弧插補(bǔ)指令MVR2。

■指令的功能從起點(diǎn)、終點(diǎn)、參考點(diǎn)開始所構(gòu)成的圓弧上,從起點(diǎn)到終點(diǎn)為止,執(zhí)行三維元圓弧插補(bǔ)動(dòng)作。移動(dòng)方向不通過參考點(diǎn)。。9指令MELFABASIC編程語言知識(shí)總覽

9.4圓弧插補(bǔ)指令MVR2。

■指令的語法結(jié)構(gòu)格式:Mvr2□<起點(diǎn)>,<終點(diǎn)>,<參考點(diǎn)>[□Type□<常數(shù)1>,<常數(shù)2>]□[<附加條件>]

9指令MELFABASIC編程語言知識(shí)總覽

9.4圓弧插補(bǔ)指令MVR2。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.5圓弧插補(bǔ)指令MVR3。

■指令的功能從起點(diǎn)、終點(diǎn)、中心點(diǎn)開始所構(gòu)成的圓弧上,從起點(diǎn)到終點(diǎn)為止,執(zhí)行三維元圓弧插補(bǔ)動(dòng)作。9指令MELFABASIC編程語言知識(shí)總覽

9.5圓弧插補(bǔ)指令MVR3。

■指令的語法結(jié)構(gòu)格式:Mvr3□<起點(diǎn)>,<終點(diǎn)>,<中心點(diǎn)>[□Type□<常數(shù)1>,<常數(shù)2>]□[<附加條件>]

9指令MELFABASIC編程語言知識(shí)總覽

9.5圓弧插補(bǔ)指令MVR3。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.6圓周插補(bǔ)指令MVC。

■指令的功能以起點(diǎn)、通過點(diǎn)1、通過點(diǎn)2、起點(diǎn)的順序執(zhí)行三維元圓插補(bǔ)動(dòng)作。9指令MELFABASIC編程語言知識(shí)總覽

9.6圓周插補(bǔ)指令MVC。

■指令的語法結(jié)構(gòu)格式:Mvc□<起點(diǎn)>,<通過點(diǎn)1>,<通過點(diǎn)2>□[<附加條件>]

9指令MELFABASIC編程語言知識(shí)總覽

9.6圓周插補(bǔ)指令MVC。

■指令的程序樣例

9指令MELFABASIC編程語言知識(shí)總覽

9.7加減速ACCEL。

■指令的功能

指定機(jī)器人動(dòng)作時(shí)的加速度及減速度的比例(%)。

■指令的語法結(jié)構(gòu)

格式:

Accel□[<加速度比例(%)>],[<減速度比例(%)>]。參數(shù):<加減速比例>:1~100。速度從0開始到最高速度為止的加速度比例的設(shè)定??捎贸?shù)或變量表示。省略時(shí)以100,100變成最高加減速度。單位:[%]9指令MELFABASIC編程語言知識(shí)總覽

9.7加減速ACCEL。

■指令的程序樣例

1Accel50,100’指定重負(fù)載(標(biāo)準(zhǔn)加減速時(shí)間為0.2秒的情況下,加速時(shí)間會(huì)變成0.4秒、減速時(shí)間會(huì)變成0.2秒)2MovP13Accel100,50’指定重負(fù)載(標(biāo)準(zhǔn)加減速時(shí)間為0.2秒的情況下,加速時(shí)間會(huì)變成0.2秒、減速時(shí)間會(huì)變成0.4秒)4MovP29指令MELFABASIC編程語言知識(shí)總覽

9.8最佳加減速OADL。

■指令的功能

對(duì)應(yīng)機(jī)器人抓手的負(fù)載狀態(tài),自動(dòng)執(zhí)行最佳的加減速度的設(shè)定。可以借此縮短機(jī)器人的動(dòng)作時(shí)間(TACT)。最佳加減速時(shí)的加減速度如下列的計(jì)算公式:加減速度(秒)=最佳加減速度(秒)×Accel指令(%)×M_SetAdl(%)

■指令的語法結(jié)構(gòu)

格式:Oadl□<On/Off>參數(shù):<On>:執(zhí)行最佳加減速。<Off>:不執(zhí)行最佳加減速。9指令MELFABASIC編程語言知識(shí)總覽

9.8最佳加減速OADL。

■指令的程序樣例

1OadlOn

2MovP1’以最大負(fù)載動(dòng)作

3LoadSet1,1’設(shè)定在抓手1·工件1

4MovP2’以在抓手1·工件1的負(fù)載動(dòng)作

5HOpen1’

6MovP3’在抓手1的負(fù)載動(dòng)作

7HClose1’

8MovP4’以在抓手1+工件1的負(fù)載動(dòng)作

9OadlOff9指令MELFABASIC編程語言知識(shí)總覽

9.9速度OVRDSPDJOVRD。

■指令的功能

OVRD:指定程序中所有插補(bǔ)動(dòng)作的速度比例,以最高速的百分比指定。

SPD:指定直線、圓弧插補(bǔ)動(dòng)作的線速度。以mm/s的單位指定。

JOVRD:指定關(guān)節(jié)插補(bǔ)動(dòng)作的速度比例,以最高速的百分比指定。最終機(jī)器人速度如下列的計(jì)算公式:直線或圓?。核俣龋耄?外部速度×OVRD指令(%)×SPD設(shè)定(mm)關(guān)節(jié)插補(bǔ):速度(秒)=外部速度×OVRD指令(%)×JOVRD(%)9指令MELFABASIC編程語言知識(shí)總覽

9.9速度OVRDSPDJOVRD。

■指令的語法結(jié)構(gòu)

格式:OVRD□<速度比例>Spd□<指定速度>

JOVRD□<速度比例>)參數(shù):

<速度比例>:速度比例以實(shí)數(shù)指定。初始值為100。單位:[%](范圍:0.01~100.0)也可以用數(shù)值運(yùn)算式記述。設(shè)定為0或100以上的話會(huì)發(fā)生報(bào)警。。<指定速度>:速度以實(shí)數(shù)指定。單位:[mm/s]。9指令MELFABASIC編程語言知識(shí)總覽

9.9速度OVRDSPDJOVRD。

■指令的程序樣例

1Spd100

2MvsP1

3SpdM_NSpd'設(shè)定初始值(最佳速度控制模式)

4JOVRD50

5MovP2

6JOVRDM_NJOVRD

7MovP3

8Ovrd80'最佳速度模式中的速度過速報(bào)警對(duì)策

9MovP4

10Ovrd1009指令MELFABASIC編程語言知識(shí)總覽

9.10剩余脈沖確認(rèn)Fine。

■指令的功能

以離目標(biāo)位置的編碼器脈沖數(shù)指定機(jī)器人定位完成的條件。

■指令的語法結(jié)構(gòu)

Fine□<脈沖數(shù)>[,<軸號(hào)碼>]

■參數(shù)

<脈沖數(shù)>:以變量或常數(shù)指定定位編碼器脈沖。指定0的話會(huì)變成無效。初始值會(huì)被設(shè)定為0。Fine指令有效的所有軸的指令脈沖和反饋脈沖的差變?yōu)?lt;脈沖數(shù)>以內(nèi)時(shí),視為動(dòng)作完成。

<軸號(hào)碼>:指定定位脈沖所指定的軸號(hào)碼。省略的話,會(huì)變成全軸??梢猿?shù)或數(shù)值變量指定。9指令MELFABASIC編程語言知識(shí)總覽

9.10剩余脈沖確認(rèn)Fine。

■程序樣例

1Fine300'將定位脈沖指定為300

2MovP1

3Fine100,2'將2軸的定位脈沖指定為100

4MovP2

5Fine0,5'將定位脈沖指定為無效

6MovP3

7Fine100'將定位脈沖指定為100

8MovP49指令MELFABASIC編程語言知識(shí)總覽

9.11延時(shí)DLY。

■指令的功能

①單獨(dú)指令的情況指定的時(shí)間進(jìn)行時(shí)間等待。②作為信號(hào)輸出語句的附隨語句時(shí),會(huì)顯示脈沖輸出的持續(xù)時(shí)間。

■指令的語法結(jié)構(gòu)

Dly□<時(shí)間>M_Out(1)=1Dly□<時(shí)間>

■參數(shù)

<時(shí)間>:等待時(shí)間或脈沖輸出入時(shí)間可以用常數(shù)或變量來記述。單位:[秒]。最小值可以從0.01秒開始設(shè)定。0.00也可以設(shè)定。9指令MELFABASIC編程語言知識(shí)總覽

9.12碼垛定義指令DEFPLT。

■指令的功能定義碼垛托盤。9指令MELFABASIC編程語言知識(shí)總覽

9.12碼垛定義指令DEFPLT。

■指令的語法結(jié)構(gòu)格式:DefPlt<托盤號(hào)>,<起點(diǎn)>,<終點(diǎn)A>,<終點(diǎn)B>,[<對(duì)角點(diǎn)>],<個(gè)數(shù)A>,<個(gè)數(shù)B>,<托盤模版>參數(shù):

<托盤號(hào)碼>:設(shè)定托盤號(hào)碼,以常數(shù)表示,范圍:1~8。<起點(diǎn)>:托盤的起點(diǎn)位置。直交位置常數(shù)或變量表示。<終點(diǎn)A>:托盤某一方向的終點(diǎn)位置。圓弧托盤時(shí)為圓弧的通過點(diǎn)。以直交位置常數(shù)或變量表示。<終點(diǎn)B>:托盤另一方向的終點(diǎn)位置。圓弧托盤時(shí)為圓弧的終點(diǎn)。以直交位置常數(shù)或變量表示。9指令MELFABASIC編程語言知識(shí)總覽

9.12碼垛定義指令DEFPLT。

■指令的語法結(jié)構(gòu)格式:DefPlt<托盤號(hào)>,<起點(diǎn)>,<終點(diǎn)A>,<終點(diǎn)B>,[<對(duì)角點(diǎn)>],<個(gè)數(shù)A>,<個(gè)數(shù)B>,<托盤模版>參數(shù):<對(duì)角點(diǎn)>:托盤起點(diǎn)的對(duì)角點(diǎn)位置??墒÷?。圓弧托盤時(shí)無意義。<個(gè)數(shù)A>:托盤某一方向的位置總個(gè)數(shù)。圓弧托盤時(shí),為圓弧上位置的總個(gè)數(shù)。常數(shù)或變量。<個(gè)數(shù)B>:托盤另一方向的位置總個(gè)數(shù)。圓弧托盤時(shí),無意義,必須指定1等。常數(shù)或變量。9指令MELFABASIC編程語言知識(shí)總覽

9.12碼垛定義指令DEFPLT。

■指令的語法結(jié)構(gòu)格式:DefPlt<托盤號(hào)>,<起點(diǎn)>,<終點(diǎn)A>,<終點(diǎn)B>,[<對(duì)角點(diǎn)>],<個(gè)數(shù)A>,<個(gè)數(shù)B>,<托盤模版>參數(shù):<托盤模版>:記述在被分配格子點(diǎn),加上號(hào)碼的pallt模版及姿勢(shì)的固定/等分配??梢允亲兞?。1:Z字型(姿勢(shì)等分割)2:同一方向(姿勢(shì)等分割)3:圓弧托盤(姿勢(shì)等分割)11:Z字型(姿勢(shì)固定)12:同一方向(姿勢(shì)固定)13:圓弧托盤(姿勢(shì)固定)。9指令MELFABASIC編程語言知識(shí)總覽

9.12碼垛定義指令DEFPLT。

■指令的程序樣例

1DefPlt1,P1,P2,P3,,3,4,1'3點(diǎn)的碼垛定義2DefPlt1,P1,P2,P3,P4,3,4,1'4點(diǎn)的碼垛定義9指令MELFABASIC編程語言知識(shí)總覽

9.13碼垛計(jì)算指令PLT。

■指令的功能

計(jì)算碼垛盤中指定格子的位置

9指令MELFABASIC編程語言知識(shí)總覽

9.13碼垛計(jì)算指令PLT。

■指令的語法結(jié)構(gòu)格式:直交位置變量=Plt<托盤號(hào)碼>,<格子號(hào)碼>參數(shù):<托盤號(hào)碼>:碼垛定義時(shí)的托盤號(hào)碼。以數(shù)值型常數(shù)或變量表示。范圍:1~8。<格子號(hào)碼>:托盤中想求位置的格子號(hào)碼。以數(shù)值型常數(shù)或變量表示。范圍:1~8。9指令MELFABASIC編程語言知識(shí)總覽

9.13碼垛計(jì)算指令PLT。

■指令的程序樣例1DefPlt1,P1,P2,P3,P4,4,3,1'4點(diǎn)碼垛的定義(P1,P2,P3,P4)2M1=1'M1(計(jì)數(shù)器)初始化3*LOOP4MovPICK,-50'往取出工件位置上空50mm移動(dòng)5Ovrd506MvsPICK7HClose1'抓手閉8Dly0.5'抓手閉后等待0.5秒9Ovrd10010Mvs,50'往現(xiàn)在位置上空50mm移動(dòng)11PLACE=Plt1,M1'計(jì)算第M1號(hào)的位置12MovPLACE,50'往Pallt上放置位置上空50mm移動(dòng)。9指令MELFABASIC編程語言知識(shí)總覽

9.14伺服上電Servo。

■指令的功能

控制伺服電源的上電/斷電。

■指令的語法結(jié)構(gòu)

ServoOn/Off

■參數(shù)

在通常執(zhí)行程序內(nèi)使用的情況下,將參數(shù)「ALWENA」的值從0變更為1,然后再次開啟電源才會(huì)有效。

■程序樣例

1ServoOn'伺服開啟

2*L20:IfM_Svo<>1GoTo*L20'等待伺服開啟

3SpdM_NSpd

4MovP1

5ServoOff9指令MELFABASIC編程語言知識(shí)總覽

9.15條件分支IF語句。

■指令的功能

根據(jù)條件表達(dá)式的結(jié)果,選擇處理并執(zhí)行。

■指令的語法結(jié)構(gòu)

(1)If□<條件表達(dá)式>□Then□<處理>□[Else<處理>]

(2)If□<條件表達(dá)式>□Then<處理>[Break]EndIf

(3)If□<條件表達(dá)式>□Then<處理>[Break]Else<處理>EndIfIf語句不在一行結(jié)束的,必須用EndIf語句結(jié)束。可以用Break語句中途跳出If語句不能在多行的If語句處理中用Goto語句跳出9指令MELFABASIC編程語言知識(shí)總覽

9.16無條件轉(zhuǎn)移Goto。

■指令的功能

無條件地轉(zhuǎn)移到程序內(nèi)的某個(gè)標(biāo)簽分支處。

■指令的語法結(jié)構(gòu)

GoTo□<分支處>

■參數(shù)

<分支處>:用標(biāo)簽表示。

■程序樣例

10GoTo*LBL'分支到level*LBL。

:

100*LBL

101MovP19指令MELFABASIC編程語言知識(shí)總覽

9.17條件轉(zhuǎn)移Select。

■指令的功能

根據(jù)條件表達(dá)式的結(jié)果,選擇處理并執(zhí)行。

■指令的語法結(jié)構(gòu)

Select□<條件數(shù)值式>Case□<數(shù)值式>[<處理>]BreakCase□<數(shù)值式>[<處理>]Break:Default[<處理>]BreakEnd□Select數(shù)值式:·Is<比較運(yùn)算><常數(shù)>·<常數(shù)>·<常數(shù)>To<常數(shù)>不能在處理中用Goto語句跳出程序會(huì)根據(jù)條件數(shù)值式所符合的case數(shù)值式直接跳轉(zhuǎn)到相應(yīng)的處理并執(zhí)行,然后直接到EndSelect下一行。如果沒有數(shù)值式符合,則執(zhí)行Default的處理。如果沒有Default,則直接退出Select語句到下一行。9指令MELFABASIC編程語言知識(shí)總覽

9.18等待語句Wait。

■指令的功能

等待條件成立,執(zhí)行下一行。

■指令的語法結(jié)構(gòu)

Wait□<數(shù)值變量>=<數(shù)值常數(shù)>

■程序的樣例

①信號(hào)的狀態(tài)1WaitM_In(1)=1'和1*L10:IfM_In(1)=0ThenGoTo*L10意義相同。2WaitM_In(3)=0②多插槽的狀態(tài)3WaitM_Run(2)=1③變量的狀態(tài)4WaitM_01=1009指令MELFABASIC編程語言知識(shí)總覽

9.19循環(huán)語句ForNext。

■指令的功能

將For文和Next文間的程序,到滿足結(jié)束條件前,循環(huán)的執(zhí)行。

■指令的語法結(jié)構(gòu)

For□<計(jì)數(shù)器>=<初始值>□To□<結(jié)束值>□[Step<增量>]

:

Next□[<計(jì)數(shù)器>]

■參數(shù)

<計(jì)數(shù)器>作為循環(huán)控制的計(jì)數(shù)器,記述數(shù)值變量。

<初始值>將循環(huán)控制的計(jì)數(shù)器的初始值以數(shù)值表達(dá)式設(shè)定。

<結(jié)束值>將循環(huán)控制的計(jì)數(shù)器的結(jié)束值以數(shù)值表達(dá)式設(shè)定。

<增量>將循環(huán)控制的計(jì)數(shù)器的增量以數(shù)值表達(dá)式設(shè)定。省略的話,增量會(huì)變成1。9指令MELFABASIC編程語言知識(shí)總覽

9.19循環(huán)語句ForNext。

■程序樣例

①求出從1到10的求和程序

1MSUM=0'將合計(jì)肥11初始化。

2ForM1=1To10'使變量M1,從1開始以計(jì)數(shù)每次增加+1到10為止。

3MSUM=MSUM+M1'在數(shù)值變量MSUM加上M1的值。

4Next'返回到步號(hào)2。②將2個(gè)數(shù)值的相乘結(jié)果設(shè)定在2次元排列變量的程序

1DimMBOX(10,10)'確保10×10的排列領(lǐng)域。

2ForM1=1To10'使變量M1,從1開始以計(jì)數(shù)每次增加+1到10為止。

3ForM2=1To10'使變量M2,從1開始以計(jì)數(shù)每次增加+1到10為止。

4MBOX(M1,M2)=M1*M2'在變量MBOX(M1,M2)里代入M1*M2的值。

5NextM2'返回到步號(hào)3。6NextM1'返回到步號(hào)2。9指令MELFABASIC編程語言知識(shí)總覽

9.20循環(huán)語句While。

■指令的功能

將While文和WEnd文之間的程序,滿足循環(huán)(loop)條件時(shí)循環(huán)執(zhí)行。

■指令的語法結(jié)構(gòu)

While□<循環(huán)條件>

WEnd

■參數(shù)

<循環(huán)條件>條件表達(dá)式。9指令MELFABASIC編程語言知識(shí)總覽

9.20循環(huán)語句While。

■程序樣例

1While(M1>=-5)And(M1<=5)'變量M1的值在-5到+5之間重復(fù)處理。

2M1=-(M1+1)'M1加上1,反轉(zhuǎn)符號(hào)。

3M_Out(8)=M1'輸出M1的值。

4IfM_In(8)=1ThenBreak'輸入信號(hào)8開啟則跳轉(zhuǎn)到步號(hào)6。

5WEnd'返回While語句(步1)。9指令MELFABASIC編程語言知識(shí)總覽

9.21子程序調(diào)用GoSub。

■指令的功能

調(diào)用指定標(biāo)簽名的子程序,最后以Return語句返回至主程序中調(diào)用語句下一行。

■指令的語法結(jié)構(gòu)

GoSub□<呼叫處>

■參數(shù)

<呼叫處>:標(biāo)簽名。

■程序樣例

10GoSub*LBL

11End

:

100*LBL

101MovP1

102Return’務(wù)必以Return指令返回。必須要有End主程序結(jié)束指令將子程序隔開必須要用Return返回指令返回至主程序中的調(diào)用指令下一行語句9指令MELFABASIC編程語言知識(shí)總覽

9.22子程序調(diào)用CallP。

■指令的功能

調(diào)用指定程序名的子程序,子程序中以End語句或執(zhí)行完最后一行語句后返回至主程序中調(diào)用語句的下一行。

■指令的語法結(jié)構(gòu)

CallP□"<程序名>"[,<自變量>[,<自變量>]···]

■參數(shù)

<程序名>:在字符串常數(shù)或字符串變量指定程序。<自變量>:子程序被調(diào)用時(shí),程序會(huì)指定替換的變量或常數(shù)。自變量的最大個(gè)數(shù)為16。9指令MELFABASIC編程語言知識(shí)總覽

9.22子程序調(diào)用CallP。

■程序樣例

主程序”S1”側(cè):1M1=02CallP"10",M1,P1,P23M1=14CallP"10",M1,P1,P2:10CallP"10",M2,P3,P4:15End

子程序"10"側(cè):1FPrmM01,P01,P022IfM01<>0ThenGoTo*LBL13MovP014*LBL15MvsP026End’在此會(huì)回返回到主程序。用FPRM指令接受傳遞的參數(shù)1、該子程序必須下載到控制器中;2、如果該子程序已經(jīng)在插槽中被運(yùn)行,則無法被調(diào)用。9指令MELFABASIC編程語言知識(shí)總覽

9.23工具坐標(biāo)系變換TOOL。

■指令的功能

將工具坐標(biāo)系相對(duì)機(jī)械接口坐標(biāo)系做變換。

■指令的語法結(jié)構(gòu)

Tool□<Tool數(shù)據(jù)>

■參數(shù)

<Tool數(shù)據(jù)>:以位置表達(dá)式(位置常數(shù)、位置變量等)指定Tool數(shù)據(jù)。

(1)設(shè)定直接數(shù)值

1Tool(100,0,100,0,0,0)'變換工具坐標(biāo)系

2MvsP1

3ToolP_NTool'將控制點(diǎn)返回到初始值。(機(jī)械I/F位置、法蘭面)

(2)設(shè)定在直交的位置變量(在PTL01設(shè)定為(100,0,100,0,0,0,0,0)的話,會(huì)變成和①相同意思。)

1ToolPTL01

2MvsP19指令MELFABASIC編程語言知識(shí)總覽

9.24基座坐標(biāo)系變換Base

■指令的功能

變更機(jī)器人當(dāng)前位置控制基準(zhǔn)的世界坐標(biāo)系(雖然是用來定義相對(duì)于世界坐標(biāo)系下的基座坐標(biāo)系,但是由于基座坐標(biāo)系在固定不變的,因此,實(shí)質(zhì)上等同于變更世界坐標(biāo)系)。

■指令的語法結(jié)構(gòu)

Base□<基本變換數(shù)據(jù)>’直接指定基本變換數(shù)據(jù)Base□<基本坐標(biāo)編號(hào)>’通過基本坐標(biāo)編號(hào)間接指定基本變換數(shù)據(jù)

■參數(shù)

<基本變換數(shù)據(jù)>:以位置常數(shù)或位置變量指定基本變換數(shù)據(jù),X、Y、Z、A、B、C元素有效。為從新世界坐標(biāo)系觀察到的基本坐標(biāo)系的位姿數(shù)據(jù)。<基本坐標(biāo)編號(hào)>:將系統(tǒng)初始值或參數(shù)(工件坐標(biāo)系)中設(shè)定的值指定為基本變換數(shù)據(jù)。以數(shù)值型的常數(shù)或變量,在值0~8的范圍內(nèi)指定。0:指定P_NBase(系統(tǒng)初始值),清除基本變換數(shù)據(jù)1~8:指定參數(shù)WK1CORD~WK8CORD中的值作為數(shù)據(jù)9指令MELFABASIC編程語言知識(shí)總覽

9.24基座坐標(biāo)系變換Base

■程序樣例以基本變換數(shù)據(jù)指定

1Base(50,100,0,0,0,90)'以通過常數(shù)進(jìn)行的變換數(shù)據(jù)設(shè)定新的世界坐標(biāo)系2MvsP1'在新的世界坐標(biāo)系中向P1移動(dòng)3BaseP2'以通過變量進(jìn)行的變換數(shù)據(jù)設(shè)定新的世界坐標(biāo)系4MvsP1'在新的世界坐標(biāo)系中向P1移動(dòng)5Base0‘將世界坐標(biāo)系返回初始值。以基本坐標(biāo)編號(hào)指定1Base1'將工件坐標(biāo)系1(參數(shù):WK1CORD)作為新的世界坐標(biāo)系2MvsP1'在新的世界坐標(biāo)系中向P1移動(dòng)3Base2'將工件坐標(biāo)系2(參數(shù):WK2CORD)作為新的世界坐標(biāo)系4MvsP1'在新的世界坐標(biāo)系中向P1移動(dòng)5Base0'將世界坐標(biāo)系返回初始值。9指令MELFABASIC編程語言知識(shí)總覽

9.24基座坐標(biāo)系變換Base

■使用說明(1)使用基本變換數(shù)據(jù)時(shí),由于基本變換數(shù)據(jù)是相對(duì)于世界坐標(biāo)系變換到基座坐標(biāo)系的位姿數(shù)據(jù),因此,使用Fram函數(shù)創(chuàng)建的坐標(biāo)系變換數(shù)據(jù)需要逆運(yùn)算后,才能作為基本變換數(shù)據(jù)。(2)指定基本坐標(biāo)編號(hào)時(shí),會(huì)自動(dòng)在內(nèi)部進(jìn)行上述逆向變換處理。(3)基本變換會(huì)立即生效,且斷電保持。(4)基本變換后,機(jī)器人當(dāng)前直交位置數(shù)據(jù)會(huì)發(fā)生變化。Act指令的功能Act指令的功能、語法結(jié)構(gòu)與使用方法該指令用于設(shè)定是否啟用或禁止中斷功能。啟用時(shí),DefAct指令語句指定的中斷信號(hào)產(chǎn)生時(shí)會(huì)引起中斷處理;禁止時(shí),中斷信號(hào)不會(huì)引起中斷處理。Act指令的語法結(jié)構(gòu)Act指令的功能、語法結(jié)構(gòu)與使用方法格式:ACT□<優(yōu)先號(hào)碼>=<數(shù)值>Act指令的參數(shù)<優(yōu)先號(hào)碼>:插入的優(yōu)先號(hào)碼。用常數(shù)表示,對(duì)應(yīng)于中斷定義語句中優(yōu)先號(hào)碼。<數(shù)值>:0/1。0:關(guān)閉中斷監(jiān)測(cè)。1:開啟中斷監(jiān)測(cè)。Act指令的舉例Act指令的功能、語法結(jié)構(gòu)與使用方法①從P1往P2移動(dòng)的過程中:1DefAct1,M_In(1)=1GoSub*INTR'在插入1的條件下,分配輸入信號(hào)1。2MovP13Act1=1'許可插入1。4MovP25Act1=0'禁止插入1。6End:10*INTR'11IfM_In(1)=1GoTo*INTR'M_IN(1)信號(hào)在變成0為止會(huì)執(zhí)行環(huán)路(LOOP)12Return0'Act指令的舉例Act指令的功能、語法結(jié)構(gòu)與使用方法②從P1往P2的移動(dòng)中,輸入信號(hào)1開啟的話(變成1的話),動(dòng)作中斷且輸出信號(hào)10開啟1DefAct1,M_In(1)=1GoSub*INTR'在插入1的條件下,分配輸入信號(hào)1。2MovP13Act1=1'許可插入1。4MovP2:10*INTR11Act1=0'禁止插入1。12M_Out(10)=1'將輸出信號(hào)10開啟。13Return1'發(fā)生插入,返回下一行。Act指令的說明Act指令的功能、語法結(jié)構(gòu)與使用方法10數(shù)據(jù)MELFABASIC編程語言知識(shí)總覽

數(shù)據(jù)可分為數(shù)值數(shù)據(jù)、直交位置數(shù)據(jù)、關(guān)節(jié)位置數(shù)據(jù)、字符串?dāng)?shù)據(jù)等4種類型。其中,數(shù)值型數(shù)據(jù)又分為實(shí)數(shù)型和整數(shù)型。數(shù)據(jù)可用變量或常數(shù)來表示。常數(shù)數(shù)據(jù)表達(dá)變量11常數(shù)MELFABASIC編程語言知識(shí)總覽

常數(shù)分為數(shù)值型、直交位置型、關(guān)節(jié)位置型、字符型、角度值等5種常數(shù)。

11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.1數(shù)值型常數(shù)(1)按照進(jìn)制分,數(shù)值常數(shù)分為二進(jìn)制、十進(jìn)制、十六進(jìn)制等。如下所示:(2)按照小數(shù)點(diǎn)長度分,還分為整形和長整型、單精度和雙精度。如下所示:11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.2字符型常數(shù)字符常數(shù)是指用"雙引號(hào)圈起來的字符串。

例)"ABCDEFGHIJKLMN""123"11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.3直交位置型常數(shù)直交位置常數(shù)的結(jié)構(gòu)如下所示,內(nèi)部構(gòu)成要素?zé)o法用變量表達(dá)。

(100,100,300,180,0,180,0,0)(7,0)

FL2標(biāo)志FL1標(biāo)志L2軸.L1軸.C角度.B角度.A角度.Z軸.Y軸.X軸.位置姿態(tài)構(gòu)造標(biāo)志11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.3直交位置型常數(shù)位置與姿態(tài)。

【形式】X,Y,Z,A,B,C,L1,L2【意義】X,Y,Z:末端坐標(biāo)數(shù)據(jù)。機(jī)器人尖端點(diǎn)在世界坐標(biāo)系的坐標(biāo)。

(顯示和存儲(chǔ)單位均為mm)A,B,C:末端姿勢(shì)數(shù)據(jù)。工具坐標(biāo)系繞世界坐標(biāo)系各軸旋轉(zhuǎn)的角度。(顯示單位為deg,存儲(chǔ)單位為弧度)L1,L2:附加軸數(shù)據(jù)。知識(shí)鏈接:需要在程序內(nèi)修改或獲取角度值時(shí),請(qǐng)用Rad函數(shù)將角度值轉(zhuǎn)化為弧度值、用Deg函數(shù)將弧度值轉(zhuǎn)化為角度值;11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.3直交位置型常數(shù)構(gòu)造標(biāo)志。

【形式】FL1,FL2【意義】FL1:手臂姿勢(shì)數(shù)據(jù)。FL1=7=&B00000111(2進(jìn)制)1/0=NonFlip/Flip.1/0=Above/Below1/0=Right/Left.11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.3直交位置型常數(shù)構(gòu)造標(biāo)志。

【形式】FL1,FL2【意義】FL2:多旋轉(zhuǎn)數(shù)據(jù)。FL2=1048576=&H00100000(16進(jìn)制)1軸

2軸3軸4軸5軸6軸7軸8軸

11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.4關(guān)節(jié)位置型常數(shù)關(guān)節(jié)位置常數(shù)的結(jié)構(gòu)如下所示,內(nèi)部構(gòu)成要素?zé)o法用變量表達(dá)。單位

(10,-20,90,0,0,90,0,0)

J8軸J7軸J6軸J5軸J4軸J3軸J2軸J1軸11常數(shù)MELFABASIC編程語言知識(shí)總覽

11.5角度值角度值不是指"弧度",而是指"度"的數(shù)值。例如,表達(dá)式100Deg,其數(shù)值是100,單位是度,可以在三角函數(shù)等的自變量等使用。例)Sin(90Deg).....表示為90度正弦。

12坐標(biāo)系MELFABASIC編程語言知識(shí)總覽

12.1當(dāng)前位置當(dāng)前位置是指機(jī)器人尖端點(diǎn)在世界坐標(biāo)系中的坐標(biāo)(既工具坐標(biāo)系相對(duì)世界坐標(biāo)系的變換矩陣)。

12坐標(biāo)系MELFABASIC編程語言知識(shí)總覽

12.2各種坐標(biāo)系及相互關(guān)系基座坐標(biāo)系是相對(duì)于世界坐標(biāo)系經(jīng)過變換而得來,變換矩陣由參數(shù)MEXBS設(shè)定或在程序里由BASE指令控制。

工具坐標(biāo)系是相對(duì)于機(jī)械接口坐標(biāo)系經(jīng)過變換而得來,變換矩陣由參數(shù)MEXTL設(shè)定或在程序里由TOOL指令控制。工具坐標(biāo)系的原點(diǎn)就是尖端點(diǎn)。12坐標(biāo)系MELFABASIC編程語言知識(shí)總覽

12.3機(jī)械接口坐標(biāo)系與工具坐標(biāo)系

12坐標(biāo)系MELFABASIC編程語言知識(shí)總覽

12.4位置數(shù)據(jù)表達(dá)工具坐標(biāo)系的原點(diǎn)在世界坐標(biāo)系里的位置用坐標(biāo)XYZ表示;

工具坐標(biāo)系在世界坐標(biāo)系里的姿勢(shì)用角度ABC表示

A是指工具坐標(biāo)系繞著世界坐標(biāo)系X軸的旋轉(zhuǎn)角度;B是指工具坐標(biāo)系繞著世界坐標(biāo)系Y軸的旋轉(zhuǎn)角度;C是指工具坐標(biāo)系繞著世界坐標(biāo)系Z軸的旋轉(zhuǎn)角度;

ABC旋轉(zhuǎn)方向符合右手螺旋守則;最終姿勢(shì)是按照繞Z軸→Y軸→X軸的順序旋轉(zhuǎn)得來。13變量MELFABASIC編程語言知識(shí)總覽

變量分為數(shù)值型、直交位置型、關(guān)節(jié)位置型、字符型、輸入輸出等5種。變量還分局部變量和全局變量。

MELFABASIC編程語言知識(shí)總覽

13.1數(shù)值變量

1、數(shù)值變量名的命名規(guī)定:(1)所用字符必須是程序內(nèi)的可用字符,最多16個(gè)字符;(2)第一個(gè)字符不能是數(shù)字、不能是P、J、C;(3)第二個(gè)字符如果是_,則該變量會(huì)被認(rèn)為是全局變量;(4)變量名可用后綴數(shù)據(jù)類型,用于設(shè)定變量占據(jù)存儲(chǔ)空間大??;13變量MELFABASIC編程語言知識(shí)總覽

13.1數(shù)值變量

2、數(shù)值變量的定義:(1)直接引用以M字母開頭的變量名;可在程序中首次直接引用以M開頭的變量名時(shí)后綴數(shù)據(jù)類型符號(hào)。

例)1M1%=1'整型數(shù)值變量M1

2MNum&=400000'長整型數(shù)值變量MNum

3MPrice!=1.5'單精度數(shù)值變量MPrice

4MVal#=1.0000000003'雙精度數(shù)值變量MVal以后再引用該變量名時(shí)則無法后綴數(shù)據(jù)類型符號(hào)。引用從未后綴過數(shù)據(jù)類型符號(hào)的M開頭變量名時(shí),默認(rèn)為單精度變量。(2)通過定義語句Def定義非M開頭的變量;

例)1DefInteNum2DefLongAge3DefFloatPrice4DefDoubleVal13變量MELFABASIC編程語言知識(shí)總覽

13.2字符變量

1、字符變量名的命名規(guī)定:(1)所用字符必須是程序內(nèi)的可用字符,最多16個(gè)字符;(2)第一個(gè)字符不能是數(shù)字、不能是M、P、J;(3)第二個(gè)字符如果是_,則該變量會(huì)被認(rèn)為是全局變量;13變量MELFABASIC編程語言知識(shí)總覽

13.2字符變量

2、字符變量的定義:(1)直接引用以C字母開頭的變量名,且變量名后綴$;

例)1C1$=“1”

2Cs$=“Abc”(2)通過定義語句Def定義非C開頭的變量;

例)1DefCharName2Name=“Kinso”13變量MELFABASIC編程語言知識(shí)總覽

13.3直交位置變量

1、直交位置變量名的命名規(guī)定:(1)所用字符必須是程序內(nèi)的可用字符,最多16個(gè)字符;(2)第一個(gè)字符不能是數(shù)字、不能是M、J、C;(3)第二個(gè)字符如果是_,則該變量會(huì)被認(rèn)為是全局變量;13變量MELFABASIC編程語言知識(shí)總覽

13.3直交位置變量

2、直交位置變量的定義:(1)直接引用以P字母開頭的變量名;

例)1P1=(300,0,500,0,180,180)(7,0)

2MovP1

3M1=Deg(P1.a)

4P1.a=Rad(90)

5MovP1(2)通過定義語句Def定義非P開頭的變量;

例)1DefPosSafe2Safe=P_Safe13變量MELFABASIC編程語言知識(shí)總覽

13.4關(guān)節(jié)位置變量

1、關(guān)節(jié)位置變量名的命名規(guī)定:(1)所用字符必須是程序內(nèi)的可用字符,最多16個(gè)字符;(2)第一個(gè)字符不能是數(shù)字、不能是M、P、C;(3)第二個(gè)字符如果是_,則該變量會(huì)被認(rèn)為是全局變量;13變量MELFABASIC編程語言知識(shí)總覽

13.4關(guān)節(jié)位置變量

2、關(guān)節(jié)位置變量的定義:(1)直接引用以J字母開頭的變量名;

例)1JSafe=(0,0,90,0,90,0)

2MovJSafe

3M1=Deg(JSafe.J3)

4JSafe.j4=Rad(90)

5MovJSafe(2)通過定義語句Def定義非J開頭的變量;

例)1DefJntSafe2Safe=J_Safe13變量MELFABASIC編程語言知識(shí)總覽

13.5輸入輸出變量

1、輸入變量M_In/M_Inb/M_In8/M_Inw/M_In16M_In32:■功能

返回輸入信號(hào)的值。M_In:返回位信號(hào)。M_Inb或M_In8:以字節(jié)為單位(8位量)返回。M_Inw或M_In16:以字為單位(16位量)返回。

M_In32:以雙字為單位(32位量)返回■格式

M1%=M_In(號(hào)碼)。

M1%=M_Inb(號(hào)碼)或M_In8(號(hào)碼)。

M1%=M_Inw(號(hào)碼)或M_In16(號(hào)碼)。

M1&=M_In32(號(hào)碼)。13變量MELFABASIC編程語言知識(shí)總覽

13.5輸入輸出變量

2、輸出變量M_Out/M_Outb/M_Out8/M_Outw/M_Out16/M_Out(32):■功能

向輸出信號(hào)寫入數(shù)值。M_Out:輸出位信號(hào)M_Outb或M_Out8:輸出字節(jié)信號(hào)(8位量)M_Outw或M_Out16:輸出字信號(hào)(16位量)。

M_Out32:輸出雙字為單位(32位量)的信號(hào)

■格式

M_Out(10)=1M_Out8(0)=255M_Out16(16)=65535

M_Out32(32)

=429496729513變量MELFABASIC編程語言知識(shí)總覽(1)按照變量作用區(qū)域的不同,變量分為布局變量和全局變量:■局部變量:只在當(dāng)前程序內(nèi)有效,無法在程序間傳遞數(shù)值;變量名第二個(gè)字符不是下劃線_。■全局變量

可在不同程序之間傳遞數(shù)值;變量名第二個(gè)字符必須是下劃線_。(2)按照有無特殊含義,全局變量分為特征狀態(tài)變量和普通全局變量:(3)按照是否需要定義,普通全局變量分為系統(tǒng)預(yù)設(shè)和用戶自定義全局變量:14全局變量MELFABASIC編程語言知識(shí)總覽

14.1系統(tǒng)預(yù)設(shè)全局變量系統(tǒng)預(yù)設(shè)全局變量不需要用戶定義,可以直接引用。14全局變量MELFABASIC編程語言知識(shí)總覽

14.2用戶自定義全局變量用戶自定義全局變量在被使用前,需要用戶在用戶基本程序中對(duì)其進(jìn)行定義,并且通過參數(shù)PRGUSR將該基本程序在控制器中注冊(cè)。

以下說明用戶自定義全局變量的制作過程:(1)新建程序“100”;(2)總程序“100”中定義用戶自定義全局變量;

1DefInteM_Age,A_ge

2DefPosP_Get,P_Put

3DimM_Data(5)(3)將離線程序“100”寫入控制器;(4)將用戶基本程序名記錄在參數(shù)PRGUSR的數(shù)值中(斷電重啟生效);(5)對(duì)于用戶自定義的數(shù)組全局變量,還需要在主程序中再次聲明一次;

1DimM_Data(5)

2M_Data(1)=1014全局變量MELFABASIC編程語言知識(shí)總覽

14.3特殊全局變量(1)位置型。P_Fbc和P_Curr:機(jī)器人當(dāng)前位置(直交位置數(shù)據(jù))。

J_Fbc和J_Curr:機(jī)器人當(dāng)前位置(關(guān)節(jié)位置數(shù)據(jù))。

P_ZERO:(0,0,0,0,0,0)(0,0)。

P_TOOL:當(dāng)前TOOL變換數(shù)據(jù)。

P_NTOOL:(0,0,0,0,0,0)(0,0)。

P_BASE:當(dāng)前BASE變換數(shù)據(jù)。

P_NBASE:(0,0,0,0,0,0)(0,0)。14全局變量MELFABASIC編程語言知識(shí)總覽

14.3特殊全局變量(2)數(shù)值型。M_Fbd:指令位置與機(jī)器人當(dāng)前位置之間的距離。

M_OVRD:程序內(nèi)當(dāng)前設(shè)定的機(jī)器人速度比例。

M_Spd:程序內(nèi)當(dāng)前設(shè)定的機(jī)器人直線速度。

M_RDst:現(xiàn)在動(dòng)作中剩余距離。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論