信息化 频道

基于RFID的单件生产实验系统的控制

  【IT168 信息化】

  基于RFID的单件生产系统就是在RFID技术的支撑下,建立单件生产过程实时监控,对制造系统内单个具体产品的生产过程进行精确控制,使得每个产品的生产尽可能按照预先制定的生产调度方案在交付期之前完成。实验系统主要由可编程控制器(PLC)、个人计算机(作为上位机)、基于RFID技术的数据采集终端设备和GRB3014四自由度机械手组成。机械手的作用就是按照上位机的生产调度指令完成零件在各机器、读写器与缓冲区之间的搬运工作。它要完成的动作包括:从缓冲区抓取工件(其工装或容器上附有RFID电子标签,其中存储了零件的状态数据)到RFID读写器上扫描,若是要加工的工件则放到读写器旁边的机器上加工,若不是,则放回缓冲区,或者是从机器上把加工完成的工件放回缓冲区等等。

  本文给出了这一基于RFID的单件生产实验系统中机械手的控制方法,其主要思想是:上位机监控程序根据零件的优先级产生调度指令,通过进程间异步通信,机械手控制程序从上位机监控程序开辟的共享内存区逐条依次读取指令,然后调用机械手运动控制函数,完成执行拾取和搬运工件的动作,并返回相关状态数据给上位机监控程序。

  1 基于RFID的单件生产实验系统简介及其工作原理

  基于RFID 的单件生产实验系统主要由可编程控制器(PLC)、个人计算机、基于RFID技术的数据采集终端设备和GRB3014四自由度机械手组成。它的系统体系结构如图1所示。

  上位机主要负责运行数据采集服务器程序、实时数据通信程序、生产调度服务器程序、实时监控服务器程序,完成实时数据的采集、解释、显示以及生产调度和监控指令的运算。上位机通过TCP/IP与PLC进行通信。PLC通过STL语言编程,将RFID终端设备采集到的实时状态数据传输至上位机。RFID数据采集终端主要负责生产数据的实时采集。机械手就是执行由上位机发出的指令,搬运零件。

  本实验系统只是对现实的生产系统 零件的流动过程的模拟,并没有真实的零件加工过程,主要是实现RFID电子标签和读写器对零件状态数据的采集。我们把关于零件的信息写入RFID 电子标签,当机械手把它拿到读写器上去扫描,RFID终端设备就采集到了实时状态数据,然后PLC通过STL语言编程把数据传给上位机,上位机就可以实时地对零件进行调度。RFID电子标签具有8K的内存,存储了关于零件的静态数据和动态数据。零件的静态数据包括:零件编号,零件工艺路线(工序顺序号、每道工序加工时间、每道工序加工所用机器号);零件的动态数据包括:零件当前工序,零件当前位置,零件剩余工作量(加工时间)等。


  在这一系统中,机械手起到拾取和搬运零件的作用,这样RFID读写器才能读到RFID电子标签里的内容,上位机才能根据这些实时数据产生调度指令,所以,控制机械手的动作是保证整个系统正常运行的重要环节。

  2 机械手的运动

  本单件生产实验系统使用的GRB3014型四自由度

  SCARA机械手如图2所示。

  它集成有四轴运动控制器、电机及其驱动、电控箱、机械手爪等部件,还包括在VC环境下的动态链接库和安装在PC机上的GT_400_SV运动控制卡,可以方便地进行二次开发。机械部分的关节1、2、4为旋转关节,使用交流伺服电机和谐波减速器驱动,关节3为直线关节,可以上下伸缩,采用交流伺服电机和滚珠丝杠驱动。该机械手关节1连杆长度为200mm, 运动范围为±100。, 关节2 连杆长度为200mm,运动范围为±150。,直线关节3行程为~48mm,关节4运动范围为±170。,还有一个电磁手爪用于抓取。鉴于机械手的运动范围,本实验系统用到了四台读写器(一台放在初始缓冲区的旁边,扫描零件通知上位机有新的零件进入系统,另外的三台读写器放在机器的旁边),三台机器(机器就是读写器旁边的一个位置),总共定义了11个点的坐标,三台读写器的位置,三台机器的位置,一个缓冲区(这个缓冲区有三个放零件的位置),一个初始缓冲区还有一个零件加工完毕后所要放的位置。该机械手已经做了一次开发,可以实现简单的单轴运动,并且已经有封装好的VC环境下的API函数,可以直接调用其DLL文件,然后在VC下做二次开发实现所需要的运动。

  机械手有两种运动模式,直角坐标空间运动模式和关节坐标空间运动模式。如果采用直角空间运动模式,还要做运动学反解,所以本实验选择了关节坐标空间运动模式。为了存储三台RFID读写器、三台机器和公共缓冲区(有三个位置)、一个零件输入缓冲区和一个每个零件完成所有工序后的输出缓冲区这1 1个点的位置,定义了一个结构体数组AxisAngel AxisAngell[],数组里的每个值分别是四个轴的关节坐标值。

  工业机器人的运动通常由专门的运动控制卡来驱动,运动控制卡可安装在工控机上,并且提供了专门的API函数以便根据生产现场的需要进行运动控制程序的开发。例如,文献[2]中用于切割的机器人的运动控制就是这样实现的。本系统中用于工件拾取与搬运的GRB3014型四自由度机械手的运动控制也是如此。文献[3]给出了此种机械手的结构特征、技术参数和运动控制方法的介绍。据此,本文设计了一些机械手运动控制函数,并把它们生成一个DLL文件,供机械手运动控制程序调用。机械手的运动控制函数包括:


  (1)机械手运动控制初始化函数

  short iniLmotion_card();//初始化卡,初始化输出,初始化运动轴
  {
  GT_ Open();//打开运动控制器设备,用户程序开始时必须调用
  此函数
  GT_Reset();//该函数是主机以命令的形式使运动控制器复位
  GT_LmtSns(255);//该函数设置限位开关有效电平。在初始化运
  动控制器时,必须给出限位开关有效电平,255表示四个轴全部是低电
  平触发。
  GT_ ExOpt(optva1);//初始化抓具
  for(int i=1:i<5:i++)
  {
  6LAxis(i);
  GLSetKp(3);
  GT Update();
  GT_ AxisOn0;
  Sleep(50);
  GT_ClrSts0;
  }//初始化每个运动轴
  return 0;
  }

0
相关文章