基于PLC仿机器人指令实现机械手示教功能方法与流程

文档序号:18753577发布日期:2019-09-24 21:31阅读:3153来源:国知局
基于PLC仿机器人指令实现机械手示教功能方法与流程

本发明涉及一种机械手示教方法,具体涉及一种基于plc仿机器人指令实现机械手示教功能方法。



背景技术:

第一台机械手的出现是在1954年,它打开了人们对机械手的认识,提出了机械手组成部分的思想。机械手的控制原理主体上是通过人机交互输入各项运动参数以及轨迹信息,由核心处理器计算并输出控制信号,再通过中间驱动器控制机械手运动,通过输出开关量控制机械手动作。因此机械手示教系统如今有多个研究方向:机械手示教信息录入方式研究,核心控制器使用的研究,运动过程的控制方式研究,上层逻辑控制系统研究。

针对于示教信息录入问题,学者提出用一个同比例的小型机械手示教模型来做示教工作即遥操作的示教方式。真实机械手根据关节上各个关节电位器传回的电压信号记录各个示教点以及轨迹存于内存映像区。在运行时相应读取完成示教再现工作,这样的示教方式简单直观有一定的准确性,属于手把手示教的方式。也有学者认为使用专用的示教手柄以及6d工业鼠标来完成示教点和轨迹的录入工作,使得示教信息的准确度和符合度都更为的精确,同时降低对操作人员的技术要求,这种示教信息录入方式输入示教盒示教的方式,本发明采用的示教方式是示教盒示教的方式。。

在核心控制器的选择上,研究人员考虑使用简单的单片机设备,有研究者提出以avr单片机为核心的控制系统,控制方式是将六轴示教点信息按规定格式存放于内存区,由单片机按序读取并运算产生运动控制脉冲控制机械手动作。通过按键读取和中断程序进行不同的工作状态切换来完成控制工艺。但是在有较多数据处理请求的时候不太适用,特别在工业环境下抗扰动性能较差,随着工业的要求和发展可编程逻辑控制器plc诞生,可编程控制器它的抗扰能力突出,特别的工作性能十分稳定,运算速度也符合直角坐标系下示教系统的要求。当前有研究方法是在示教步骤中使用手动方式确定逐个示教点参数,然后在自动复现过程读取参数值用plc运动控制模块输出脉冲再利用编码器反馈当前位置作比较确定位置动作是否完成。该方法在抗干扰能力上有着不错的性能,但是精度不高,运动点数少,灵活性差,工艺流程修改困难。如今越演越烈的智能化发展,对系统有着更多更复杂的程序要求的情况下,人们又开创了dsp(数字信号处理器)和arm(微处理器)的示教控制系统,针对于机械臂运动受局部扰动的影响,使用dsp作为控制核心,对动作姿态控制量作基于kalman滤波反馈调节的智能控制模型。dps集成信息处理,实验发现误差得到降低,控制性能提高。同样的以arm芯片为主的控制方法也很多,有方法是将多轴示教点信息按规定格式存放于内存区,由单片机按序读取并运算产生运动控制脉冲控制机械手动作。通过按键读取和中断程序进行不同的工作状态切换来完成控制工艺。还有学者提出事先在arm芯片中录入各个晶圆点的相关位置信息,在实际使用时选着晶圆点程序在读取相关的内存区进行位置移动控制。并在芯片嵌入lnuxise系统使系统更具有操作性,缺点是程序不可移植。它们在集成和兼容许多扩展设备的同时自身也有着不少优越的性能,是当前较为前沿的应用。

而在软件核心控制算法上研究就更为的多元化了,有解决位置、速度等各个物理量的势函数求解法,轨迹求解多次函数法,也有前沿的人工智能算法,神经网络算法研究动作行为产生控制信号。特别的如今对运动控制的研究,基于实际运动的复杂情况也有多种控制算法,应用广泛的pid算法,通过反馈及时的调整控制信号,在运动控制上有着很稳定和平滑的控制性能。

通过查阅机械手示教相关领域的资料发现,当前示教盒示教系统的软件实现上有一定的缺陷,大多控制系统是将控制工艺流程写于控制器上直接进行控制。控制器包括单片机、plc,arm、dsp数据处理器等,它们存在控制流程固化的问题,如果要修改工艺流程需要改动大量的底层代码,同时程序的可移植性能差,针对不同的控制器或者配置的不同外设需要定制不同的控制程序实现工艺流程,过程繁琐复杂,对操作人员的技术要求高。当前少有研究开发于基本控制器之上的逻辑控制系统,在控制器上层建立指令控制系统能够增强系统可编辑性能,通过输入指令流的方式编辑工艺流程和运动参数,控制器仅需要运行固定的循环程序和功能子程序便可以实现不同工艺流程的运行。本文提出以plc做实验对象研究一套上层逻辑控制系统,这是一个新颖的研究点,诣在增强系统的可编辑能力和程序的易读性,大为提高plc控制的灵活性,程序的可移植性。在

