CN106737676A - 一种基于脚本可二次开发的工业机器人编程系统 - Google Patents

一种基于脚本可二次开发的工业机器人编程系统 Download PDF

Info

Publication number
CN106737676A
CN106737676A CN201611233352.7A CN201611233352A CN106737676A CN 106737676 A CN106737676 A CN 106737676A CN 201611233352 A CN201611233352 A CN 201611233352A CN 106737676 A CN106737676 A CN 106737676A
Authority
CN
China
Prior art keywords
instruction
script
program
secondary development
management module
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
CN201611233352.7A
Other languages
English (en)
Other versions
CN106737676B (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.)
Nanjing aisidun Intelligent Systems Engineering Co. Ltd.
Original Assignee
Nanjing Estun Robotics 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 Nanjing Estun Robotics Co Ltd filed Critical Nanjing Estun Robotics Co Ltd
Priority to CN201611233352.7A priority Critical patent/CN106737676B/zh
Publication of CN106737676A publication Critical patent/CN106737676A/zh
Application granted granted Critical
Publication of CN106737676B publication Critical patent/CN106737676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Stored Programmes (AREA)
  • Control By Computers (AREA)

Abstract

本发明公开了一种基于脚本可二次开发的工业机器人编程系统,包括以下步骤:定义系统配置数据,在系统配置脚本文件中定义基本的数据类型、指令集。在用户配置脚本文件中定义二次开发的指令集和数据类型,运用了基于脚本可二次开发模块,该模块能根据用户需求自定义指令和数据,用户自定义的指令是由第一步中系统指令集的组合,用户自定义的数据类型是由第一步中系统基本数据类型的组合。通过示教盒进行机器人编程,实现机器人的运动控制。本发明采用脚本方式二次开发用户需求的指令集,使得该编程语言具有高度的灵活性,能根据需要编制专属的指令集来满足具体应用需要。其优点在于不需要为了开发新指令而重新编写代码进行烧写程序。

Description

