ABB机器人指令列表分类详解
任何带有逻辑的机器都离不开程序,程序是他们的“灵魂”,当然机器人也不例外。光有“魁梧”的躯体还不够,他们也需要思维赋予他们灵性。在ABB机器人中,机器人的程序被称为RAPID,所有的机器人的行为都是通过RAPID语言或者RAPID指令来进行描述与控制的。不同的操作对应不同的指令,比如移动机器人需要一个指令,设置机器人的输出又需要另外的指令。无论是通过FlexPendant示教器还是RobotStudio,RAPID程序的编写都是通过程序编辑器来进行的,所以程序编辑器就是机器人的“灵魂入口”。在之前的文章中,我们已经详细的讨论过程序编辑器里调试菜单中的功能含义,这一次我们就再来讨论一下程序编辑器中代表机器人“灵魂”的指令在列表中是如何分类的。毕竟指令这么多,找到心仪的那个“它”没点方法还是有些麻烦的。
Common常用的指令该分类下是我们最常用的指令。包括赋值、逻辑、运动等指令。
Prog.Flow(Controllingtheprogramflow)控制程序流程类
在ABB机器人中,程序都是按照一定的顺序(也可以理解为按照指令的规划)执行的。除了按照由上至下的顺序执行外,我们还可以通过指令中断循序执行过程或者调用其它指令或程序,以处理执行期间可能出现的各种情况或者实现更加复杂的控制逻辑要求。
在ABB机器人中所有的控制流程都是基于以下的五种原理
1、调用另一程序(无返回值程序)并在执行该程序后,按指令继续执行;
2、基于是否满足给定条件,执行不同指令;
3、重复某一指令序列多次,直到满足给定条件;
4、移至同一程序中的某一标签;
5、终止程序执行过程。
Various(Variousinstructions)各种指令
该分类下有如下四种指令:
1、给数据赋值;
2、等待一段指定时间或等到满足条件时;
3、在程序中插入注释;
4、加载编程模块。
Settings(Motionsettings)运动设置该分类中包含了与机器人运动参数设置相关的指令
Motion&Proc/MotionAdv./MotionSetAdv运动运动类中包含了所有控制机器人运动的指令。
I/O(Inputandoutputsignals)输入输出该分类下包含有与机器人输入输出有关的信号
Communicate(Communication)通信该分类包含机器人与人和机器人与其它设备进行通信的指令
Interrupts中断该分类下包含有与中断程序有关的指令
ErrorRec.(Errorrecovery)错误恢复该分类下包含有与错误相关的指令。
System&time系统与时间该分类里包含系统和时间指令支持用户测量、检查和记录时间。
Mathematics数学该分类下的指令用于计算与修改数据数值。
你们发现了吗?赋值指令在这个分类里又一次出现了,这就说明同一个指令存在于多个分组中。
Ext.computer(Externalcomputercommunication)外部计算机通信该分类中包含与外部计算机通信相关的指令
该分类下的指令在有的robotware版本中被合并到Communicate分类中了。
Multitasking&MultiMove多任务与多运动
该分类下包含与多任务和多运动相关的指令。
RAPIDsupport(RAPIDsupportinstructions)RAPID配套指令包含与RAPID相配套的指令
Calib&service(Calibration&service)校准&服务该分类下包含用于校准和测试机器人本体的指令。
M.C1~M.C3(MostCommonInstruction)最常用的指令这是ABB机器人为我们预留的可供自定义修改指令列表的分类。
在控制面板中的Man-machinecommunication主题中可以对该分类的内容进行个性化设置。
指令列表的分类就是这些了,如果你的机器人的系统版本是robotware6.06及以上,那么指令列表中还有一个过滤器的功能也可以使用,让我们抛开分类的限制通过输入指令字母快速索引到你想使用的指令。
这次的分享就到这里了,如果本文对你有帮助或者启发,那就动动你可爱的小手点下在看或者转发到朋友圈吧,让它帮助启发更多的人。
文章首发自动化生产之家
ABB机器人IF条件判断指令
目录IF的语法结构示例总结依次测试条件,直至满足其中一个条件。通过与该条件相关的指令,继续程序执行。如果未满足任何条件,则通过符合ELSE的指令,继续程序执行。如果满足多个条件,则仅执行与第一个此类条件相关的指令。
IF的语法结构IFConditionTHENELSEIFConditionTHENELSEENDIF
Condition:条件
:需要执行的指令
语法说明:IF条件判断指令,就是根据不同的条件(Condition)去执行不同的指令。条件判定的条件数量可以根据实际情况进行增加或减小
格式IFConditionTHENDOENDIF参数Condition判断条件DO执行语句示例
有关于如何使用指令FOR的更多例子阐述如下。
MODULEMainModuleVarnuma:=10;PROCmain()IFa>10THEN!当a大于10,a减1a:=a-1;ELSEIFa