ABB機(jī)器人編程方式

發(fā)布日期:2012-06-09    蘭生客服中心    瀏覽:6303

四、編程方式

1、指令表IL

  指令表(IL)由一系列指令組成。每條指令都由一個(gè)新行開(kāi)始,包含一個(gè)操作符以及和操作符類型相關(guān)的一個(gè)或多個(gè)操作數(shù),并用逗號(hào)分開(kāi)。在指令前可以有標(biāo)號(hào),后接一個(gè)冒號(hào)。

注解必須在一行的最后,指令之間可以插入空行。

示例

標(biāo)號(hào)

操作符

操作數(shù)

注釋

LD

17

ST

lint

(*comment*)

GE

5

JMPC

next

LD

idword

EQ

istruct.sdword

STN

test

Nest:

在IL語(yǔ)言中,可以使用下面的操作符和修飾符。

修飾符:

JMP、CAL、RET中帶C:指令在預(yù)置表達(dá)式結(jié)果為TRUE時(shí)執(zhí)行。

JMPC、CALC、RETC中帶N:指令在預(yù)置表達(dá)式結(jié)果為FALSE時(shí)執(zhí)行。

其它指令中帶N:操作數(shù)取反(不是累加器)。

操作符

修飾符

意義

LD

N

使當(dāng)前結(jié)果等于操作數(shù)

ST

N

在操作數(shù)位置保存當(dāng)前結(jié)果

S

如果當(dāng)前位置為TRUE,置位布爾操作數(shù)為TRUE

R

如果當(dāng)前位置為TRUE,復(fù)位布爾操作數(shù)為FALSE

AND