一种基于脚本可二次开发的工业机器人编程系统
技术领域
本发明涉及工业机器人编程系统,尤其涉及一种基于脚本可二次开发的工业机器人编程系统。
背景技术
工业机器人是集机械、电子、控制、计算机、传感器、人工智能等多学科先进技术于一体的自动化装备。在发达国家中,工业机器人自动化生产线成套设备已成为自动化装备的主流。
在工业机器人发展早期,一般只能执行固定的程序,专用性强,且无法扩展。随着工业自动化中对柔性作业的需求的增加,这种机器人已经很难满足现代工业生产的要求,于是,用于机器人编程的机器人语言应运而生。如今,机器人语言已经成为机器人数控系统中的一个不可或缺的部分,机器人的作业在很大程度上都依靠用机器人语言编制的程序来完成。在工业机器人的发展过程中,机器人语言也不断地发展和完善。
作为人机交互的重要接口和机器人实现其智能化的重要方式,机器人语言的重要性已经日益凸显出来。和计算机语言用符号表示计算机进行的操作类似,机器人语言也用符号来描述机器人的动作,使机器人能按照编程者的意图完成各种复杂的动作和操作。机器人编程语言不仅涉及到机器人技术,也和计算机编程语言密切相关,因此,它们的发展是相辅相成的。
随着机器人技术的不断发展,机器人语言也不断地向前推进,其功能不断扩展,使用上也更加容易理解和上手。现在应用比较广泛的且有代表性的工业机器人编程语言是ABB公司开发的RAPID语言。它是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入、还能实现决策、重复其它指令、构造程序、与系统操作员交流等功能,是有较强功能的机器人语言。
机器人编程系统作为机器人控制系统的一部分,国外一直处于垄断地位,国外厂商的控制系统及其控制终端一般只对自己品牌的机器人有一定的兼容性,其独有的设备配件和高昂的维修费用让国内相关产业耗费了大量的人力与财力。中国发明专利“工业机器人的编程系统和方法”(申请号为201210432301.2)公开了一种通用工业机器人编程系统和方法,但是没有对可二次开发的机器人编程系统给出解决方案。郭显金在硕士学位论文“工业机器人编程语言的设计与实现”中提出了一套工业机器人编程语言,使对机器人的编程变得简单而高效,但该方法仅针对MOTORMAN SK6机器人控制系统作为研究对象,不具备可二次开发指令集的功能即根据需求编制专属的指令集来满足在具体应用中的需要。
发明内容
本发明公开了一种基于脚本可二次开发的工业机器人编程系统,解决了可以二次开发指令集的问题。
为实现上述发明目的,本发明采取的技术方案是:
一种基于脚本可二次开发的工业机器人编程系统,包括以下步骤:
步骤1:定义系统配置数据,在系统配置脚本文件中定义基本的数据类型和指令集。
所述基本的数据类型包括:int型、bool型、real型、APOS型、CPOS型、TOOL型、USERCOOR型。
所述指令集包括:
a、运动指令MovJ、MovL、MovC
b、IO指令SetDO、SetAO、WaiDI、WaitAI
c、等待延时指令Wait
d、流程控制指令IF、ELSE、ENDIF、WHILE、ENDWHILE、CALL、GOTO、LABEL、RUN、KILL
e、表达式指令。
步骤2:在用户配置脚本文件中定义二次开发的指令集和数据类型,该二次开发指令和数据类型运用了基于脚本可二次开发模块,该模块能根据用户需求自定义指令和数据,用户自定义的指令是由第一步中系统指令集的组合,用户自定义的数据类型是由第一步中系统基本数据类型的组合。
步骤3:通过手持示教盒进行机器人编程,实现机器人的运动控制。
所述基于脚本可二次开发模块,包括配置脚本文件管理模块、工程及程序管理模块、程序变量管理模块、程序指令管理模块。
配置脚本文件管理模块,用来读取系统配置和用户配置脚本文件,将读取出来的数据进行解析,将解析后的数据类型和指令集数据填充到结构体中,再将结构体数据通过以太网发送给示教盒,示教盒获取到配置文件数据后加载到工程及程序管理模块的界面。
工程及程序管理模块,用来进行对程序工程和文件进行管理,对工程和程序进行新建、删除、复制、粘贴、导入;如果是导入工程和程序,控制器就会读取工程下面程序数据和程序指令文件,将读取的程序数据和指令填充结构体传给示教盒,示教盒进入程序指令管理模块编辑界面。
所述程序指令管理模块,用来进行指令的显示、新建、修改、删除、复制、粘贴、注释;显示系统支持的指令类型及每类中的指令列表该数据由配置脚本管理模块获得。
示教盒上切换到获取变量界面,进行变量管理模块处理,该模块按层级获取变量列表及变量值,一共三层:全局变量、工程局部变量、程序局部变量;变量新建、修改、删除、复制、粘贴;显示系统支持的变量种类及每类中的变量类型列表;显示指定变量的组成细节,即变量各字段的名称和值。
本发明的解析方法采用脚本方式可以二次开发用户需求的指令集,这使得该编程语言具有高度的灵活性,能根据自己的需要编制专属的指令集来满足在具体应用中的需要。该二次开发功能的优点在于不需要为了开发新指令而重新编写代码进行烧写程序从而减少很大的开发工作量。
附图说明
图1是本发明方法的系统框图。
图2是机器人程序指令的执行流程图。
图3是基于脚本可二次开发模块中配置文件管理模块的处理流程图。
图4是基于脚本可二次开发模块中工程及程序管理模块的处理流程图。
图5是基于脚本可二次开发模块中程序变量管理模块的处理流程图。
图6是基于脚本可二次开发模块中程序指令管理模块的处理流程图。
图7和图8是系统配置脚本文件示例和用户自定义配置脚本文件示例图。
图9是工程文件结构图。
图10是数据文件示例图。
图11是程序指令文件示例图。
图12是二次开发指令示例图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步详细说明。
本发明处理的对象是工业机器人中基于脚本的可二次开发编程系统,如图12所示,现要二次开发一条指令MovX,具体流程如下:
第一步:定义系统配置数据,如图7所示在系统配置脚本文件中制定基本的数据类型(int型、bool型、real型、APOS型、CPOS型、TOOL型、USERCOOR型)和指令集包括运动指令(MovJ,MovL,MovC)、IO指令(SetDO,SetAO,WaiDI,WaitAI)、等待延时指令(Wait)、流程控制指令(IF,ELSE,ENDIF,WHILE,ENDWHILE,CALL,GOTO,LABEL,RUN,KILL,表达式指令);
第二步:定义用户自定义配置数据,如图8所示,在用户配置脚本文件中定义用户自定义数据类型(ABC型和DEF型),自定义指令MovX,该指令调用了基本运动指令MovJ和IO指令SetDO来实现。
定义完成系统配置文件和用户配置文件之后,经过配置脚本文件管理模块数据处理后通过以太网发给示教盒进行显示,工作流程图如图3所示。
示教盒获取到配置文件数据后加载到工程及程序管理界面,进行工程及程序管理部分。
工程文件结构图如图9所示,工作流程图如图4所示,依次执行以下步骤:
第一步:操作示教盒,下发命令给控制器。
第二步:示教盒上点击新建工程命令,就在磁盘上新建该工程名的文件夹,并在文件夹内新建工程局部变量的数据文件。
第三步:示教盒上点击新建程序命令,就先找到该程序对应的工程,在该工程文件夹内新建该程序的数据文件和执行文件。
第四步:示教盒上点击导入程序按钮,导入第三步中新建的程序进入程序指令管理界面。
进入程序指令界面后,工作流程图如图6所示,依次执行以下步骤:
第一步:操作示教盒,下发命令给控制器。
第二步:示教盒上点击新建指令命令,示教盒上就会显示配置文件里面定义的所有指令,包括用户自己定义的指令MovX,控制器就先在当前工程下找到该指令文件,然后重新打开文件,插入一条新指令MovX,再重新写入到磁盘中;示教盒上就会多显示一条MovX指令。
指令新建完成之后,就可以开始进行程序指令的执行,工作流程图如图2,执行步骤如下:
第一步:在示教盒上设置程序指针,使得程序从第一行指令开始执行。
第二步:控制器获取指令行号,从该行加载执行指令。
第三步:判断该行是否是流程控制指令(IF,ELSE,WHILE,GOTO等指令),如果是就执行流程控制修改指令行号,程序指针将进行跳转。
第四步:如果该行不是流程控制指令(IF,ELSE,WHILE,GOTO等指令),就在脚本中执行该条指令。
第五步:如果该行指令执行成功,判断是否是单步模式,如果不是就继续判断是否到达文件尾,如果不是就跳转到第五步继续执行,如果是就跳转到下一步。
第六步:执行结束。
通过以上的方法步骤,就可以完成二次开发指令,该指令实现了机器人运动和设置IO的功能,将该文本写入到配置文件中,系统重新上电加载,在示教盒上就可以看到该条指令(MovX),运行该条指令可以看到机器人实现了运动和设置IO的功能。
本发明中机器人的控制指令和数据都是基于脚本进行编写,使得指令集可根据用户需求进行编制,具有很大的灵活性,不需要为了开发新指令而重新编写代码进行烧写程序;减少了很大的开发工作量。