技术实现要素:
上是定制一套拟工业机器人流程的指令体系的代码,通过人机交互窗口和plc之间通信,下达作业任务来实现工艺流程,大为的简化操作控制难度,增强系统的编辑性能以及兼容性能,使控制工艺可以灵活的按照操作者想法编制修改。本发明的硬件要求是:控制器具备基本的编辑控制指令,能够实现工业频率的脉冲输出,具有步进电机,伺服电机等主流的运动设备,人机交互设备能够同控制器之间传输数据即能够实现数据读写功能,最后整个运动系统建立于直角坐标系之上。

发明内容

本发明针对工业条件下的机械手示教系统功能实现问题,提出以plc为实验对象定制拟工业机器人控制指令体系的控制系统来解决机械手示教控制问题的方法,其基本思路是利用plc的基本指令构建代码编译器,并通过系统子程序、顺序控制的功能建立相应满足运动控制要求和工业应用要求的子程序,通过定义内存和调用基本运算指令的方式在plc内部建立一个运算器,来完成数据运算,将以上构建的主体程序配合编辑的plc脉冲输出程序来完成系统对代码的识别功能,参数的载入功能,以及最终实现示教工艺的功能。本方法相比当前应用,实现了底层代码不变的情况下通过输入控制指令流修改工艺流程以及运动参数的功能,让系统具备更强的灵活性和易操作性能,降低系统的技术要求。

基于plc仿机器人指令实现机械手示教功能方法,其特征在于,该方法具体包括以下步骤:

步骤一:配置组态屏幕,将输入代码映射到plc系统内存,并且完成触摸屏的按钮以及输入框和plc系统内存的关联操作,设计一个友好的交互界面,要求可视化效果好,有基本的工业要求控制功能按钮。

步骤二:将驱动器、行程开关、按钮、指示灯与plc连接,并在plc程序中定义连接的端口;包括接口的地址定义,i/o口的定义,运动控制参数的定义。

步骤三:使用度量工具和plc的运动控制功能记录工作点的位置即对于零点的相对脉冲量,来建立工作点的参数信息,将信息存储于plc系统内存。

步骤四:配置plc主体参数以及相关控制模块,即确定速度参数以及参考点、零位、急停的输入点位,按循环读取内存区判断功能符的方式编辑plc顺控逻辑梯形图,建立代码编译程序,系统主体程序控制块,以及指令代码子程序。确定程序相应输入输出数据,分配管理各部分占用内存区;其中分配管理各部分占用内存区时不能将内存区重复分配;其中按循环读取内存区判断功能符的方式编辑plc顺控逻辑梯形图,具体实现方法是用plc的比较指令与内存数据对比来选择执行相应的功能顺控区,顺控区用传送、计数、判断、运动指令实现程序的运动控制功能。

步骤五:测试程序,并对程序进行调试。

与现有的机械手示教控制系统相比,本发明充分利用了硬件资源,优化了控制系统,使示教工艺流程更易编辑,操作更加灵活,让系统操作难度降低。

附图说明

图1为本发明具体实施工艺流程图。

具体实施方式

结合附图1进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如上文内容所示的步骤具体实施方式如下:

步骤1:配置组态屏幕,编写控制程序。在mcgs设备窗口,添加通用串口设备,添加plc设备,将组态屏幕与plc关联,增加plc相关代码内存区的读写通道,增加控制寄存器读写通道。在实时数据库定义配置相关变量,并且与相应的plc通道关联。设置窗口属性以及开始循环脚本,实现在程序运行到不同的步骤交互界面能够展示相关的操作界面。在主控窗口增加文本输入框,配置指令输入窗口,设置输入完成按钮,编辑其运行的脚本程序,首先需要用字符串函数按顺序整合各个指令输入的字符串,用mid函数逐个提取字符串中单个字符的值ascii2i函数将相应值转换为asc码值,然后存放到映射到plc系统内存的相关变量当中。这样就能够实现输入指令代码输出到plc内存区的操作。然后编辑示教过程监控窗口能够显示当前运动到的x、y、z轴的位置,气爪输出的状态,定时器当前的计数值等。配置手动操作时需要跳转的手动控制窗口,实现各轴双向的点动按钮和定向微调按钮的放置以及它们的功能配置,同时也需要有三轴的状态显示。最后调试触摸屏功能,并且优化操作界面使之具备交互的友好性和简易性。配置组态屏幕;在mcgs设备窗口,添加通用串口设备,添加plc设备,将组态屏幕与plc关联,增加plc相关代码内存区的读写通道,增加控制寄存器读写通道。在实时数据库定义配置相关变量,并且与相应的plc通道关联。设置窗口属性以及开始循环脚本,实现在程序运行到不同的步骤交互界面能够展示相关的操作界面。在主控窗口增加文本输入框,配置指令输入窗口,设置输入完成按钮,编辑其运行的脚本程序,首先需要用字符串函数按顺序整合各个指令输入的字符串,用mid函数逐个提取字符串中单个字符的值ascii2i函数将相应值转换为asc码值,然后存放到映射到plc系统内存的相关变量当中。这样就能够实现输入指令代码输出到plc内存区的操作。然后编辑示教过程监控窗口能够显示当前运动到的x、y、z轴的位置,气爪输出的状态,定时器当前的计数值。配置手动操作时需要跳转的手动控制窗口,实现各轴双向的点动按钮和定向微调按钮的放置以及它们的功能配置,同时也需要有三轴的状态显示。最后调试触摸屏功能,并且优化操作界面使之具备交互的友好性和简易性。