N,(

位與

OR

N,(

位或

XOR

(

位異或

ADD

(

SUB

(

MUL

(

DIV

(

GT

(

>

EQ

(

=

NE

(

<>

LT

(

<=

JMP

(

<

CAL

(

跳轉(zhuǎn)到標(biāo)號(hào)

PET

CN

調(diào)用功能塊

)

CN

評(píng)估括號(hào)操作

下表為IL中全部的操作符及可能的修飾符和相關(guān)的意義:

IL是一種面向行的語(yǔ)言。

標(biāo)號(hào)

操作符/功能

操作數(shù)(表)

注釋

跳轉(zhuǎn)標(biāo)號(hào)

分隔符

IL操作符或功能名

用于操作符的零個(gè),一個(gè)或多個(gè)常數(shù)、變量,或用于功能的輸入?yún)?shù),由逗號(hào)分隔。

在(*…*)中的注釋,可選

通過(guò)不同的操作符組修改CR

影響CR數(shù)據(jù)類型的操作符組

縮寫

操作符示例

Create(建立)

C

LD

Process(處理)

P

GT

Leaveunchanged(保持不變)

U

ST:JMPC

Settoundefined(設(shè)置為未定義的)

CAL=功能塊的無(wú)條件調(diào)用,

操作符

操作符組

描述

LD

LDN

C

裝入操作數(shù)(操作數(shù)的反值)到CR

AND

AND(

ANDN

ANDN(

P

操作數(shù)(操作數(shù)的反值)和CR的布爾AND(“與”運(yùn)算)

OR

OR(

ORN

ORN(

P

操作數(shù)(操作數(shù)的反值)和CR的布爾OR(“或”運(yùn)算)

XOR

XOR(

XORN

XORN(

p

操作數(shù)(操作數(shù)的反值)和CR的布爾XOR(“異或”運(yùn)算)

ST

STN

U

將CR存到操作數(shù)

S

U

若CR=1,則將操作數(shù)設(shè)置為TRUE

R

U

若CR=1,則將操作數(shù)設(shè)置為FALSE

)

U

結(jié)束括號(hào):對(duì)遞延操作求值

帶布爾操作數(shù)(BOOL類型)的操作符

用于類屬數(shù)據(jù)類型(類型ANY)操作數(shù)的操作符

操作符

操作符組

描述

LD

C

操作數(shù)裝入CR

ST

U

將CR存儲(chǔ)到操作數(shù)

ADD

ADD(

P

加操作數(shù),結(jié)果存入CR

SUB

SUB(

P

從CR減去操作數(shù),結(jié)果存入CR

MUL

MUL(

P

操作數(shù)乘以CR

DIV

DIV(

P

CR除以操作數(shù)

GT

GT(

P

CR>操作數(shù)(大于)

GE

GE(

P

CR>=操作數(shù)(大于或等于)

EQ

EQ(

P

CR=操作數(shù)(等于)

NE

NE(

P

CR<>操作數(shù)(不等于)

LE

LE(

P

CR<=操作數(shù)(小于或等于)

LT

LT(

P

CR<操作數(shù)(小于)

)

U

結(jié)束括號(hào)級(jí)

跳轉(zhuǎn)和調(diào)用

操作符

操作符組

JMP

-或U

(無(wú))/有條件跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)標(biāo)號(hào)

JMPC

JMPCN

U

CAL

-或U

(無(wú))/有條件調(diào)用一個(gè)功能塊

CALC

CALCN

U

RET

-或U

(無(wú))/有條件從一個(gè)功能或功能塊返回

RETC

RETCN

U

功能名

P

功能調(diào)用

使用功能和功能塊

A.調(diào)用一個(gè)功能

  在IL語(yǔ)言中,調(diào)用一個(gè)功能只是簡(jiǎn)單地寫入該功能名即可。隨后的實(shí)際參數(shù)用逗號(hào)分隔。這種語(yǔ)法和帶有幾個(gè)操作數(shù)的操作符的語(yǔ)法相同。

  功能的第一個(gè)參數(shù)是當(dāng)前結(jié)果(CR)。因此必須正好在功能調(diào)用之前將該值裝入CR中。用于功能調(diào)用的第一個(gè)操作數(shù)實(shí)際上是功能的第二個(gè)參數(shù),并依次類推。

B.調(diào)用一個(gè)功能塊

操作符CAL(或條件調(diào)用CALC和條件取反調(diào)用CALCN)可以激活一個(gè)功能塊。

IEC61131-3描述IL語(yǔ)言中給一個(gè)FB傳送參數(shù)的三種方法:

  1).使用一個(gè)調(diào)用,它包括在括號(hào)內(nèi)的實(shí)際輸入和輸出參數(shù)的一個(gè)列表

  2).在調(diào)用FB前,裝載和保存輸入?yún)?shù)

  3).用輸入?yún)?shù)作為操作符“隱性地”調(diào)用

第三種方法只對(duì)標(biāo)準(zhǔn)FB有效,不適合用戶定義的FB。

2、結(jié)構(gòu)化文本ST

T語(yǔ)言的優(yōu)點(diǎn)(與IL語(yǔ)言相比較):編程任務(wù)高度壓縮化的表達(dá)格式,在語(yǔ)句塊中清晰的程序結(jié)構(gòu),

控制命令流的強(qiáng)有力結(jié)構(gòu)

這些優(yōu)點(diǎn)亦帶來(lái)其本身的缺陷:

由于它借助于編譯程序自動(dòng)地執(zhí)行程序,因此用戶不能直接影響其翻譯成機(jī)器碼。

高度抽象導(dǎo)致效率降低(通常,編譯程序的時(shí)間更長(zhǎng)且執(zhí)行速度更慢)

ST語(yǔ)句

關(guān)鍵字

說(shuō)明

示例

說(shuō)明

:=

賦值

d:=10

將右邊的一個(gè)供計(jì)算的數(shù)值賦值給左邊的標(biāo)識(shí)符

調(diào)用FB

FBName(

Par1:=10,

Par2:=20);

調(diào)用另一個(gè)類型為FB的POU,包括其參數(shù)

RETURN

返回

RETURN

脫離當(dāng)前的POU和返回到調(diào)用POU

IF

選擇

IFd

ELSEIFd=eTHENf:=2;

ELSEf:=3;

END_IF

通過(guò)布爾表達(dá)式選擇替代值

CASE

多重選擇

CASEfOF

1:g:=11;

2:g:=12;

ELSEg:=FunName();

END_CASE

根據(jù)表達(dá)式”f”的值選擇一個(gè)語(yǔ)句塊

FOR

跌代(1)

FORh:=1TO10BY2DO

F[h/2]:=h;

END_FOR

一個(gè)多循環(huán)語(yǔ)句塊,帶有起始和結(jié)束條件以及一個(gè)增量值

WHILE

跌代(2)

WHILEm>1DO

N:=n/2;

END_WHILE

一個(gè)多循環(huán)語(yǔ)句塊,具有在開(kāi)始端的結(jié)束條件

REPEAT

跌代(3)

一個(gè)多循環(huán)語(yǔ)句塊,具有在結(jié)束端的結(jié)束條件

EXIT

循環(huán)的結(jié)束

EXIT

一個(gè)跌代語(yǔ)句的結(jié)束條件。

;

空白語(yǔ)句

;;

ST語(yǔ)言不包括跳轉(zhuǎn)指令(GOTO)。

3、功能塊圖FBD

  功能塊圖(FBD)語(yǔ)言起源于信號(hào)處理領(lǐng)域,對(duì)信號(hào)處理而言,整數(shù)與/或浮點(diǎn)數(shù)是很重要的。

  使用圖形化語(yǔ)言FBD或LD的POU表達(dá)式包括的部分與文本化語(yǔ)言相同。

  1).POU的引導(dǎo)部分和結(jié)束部分

  2).說(shuō)明部分

  3).代碼部分

代碼部分,分為若干個(gè)網(wǎng)絡(luò)。網(wǎng)絡(luò)有助于構(gòu)造POU的控制流。

一個(gè)網(wǎng)絡(luò)包括1).網(wǎng)絡(luò)標(biāo)號(hào)2).網(wǎng)絡(luò)注釋3).網(wǎng)絡(luò)圖形

4、梯形圖LD

  梯形圖語(yǔ)言(LD)源自機(jī)電一體化的繼電器系統(tǒng)的應(yīng)用領(lǐng)域,它描述一個(gè)POU的網(wǎng)絡(luò)自左至右的能量流。編程語(yǔ)言主要是設(shè)計(jì)用于處理布爾信號(hào)。

梯形圖LD接點(diǎn)分類:

常開(kāi)接點(diǎn)

常閉接點(diǎn)

上升沿接點(diǎn)

下降沿接點(diǎn)

梯形圖LD線圈分類:

線圈

--()--

線圈的取反

--(/)--

置位(鎖存)線圈

--(S)--

復(fù)位(解除鎖存)線圈

--(R)--

保持(記憶)線圈

--(M)--

置位保持(記憶)線圈

--(SM)--

復(fù)位保持(記憶)線圈

--(RM)--

上升沿線圈

--(P)--

下降沿線圈

--(N)--

梯形圖LD執(zhí)行控制分類:

無(wú)條件返回

條件返回

無(wú)條件跳轉(zhuǎn)

條件跳轉(zhuǎn)

調(diào)用功能和功能塊