Claims (2)

1.一种基于脚本可二次开发的工业机器人编程系统,包括以下步骤:
步骤1:定义系统配置数据,在系统配置脚本文件中定义基本的数据类型、指令集;
所述基本的数据类型为:int型、bool型、real型、APOS型、CPOS型、TOOL型、USERCOOR型;
所述指令集包括:
a、运动指令MovJ、MovL、MovC;
b、IO指令SetDO、SetAO、WaiDI、WaitAI;
c、等待延时指令Wait;
d、流程控制指令IF、ELSE、ENDIF、WHILE、ENDWHILE、CALL、GOTO、LABEL、RUN、KILL;
e、表达式指令;
步骤2:在用户配置脚本文件中定义二次开发的指令集和数据类型,该二次开发指令和数据类型运用了基于脚本可二次开发模块,该模块能根据用户需求自定义指令和数据,用户自定义的指令是由第一步中系统指令集的组合,用户自定义的数据类型是由第一步中系统基本数据类型的组合;
步骤3:通过手持示教盒进行机器人编程,实现机器人的运动控制。
2.根据权利要求1所述一种基于脚本可二次开发的工业机器人编程系统,其特征是:所述基于脚本可二次开发模块,包括配置脚本文件管理模块、工程及程序管理模块、程序变量管理模块、程序指令管理模块;
所述配置脚本文件管理模块,用来读取系统配置和用户配置脚本文件,将读取出来的数据进行解析,将解析后的数据类型和指令集数据填充到结构体中,再将结构体数据通过以太网发送给示教盒,示教盒获取到配置文件数据后加载到工程及程序管理模块的界面;
所述工程及程序管理模块,用来进行对程序工程和文件进行管理,对工程和程序进行新建、删除、复制、粘贴、导入;如果是导入工程和程序,控制器就会读取工程下面程序数据和程序指令文件,将读取的程序数据和指令填充结构体传给示教盒,示教盒进入程序指令管理模块编辑界面;
所述程序指令管理模块,用来进行指令的显示、新建、修改、删除、复制、粘贴、注释;显示系统支持的指令类型及每类中的指令列表该数据由配置脚本管理模块获得;
示教盒上切换到获取变量界面,进行变量管理模块处理,该模块按层级获取变量列表及变量值,一共三层:全局变量、工程局部变量、程序局部变量;变量新建、修改、删除、复制、粘贴;显示系统支持的变量种类及每类中的变量类型列表;显示指定变量的组成细节,即变量各字段的名称和值。
CN201611233352.7A 2016-12-28 2016-12-28 一种基于脚本可二次开发的工业机器人编程系统 Active CN106737676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611233352.7A CN106737676B (zh) 2016-12-28 2016-12-28 一种基于脚本可二次开发的工业机器人编程系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611233352.7A CN106737676B (zh) 2016-12-28 2016-12-28 一种基于脚本可二次开发的工业机器人编程系统

