CN112549023B - 基于TCP socket接口工业机器人示教器模式与协程控制方法 - Google Patents
基于TCP socket接口工业机器人示教器模式与协程控制方法 Download PDFInfo
- Publication number
- CN112549023B CN112549023B CN202011337659.8A CN202011337659A CN112549023B CN 112549023 B CN112549023 B CN 112549023B CN 202011337659 A CN202011337659 A CN 202011337659A CN 112549023 B CN112549023 B CN 112549023B
- Authority
- CN
- China
- Prior art keywords
- program
- robot
- instruction
- file
- coroutine
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
Abstract
本发明公开了基于TCP socket接口工业机器人示教器模式与协程控制方法,包括通过程序管理模块打开机器人的控制程序;示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动,具体包括对输入的文本进行词法或语法检查,判断是否存在错误;将PLC程序代码转化为示教系统可执行的指令语句;根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件;协程控制机器人控制程序运行,本申请方案通过使用socket接口,可对核心主控制算法进行完整的封装,同时这种通信方式更加便捷,可实现跨平台跨语言通信,使机器人得到有效的控制,可以有效解决背景技术中的问题。
Description
技术领域
本发明涉及机器人技术领域,具体而言,本发明涉及基于TCP socket接口工业机器人示教器模式与协程控制方法。
背景技术
机器人作为近代自动控制领域的新兴技术,在现代机械制造中扮演着重要的角色。尤其是工业机器人,作为工业加工现场的一类多轴设备,它在工厂车间环境中,配合自动化生产的需要,代替人来完成材料和零件的搬运、加工、装配等大量复杂、危险的操作,工业机器人已发展为工业界中不可或缺的核心装备,是工人们不可少的合作伙伴。
但目前,对于我国的工业机器人,比如常用的六轴工业串联机器人,严重依赖进口,如KUKA、ABB等,他们价格十分昂贵,严重制约了我国制造行业及相关产业的发展。为了缓解这一现象,我们亟需研发自主工业机器人,包括工业机器人的控制器以及配套示教系统的研发,降低工业机器人的成本,减少对国外工业机器人的依赖。
而对机器人的控制虽然是由控制器完成,但运动指令与参数配置应交由用户完成,用户与控制器的交互媒介就是示教系统,而机器人的自动运行控制,需要运行用户在线编程的内容,而在线编程主要是采用PLC语言,如何根据PLC语言的逻辑,实现对机器人的控制,也是一个亟待解决的问题。
发明内容
为了寻找更为有效的实现方案,本发明提供了基于TCP socket接口工业机器人示教器模式与协程控制方法,使用socket接口,可对核心主控制算法进行完整的封装,同时这种通信方式更加便捷,可实现跨平台跨语言通信,使机器人得到有效的控制,可以有效解决背景技术中的问题。
为实现上述目的,本发明公开了基于TCP socket接口工业机器人示教器模式与协程控制方法,其特征在于,包括:
通过程序管理模块打开机器人的控制程序;
示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动。
作为一种实施方案,所述机器人运行模式包括连续运动和单步运动。
作为一种实施方案,所述程序管理模块通过PLC语言对机器人运动进行在线编程。
作为一种实施方案,所述示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动包括:
对输入的文本进行词法或语法检查,判断是否存在错误;
将PLC程序代码转化为示教系统可执行的指令语句;
根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件;
协程控制机器人控制程序运行。
作为一种实施方案,所述输入的文本包括数据文件和程序文件,所述数据文件以json为后缀,所述程序文件以script为后缀,所述对输入的文本进行词法或语法检查,判断是否存在错误包括:
利用antltr4py3开源语法分析器对程序文件进行词法和语法分析;
antltr4py开源语法分析器根据分析情况生成语法分析树;
遍历各ID词法符号是否在数据文件中定义、数据类型是否正确;
根据程序文件和数据文件的分析结果,对分析结果进行错误处理。
作为一种实施方案,所述根据PLC程序代码转化为示教系统可执行的指令语句包括:
在程序指令中生成打印流,所述打印流中只有待程序执行的语句,且包含与socket指令相关的语句。
作为一种实施方案,所述根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件包括:
S100、读取要运行的程序指令文件,并初始化trace=[];
S200、通过Python标准调试器模块进行单步调试;
S300、判断程序指令是否执行完毕:
作为一种实施方案,所述步骤S300的具体判断过程为:
S301、如果判断程序指令执行完毕,则直接生成json数据文件;
S302、如果判断程序指令未执行完毕,记录每一步调试的结果,创建跟踪条目trace_entry,并将跟踪条目trace_entry合并至trace;
S303、判断len(trace)是否大于MAX_EXECUTED_LINES:
若大于,则生成json数据文件,否则返回执行步骤S300。
作为一种实施方案,所述步骤S200中,所述单步测试包括函数调用、返回、异常和单步执行。
作为一种实施方案,所述协程控制机器人控制程序运行的具体过程包括:
协程端首先读取trace.json文件,并完全依照该文件信息进行控制操作;
当线程接收到协程端是否继续的消息时,若为前序运行状态,则直接send回到协程中,否则等待单步运动的步进按钮信号,在回到协程中;
当线程接收到协程指令语句,则执行该指令语句,执行的过程中发送Socket指令给控制器算法模块,并不断询问控制器算法模块机器人是否已完成运动,直至完成运动则再次回到协程;
协程遍历下一个跟踪条目,并询问线程是否继续的消息,循环往复直到最后一个跟踪条目结束,协程向线程发送在线编程程序已运行完毕的“Finished”信号,线程收到该信号之后,主动关闭协程。
与现有技术相比,本发明的基于TCP socket接口工业机器人示教器模式与协程控制方法具有如下有益效果:
本发明针对TCP socket接口的机器人控制器,采用机器人自动运行模式下利用协程控制方法实现的示教系统,通过使用socket接口,可对核心主控制算法进行完整的封装,且这种通信方式更加便捷,可实现跨平台跨语言通信,针对这种机器人控制器接口所设计的机器人示教系统,在线编程采用简单易懂的PLC语言,可使机器人得到有效的控制,可以有效解决背景技术中的问题
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为在线编程示教文件的组成示意图;
图2为自动运行模式下示教系统对机器人的控制流程示意图;
图3为在线编程语法检查流程图;
图4为机器人程序文件及其对应的语法分析树示意图;
图5为trace.json文件的生成流程示意图;
图6为机器人程序文件的跟踪json文件示意图;
图7为线程与协程的同步关系示意图;
图8为线程收到指令语句后的流程示意图;
图9为协程整体工作流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
请参阅图1,本发明实施例公开了基于TCP socket接口工业机器人示教器模式与协程控制方法,包括:
通过程序管理模块打开机器人的控制程序;
示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动。
在自动运行控制中,所谓自动运行控制,需要实现运行用户在线编程中的内容,在线编程主要采用PLC语言,实现的语句主要包含:系统流程控制指令组(IF…THEN…END_IF,ELSEIF…THEN,ELSE,WHILE…DO…END_WHILE,LOOP…DO…END_LOOP)、系统功能指令组(如:赋值,等待时间等)、零位标定指令组、运动指令组(如:点位插补运动、直线运动、圆弧运动、单轴运动、相对运动等),如图2所示,本方案通过词法/语法检查、目标代码生成、跟踪文件生成、协程控制指令发送程序运行的解决方案框架,可以直接根据PLC语言的逻辑可直接实现对机器人的控制,可有效解决背景技术中的问题。
所述机器人自动运行模式包括连续运动和单步运动。
具体的,所述示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动包括:
步骤A、对输入的文本进行词法或语法检查,判断是否存在错误;
如图1所示,所述输入的文本包括数据文件和程序文件,所述数据文件以json为后缀,所述程序文件以script为后缀。
如图3所示,步骤A的具体过程包括:
利用antltr4py3开源语法分析器对程序文件进行词法和语法分析;
antltr4py开源语法分析器根据分析情况生成语法分析树;
遍历各ID词法符号是否在数据文件中定义、数据类型是否正确;
根据程序文件和数据文件的分析结果,对分析结果进行错误处理。
在本方案中,由于变量的数据格式固定,因此数据文件不会出现错误,而在程序管理的在线编程过程中,尤其是系统流程控制类指令,允许用户手动输入语句,因此在翻译目标代码之前进行词法、语法的检查是一个必要的工作。因此本方案采用antltr4py3开源语法分析器,它是基于ANTLR开发的开源工具,能根据用户定义的语法文件自动生成词法分析器和语法分析器,并将输入文本处理为可视化的语法分析树,如图4所示,从而判断语句是否存在语法/词法错误。
其中,词法分析,就是将输入文本转化为词法符号,例如INT(整数)、ID(标识符)等;所谓语法分析,就是词法符号被“消费”以识别语句结构,会建造语法分析树这种数据结构,该结构记录了语法分析器识别的输入语句结构的过程,以及该结构的各组成部分。
步骤B、将PLC程序代码转化为示教系统可执行的指令语句;
所述根据PLC程序代码转化为示教系统可执行的指令语句包括:
在程序指令中生成打印流,所述打印流中只有待程序执行的语句,且包含与socket指令相关的语句。
由于程序文件中的PLC程序代码需要转化为示教系统可执行的指令语句,再将指令语句转化为socket指令结构向核心主控制算法模块发送,从而控制机器人的运动。
本方案的目标代码生成器解决了PLC程序代码向示教系统的指令语句(Python)的转化翻译问题,其翻译的目的在于,在真正运行代码之前规划好每一步需要发送的指令,即有必要将要向核心主控制算法模块发送的指令信息全部保留下来。
因此本方案用打印流解决这样的问题,由于打印流中只有待程序执行的语句,其中包含与socket指令相关的语句等,在执行运动指令或归零指令时,只需要执行(exec)打印流中的相关信息,就可以实现socket指令的发送。
具体的,在翻译的过程中,本发明结合程序文件和数据文件,根据两种语言的差异和规律进行直接翻译,如下表所示:
另外,针对直线运动指令,其轨迹规划分为两种,其一为单轨迹直线规划,其二为多轨迹规划,单轨迹直线规划不考虑重叠参数,在直线运动结束时速度不为0,而多轨迹直线规划考虑重叠参数,在直线运动结束后将平滑地过渡到下一条直线指令,需要一次将所有的直线相关指令全部发送至核心主控制算法模块进行统一的规划,因此,这两种轨迹规划所发送的socket指令略有不同,在翻译的过程中需要根据当前程序的运行模式(连续/步进)做出不同的翻译。
步骤C、根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件,其中跟踪文件的生成,其目的在于,根据示教程序的逻辑(IF…THEN…END_IF,WHILE…DO…END_WHILE,LOOP…DO…END_LOOP等),将每一步需要运行的指令进行跟踪记录,最终将跟踪结果保存在trace.json文件中,文件中主要是实际执行跟踪的结果,要实现这项功能,需要对Python目标程序实行预运行,将每一步的运行结果进行记录和保存。
如图5所示,所述根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件包括:
S100、读取要运行的程序指令文件,并初始化trace=[];
S200、通过Python标准调试器模块进行单步调试;
S300、判断程序指令是否执行完毕:
其中步骤S300的具体判断过程为:
S301、如果判断程序指令执行完毕,则直接生成json数据文件;
S302、如果判断程序指令未执行完毕,记录每一步调试的结果,创建跟踪条目trace_entry,并将跟踪条目trace_entry合并至trace;
S303、判断len(trace)是否大于MAX_EXECUTED_LINES:
若大于,则生成json数据文件,否则返回执行步骤S300。
所述步骤S200中,所述单步测试包括函数调用、返回、异常和单步执行。
本方案实现了一个类,它继承自类bdb.Bdb,这是Python标准调试器模块,它会在另一个进程中,运行运动传入的程序,bdb将在每次函数调用、返回、异常和单步执行后暂停执行,然后按照程序逻辑控制转移到相应的需要执行的地方。
在每次bdb暂停执行后,会调用到自定义的interaction方法,用于收集记录堆栈的状态和所有运行时的数据,并相应地创建一条跟踪条目(trace_entry,字典类型),字典中存储许多字段来记录正在进行的操作。
同时将创建的字典附加到全部跟踪结果trace中,当程序结束时,trace中包含了与用户程序执行步骤数一样多的跟踪条目,每个步骤对应执行某一行,最后,将trace变量保存为相应的json文件,可供示教系统程序使用。
进一步的,为了防止无限循环,本方案限制了最多跟踪条目数为1000步,也就是说,对于while true之类的死循环,真正循环的次数达不到1000次,当然这个最大值可进行修改,具体的效果如图6所示。
步骤D、协程控制机器人控制程序运行。
在控制程序语句进行逐条解释执行的过程中,需要与控制器算法模块协同工作,即是否要执行下一条指令语句,这取决于机器人是否运行完毕当前指令语句,因此,程序执行设计在另外一个线程中进行,避免询问机器人是否运行完毕的过程中造成示教系统的黑屏卡死;协同工作部分的设计,考虑在该线程中另外开一个协程,协程负责根据trace.json文件,控制指令发送、提供即将运行语句的行号等。
协程在形式上是子程序,但在执行过程中,协程可在子程序内部中断,然后转而执行别的子程序,在适当的时候再返回来接着执行,因此协程允许在不同的入口和不同的位置暂停或开始执行程序。即协程就是一个可以暂停执行的子程序,也可以理解为一个生成器。协程是为解决非抢占式多任务而产生的,因此两个线程进行同步执行,也可实现协程的效果。相比于多线程,协程有如下两个优势:其一,协程有极高的执行效率,协程之间的切换是程序上的切换,由程序自身控制,没有线程切换的开销;其二,协程不需要多线程的锁机制,协程是在一个线程里面执行的,因此不存在同时写变量的冲突,在协程中控制共享资源不需要加锁,只要判断状态就好了,所以在执行效率上比多线程要高很多。
如图7所示,其具体控制过程为:
协程端首先读取trace.json文件,并完全依照该文件信息进行控制操作;
当线程接收到协程端是否继续的消息时,若为前序运行状态,则直接send回到协程中,否则等待单步运动的步进按钮信号,在回到协程中;
当线程接收到协程指令语句,则执行该指令语句,执行的过程中发送Socket指令给控制器算法模块,并不断询问控制器算法模块机器人是否已完成运动,直至完成运动则再次回到协程;
协程遍历下一个跟踪条目,并询问线程是否继续的消息,循环往复直到最后一个跟踪条目结束,协程向线程发送在线编程程序已运行完毕的“Finished”信号,线程收到该信号之后,主动关闭协程,从而避免不必要的StopIteration异常。
进一步的,线程部分的工作流程如图8所示,
起初需要对协程进行预激,然后线程一直处于接受协程发送过来的信息状态,并对信息的不同做条件分支处理。
当线程收到的消息为是否继续,那么线程将根据当前的运行状态做出不同回应,若为连续运行状态,则直接回到协程,若为单步运行状态,则等待用户点击单步运行的start按键信号后回到协程。
当线程收到的信息为指令语句,则线程会进入一个死循环,死循环的终止条件是机器人的运动状态,可通过WaitIsFinished()函数返回值得到,机器人已完成运动或机器人运动失败时终止。
在每次循环中,由于多轨迹指令发送的情形下,会同时发出多条指令语句进行统一的轨迹规划,因此线程会通过GetParmIndex()函数得到目前机器人目前正在运行哪一条指令语句。同时在每次循环中,会读取暂停或重启的控制状态,并根据控制状态对机器人进行控制。当线程收到的消息为下一条指令语句行号时,示教器界面做出行号指向的相应更新。当线程收到消息为指令语句已全部发送的信号时,说明机器人已完成所有在线编程的运动,线程会主动关闭自己,那么线程中的协程也不复存在
协程部分的工作流程如图9所示,首先读取跟踪的json文件,由于文件中的stdout为累积字段,真正需要运行的是相比于上一个跟踪条目打印流新增的语句部分,因此在运行时需要同步更新打印流的信息,在程序伊始时初始化为last_str。
之后依次遍历各个跟踪条目。根据示教器上设置的开始运行的行号,依次遍历跟踪条目的line字段,定位起始跟踪条目。
其次,通过yield回到线程,询问用户是否继续运行,直至收到线程回复,回到协程。
随后,根据json文件的打印流的信息是否有新增部分,决定是否需要向线程发送指令语句。
最后,向线程发送下一条跟踪条目的行号,主线程中通过读取该行号,更新程序管理模块在线编程界面的箭头指向,进入下一个跟踪条目的遍历。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.基于TCP socket接口工业机器人示教器模式与协程控制方法,其特征在于,包括:
通过程序管理模块打开机器人的控制程序;
示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人的运动;
所述机器人运行模式包括连续运动和单步运动;
所述程序管理模块通过PLC语言对机器人运动进行在线编程;
所述示教系统根据机器人运行模式和机器人控制程序PLC语言逻辑生成socket指令,将产生的socket指令发送给主控制算法模块,控制机器人运动的程序执行过程包括:
对输入的文本进行词法或语法检查,判断是否存在错误;
将PLC程序代码转化为示教系统可执行的指令语句;
根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件;
协程控制机器人控制程序运行;
所述输入的文本包括数据文件和程序文件,所述数据文件以json为后缀,所述程序文件以script为后缀,所述对输入的文本进行词法或语法检查,判断是否存在错误,执行过程包括:
利用antltr4py3开源语法分析器对程序文件进行词法和语法分析;
antltr4py开源语法分析器根据分析情况生成语法分析树;
遍历各ID词法符号是否在数据文件中定义、数据类型是否正确;
根据程序文件和数据文件的分析结果,对分析结果进行错误处理;
所述根据PLC程序代码转化为示教系统可执行的指令语句包括:
在程序指令中生成打印流,所述打印流中只有待程序执行的语句,且包含与socket指令相关的语句;
所述根据示教程序的逻辑,根据每一步需要运行的指令生成跟踪文件包括:
S100、读取要运行的程序指令文件,并初始化trace=[];
S200、通过Python标准调试器模块进行单步调试;
S300、判断程序指令是否执行完毕;
所述步骤S300的具体判断过程为:
S301、如果判断程序指令执行完毕,则直接生成json数据文件;
S302、如果判断程序指令未执行完毕,记录每一步调试的结果,创建跟踪条目trace_entry,并将跟踪条目trace_entry合并至trace;
S303、判断len(trace)是否大于MAX_EXECUTED_LINES:
若大于,则生成json数据文件,否则返回执行步骤S300;
所述步骤S200中,所述单步测试包括函数调用、返回、异常和单步执行;
所述协程控制机器人控制程序运行的具体过程包括:
协程端首先读取trace.json文件,并完全依照该文件信息进行控制操作;
当线程接收到协程端是否继续的消息时,若为连续运行状态,则直接send回到协程中,否则等待单步运动的步进按钮信号,再回到协程中;
当线程接收到协程指令语句,则执行该指令语句,执行的过程中发送socket指令给控制器算法模块,并不断询问控制器算法模块机器人是否已完成运动,直至完成运动则再次回到协程;
协程遍历下一个跟踪条目,并询问线程是否继续的消息,循环往复直到最后一个跟踪条目结束,协程向线程发送在线编程程序已运行完毕的“Finished”信号,线程收到该信号之后,主动关闭协程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337659.8A CN112549023B (zh) | 2020-11-25 | 2020-11-25 | 基于TCP socket接口工业机器人示教器模式与协程控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337659.8A CN112549023B (zh) | 2020-11-25 | 2020-11-25 | 基于TCP socket接口工业机器人示教器模式与协程控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112549023A CN112549023A (zh) | 2021-03-26 |
CN112549023B true CN112549023B (zh) | 2022-05-27 |
Family
ID=75045001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011337659.8A Active CN112549023B (zh) | 2020-11-25 | 2020-11-25 | 基于TCP socket接口工业机器人示教器模式与协程控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112549023B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466151B (zh) * | 2022-04-11 | 2022-07-12 | 武汉中科通达高新技术股份有限公司 | 国标相机的视频存储系统、计算机设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104708517A (zh) * | 2015-03-24 | 2015-06-17 | 北京理工大学 | 基于机器人操作系统ros的工业机器人自动磨抛系统 |
CN105138398A (zh) * | 2015-09-30 | 2015-12-09 | 山东乾云启创信息科技有限公司 | 同步通信模式下socket通信与进程管理通用平台及方法 |
CN105364926A (zh) * | 2015-11-20 | 2016-03-02 | 上海新时达电气股份有限公司 | 一种多轴机器人驱控一体化控制系统 |
CN105652785A (zh) * | 2016-04-07 | 2016-06-08 | 中国科学院沈阳自动化研究所 | 一种基于iec60870-5-104远动规约的plc通信模块 |
CN106933207A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 用于分布式工业性能监控的数据分析服务 |
CN108121278A (zh) * | 2016-11-28 | 2018-06-05 | 魏莹 | 一种基于plc的示教式直角坐标涂胶机器人控制系统 |
CN108527320A (zh) * | 2018-03-30 | 2018-09-14 | 天津大学 | 一种基于三维鼠标的协作机器人引导示教方法 |
CN110674049A (zh) * | 2019-09-28 | 2020-01-10 | 中电智能科技有限公司 | 一种面向plc逻辑编程的智能形式化验证方法 |
CN111078436A (zh) * | 2019-12-18 | 2020-04-28 | 上海金仕达软件科技有限公司 | 数据处理的方法、装置、设备及存储介质 |
CN111283680A (zh) * | 2020-02-28 | 2020-06-16 | 华南理工大学 | 一种无线远程遥控机器人的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331136B2 (en) * | 2006-02-27 | 2019-06-25 | Perrone Robotics, Inc. | General purpose robotics operating system with unmanned and autonomous vehicle extensions |
CN103377044B (zh) * | 2012-04-24 | 2017-06-16 | 南京中兴新软件有限责任公司 | 一种规则生成系统、ipmc网络设备及规则生成方法 |
US20130343640A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | Vision-guided robots and methods of training them |
US9124551B2 (en) * | 2013-06-25 | 2015-09-01 | Sap Se | Multi-touch multi-user interactive control system using mobile devices |
CN104572243B (zh) * | 2013-10-25 | 2017-09-29 | 国际商业机器公司 | 用于共享Java虚拟机的方法和系统 |
CN106527335B (zh) * | 2016-12-08 | 2019-03-19 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
CN106945045B (zh) * | 2017-04-19 | 2019-12-17 | 广州视源电子科技股份有限公司 | 基于ros和orocos的机器人控制的通信方法和系统 |
-
2020
- 2020-11-25 CN CN202011337659.8A patent/CN112549023B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104708517A (zh) * | 2015-03-24 | 2015-06-17 | 北京理工大学 | 基于机器人操作系统ros的工业机器人自动磨抛系统 |
CN105138398A (zh) * | 2015-09-30 | 2015-12-09 | 山东乾云启创信息科技有限公司 | 同步通信模式下socket通信与进程管理通用平台及方法 |
CN106933207A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 用于分布式工业性能监控的数据分析服务 |
CN105364926A (zh) * | 2015-11-20 | 2016-03-02 | 上海新时达电气股份有限公司 | 一种多轴机器人驱控一体化控制系统 |
CN105652785A (zh) * | 2016-04-07 | 2016-06-08 | 中国科学院沈阳自动化研究所 | 一种基于iec60870-5-104远动规约的plc通信模块 |
CN108121278A (zh) * | 2016-11-28 | 2018-06-05 | 魏莹 | 一种基于plc的示教式直角坐标涂胶机器人控制系统 |
CN108527320A (zh) * | 2018-03-30 | 2018-09-14 | 天津大学 | 一种基于三维鼠标的协作机器人引导示教方法 |
CN110674049A (zh) * | 2019-09-28 | 2020-01-10 | 中电智能科技有限公司 | 一种面向plc逻辑编程的智能形式化验证方法 |
CN111078436A (zh) * | 2019-12-18 | 2020-04-28 | 上海金仕达软件科技有限公司 | 数据处理的方法、装置、设备及存储介质 |
CN111283680A (zh) * | 2020-02-28 | 2020-06-16 | 华南理工大学 | 一种无线远程遥控机器人的系统和方法 |
Non-Patent Citations (1)
Title |
---|
基于Unity 3D的微电机自动装配线实时仿真系统;王钰;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20200215(第2期);第41-42页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112549023A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580806A (zh) | 一种协作机器人图形化编程系统 | |
CN112549023B (zh) | 基于TCP socket接口工业机器人示教器模式与协程控制方法 | |
CN104898546A (zh) | 一种基于soc的plc在线调试系统和方法 | |
CN111708525B (zh) | 一种基于xml工业机器人图形化编程系统解释器 | |
CN103123598A (zh) | 一种编译型软plc的在线调试实现方法 | |
WO2019230321A1 (ja) | サポート装置およびサポートプログラム | |
CN105700934A (zh) | 一种智能编译方法和智能编译系统 | |
CN110442520B (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
Wang et al. | An extensible NC program interpreter for open CNC systems | |
CN116501330A (zh) | 一种基于解耦架构的文本类编程语言编译方法 | |
CN113961195A (zh) | 一种工业机器人编程语言解释方法 | |
CN108874394A (zh) | 机器人用户程序的解释方法及解释装置 | |
Hwang et al. | Interactive task planning through natural language | |
KR100621063B1 (ko) | 인터프리터형 제어프로그램의 개발 방법 및 시스템 | |
Ruiz et al. | EGCL: an extended G-Code Language with flow control, functions and mnemonic variables | |
Bjarnason et al. | Interactive language development for embedded systems | |
CN114691117B (zh) | 一种边缘控制器软件快速开发方法 | |
Li et al. | Robot programming language based on VB scripting for robot motion control | |
Pavloviæ et al. | L-IRL: high level programming language for robots | |
Zhao et al. | Research on Soft PLC Programming System Based on IEC61131-3 Standard | |
CN114347039A (zh) | 机器人控制方法及相关装置 | |
Magnenat et al. | Aseba Meets D-Bus: From the Depths of a Low-Level Event | |
CN117631611A (zh) | 一种可进行二次编辑的通用生产加工平台系统 | |
Wang | Domain Specific Languages in Automation | |
Arnold et al. | A graphical interface based on grafcet for programming industrial robots off-line |
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 |