步骤2:定义系统的各个硬件部分,驱动器同plc的p0、p1脉冲输出口连接,并在系统中定义该连接。定义行程开关:选择plc的i端口地址作为x轴的左限位输入,右限位输入,参考点信号输入,以及气爪的磁性开关输入,将em253扩展模块的输入地址同理定义。然后对连接按钮的输入端口在系统中定义并说明其动作功能。最后定义开关量输出,确定实际端口作为电磁阀开关量控制动作设备的控制信号以及指示灯的控制信号,并将其记录于系统内存。

步骤3:根据实际应用的需求,对运动参数和示教点位置进行测量确定并且记录,并且完成相应工程量的计算转换(实际距离度量单位根据电机以及驱动器的配置情况计算对应单位的脉冲量。)

步骤4:在plc编程软件中选定运动控制模块,由要求的动作速度配置好运动速度参数,参考点和零位以及限位输入由配置定义写入,急停按钮输入同理和配置的定义相符合写入。由于需要执行的指令代码以及按顺序以ascii码的形式存放于指定内存区,因此要完成按指定顺序完成相应功能的操作在plc使用顺控编程的方式,在主程序中设定指针,逐个读取内存区的字符量,在主循环中通过判断指令的标识符进入子程序,完成后再跳转到下一个功能指令的识别和相应功能子程序的执行。因此对指针作以统一调用规范,进入子程序时指针指向相应标识符的第一个字符,完成程序推出后指针指向本功能指令包含全部字符的后一位字符,通过这个统一规定规范每一个子程序的使用,每一次调用完都能让指针统一指向相应下一次循环需要判断的位置。以此保证再运行过程中指针不会调用紊乱,也统一规范了子程序的调用为今后子程序开发作以铺垫。完成指针规范之后,根据要求主循环程序开始完成系统的初始化功能,包括内存相关寄存器的清零、参数的写入,指针赋予初值,将运动位置回归到零点。完成后进入待运行模式当运行的标致位触发以后开始运行主循环,即判断需要进行的功能子程序并跳转。同时主程序需要完成根据编写的程序决定进入自动循环运行还是单次运行模式。同时在整个系统运行过程当中需要并行检测急停按钮的状态,一旦急停按钮触发跳转到相应的功能区,停止当前进程,重新编辑运行。其中考虑到实际使用的参数是多位整数,程序中多个地方需要用到将多个ascii字符量转换为多位十进制整数量这样一个数值计算操作,因此将此步骤统一编写为一个子程序,在系统中不同的功能子程序中多次调用,要实现这个功能编辑程序时需要在第一步清理该程序占用的内存,保证多次独立的调用,其次因为每一次调用的参数位置以及计算结果需要存放的位置要求都不同,因此对程序加以封装,要求程序有输入参数,确定调用参数的位置,以及输出参数为程序设定结果存放的位置,程序本身占用的内存都规定为暂时数据存储,程序调用完后相应内存区数据无效。以此规定后程序可以方便的调用该功能子程序。同时该程序中需要多次进行四则运算,为了合理规划内存空间,提高程序效率,参考了微型处理器中运算器的原理,分配给程序两个字大小固定位置的内存做运算器,每次的操作数以及操作结果都存放在此运算内存中,两个内存的配合使用既完成四则运算功能,最后将运算结果存放于设定的结果暂存区在下一个功能区将其输出到指定的位置。通过plc编程系统自带的运动控制模块的goto、man等指令完成点对点运动功能的实现以及手动位置调节功能的实现,延时程序在顺控区首先完成指针处理后运算延时时间的参数,然后用plc编程指令的计时器指令完成计时工作然后跳到下一个功能指令区。特别的针对于动作开关量的输出考虑到需要有多个不同通道的开关量输出,同时plc编程指令当中没有针对于位的地址变量,设计以字节的赋值的形式实现规定通道开关量输出的功能。先判断指令的参数确定通道然后对相应字节的输出映像区进行赋值。输出复位功能实现的原理与此同理,只需要在相应功能区调用mov指令给规定的内存去赋予0值。至此完成系统的基本的运动控制功能和管理控制功能。

步骤5:对系统进行调试。根据步骤4的思路,编写程序并且在每一个功能实现编程之后都进行一次实际的硬件测试,一方面观察功能是否实现,另一方面可以发现程序的不足之处加以完善。在反复的调试运行的过程中整个系统运行思路发展成熟,系统功能也越加的完善。最终配合硬件设备实现一套切实可行的机械手示教功能系统的设计。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1