Publications (2)

Publication Number Publication Date
CN106737676A true CN106737676A (zh) 2017-05-31
CN106737676B CN106737676B (zh) 2019-03-15

Family

ID=58922557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611233352.7A Active CN106737676B (zh) 2016-12-28 2016-12-28 一种基于脚本可二次开发的工业机器人编程系统

Country Status (1)

Country Link
CN (1) CN106737676B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168133A (zh) * 2017-06-27 2017-09-15 重庆谱思机器人控制系统有限公司 电机控制器的可视化编程方法及系统
CN107908429A (zh) * 2017-08-10 2018-04-13 广州真诺电子科技有限公司 应用于机器人软件工程师的人机交互与编程系统
CN109048928A (zh) * 2018-10-25 2018-12-21 遨博(北京)智能科技有限公司 一种机器人控制程序的生成方法及装置
CN110297472A (zh) * 2019-06-28 2019-10-01 上海商汤智能科技有限公司 设备控制方法、终端、受控设备、电子设备和存储介质
CN111144878A (zh) * 2019-12-16 2020-05-12 深圳融卡智能科技有限公司 指令生成方法与指令生成装置
CN111390906A (zh) * 2020-03-20 2020-07-10 深圳市安泽智能机器人有限公司 一种机器人系统、机器人及存储介质
CN111651142A (zh) * 2020-05-26 2020-09-11 江苏华途数控科技有限公司 一种组态型示教器管理系统
CN111813038A (zh) * 2020-07-10 2020-10-23 四川爱联科技有限公司 Plc模组上实现同时支持cco与sta模式的方法及系统
CN114371665A (zh) * 2022-01-05 2022-04-19 苏州华兴源创科技股份有限公司 基于PCBase方案的运动控制器控制方法、装置、计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102549508A (zh) * 2009-04-20 2012-07-04 皮尔茨公司 用于控制自动化设备的安全控制装置和用于为安全控制装置创建应用程序的方法
KR101248802B1 (ko) * 2008-10-31 2013-03-29 한국전자통신연구원 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
CN104385282A (zh) * 2014-08-29 2015-03-04 暨南大学 一种视觉智能数控系统及其视觉计测方法
CN105955726A (zh) * 2016-04-22 2016-09-21 广州捷士电子科技有限公司 一种控制逻辑及其可视化图形编程方法
CN106182008A (zh) * 2016-08-12 2016-12-07 上海新时达电气股份有限公司 多机器人的控制系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101248802B1 (ko) * 2008-10-31 2013-03-29 한국전자통신연구원 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
CN102549508A (zh) * 2009-04-20 2012-07-04 皮尔茨公司 用于控制自动化设备的安全控制装置和用于为安全控制装置创建应用程序的方法
CN104385282A (zh) * 2014-08-29 2015-03-04 暨南大学 一种视觉智能数控系统及其视觉计测方法
CN105955726A (zh) * 2016-04-22 2016-09-21 广州捷士电子科技有限公司 一种控制逻辑及其可视化图形编程方法
CN106182008A (zh) * 2016-08-12 2016-12-07 上海新时达电气股份有限公司 多机器人的控制系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王亚洲: ""机器人编程说明"", 《百度文库》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168133B (zh) * 2017-06-27 2019-10-11 重庆谱思机器人控制系统有限公司 电机控制器的可视化编程方法及系统
CN107168133A (zh) * 2017-06-27 2017-09-15 重庆谱思机器人控制系统有限公司 电机控制器的可视化编程方法及系统
CN107908429A (zh) * 2017-08-10 2018-04-13 广州真诺电子科技有限公司 应用于机器人软件工程师的人机交互与编程系统
CN109048928A (zh) * 2018-10-25 2018-12-21 遨博(北京)智能科技有限公司 一种机器人控制程序的生成方法及装置
CN110297472A (zh) * 2019-06-28 2019-10-01 上海商汤智能科技有限公司 设备控制方法、终端、受控设备、电子设备和存储介质
CN111144878B (zh) * 2019-12-16 2024-04-19 无锡融卡科技有限公司 指令生成方法与指令生成装置
CN111144878A (zh) * 2019-12-16 2020-05-12 深圳融卡智能科技有限公司 指令生成方法与指令生成装置
CN111390906A (zh) * 2020-03-20 2020-07-10 深圳市安泽智能机器人有限公司 一种机器人系统、机器人及存储介质
CN111390906B (zh) * 2020-03-20 2021-11-19 深圳市安泽智能机器人有限公司 一种机器人系统、机器人及存储介质
CN111651142B (zh) * 2020-05-26 2022-08-26 江苏华途数控科技有限公司 一种组态型示教器管理系统
CN111651142A (zh) * 2020-05-26 2020-09-11 江苏华途数控科技有限公司 一种组态型示教器管理系统
CN111813038A (zh) * 2020-07-10 2020-10-23 四川爱联科技有限公司 Plc模组上实现同时支持cco与sta模式的方法及系统
CN111813038B (zh) * 2020-07-10 2023-08-22 四川爱联科技股份有限公司 Plc模组上实现同时支持cco与sta模式的方法及系统
CN114371665A (zh) * 2022-01-05 2022-04-19 苏州华兴源创科技股份有限公司 基于PCBase方案的运动控制器控制方法、装置、计算机设备

