CN111923046A - 一种上位机对下位机示教方法、存储介质、示教装置 - Google Patents

一种上位机对下位机示教方法、存储介质、示教装置 Download PDF

Info

Publication number
CN111923046A
CN111923046A CN202010795235.XA CN202010795235A CN111923046A CN 111923046 A CN111923046 A CN 111923046A CN 202010795235 A CN202010795235 A CN 202010795235A CN 111923046 A CN111923046 A CN 111923046A
Authority
CN
China
Prior art keywords
robot
computer
upper computer
function block
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010795235.XA
Other languages
English (en)
Other versions
CN111923046B (zh
Inventor
王超
石金博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongguan Liqun Automation Technology Co ltd
Original Assignee
Dongguan Liqun Automation Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dongguan Liqun Automation Technology Co ltd filed Critical Dongguan Liqun Automation Technology Co ltd
Priority to CN202010795235.XA priority Critical patent/CN111923046B/zh
Publication of CN111923046A publication Critical patent/CN111923046A/zh
Application granted granted Critical
Publication of CN111923046B publication Critical patent/CN111923046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Abstract

本发明涉及一种上位机对下位机示教方法,所述上位机具有用于与下位机相互通信的服务模块、用于人机交互的上层应用,上位机通过上层应用获取示教命令,由服务模块传输至下位机执行并获取反馈的执行结果,包括数据保存步骤,由上位机发送命令控制下位机生成和编辑配置文件;数据读取步骤,由上位机发送命令控制下位机读取上位机所需数据,将上位机所需数据反馈给上位机;运行控制步骤,其控制下位机根据上位机命令运行。本实施例通过将示教器上位机的配置文件保存在被示教的下位机的存储器中,当更换设备之后,新的设备可以从下位机的存储器中读取被保存的配置文件,就无需用户重新对示教器上位机重复进行设定。

Description

一种上位机对下位机示教方法、存储介质、示教装置
技术领域
本发明涉及机器人示教领域,具体涉及一种上位机对下位机示教方法、存储介质、示教装置。
背景技术
随着工业互联网的迅速发展,信息技术在工业领域中的应用越来越广泛,智能设备的使用也越来越普及。在产品生产过程、设备调试过程,当人员需要了解和查看不同设备的运行状态、生产数据等信息的时候,或者是对设备进行控制和操作的时候,往往需要通过一一对应的专门的平台和设备来实现,在机器人的控制中,也多是通过与机器人进行线缆连接的计算机或者专用示教器实现。
通过专门的、既定的平台查看信息和控制设备,包括机器人的示教控制,往往需要通过线缆连接。甚至不同设备需要不同的控制平台,无法通用。为此,在移动终端智能化普及的情况下,出现使用移动终端作为示教器来操作机器人进行示教的方案,但这种方案在更换移动终端之后,以往在示教器保存的的设定需要重新设置,较为不便。
发明内容
本发明旨在解决更换示教器之后,需要对示教器重新进行设置的问题。
为此提供一种上位机对下位机示教方法,所述上位机具有用于与下位机相互通信的服务模块、用于人机交互的上层应用,上位机通过上层应用获取示教命令,由服务模块传输至下位机执行并获取反馈的执行结果,包括以下步骤:
数据保存步骤,由上位机发送命令控制下位机生成和编辑配置文件;
数据读取步骤,由上位机发送命令控制下位机读取上位机所需数据,将上位机所需数据反馈给上位机;
运行控制步骤,其控制下位机根据上位机命令运行。
进一步地,所述配置文件包括下位机的IO地址和设定的IO地址的分组信息,在所述数据读取步骤中,当上位机需要对下位机的IO口进行控制时,上位机发送IO地址读取命令,下位机接收到IO地址读取命令后将配置文件中的IO地址和设定的IO地址的分组信息发送给上位机,在所述运行控制步骤中,针对分组信息中的任意一组IO地址,上位机均发送命令控制下位机实施统一控制。
进一步地,在所述运行控制步骤中,将控制下位机实施不同操作和/或动作的命令编辑成功能块,并链接各个功能块形成工程,根据上位机的执行命令启动工程来依次执行链接中各功能块。
进一步地,所述功能块保存在下位机的存储器中;
所述运行控制步骤控制下位机根据上位机的查询命令,发送下位机存储器中存储的功能块状态给上位机,并控制下位机根据上位机的编辑命令,添加、删除、设置功能块后链接各个功能块之间的先后执行顺序形成工程。
进一步地,所述下位机具体为机器人,所述功能块包括下述中的一者或多者:
点位运动功能块,用于设置一个机器人位置和一个运动方程,并控制机器人末端以该运动方程移动到这个机器人位置;
点位上方功能块,用于设置一个机器人位置和一个运动方程,并控制机器人末端以该运动方程移动到这个机器人位置的上方一个安全高度的位置;
圆弧运动功能块,用于设置两个机器人位置和一个运动方程,根据该运动方程,控制机器人末端从当前位置开始运行一个圆弧轨迹,所述圆弧轨迹经过其中一个机器人位置并终止于另一个机器人位置;
圆运动功能块,用于设置两个机器人位置和一个运动方程,根据该运动方程,控制机器人末端从当前位置开始运行一个圆形轨迹,所述圆弧轨迹依次经过这两个机器人位置后返回所述当前位置;
相对移动功能块,用于设置一个距离和一个运动方程,控制机器人末端从当前位置开始以该运动方程移动该距离;
延时功能块,用于等待设定时间后执行当前功能块所链接的下一个功能块;
IO设置功能块,用于设置下位机IO口的使用状态;
IO状态判断功能块,用于等待下位机IO口的电平状态符合设置条件后或等待超时后,继续执行当前功能块所链接的下一个功能块;
力矩模式功能块,用于在设定时间内控制设定电机的轴保持设定力矩;
轨迹录制功能块,用于按设定时间间隔或位置间隔记录机器人末端历史行经的一组位置,并控制当前机器人末端按这组位置依次移动形成轨迹;
门字形功能块,用于控制机器人末端沿门字形路径运动到目标位置。
根据权利要求5所述的一种上位机对下位机示教方法,其特征在于:
所述功能块中的点位运动功能块用于控制机器人末端以设定的运动轨迹、速度、加速度移动到设定的机器人位置;
所述功能块中的点位上方功能块用于控制机器人末端以设定的运动轨迹、速度、加速度移动到设定的机器人位置上方一个安全高度的位置;
所述功能块中的圆弧运动功能块用于控制机器人末端从当前位置开始,根据设定的速度、加速度、圆弧半径运行一个圆弧轨迹,其中圆弧轨迹依次经过设定的机器人位置后停止在另一个设定的机器人位置;
所述功能块中的圆运动功能块用于控制机器人末端从当前位置开始,根据设定的速度、加速度运行一个圆轨迹,其中圆轨迹依次经过设定的两个机器人位置后返回所述当前位置;
所述功能块中的相对移动功能块用于控制机器人末端从当前位置开始,以设定的运动轨迹、速度、加速度移动设定的距离。
进一步地,所述上位机的执行命令包括以下的一者或多者:
启动指令,用于启动工程来依次执行链接中各功能块;
暂停指令,用于在当前功能块运行完毕后停止工程运行,直到下一个执行命令输入;
停止指令,用于停止工程运行;
继续指令,用于在暂停指令或停止指令执行后,控制工程从指针所指向的当前功能块启动运行;
跳过指令,用于在工程停止状态下,跳过指针所指向的当前功能块直接运行下一个功能块;
重试指令,用于在暂停指令或停止指令执行后,重新运行指针所指向功能块的上一个功能块;
循环指令,用于循环执行链接的各个功能块;
调试指令,用于运行指定的功能块后进入暂停状态。
根据权利要求1所述的一种上位机对下位机示教方法,其特征在于:所述上位机为移动终端,在所述数据读取步骤中,控制上位机发送一个告知信号,下位机接收到告知信号后,发送具有IP地址与硬件信息的返回信号,上位机根据返回信号解析出下位机返回的IP地址与硬件信息来连接下位机。
还提供一种存储介质,其存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
还提供一种示教装置,该示教装置包括处理器,以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如上所述的方法。
有益效果:
本实施例通过将示教器上位机的配置文件保存在被示教的下位机的存储器中,当更换设备之后,新的设备可以从下位机的存储器中读取被保存的配置文件数据,就无需用户重新对示教器上位机重复进行设定。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明的软件功能模块示意图;
图2为本发明的示教装置硬件结构的示意图;
图3为本发明的计算机存储介质的结构示意图。
具体实施方式
本实施例的安装虚拟示教方法包括作为上位机的移动终端、机器人,其中移动终端与机器人通过无线通信实现通信连接。
见图1,本实施例的安装虚拟示教方法的移动终端包括用于与用户进行交互以及数据展示的UI界面、对UI的操作和数据进行管理的管理模块和用于建立移动终端与机器人端的连接并对这些连接进行管理和监控的服务模块。
其中,管理模块包括用于管理主界面上加载的功能页面和页面之间的切换的页面管理模块、用于IO控制界面的IO控制模块、用于图形化示教界面的图形化示教管理模块、用于管理工程运行和显示工程运行情况的工程管理模块、用于将数据保存为文件和将文件加载供UI使用的数据保存和加载模块、根据当前系统状态和进行的操作进行异常提示的异常处理模块、用于说明各个界面功能并引导用户操作的用户引导模块、用于提供FTP文件操作的FTP文件管理模块、用于实时刷新显示机器人的各种状态的数据刷新模块、用于发送指令的指令发送模块和用于将返回的指令执行结果通知UI的指令执行模块。
本实施例中,用户通过对UI界面的主界面、点位示教界面、IO控制界面、图形化示教界面、工程管理界面、机器人设置界面、示教器设置界面、信息界面、扩展界面等进行操作,可以在服务模块和管理模块的支持下实现不同功能。
显示当前可连接的机器人与连接机器人功能:通过调用服务模块接口,以发送局域网广播的形式,获取当前可以连接的机器人,通过调用服务模块的通信模块,建立与机器人的网络连接。
机器人上电/回零/速度等状态显示和设置功能:启动数据刷新模块的刷新线程,通过不间断(大概500-1000毫秒间隔)的发送查询指令,根据指令返回结果来获取当前机器人的上电/回零/速度等状态,并与上次状态进行比较,如果存在差别,则通过回调(事件监听)的方式通知主界面更新状态,并能通过发送设置指令来设置当前机器人的状态,实现对机器人的上电/回零/速度/急停等状态的控制。
各个功能页面的切换功能:通过页面管理模块,来控制和加载当前需要显示的功能页面,通过左右滑动或点击下拉框选项切换不同的功能页面(功能页面指:点位示教/IO控制/图形化示教等)。
当前机器人坐标显示功能:启动数据刷新模块的刷新线程,通过不间断的发送获取坐标指令,获取当前坐标。
机器人点位控制功能:控制机器人通过连续运动或者寸动移动到某个点,通过运动控制模块,切换到连续运动或寸动模式,通过发送运动指令,控制机器人运动。
抱闸释放功能:释放机器人3各个轴的抱闸,使用户可以直接用手推动机器人(需要在机器人设置界面打开松抱闸开关),通过运动控制模块,切换到Free模式,发送单个轴所所有轴的松抱闸指令。
点位保存功能:保存和记录多个示教的点位,发送命令使机器人端生成以XML格式保存点位数据的文件,在更换设备或异常断开时,数据仍然可以保留,通过数据保持和加载模块,每隔一段时间,查询一次当前点位数据是否有变化,如果有,则发送命令使机器人端更新保存点位数据的文件,以实现对于点位数据的实时更新。
IO控制功能:实时显示当前IO的状态,通过IO控制模块,不间断的发送查询IO状态指令,获取当前的IO状态,判断获取的IO与之前不同时,拖拽UI刷新显示,通过IO控制模块,发送IO指令到机器人,设置IO的开启与关闭。
IO分组功能:可以将常用的IO添加到一个分组中,方便对IO的控制,将IO分组以XML文件的形式保存在机器人端,在更换或重启设备后,仍然可以根据连接的机器人3来显示创建的IO分组,根据用户选择,动态加载用户设置的IO分组,并将分组内容通过数据保持和加载模块写入XML文件,保存到机器人端,下次连接到机器人后,会读取和加载用户设置的IO分组。
图形化示教模组功能,将机器人的常用操作和动作以图形化示教功能块的形式展现,用户可以通过拖拽/点击等操作来添加和编辑多个功能块,成一个Motion Block工程,然后控制机器人去运行这个工程,可视化的模块相较于一个个指令更便于操作人员理解与设定,例如:
点位运动,设置一个点位(机器人位置信息)和一个Profile(运动方程的描述),控制机器人末端以设定的运动方程移动到这个点;
点位上方,设置一个点位和一个Profile,控制机器人末端以设定的运动方程移动到这个点的上方一个安全高度的位置;
圆弧运动,设置两个点位和一个Profile,控制机器人末端从当前位置开始,经过点位和点位,运行一个圆弧轨迹,停止在点位的位置;
圆运动,设置两个点位和一个Profile,控制机器人末端从当前位置开始,经过点位和点位,运行一个圆形轨迹,最后返回起始位置;
相对移动,设置一个点位(相对位置)和一个Profile,控制机器人末端以设定的运动方程相当于当前点移动设定的距离;
延时,等待一段时间后再执行下一个图形化示教功能块;
IO状态判断,等待一个IO状态符合设置的条件或等待超时后再继续执行下一个图形化示教功能块,参数包括设置IO(设置一个IO为打开或关闭状态)和同步触发IO(在运动过程中,设置一个IO为打开或关闭状态),此模块后需要添加一个运动模块(运动到点位/点位上方/圆/圆弧/相对运动);
力矩模式,设定一段时间内,某个或某几个轴电机保持一定的力矩;
轨迹录制,按照时间间隔或位置间隔录制当前机器人运行的一组点位,并控制机器人末端依次运行这组点位;
门字形,控制机器人末端,从当前点向上运动一段距离,然后移动到目标点上方,最后运动到目标点;
图形化示教模组功能的数据存储和执行在机器人端实现,上层应用使用指令进行查询和修改,根据下位机返回的结果更新UI显示,具体而言,上位机能通过发送查询指令的方式获取下位机中的图形化示教队列,上位机根据获取的队列长度和队列中的数据进行显示,通过发送状态查询指令的方式获取当前图形化示教的运行状态,上位机根据查询结果,在执行队列中通过不同颜色显示当前正在运行的功能块和运行状态,显示可以进行的操作(例如尚未运行状态,则只可以使用清除和启动按钮,正在运行,显示绿色,并可以进行暂停和停止操作),通过发送添加/删除/移动顺序指令的方式修改机器人的图形化示教队列中的图形化示教功能块的数量和位置,通过发送查询指令,获取某一个功能块的类型和参数数据,上位机根据类型和参数的不同,显示不同的设置界面,设置完成后,通过发送设置指令的方式,将修改后的数据设置到下位机,通过控制指令,去控制下位机中的图形化示教工程的启动/暂停/停止/继续/跳过/重试/是否循环/调试功能。
这样,下位机接收到运行指令后根据功能块设置好的指令依次执行,免去了中间上位机与下位机之间不停发送执行指令和返回执行结果的步骤,提高了执行效率的同时也方便了对下位机中的工程进行的修改与控制,并且在上位机断开后,保存在下位机中的程序依然能继续运行,保证了下位机运行的稳定。
运动控制功能,上位机能够通过发送不同指令来控制机器人对一个图形化示教工程的运行,例如,
启动:发送一个启动指令,启动一个图形化示教工程,从队列第一个功能块开始运行,直到运行完所有功能块;
暂停:发送暂停指令,运行完当前的一个功能块后,暂时停止运行,等待控制指令;
停止:发送停止指令,立刻停止运行;
继续:在暂停或停止后,可以发送继续运行指令,继续运行;
跳过:在停止或异常导致停止后,跳过功能可以跳过当前的图形化示教功能块,直接运行下一个;
重试:在停止或暂停后,可以跳过发送重试指令,重新运行上一个功能块;
循环:勾选后,运行完最后一个功能块,会从第一个开始重新执行;
调试:每次只运行一个图形化示教,运行完会进入暂停状态,等待继续指令后再运行下一个。
工程管理功能:通过工程管理模块,调用机器人控制客户端发送控制指令,进行机器人3端机器人控制工程的加载/卸载/运行和暂停操作,通过工程管理模块,不间断的(大约5s一次)发送机器人控制指令,查询读取机器人正在运行的线程,通过线程获取当前工程的运行状态,并显示机器人3端机器人控制工程和工程线程的运行状态。
机器人设置功能:机器人Free开关,在指令发送前通过指令发送模块进行判断,只有打开此开关后,才允许发送Free指令,否则通知用户引导模块,提示用户打开此开关。
示教器设置功能,能够设置示教器参数和设置屏幕亮度,以及设置当前操作权限,根据登陆用户不同,在发送指令时判断是否具有发送此指令的权限,部分界面也会根据权限进行限制操作(按钮/列表不可选等),权限包括:
开发者:仅内部使用,具有完全的使用权限,可以打开日志记录;
管理员:完全的操作权限,可以创建和修改下级账户;
操作员:只能启动停止工程和图形化示教,不允许修改运动方程和运行轨迹;
未登录:仅能连接机器人和查看信息,无法发送设置或运动指令。
设置显示语言功能:支持语言包的外部扩展和不重启App的情况下进行多语言切换,包括一个内置的XML文档和一个外部XML文档,当内置XML文档版本高于外部文档时,从内置XML文档加载支持的语言和界面文字,并且在修改语言类型后,通知主界面,由主界面管理各个子功能界面进行语言的切换,当内置XML版本低于外部XML时,加载外部XML,使用户可以自由添加和修改显示的语言类型。
设置示教器IP功能:一个修改IP的小工具,可以修改当前示教器的IP地址。
日志记录功能(需要开发者权限):打开日志记录文件后,会将示教器运行的日志记录到文本文件中,方便定位和解决问题。
信息显示功能:在连接机器人后,通过指令查询当前机器人的类型,固件版本等信息,显示在界面上;通过Android原生方法,获取示教器的App版本号并显示在界面上。
扩展功能(需要开发者权限):显示其他第三方应用,因为MT2会设置为主界面,导致无法关闭,所以在此显示其他App,通过双击隐藏和显示功能页面,通过拖拽调整页面位置,并将设置后的顺序和功能保存到文件中。
上述的每一个功能都需要多个功能模块的支持,每个功能模块能实现的功能都不尽相同,具体而言,
页面管理模块,主要对应UI层的主界面,用于管理主界面上加载的功能页面和页面之间的切换,在页面切换时,关闭和开启该页面需要刷新的线程;
运动控制模块,主要对应点位示教页面,通过指令发送模块发送模式切换和运动指令,控制机器人运动;
IO控制模块,主要用于IO控制界面,通过不间断的发送IO状态获取指令,获取当前的IO状态,并判断IO状态改变时,通过回调告诉UI层去刷新UI,并将IO分组保存为XML文件的形式和从XML文件加载IO;
图形化示教管理模块,主要用于图形化示教界面和图形化示教工程运行状态刷新,通过不间断的发送查询指令,获取当前图形化示教的内容和状态,当数据或状态改变时,通过回调通知界面刷新显示内容,以及通过发送图形化示教指令,控制工程的启动/停止,通过在图形化界面进行点击、拖拽的方式,进行操作,上位机根据对应的操作发送指令到下位机,控制下位机生成运行程序,使操作简单快捷;
工程管理模块,通过不断的通过机器人控制客户端发送查询指令,获取当前的工程和工程运行状态,如果工程或运行状态改变,则通过回调告诉上层去更新UI,以及通过发送机器人控制指令启动/暂停/停止工程;
数据保存和加载模块,将当前示教器需要保存的数据以MXL文件的形式保存和加载(包括:示教的点位,IO分组信息,示教器设置信息),用于将数据保存为文件,或将文件加载供UI使用,包括:点位/IO/页面设置/MT2设置等内容;
异常处理模块,根据当前系统状态和进行的操作,进行异常提示,发送指令前,根据系统状态和权限判断当前是否可以执行这条指令,如果不能执行,则返回错误,并将错误码提交给用户引导,由引导模块提示用户进行正确的操作;
用户引导模块,用于开机后引导用户操作,依次加载多张图片,通过图片+文字形式提示界面功能和操作方式,可以由用户选择是否每次开机后显示,并负责对各个界面的功能进行说明,在某个界面,可以点击屏幕右上角,会通过图片+文字方式提示用户某个界面的功能和操作方法,在某个对话框,可以点击对话框右上角的?,会通过图片+文字方式提示用户此对话框功能和操作,并且用户引导模块能在接受到异常处理模块的异常码后,给出对应的异常信息和引导操作;
FTP文件管理模块,提供FTP文件操作,主要用于启动时将必要的程序加载到机器人3端和工程管理界面的启动和加载;
数据刷新模块,用于实时获取当前机器人的各种状态(坐标/伺服状态/速度等),通过不间断的发送状态查询指令,获取当前机器人状态,并判断如果状态有变化,则通过回调将变化内容发送给UI(监听者),去刷新UI显示
指令发送模块,将未封装的指令通过AIDL调用,通过服务端的App发送到机器人端;
指令回调模块,将从服务端返回的指令执行结果通过回调的方式通知上层UI,让UI根据返回值进行刷新;
服务模块,一个独立的App,用于建立与机器人的连接,支持同时建立多个,并对这些连接进行管理和监控,可以通过AIDL方式供多个应用使用同一个连接机器人和发送指令到机器人并接收返回值,能通过发送一个局域网的UDP广播,机器人接收到后会返回该机器人的信息,根据返回结果,解析出当前可以连接的机器人的IP和信息(机器人名称,类型等),还能通过Socket建立与机器人的连接,对上层发送的指令进行通信封包处理,建立一个指令发送队列,上层需要发送的指令会写入此队列,然后创建一个线程,从此队列轮询取出药发送的指令,根据通信协议格式进行封包,将封包后的指令通过Socket发送到机器人端,接收机器人返回的执行结果,并进行拆包解析,建立一个接收线程,不停的接收Socket端数据,如果获取到内容,且符合通信格式,则进行拆包和解析,通过PacketID与发送的指令一一对应,通过回调,将指令执行结果发送给上层应用。
举例说明各个功能的是如何在UI界面和功能模块的支持下实现的,以图形化示教模组的增加一个运动到点位为例:
UI界面(图形化示教模块):用户通过拖拽添加一个运动到点位功能块,UI判断用户是添加动作,调用图形化示教管理模块的添加函数,管理模块(图形化示教管理)将用户添加的图形化示教转换为指令,调用指令发送模块,将指令发出,管理模块(指令发送),通过AIDL调用,将指令放入服务App的指令发送队列,服务模块(通信客户端)根据通信协议,对指令进行组包将指令通过网络发送的机器人,机器人端(通信服务端)接收到数据后,按照协议进行拆包,获取指令内容,根据指令内容,生成一个图形化示教功能块,将执行结果封包后通过网络发送给上位机(通信客户端),服务模块(通信客户端)接收到返回值,根据通信协议进行拆包,根据协议中的PacketID判断是添加运动到点位的指令执行结果,将执行结果通过回调和AIDL通信,告知上层应用,管理模块(指令回调),上层应用的指令回调模块,接收到指令执行结果,判断是图形化示教指令,将其分发给图形化示教管理模块,管理模块(图形化示教管理模块),根据指令执行结果,更新数据,并通知UI进行UI的更新,UI界面根据执行结果,更新UI显示,等待用户的下一个操作。
需要说明的是:
本实施例所用的方法,可转化为可存储于计算机存储介质中的程序步骤及示教装置,通过被控制器调用执行的方式进行实施。
在此提供的方法不与任何特定计算机、示教装置或者其它设备固有相关。各种通用示教装置也可以与基于在此的示教装置一起使用。根据上面的描述,构造这类示教装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的示教装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者示教装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图2示出了根据本发明一个实施例的示教装置的控制回路结构示意图。该示教装置传统上包括处理器21和被安排成存储计算机可执行指令(程序代码)的存储器22。存储器22可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器22具有存储用于执行实施例中的任何方法步骤的程序代码24的存储空间23。例如,用于程序代码的存储空间23可以包括分别用于实现上面的方法中的各种步骤的各个程序代码24。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图3所述的计算机存储介质。该计算机存储介质可以具有与图2的示教装置中的存储器22类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的程序代码31,即可以由诸如21之类的处理器读取的程序代码,当这些程序代码由示教装置运行时,导致该示教装置执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干示教装置的单元权利要求中,这些示教装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种上位机对下位机示教方法,所述上位机具有用于与下位机相互通信的服务模块、用于人机交互的上层应用,上位机通过上层应用获取示教命令,由服务模块传输至下位机执行并获取反馈的执行结果,其特征在于,包括以下步骤:
数据保存步骤,由上位机发送命令控制下位机生成和编辑配置文件;
数据读取步骤,由上位机发送命令控制下位机读取上位机所需数据,将上位机所需数据反馈给上位机;
运行控制步骤,其控制下位机根据上位机命令运行。
2.根据权利要求1所述的一种上位机对下位机示教方法,其特征在于:所述配置文件包括下位机的IO地址和设定的IO地址的分组信息,在所述数据读取步骤中,当上位机需要对下位机的IO口进行控制时,上位机发送IO地址读取命令,下位机接收到IO地址读取命令后将配置文件中的IO地址和设定的IO地址的分组信息发送给上位机,在所述运行控制步骤中,针对分组信息中的任意一组IO地址,上位机均发送命令控制下位机实施统一控制。
3.根据权利要求1所述的一种上位机对下位机示教方法,其特征在于:在所述运行控制步骤中,将控制下位机实施不同操作和/或动作的命令编辑成功能块,并链接各个功能块形成工程,根据上位机的执行命令启动工程来依次执行链接中各功能块。
4.根据权利要求3所述的一种上位机对下位机示教方法,其特征在于:
所述功能块保存在下位机的存储器中;
所述运行控制步骤控制下位机根据上位机的查询命令,发送下位机存储器中存储的功能块状态给上位机,并控制下位机根据上位机的编辑命令,添加、删除、设置功能块后链接各个功能块之间的先后执行顺序形成工程。
5.根据权利要求3所述的一种上位机对下位机示教方法,其特征在于,所述下位机具体为机器人,所述功能块包括下述中的一者或多者:
点位运动功能块,用于设置一个机器人位置和一个运动方程,并控制机器人末端以该运动方程移动到这个机器人位置;
点位上方功能块,用于设置一个机器人位置和一个运动方程,并控制机器人末端以该运动方程移动到这个机器人位置的上方一个安全高度的位置;
圆弧运动功能块,用于设置两个机器人位置和一个运动方程,根据该运动方程,控制机器人末端从当前位置开始运行一个圆弧轨迹,所述圆弧轨迹经过其中一个机器人位置并终止于另一个机器人位置;
圆运动功能块,用于设置两个机器人位置和一个运动方程,根据该运动方程,控制机器人末端从当前位置开始运行一个圆形轨迹,所述圆弧轨迹依次经过这两个机器人位置后返回所述当前位置;
相对移动功能块,用于设置一个距离和一个运动方程,控制机器人末端从当前位置开始以该运动方程移动该距离;
延时功能块,用于等待设定时间后执行当前功能块所链接的下一个功能块;
IO设置功能块,用于设置下位机IO口的使用状态;
IO状态判断功能块,用于等待下位机IO口的电平状态符合设置条件后或等待超时后,继续执行当前功能块所链接的下一个功能块;
力矩模式功能块,用于在设定时间内控制设定电机的轴保持设定力矩;
轨迹录制功能块,用于按设定时间间隔或位置间隔记录机器人末端历史行经的一组位置,并控制当前机器人末端按这组位置依次移动形成轨迹;
门字形功能块,用于控制机器人末端沿门字形路径运动到目标位置。
6.根据权利要求5所述的一种上位机对下位机示教方法,其特征在于:
所述功能块中的点位运动功能块用于控制机器人末端以设定的运动轨迹、速度、加速度移动到设定的机器人位置;
所述功能块中的点位上方功能块用于控制机器人末端以设定的运动轨迹、速度、加速度移动到设定的机器人位置上方一个安全高度的位置;
所述功能块中的圆弧运动功能块用于控制机器人末端从当前位置开始,根据设定的速度、加速度、圆弧半径运行一个圆弧轨迹,其中圆弧轨迹依次经过设定的机器人位置后停止在另一个设定的机器人位置;
所述功能块中的圆运动功能块用于控制机器人末端从当前位置开始,根据设定的速度、加速度运行一个圆轨迹,其中圆轨迹依次经过设定的两个机器人位置后返回所述当前位置;
所述功能块中的相对移动功能块用于控制机器人末端从当前位置开始,以设定的运动轨迹、速度、加速度移动设定的距离。
7.根据权利要求4所述的一种上位机对下位机示教方法,其特征在于,所述上位机的执行命令包括以下的一者或多者:
启动指令,用于启动工程来依次执行链接中各功能块;
暂停指令,用于在当前功能块运行完毕后停止工程运行,直到下一个执行命令输入;
停止指令,用于停止工程运行;
继续指令,用于在暂停指令或停止指令执行后,控制工程从指针所指向的当前功能块启动运行;
跳过指令,用于在工程停止状态下,跳过指针所指向的当前功能块直接运行下一个功能块;
重试指令,用于在暂停指令或停止指令执行后,重新运行指针所指向功能块的上一个功能块;
循环指令,用于循环执行链接的各个功能块;
调试指令,用于运行指定的功能块后进入暂停状态。
8.根据权利要求1所述的一种上位机对下位机示教方法,其特征在于:所述上位机为移动终端,在所述数据读取步骤中,控制上位机发送一个告知信号,下位机接收到告知信号后,发送具有IP地址与硬件信息的返回信号,上位机根据返回信号解析出下位机返回的IP地址与硬件信息来连接下位机。
9.存储介质,其存储有计算机程序,该程序被处理器执行时实现如权利要求1-8任一项所述的方法。
10.示教装置,该示教装置包括处理器,以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如权利要求1-8任一项所述的方法。
CN202010795235.XA 2020-08-10 2020-08-10 一种上位机对下位机示教方法、存储介质、示教装置 Active CN111923046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010795235.XA CN111923046B (zh) 2020-08-10 2020-08-10 一种上位机对下位机示教方法、存储介质、示教装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010795235.XA CN111923046B (zh) 2020-08-10 2020-08-10 一种上位机对下位机示教方法、存储介质、示教装置

Publications (2)

Publication Number Publication Date
CN111923046A true CN111923046A (zh) 2020-11-13
CN111923046B CN111923046B (zh) 2024-02-27

Family

ID=73307178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010795235.XA Active CN111923046B (zh) 2020-08-10 2020-08-10 一种上位机对下位机示教方法、存储介质、示教装置

Country Status (1)

Country Link
CN (1) CN111923046B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791624A (zh) * 2021-09-17 2021-12-14 乐聚(深圳)机器人技术有限公司 一种机器人的通信方法及计算机设备
CN114131599A (zh) * 2021-11-30 2022-03-04 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009119382A1 (ja) * 2008-03-28 2009-10-01 株式会社 ダイヘン ロボット制御システム
CN105479468A (zh) * 2015-12-29 2016-04-13 浙江瑞鹏机器人科技有限公司 一种远程机器人运动控制器
CN106914900A (zh) * 2017-04-19 2017-07-04 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制系统
CN109814478A (zh) * 2019-01-14 2019-05-28 浙江工业大学 基于iOpenWorks的虚拟调试系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009119382A1 (ja) * 2008-03-28 2009-10-01 株式会社 ダイヘン ロボット制御システム
CN105479468A (zh) * 2015-12-29 2016-04-13 浙江瑞鹏机器人科技有限公司 一种远程机器人运动控制器
CN106914900A (zh) * 2017-04-19 2017-07-04 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制系统
CN109814478A (zh) * 2019-01-14 2019-05-28 浙江工业大学 基于iOpenWorks的虚拟调试系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邵欣: "《工业机器人应用系统》", 北京航空航天大学出版社, pages: 52 - 63 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791624A (zh) * 2021-09-17 2021-12-14 乐聚(深圳)机器人技术有限公司 一种机器人的通信方法及计算机设备
CN114131599A (zh) * 2021-11-30 2022-03-04 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器
CN114131599B (zh) * 2021-11-30 2023-08-29 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器

Also Published As

Publication number Publication date
CN111923046B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US6961926B2 (en) System and method for distributed debugging and recording medium on which control programs are recorded
CN111923046A (zh) 一种上位机对下位机示教方法、存储介质、示教装置
JP2006018697A (ja) スクリプト言語で記述されたプログラムを呼出し可能な数値制御装置
CA2679789A1 (en) Web-based integrated test and debugging system
CN113050508B (zh) 控制板的调试方法、装置、存储介质及调试设备
JP2001125797A (ja) マルチタスクシステム及びそのプログラムを記録した記録媒体並びに加工装置
CN106945045B (zh) 基于ros和orocos的机器人控制的通信方法和系统
CN115934566A (zh) 一种调试信息显示方法、装置、电子设备及存储介质
CN109901830B (zh) 一种用于scada系统开发的信号配置方法与系统
CN110666797B (zh) 一种机器人控制系统及方法
WO2015181921A1 (ja) プログラマブル表示器及び作画ソフトウェア
JP2002108600A (ja) 制御システムの端末装置、記録媒体、および、制御システム
Codd-Downey et al. Rcon: Dynamic mobile interfaces for command and control of ros-enabled robots
CN113126983A (zh) 一种自动化测试用脚本程序的编辑系统
CN112579460B (zh) 一种基于多核嵌入式系统的多级调试方法
CN114490338A (zh) 多线程调试方法、装置、设备及存储介质
CN115268956A (zh) 一种基于rpa的安卓自动化环境搭建方法
CN114416222A (zh) 应用程序调用驱动接口的方法及装置
CN106965181B (zh) 基于ros和orocos的机器人控制方法和系统
JP3168993B2 (ja) リモートプログラムのデバッグシステム、リモートプログラムのデバッグ方法およびリモートデバッグ用プログラムを記録した記録媒体
CN111844021A (zh) 机械臂协同控制方法、装置、设备及存储介质
CN112035189A (zh) Agv小车叉臂控制方法、设备、存储介质及装置
EP1738235B1 (en) Control system, method and computer program
CN116389801B (zh) 一种多端一体的云串流客户端实现方法
JP2019195852A (ja) 装置を動作させるためのシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant