PLC的软件由系统程序和用户程序组成。系统程序由PLC制造厂商设计编写,并存入PLC的系统存储器中,用户不能直接读写与更改。PLC是专门为工业控制而开发的装置。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。虽然各个PLC生产厂家的语句表形式不尽相同,但基本功能相差无几。只要转换条件满足,PLC就实现阶段转移,上一阶段动作结束,下一阶段动作开始。......
2023-06-20
机器人是一种自动化的机器,该类机器应该具备与人或生物相类似的智能行为,如动作能力、决策能力、规划能力、感知能力和人机交互等能力。机器人要想实现自动化需要人为事先输入它能够处理的代码程序,即要想控制机器人,需要在控制软件中输入程序。控制机器人的语言可分为以下几种:机器人语言,指计算机中能够直接处理的二进制表示的数据或指令;自然语言,类似于人类交流使用的语言,常用其来表示程序流程;高级语言,是介于机器人语言和自然语言之间的编程语言,常用其来表示算法。
伴随着机器人的发展,机器人语言也得到发展和完善。机器人语言已成为机器人技术的一个重要部分。机器人的功能除了依靠机器人硬件的支持外,还有相当一部分依赖机器人语言来完成。早期的机器人由于功能单一、动作简单,可采用固定程序或示教方式来控制机器人的运动。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的程序或示教方式已满足不了要求,必须依靠能适应作业和环境随时变化的机器人语言编程来完成机器人的工作。
自机器人出现以来,美国、日本等机器人的原创国也同时开始进行机器人语言的研究。美国斯坦福大学于1973年研制出世界上第一种机器人语言——WAVE语言。WAVE是一种机器人动作语言,即语言功能以描述机器人的动作为主,兼以力和接触的控制,还能配合视觉传感器进行机器人的手、眼协调控制。
在WAVE语言的基础上,1974年斯坦福大学人工智能实验室又开发出一种新的语言,称为AL语言。这种语言与高级计算机语言ALGOL结构相似,是一种编译形式的语言,带有一个指令编译器,能在实时机上控制,用户编写好的机器人语言源程序经编译器编译后对机器人进行任务分配和作业命令控制。AL语言不仅能描述手爪的动作,而且可以记忆作业环境和该环境内物体与物体之间的相对位置,实现多台机器人的协调控制。
美国IBM公司也一直致力于机器人语言的研究,并取得了不少成果。1975年,IBM公司研制出ML语言,主要用于机器人的装配作业。随后该公司又研制出另一种语言——AUTOPASS语言,这是一种用于装配的更高级语言,它可以对几何模型类任务进行半自动编程。
美国的Unimation公司于1979年推出了VAL语言。它是在BASIC语言基础上扩展的一种机器人语言,因此具有BASIC的内核与结构,编程简单,语句简练。VAL语言成功地用于PUMA和UNIMATE型机器人。1984年,Unimation公司又推出了在VAL基础上改进的机器人语言——VALⅡ语言。VALⅡ语言除了含有VAL语言的全部功能外,还增加了对传感器信息的读取,使得可以利用传感器信息进行运动控制。
20世纪80年代初,美国Automatix公司开发了RAIL语言,该语言可以利用传感器的信息进行零件作业的检测。同时,麦道公司研制了MCL语言,这是一种在数控自动编程语言——APT语言的基础上发展起来的一种机器人语言。MCL特别适用于由数控机床、机器人等组成的柔性加工单元的编程。
机器人语言品种繁多,而且新的语言层出不穷。这是因为机器人的功能不断拓展,需要新的语言来配合其工作。另外,机器人语言多是针对某种类型的具体机器人而开发的,所以机器人语言的通用性很差,几乎一种新的机器人问世,就有一种新的机器人语言与之配套。
机器人语言可以按照其作业描述水平的程度分为动作级编程语言、对象级编程语言和任务级编程语言三类。
1.动作级编程语言
动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主,通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不接收浮点数和字符串,子程序不含有自变量;不能接收复杂的传感器信息,只能接收传感器开关信息;与计算机的通信能力很差。典型的动作级编程语言为VAL语言,如AVL语言语句“MOVE TO(destination)”的含义为机器人从当前位姿运动到目的位姿。
动作级编程语言编程时可分为关节级编程和末端执行器级编程两种。
关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。
末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。
动作级编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处理能力强。
2.对象级编程语言
所谓对象,即作业及作业物体本身。对象级编程语言是比动作级编程语言高一级的编程语言,它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系。通过编译程序机器人即能知道如何动作。
对象级编程语言典型的例子有AML及AUTOPASS等语言,其特点有以下几点:
(1)具有动作级编程语言的全部动作功能。
(2)有较强的感知能力,能处理复杂的传感器信息,可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。
(3)具有良好的开放性,语言系统提供了开发平台,用户可以根据需要增加指令,扩展语言功能。
(4)数字计算和数据处理能力强,可以处理浮点数,能与计算机进行即时通信。
对象级编程语言用接近自然语言的方法描述对象的变化。对象级编程语言的运算功能、作业对象的位姿时序、作业量、作业对象承受的力和力矩等都可以以表达式的形式出现。系统中机器人尺寸参数、作业对象及工具等参数一般以知识库和数据库的形式存在,系统编译程序时获取这些信息后对机器人动作过程进行仿真,再进行实现作业对象合适的位姿,获取传感器信息并处理,回避障碍以及与其他设备通信等工作。
3.任务级编程语言
任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。例如,一个装配机器人欲完成某一螺钉的装配,螺钉的初始位置和装配后的目标位置已知,当发出抓取螺钉的命令时,语言系统从初始位置到目标位置之间寻找路径,在复杂的作业环境中找出一条不会与周围障碍物产生碰撞的合适路径,在初始位置处选择恰当的姿态抓取螺钉,沿此路径运动到目标位置。在此过程中,作业中间状态作业方案的设计、工序的选择、动作的前后安排等一系列问题都由计算机自动完成。
任务级编程语言的结构十分复杂,需要人工智能的理论基础和大型知识库、数据库的支持,目前还不是十分完善,是一种理想状态下的语言,有待于进一步研究。但可以相信,随着人工智能技术及数据库技术的不断发展,任务级编程语言必将取代其他语言而成为机器人语言的主流,使得机器人的编程应用变得十分简单。
根据机器人控制方法的不同,所用的程序设计语言也有所不同,目前比较常用的程序设计语言是C语言。
有关工业机器人基础的文章
PLC的软件由系统程序和用户程序组成。系统程序由PLC制造厂商设计编写,并存入PLC的系统存储器中,用户不能直接读写与更改。PLC是专门为工业控制而开发的装置。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。虽然各个PLC生产厂家的语句表形式不尽相同,但基本功能相差无几。只要转换条件满足,PLC就实现阶段转移,上一阶段动作结束,下一阶段动作开始。......
2023-06-20
工业机器人可以在工业生产线中自动完成点焊、弧焊、喷漆、切割、装配、搬运、包装、码垛等作业。大部分工业机器人为关节型机器人,关节型机器人的机械臂是由若干个机械关节连接在一起的集合体。图5-31工业机器人的基本组成1—示教器;2—控制器;3—机器人本体图5-32典型六关节工业机器人①机座。......
2023-06-15
所谓中断,就是计算机为提高运行效率而采用的一种方式。当一个变量一旦发生要求的改变时,计算机立即自动触发中断,转向一段服务程序,执行完成后,自动返回主程序的原断点继续运行。④ES为串行口中断允许位。当几个通道同时发生中断时,计算机只能选择一个通道进行响应,即具有高优先级的通道才能被响应。⑥连续单击“跟踪”,由于a+1,a≠5,所以返回主函数继续等待下一次中断。......
2023-11-07
为此,出现了用代表指令意义的助记符表示指令。后面的字节称为“操作数”,表示端口的编号是00。将助记符表示的程序变换为包括地址和机器码在内的可执行程序的过程,称为“汇编”。对“宏”助记符指令进行的“汇编”,称为“简易汇编”。利用“宏”作为学习8051汇编语言和C语言的入门阶梯,对初学者是较好的一种选择。......
2023-11-07
Java语言具有优秀的特点,在互联网位置上占有重要的位置,其特点介绍如下。由此可见,Java语言是一门纯正的面向对象程序设计语言。另外,Java的安全检查机制使得Java更具健壮性。在Java中,使用安全机制可以防止恶意代码的攻击。并且,Java还严格规定了各个基本数据类型的长度。11)Java语言是动态的:Java语言能够适应动态变化的环境。另外,Java中的类有一个运行时刻的表示,能够时刻检查运行的类型。......
2023-11-05
C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。C语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。C语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。C语言对编写需要硬件进行操作的场合优于其他高级语言,有一些大型应用软件也是用C语言编写的。......
2023-06-26
一种良好的程序设计规则和方法是结构化程序设计。结构化程序设计的基本思想是基于这样的考虑,即任何程序都可以用三种基本结构的组合来实现。这三种基本结构为顺序结构、分支结构和循环结构。在本章的程序讲解和编程练习中较多地使用了“延时程序”子程序,其程序结构常用的有单循环和双循环。由于前文所介绍的程序并没有对“延时程序”子程序延时时间的计算进行讲解,因此,在此结合程序的循环结构讲解延时程序的延时时间计算。......
2023-11-07
程序点评:数据传送指令MOV将一组数据分别传送到P1口,做了输出口的操作。将8位立即数传送给累加器A,再由累加器A将数据传送到I/O接口的P1口,使P1.0灯亮。在I/O接口输出操作时不能将间接寄存器中的地址输出到P1口。......
2023-11-07
相关推荐