关键词:机械手;二次示教;控制系统;集散控制
1 引言
随着加工行业在我国的迅速发展,各行各业的自动化装备水平越来越高,现代化加工车间,常常配有机械手,以提高生产效率,完成工人难以完成或危险的工作。
目前在我国机械手常用于完成的工作有:注塑工业中用于从模具中快速抓取制品并将制品传送到下一个生产工序;机械加工行业中用于取料、送料;浇铸行业中用于提取高温熔液等等。本文以能够实现这类工作的搬运机械手为研究对象,针对本文作者参与的工业取料用直角坐标机械手控制系统控制策略及二次示教方法进行了研究。
目前市场上常见的工业取料直角坐标机械手主运动臂的控制方式主要采用液压或气压驱动。这种控制策略的优点在于结构简单,系统易于控制,但缺点在于,系统定位靠设定接近开关的位置来实现,而一但用户要求改变取料工作类型,必须重新调节各液压或气压缸的定位开关,以适应新的工作任务,这样就不利于生产过程的自动化。
本文作者参与设计的工业取料用直角坐标机械手,主运动采用全电动控制方式,系统以交流电机为驱动源,专用交流电机伺服控制器为下位机,工业控制计算机为上位机,系统整体采用集散控制的控制策略。这种设计方案控制系统精度高,而且系统结构紧凑,易于用户操作,具有较好的市场前景。
2 系统结构及控制策略
工业取料机械手的工作方式是按“示教/再现机器人”的概念来完成的,即由人用示教器对机械手的工作行为示教,示教过程中记录机械手各运动关节起始点位置,并在生产过程中按用户设定的运动速度、加速度重复这一动作过程。
根据以上分析,我们设计出了一类主运动为全电动的工业取料机械手。机械手控制系统采用集散控制结构,即由一台上位机控制五台下位伺服控制器,每台下位伺服控制器单独驱动一台交流异步电动机,电动机带动机械手的执行机构完成动作。
本系统上位机选用工业控制计算机,下位伺服控制器采用交流异步电动机专用伺服控制器。上位计算机完成两个功能,一是提供人机接口,便于用户进行操作,二是通过串行口,按RS-485协议标准承担对下位伺服控制器的控制。下位机接受上位机发出的指令语言,按指令要求控制电机转动。同时下位伺服控制器还通过交流电机上的码盘检测异步电机运动状态,并反馈给下位机,以实现下位控制器对电机运动状态的实时控制。控制系统结构如图1。
图1 机械手控制系统结构图
交流异步电机伺服控制器是一类专门用于控制交流异步电机的设备。伺服控制器配有RS-485接口和I/O口,用于与上位机通讯。通过使用伺服控制器的专用语言,我们设计了运行于伺服控制器上的程序。下位伺服控制器在上电后自动执行存储于控制器中的这段程序。它的主要功能是接受上位计算机下传的指令,按上位计算机的要求对电机运动状态进行控制。对于电机运动的具体实时控制则由下位伺服控制器的内部控制算法实现。
3 二次示教
机械手采用集散控制结构,所以在控制系统中上下位机间实现信息传递的控制网络成为系统控制的一个关键因素,交流电动机伺服控制器和工业控制计算机内都有一个 RS-485口,所以我们在设计上选用了上下位机的RS-485串行口做为它们之间通讯的途径。
在工业现场中上下位机不亦频繁进行RS-485方式通讯,因为RS-485通讯方式在有干扰的环境下信号容易受干扰而导致通讯失败,尽管我们在通讯程序上设计了容错功能,但这种失败以及RS-485本身通讯时所占用的时间,会大大降低系统工作的实时性。
基于这一问题我们采用了二次示教的控制策略,下面简介这一策略的实现方法。在示教阶段,上位计算机记录用户需要的工作流程,即各自由度的运动顺序,以及每一个运动环节的运动距离、运动速度、运动加速度,并形成一个示教数据队列,这一示教数据队列记录了机械手工作所需要的完整信息,即完成了由人对系统的一次示教。
图2示例了一个示教过程的数据队列,其中A、B、C、D分别代表下位设备,各方框结点中各设备名后序号表示该结点在一个流程中启动该设备的序号。如“B2”中,“B”表示该结点记录的是下位设备“B”的信息,“2”表示该结点中装的是“B”设备在一个工作流程中第二次被启动时的运动信息,注意同一设备位于不同次序的数据记录内容往往是不一样的。
图2
在机械手启动自动工作,并实现第一次自动工作循环中,上位计算机会向当前应运动的自由度相应控制器发送相关运动数据信息,即运动位移,运动速度,运动加速度,这时下位控制器会将这些数据保存至自己的存储器内,以形成数据记录,紧接着上位计算机启动相关下位控制器的I/O,以通知下位控制器开始动作,这时下位控制器完成的动作就是按这个新保存的信息完成的,动作完成后下位控制器通知上位计算机,上位计算机接到控制信息后,继续通知下一个需要动作的控制器。一个工作流程完成后,各控制器已按工作流程中自已的动作,按顺序形成了自己的数据记录,并存入了自己的存储器。这些记录中记录了每一个动作的运动速度,运动距离,运动加速度,这样即完成了由上位计算机对下位控制器的二次示教。
这时数据队列变成图3,图中所示状态为一个工作流程初始工作状态。
图3
这样每一个控制器就知道一个工作流程中,当上位计算机通知自己工作时,每一个动作的信息,同时也知道自已在一个工作流程中,被通知动作后,各动作的先后顺序。但每一个控制器对于自己的动作在整体工作流程中的顺序是不做记录的,这一顺序由主控制器来协调。经过二次示教,就把一个工作流程的所有信息进行了分解,即由上位计算机记录整体的工作顺序,由下位控制器记录自己的内部工作顺序及工作细节。
在随后的工作流程中,上位控制器只向应动作的控制器发出控制I/O,而不再发送具体的控制细节信息,因为这些细节信息已在第一个工作流程中按顺序在下位控制器中形成了数据记录。下位控制器根据上位计算机的I/O按顺序调出这些数据记录来完成动作。图4示例了当上位数据队列工作到B3时,上图的变化。
图4
通过二次示教,增强了系统的实时性,避免了因通讯受干扰而给系统带来的诸多故障,系统的整体性能得到了很大的提高。