工业机器人调试基础:程序的构造与组成 点击:319 | 回复:2



hblygyxj

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 20回
  • 年度积分:1
  • 历史总积分:112
  • 注册:2020年11月02日
发表于:2020-11-05 21:04:48
楼主

工业机器人调试基础:程序的构造与组成

在之前的文章中有讲到,机器人作业本质是按照设定好的位置点(即坐标系与坐标系之间的相对位置)移动末端执行器,然后在这个移动路径上的某个位置执行相关操作。

位置点到位置点间以什么样的形式移动,末端执行器要在什么时候运行,这些都是程序指令来设定的。

由于种种原因,目前各品牌机器人并没有统一的标准编程语言,各品牌的工业机器人程序不具备通用性。实际上,虽然各品牌在程序格式、指令格式、编辑操作上有着各种区别,但核心部分如程序结构、指令的功能等部分都大同小异。因此只要掌握了一种品牌的机器人编程语言,在接触别的品牌的时候就容易上手了。那么在本期文章呢,将会给大家讲解下机器人作业程序的基本构造。

作业程序的结构

一般来讲,程序由程序名、指令行组成。作业会调用相应的程序,按顺序执行程序下的各个指令行。

个别厂商为了方便用户,在各程序上有着类似“文件夹”的结构,将主程序、子程序、各类程序数值归为一起。如abb的操作系统在新建程序时,新建的是一个项目文件,然后在这项目文件下自动创建个主程序文件供用户编写。其他如坐标系、位置点、子程序等数据,创建后都会保存于这个项目文件中。

ABB系统中项目文件的组成

程序名

由于工业机器人作业的复杂性,在作业过程中往往需要调用多个程序来相互配合。程序名便是用于标记、区分不同的程序,方便作业时程序的调用。

指令行

程序的主要部分,每一行指令执行一个操作。通常指令分为四种:运动指令、输入输出指令、流程控制指令,以及用于结束当前程序的结束指令。下面以abb的程序为例,简单讲解下这四种指令。

运动指令

运动指令为控制机器人本体及外部轴的指令。如上指令所示,运动指令中会定义要移动的工具坐标系,作为运动参考的工件坐标系(若无设定,则会使用默认的初始坐标系),让工具坐标系以设定的运动方式移动速度移动到位置点上。

例图中,则为让工具坐标系Tool1以关节运动的方式,100mm/s的速度移动到基坐标系(默认的初始工件坐标)的位置点Psafe上。

输入输出指令

在一个完整的机器人工作站中,除了机器人本体,还会配备不少外部运行设备。如图中的传送带步进电机的驱动器便是连接到外部PLC,再经PLC连接至机器人控制柜上的I/O板。对这些外部设备配置相应的I/O口,在作业程序便可运用相应的输入输出指令对其进行操控。

如该作业指令,DO7对应驱动器的运行与停止两种状态,通过Set与Reset指令来对这两个状态进行切换,实现步进电机的运转与停止。

流程控制指令

每个工作站作业都有其作业流程,使用流程控制指令便是让移动指令、输入输出指令这一系列操作指令按工程师规划的作业流程图有序地执行。

各控制系统的流程控制指令与C语言相似,像IF、WHILE这些常用的条件判断指令在各机器人操作系统中也可看到。

如上图,通过for指令,在程序运行时改变i,j变量的数值,进一步实现偏移位置点的变更,用少数指令行执行了较多的运动指令。

结束指令

这个估计就不用怎么解释了吧,结束指令便是用于结束当前程序的执行。当子程序执行到这一步,便是完成了当前程序的运行,返回上一级程序执行下一步,若为主程序,执行到这一步便意味着整个作业执行完毕。




楼主最近还看过



USB_KEY

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1002回
  • 年度积分:0
  • 历史总积分:935
  • 注册:2019年3月26日
发表于:2020-11-16 09:32:38
1楼

支持一下,这个能帮很多人的,尤其我们这些初学者

chzhmichzhmi

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 68回
  • 年度积分:57
  • 历史总积分:168
  • 注册:2008年9月28日
发表于:2020-11-22 17:09:58
2楼

正在学习。


热门招聘
相关主题

官方公众号

智造工程师