Also Published As

Publication number Publication date
CN106737676B (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN106737676A (zh) 一种基于脚本可二次开发的工业机器人编程系统
CN110543144B (zh) 图形化编程控制机器人的方法及系统
CN102640112B (zh) 程序制作支援装置
Visser More or less following a plan during design: opportunistic deviations in specification
CN100377109C (zh) 一种利用测试套完成产品自动化测试的方法
CN102124445B (zh) 用于针对自动化过程创建hmi应用的方法和系统
CN105955726A (zh) 一种控制逻辑及其可视化图形编程方法
CN104898546B (zh) 一种基于soc的plc在线调试系统和方法
CN101976187B (zh) 反编译过程中的堆栈跟踪方法、装置及反编译器
CN103552071A (zh) 一种智能机器人的编程方法
CN109318225A (zh) 用于控制码垛机器人的方法、装置及系统
Alvarez et al. A novel approach for supporting the development cycle of automation systems
Kowal et al. Delta modeling for variant-rich and evolving manufacturing systems
Estévez et al. PLCopen for achieving interoperability between development phases
CN109032056B (zh) 可编程逻辑控制器编程语言转换方法
CN107728561A (zh) Plc编程系统及方法
CN107943474A (zh) 一种智能机器人的编程方法
De Boeck et al. High-level modeling of multimodal interaction techniques using nimmit
CN103744331A (zh) 教育机器人、其控制器及控制器的编程方法
CN104407861A (zh) 一种ePLC图编程平台中组合指令的实现方法
CN102566481B (zh) 一种基于c语言的plc控制系统及其实现方法
Rudtsch et al. Approach for the conceptual design validation of production systems using automated simulation-model generation
US9342064B2 (en) Motion SFC program component creation device
CN110442520B (zh) 一种基于plc编程语言的交叉调试系统及方法
Scholz et al. Functional modelling in production engineering workflows

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
CB03 Change of inventor or designer information

Inventor after: Gong Wei

Inventor after: Zeng Junhan

Inventor after: Wang Jihu

Inventor after: Jing Shuyi

Inventor after: Wu Bo

Inventor before: Gong Wei

Inventor before: Zeng Junhan

Inventor before: Wang Jihu

Inventor before: Wu Bo

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190428

Address after: 210000 Yanhu Road, Jiangning Economic Development Zone, Nanjing City, Jiangsu Province, No. 178

Patentee after: Nanjing aisidun Intelligent Systems Engineering Co. Ltd.

Address before: 211106 Yanhu Road 178, Jiangning Economic Development Zone, Nanjing City, Jiangsu Province

Patentee before: Nanjing Estun Robotics Co., Ltd.

TR01 Transfer of patent right