ABB机器人编程方式

[复制链接]
查看47817 | 回复0 | 2024-3-18 10:25:20 | 显示全部楼层 |阅读模式


25本工业机器人培训教材汇编 | 免费领取new~

3000多套主流PLC实例程序大全,免费领取中!

限时下载 | 安川、KUKA、ABB、FANUC全套资料

1、指令表IL

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

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

示例:

标号操作符操作数注释

LD17

STlint(*comment*)

GE5

JMPCnext

LDidword

EQistruct.sdword

STNtest
Nest:



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

修饰符:

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

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

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

操作符修饰符意义
LDN使当前结果等于操作数
STN在操作数位置保存当前结果
S
如果当前位置为TRUE,置位布尔操作数为TRUE
R
如果当前位置为TRUE,复位布尔操作数为FALSE
ANDN,(位与
ORN,(位或
XOR(位异或
ADD(
SUB(
MUL(
DIV(
GT(>
EQ(=
NE(<>
LT(<=
JMP(<
CAL(跳转到标号
PETCN调用功能块
)CN评估括号操作


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

IL是一种面向行的语言。

标号操作符/功能操作数(表)注释
跳转标号分隔符IL操作符或功能名用于操作符的零个,一个或多个常数、变量,或用于功能的输入参数,由逗号分隔。在(*…*)中的注释,可选

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

影响CR数据类型的操作符组缩写操作符示例
Create(建立)CLD
Process(处理)PGT
Leaveunchanged(保持不变)UST:JMPC
Settoundefined(设置为未定义的)
CAL=功能块的无条件调用,


操作符操作符组描述
LDLDNC装入操作数(操作数的反值)到CR
ANDAND(ANDNANDN(P操作数(操作数的反值)和CR的布尔AND(“与”运算)
OROR(ORNORN(P操作数(操作数的反值)和CR的布尔OR(“或”运算)
XORXOR(XORNXORN(p操作数(操作数的反值)和CR的布尔XOR(“异或”运算)
STSTNU将CR存到操作数
SU若CR=1,则将操作数设置为TRUE
RU若CR=1,则将操作数设置为FALSE
)U结束括号:对递延操作求值


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

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

操作符操作符组描述
LDC操作数装入CR
STU将CR存储到操作数
ADDADD(P加操作数,结果存入CR
SUBSUB(P从CR减去操作数,结果存入CR
MULMUL(P操作数乘以CR
DIVDIV(PCR除以操作数
GTGT(PCR>操作数(大于)
GEGE(PCR>=操作数(大于或等于)
EQEQ(PCR=操作数(等于)
NENE(PCR<>操作数(不等于)
LELE(PCR<=操作数(小于或等于)
LTLT(PCR<操作数(小于)
)
U结束括号级


跳转和调用

操作符操作符组
JMP-或U(无)/有条件跳转到一个跳转标号
JMPCJMPCNU
CAL-或U(无)/有条件调用一个功能块
CALCCALCNU
RET-或U(无)/有条件从一个功能或功能块返回
RETCRETCNU
功能名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将右边的一个供计算的数值赋值给左边的标识符

调用FBFBName(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执行控制分类:

无条件返回条件返回无条件跳转条件跳转




*往期热文推荐*

64个气动与液压动画,轻轻松松全学会!

一张图搞定伺服控制环!

PLC常见的6大应用,你知道几个?

机器人零点标定方法,不知道就不够专业了!

这家公司的工程师有多牛,看看他们的机器人你就跪了!

焊工不容易,这样的空间让蛇形机器人上吧!

看图涨知识 | 机械工作原理动图

为什么最好的机械臂是7个自由度,而不是6个?

进工业机器人相关项目工作群

请联系杨小颖▼

(微信:12672653972)

商务合作、咨询、加群请联系我:






长按添加关注,涨知识、看世界!


工业机器人领域找工作,点“阅读原文”!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则