专栏首页机器人网ABB机器人编程方式

ABB机器人编程方式

1、指令表IL

  指令表(IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有标号,后接一个冒号。

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

示例

标号

操作符

操作数

注释

LD

17

ST

lint

(*comment*)

GE

5

JMPC

next

LD

idword

EQ

istruct.sdword

STN

test

Nest:

在IL语言中,可以使用下面的操作符和修饰符。

修饰符:

JMP、CAL、RET中带C:指令在预置表达式结果为TRUE时执行。

JMPC、CALC、RETC中带N:指令在预置表达式结果为FALSE时执行。

其它指令中带N:操作数取反(不是累加器)。

操作符

修饰符

意义

LD

N

使当前结果等于操作数

ST

N

在操作数位置保存当前结果

S

如果当前位置为TRUE,置位布尔操作数为TRUE

R

如果当前位置为TRUE,复位布尔操作数为FALSE

AND

N,(

位与

OR

N,(

位或

XOR

(

位异或

ADD

(

SUB

(

MUL

(

DIV

(

GT

(

>

EQ

(

=

NE

(

<>

LT

(

<=

JMP

(

<

CAL

(

跳转到标号

PET

CN

调用功能块

)

CN

评估括号操作

下表为IL中全部的操作符及可能的修饰符和相关的意义:

IL是一种面向行的语言。

标号

操作符/功能

操作数(表)

注释

跳转标号

分隔符

IL操作符或功能名

用于操作符的零个,一个或多个常数、变量,或用于功能的输入参数,由逗号分隔。

在(*…*)中的注释,可选

通过不同的操作符组修改CR

影响CR数据类型的操作符组

缩写

操作符示例

Create(建立)

C

LD

Process(处理)

P

GT

Leaveunchanged(保持不变)

U

ST:JMPC

Settoundefined(设置为未定义的)

CAL=功能块的无条件调用,

操作符

操作符组

描述

LD

LDN

C

装入操作数(操作数的反值)到CR

ANDAND(

ANDNANDN(

P

操作数(操作数的反值)和CR的布尔AND(“与”运算)

OROR(

ORNORN(

P

操作数(操作数的反值)和CR的布尔OR(“或”运算)

XORXOR(

XORNXORN(

p

操作数(操作数的反值)和CR的布尔XOR(“异或”运算)

ST

STN

U

将CR存到操作数

S

U

若CR=1,则将操作数设置为TRUE

R

U

若CR=1,则将操作数设置为FALSE

)

U

结束括号:对递延操作求值

带布尔操作数(BOOL类型)的操作符

用于类属数据类型(类型ANY)操作数的操作符

操作符

操作符组

描述

LD

C

操作数装入CR

ST

U

将CR存储到操作数

ADD

ADD(

P

加操作数,结果存入CR

SUB

SUB(

P

从CR减去操作数,结果存入CR

MUL

MUL(

P

操作数乘以CR

DIV

DIV(

P

CR除以操作数

GT

GT(

P

CR>操作数(大于)

GE

GE(

P

CR>=操作数(大于或等于)

EQ

EQ(

P

CR=操作数(等于)

NE

NE(

P

CR<>操作数(不等于)

LE

LE(

P

CR<=操作数(小于或等于)

LT

LT(

P

CR<操作数(小于)

)

U

结束括号级

跳转和调用

操作符

操作符组

JMP

-或U

(无)/有条件跳转到一个跳转标号

JMPC

JMPCN

U

CAL

-或U

(无)/有条件调用一个功能块

CALC

CALCN

U

RET

-或U

(无)/有条件从一个功能或功能块返回

RETC

RETCN

U

功能名

P

功能调用

使用功能和功能块

A.调用一个功能

  在IL语言中,调用一个功能只是简单地写入该功能名即可。随后的实际参数用逗号分隔。这种语法和带有几个操作数的操作符的语法相同。

  功能的第一个参数是当前结果(CR)。因此必须正好在功能调用之前将该值装入CR中。用于功能调用的第一个操作数实际上是功能的第二个参数,并依次类推。

B.调用一个功能块

操作符CAL(或条件调用CALC和条件取反调用CALCN)可以激活一个功能块。

IEC61131-3描述IL语言中给一个FB传送参数的三种方法:

  1).使用一个调用,它包括在括号内的实际输入和输出参数的一个列表

  2).在调用FB前,装载和保存输入参数

  3).用输入参数作为操作符“隐性地”调用

第三种方法只对标准FB有效,不适合用户定义的FB。

2、结构化文本ST

T语言的优点(与IL语言相比较):编程任务高度压缩化的表达格式,在语句块中清晰的程序结构,

控制命令流的强有力结构

这些优点亦带来其本身的缺陷:

由于它借助于编译程序自动地执行程序,因此用户不能直接影响其翻译成机器码。

高度抽象导致效率降低(通常,编译程序的时间更长且执行速度更慢)

ST语句

关键字

说明

示例

说明

:=

赋值

d:=10

将右边的一个供计算的数值赋值给左边的标识符

调用FB

FBName(Par1:=10,Par2:=20);

调用另一个类型为FB的POU,包括其参数

RETURN

返回

RETURN

脱离当前的POU和返回到调用POU

IF

选择

IFd<ethenf:=1;< div="">ELSEIFd=eTHENf:=2;ELSEf:=3;END_IF</ethenf:=1;<>

通过布尔表达式选择替代值

CASE

多重选择

CASEfOF1:g:=11;2:g:=12;ELSEg:=FunName();END_CASE

根据表达式”f”的值选择一个语句块

FOR

跌代(1)

FORh:=1TO10BY2DOF[h/2]:=h;END_FOR

一个多循环语句块,带有起始和结束条件以及一个增量值

WHILE

跌代(2)

WHILEm>1DON:=n/2;END_WHILE

一个多循环语句块,具有在开始端的结束条件

REPEAT

跌代(3)

一个多循环语句块,具有在结束端的结束条件

EXIT

循环的结束

EXIT

一个跌代语句的结束条件。

;

空白语句

;;

ST语言不包括跳转指令(GOTO)。

3、功能块图FBD

  功能块图(FBD)语言起源于信号处理领域,对信号处理而言,整数与/或浮点数是很重要的。

  使用图形化语言FBD或LD的POU表达式包括的部分与文本化语言相同。

  1).POU的引导部分和结束部分

  2).说明部分

  3).代码部分

代码部分,分为若干个网络。网络有助于构造POU的控制流。

一个网络包括1).网络标号2).网络注释3).网络图形

4、梯形图LD

  梯形图语言(LD)源自机电一体化的继电器系统的应用领域,它描述一个POU的网络自左至右的能量流。编程语言主要是设计用于处理布尔信号。

梯形图LD接点分类:

常开接点

常闭接点

上升沿接点

下降沿接点

梯形图LD线圈分类:

线圈--()--

线圈的取反--(/)--

置位(锁存)线圈--(S)--

复位(解除锁存)线圈--(R)--

保持(记忆)线圈--(M)--

置位保持(记忆)线圈--(SM)--

复位保持(记忆)线圈--(RM)--

上升沿线圈--(P)--

下降沿线圈--(N)--

梯形图LD执行控制分类:

无条件返回

条件返回

无条件跳转

条件跳转

调用功能和功能块

本文分享自微信公众号 - 机器人网(robot_globalsources)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 百度,人工智能你真的行吗?

    孙正义的软银当年在名不见经传的阿里巴巴身上投下了2000万美元的赌注,现在软银所持的股份价值据估算暴涨到了大约580亿美元。现在,他看到了新的趋势,并部署了软银...

    机器人网
  • 干货收藏 |“智能制造”产业链深度报告

    导语 智能制造发展需经历自动化、信息化、互联化、智能化四个阶段。智能制造发展需经历不同的阶段,每一阶段都对应着智能制造体系中某一核 2017年5月17日国务院召...

    机器人网
  • 智能制造来袭,“关灯工厂”越来越多?

    2016年,广州先进制造业增加值2663亿元,占规模以上工业增加值比重为54.6%,先进制造业为主体的产业结构基本确立;科技创新企业规模不断增加,总数达到12....

    机器人网
  • Python入门

    初学Python一直听别人说,Python是一门解释性语言,直到发现了.pyc文件的存在。如果是解释型语言,那么生成的.pyc文件是什么呢?c应该是compil...

    py3study
  • GCC内嵌汇编语言

    绝大多数 Linux 程序员以前只接触过DOS/Windows 下的汇编语言,这些汇编代码都是 Intel 风格的。但在 Unix 和 Linux 系统中,更多...

    ternturing
  • X86 Assemble指令--MOVS指令簇

    该指令簇包括: MOVS mem16,mem16:显式指定源操作数与目的操作数 MOVSB:每次移动一个字节 MOVSW:每次移动一个字 MOVSD:每...

    None_Ling
  • gcc内嵌汇编详解

    有时候我们希望在C/C++代码中使用嵌入式汇编,因为C中没有对应的函数或语法可用。比如我最近在ARM上写FIR程序时,需要对最后的结果进行饱和处理,但gcc没有...

    刘盼
  • 源码安装

    JNingWei
  • 《vue+vant+node+mongoDB+koa2》电商项目实战连载(4)

    使用<van-row>和<van-col >来快速的创建一个搜索条的html的结构出来,

    web前端教室
  • 内核源码编译

    编译内核的目的在于把纷繁复杂的内核源码编译成一个可执行的镜像文件。当然,内核功能复杂,并不是所有的 功能都需要用到,所以,我们在使用make对其编译前,要做一件...

    用户1214695

扫码关注云+社区

领取腾讯云代金券