机器人的程序与编程
什么是程序与编程?
通过操作者将悉数作业要求编制成控制系统可以识别的指令,并输入到控制系统;控制系统通过连续执行指令,使机器人完结所需要的动作。这些指令的集合便是机器人的作业程序(简称程序),编写程序的过程称为编程。
什么又是指令?
指令又称指令(Instruction),它是程序***重要的组成部分。作为一般概念,工业自动化设备的程序指令都由如下两部分组成:指令码和操作数
程序指令中的指令码又称操作码,它用来规定控制系统需要执行的操作;操作数又称操作对象,它用来定义执行这一操作的对象。简单地说,指令码告诉控制系统需要做什么,操作数告诉控制系统由谁去做。
2.编程方法
***代机器人的程序编制方法一般有示教编程(在线编程)和离线编程两种。
(1)示教编程
示教编程是通过作业现场的人机对话操作,完成程序编制的一种方法。所谓示教,就是操作者对机器人所进行的作业引导,它需要由操作者按实际作业要求,通过人机对话操作,一步一步地告知机器人需要完成的动作;这些动作可由控制系统以命令的形式记录与保存;示教操作完成后,程序也就被生成。如果控制系统自动运行示教操作所生成的程序,机器人便可重复全部示教动作,这一过程称为「再现」。abb机器人配件
示教编程需要由专业经验的操作者在机器人作业现场完成,故又称为在线编程。示教编程简单易行,所编制的程序正确性高,机器人的动作安全可靠,是目前工业机器人***为常用的编程方法,特别适合于自动生产线等重复作业机器人的编程。
示教编程的不足是程序编制需要通过机器人的实际操作来完成,编程需要在作业现场进行,时间较长,特别是对于高精度、复杂轨迹运动,很难利用操作者的操作示教,因而,对于作业要求变更频繁、运动轨迹复杂的机器人,一般使用离线编程。
(2)离线编程
离线编程是通过编程软件直接编制程序的一种方法。离线编程不仅可编制程序,而且还可进行运动轨迹的离线计算,并虚拟机器人现场,对程序进行仿真运行,验证程序的正确性。
离线编程可在计算机上直接完成,其编程效率高,且不影响现场机器人的作业,故适合于作业要求变更频繁、运动轨迹复杂的机器人编程。离线编程需要配备机器人生产厂家提供的专门编程软件,如ABB 公司的RobotStudio、安川公司的 MotoSim EG、FANUC公司的ROBOGUIDE、KUKA公司的Sim Pro等。
离线编程一般包括几何建模、空间布局、运动规划、动画仿真等步骤,所生成的程序需要经过编译,下载到机器人,并通过试运行确认。离线编程涉及编程软件安装、操作和使用等问题,不同的软件差异较大。
3.程序结构
程序结构就是程序的编写方法、格式及组织、管理方式,工业机器人程序通常有线性和模块式两种基本结构。
(1)线性结构
线性结构程序一般由程序名称、指令和程序结束标记组成,程序的所有内容都集中在一个程序块中,程序设计时只需要按照机器人的动作次序,将相应的指令从上至下依次排列,机器人便可按指令次序完成相应的动作。
线性结构是日本等国工业机器人常用的程序结构形式,如安川公司的弧焊机器人进行图2.1-1所示简单焊接作业的线性结构程序如下。
由上述程序实例可见,机器人的线性结构程序命令实际上并不完整,程序中所缺少的机器人移动到目标位置,弧焊所需要的保护气体、送丝、焊接电流和电压、引弧/熄弧时间等作业工艺参数等要素,都需要通过示教编程操作、系统参数设定进行补充与设定,因此,其离线编程较为困难,通常不能实现参数化编程。
(2)模块式结构
模块式结构的程序由多个程序模块组成,其中的一个模块负责对其他模块的组织与调度,这一模块称为主模块或主程序,其他模块称为子模块或子程序。对于一个控制任务,主模块或主程序一般只能有一个,而子模块或子程序则可以有多个。
模块式结构的程序子模块一般都有相对独立的功用,它可依据实际操控的需求,通过主模块来选择所需求的子模块、改动子模块的履行次第;此外,还可通过参数化程序设计,使子模块能用于不同的操控程序。模块式结构的程序设计灵活、使用方便,它是欧美国家工业机器人常用的程序结构形式。
模块式结构程序的模块称号、功用,在不同的操控体系上有所不同。例如,有的体系称为主模块、子模块,有的体系则称为主程序、子程序、中止程序等。ABB工业机器人的程序结构较杂乱,利用RAPID语言编制的应用程序(简称RAPID程序〉包括了如图2.1-2所示的多种模块。
使命。使命( Task)由程序模块和体系模块组成,它包含了机器人完结一项特定作业(如点焊、弧焊、转移等〉所需求的全部指令和数据。简略机器人体系的 RAPID程序一般只要一个使命,但在多机器人杂乱体系上,可通过特殊的多使命( Multitasking)操控软件,同步履行多个使命。使命中的模块性质、类型等特点,可通过使命特性参数( Task propertypar ameter)进行界说。
2程序模块。程序模块(Pr ogram module)是RAPID程序的主体,它需求由编程人员依据作业要求编制,一个使命的程序模块可能有多个。有关程序模块的格式、编制方法,将在随后的内容中详细阐明。
在程序模块中,含有登录程序(Entry routine)的模块可用于程序的安排、管理和调度,称为主模块(Main module); ABB所谓的登录程序,实际上就是主程序(Main program)。除主模块外的其他程序模块,一般用来完成某一动作或特定功用,它们可被主程序调用,因而也能够称之为子程序。依据功用与用处不同,RAPID子程序又有一般程序 PROc、功用程序FUNC、中止程序TR4P之分,3 类程序的结构和用处有所不同(见后述)。
RAFID程序模块由程序(Routine)和程序数据(Pr ogram data)两部分组成:程序是用来指定机器人动作的指令( Instruction〉集合;程序数据则用来界说指令操作数的数值(value),如机器人的移动目标位置、工具坐标系、工件坐标系、作业参数等。
3体系模块。体系模块(System module)用来界说工业机器人的功用和体系参数。这是由于,对于同一机器人生产厂家而言,机器人操控器实际上是一种通用设备,它可用于不同用处、标准、功用机器人的操控,因而,当它用于特定机器人操控时,需求通过体系模块来界说机器人的硬件、软件、功用、标准等个性化参数。
RAPID体系模块由体系程序(Routine)和体系数据(System data)组成,它由机器人生产厂家编制,并可在体系起动时主动加载,即便删除作业程序,体系模块仍将保存。
更多ABB机器人配件资讯欢迎点击咨询:ABB机器人编程
- 下一篇:详细讲解ABB机器人RAFID应用程序结构
- 上一篇:机器人出现故障如何保障工作量