CN102346458A - 在数控系统上实现参数化编程的方法 - Google Patents
在数控系统上实现参数化编程的方法 Download PDFInfo
- Publication number
- CN102346458A CN102346458A CN2010102469044A CN201010246904A CN102346458A CN 102346458 A CN102346458 A CN 102346458A CN 2010102469044 A CN2010102469044 A CN 2010102469044A CN 201010246904 A CN201010246904 A CN 201010246904A CN 102346458 A CN102346458 A CN 102346458A
- Authority
- CN
- China
- Prior art keywords
- parameter
- numerical control
- mark
- control system
- template file
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种在数控系统上实现参数化编程的方法,首先编制具有层次化结构的模板文件并定义模板文件的内容,模板文件包括数控指令片段、文件引用标记、参数引用标记、标签块标记、参数定义块标记、分支块标记和循环块标记,数控系统对所述模板文件进行解析和处理,在数控系统的界面上生成树状结构的参数输入表单。在输入表单中输入参数后,数控系统根据输入的参数将会更新参数输入表单的结构,同时滤除无关标记和定义并生成数控加工指令,数控系统执行所生成的数控加工指令控制机床实现零件加工。本方法不需使用高级语言编程,不必输入数控指令,而通过输入零件参数实现数控编程,使零件参数的输入操作更为直观和可靠,降低数控编程的复杂性。
Description
技术领域
本发明涉及编程方法,尤其涉及一种在数控系统上实现参数化编程的方法。
背景技术
数控机床通过编制的程序实现零部件的各类加工,目前数控编程大致有三种方法:
第一种是直接手工编写数控指令代码,如:直线指令是G01,圆弧指令是G02等;这种方法效率低,出错率高;只能用于简单零件的程序编制。
第二种方法是基于计算机制图软件,通过图形化的人机对话生成数控程序,即“图形化编程”;这种方法效率较高;不容易出错;目前已经有许多实际的产品;但是这种编程方法的实现较为复杂,对于软硬件环境有一定的要求;因此通常是在一台计算机上进行图形化编程,然后再将编好的程序导入到数控系统中实现零部件的加工。在数控系统上直接实现图形化编程有一定的困难。
第三种方法是“参数化编程”,即针对一些相似的零件,把它们的特征参数提取出来,通过编辑参数化的数控程序,数控系统可以根据操作者输入的参数,自动生成数控加工代码。这种方法也具备简单高效的特点,但是只能够适用于特征相似的零件。例如同一类的齿轮、凸轮等零部件。
在传统的数控系统,例如FANUC数控系统中,通过在数控指令中嵌入宏变量,可以实现参数化的数控程序。FANUC数控系统还提供了G65、G66~G69指令,用来定义宏变量的名称和显示位置。从而允许用户定制参数化的输入界面。但是这种方法使用较为复杂,所生成的参数输入界面较为简陋。且生成的参数表是静态的,用户输入的参数无法改变参数表的结构,缺乏灵活性。
还有一些数控系统提供了开放的接口,允许用户通过高级语言编写专门的参数化编程界面,并嵌入到数控系统中。采用这种方式可以实现友好和灵活的输入界面,但是实现难度较高。要求用户具备高级语言编程的能力,并熟悉数控系统的应用编程接口。
发明内容
本发明所要解决的技术问题是提供一种在数控系统上实现参数化编程的方法,本方法不需使用高级语言进行编程,不必输入数控指令,而通过输入零件参数实现数控编程,使零件参数的输入操作更为直观和可靠,降低了数控编程的复杂性。
为解决上述技术问题,本发明在数控系统上实现参数化编程的方法包括如下步骤:
步骤一、编制具有层次化结构的模板文件并定义模板文件的内容,
所述模板文件包括实体元素和结构元素,
实体元素用于构成模板文件的输出结果,即数控程序的内容,结构元素用于决定模板文件在数控系统上所显示的参数编程画面的内容和结构,并控制实体元素输出到数控程序中的形式和数量;
所述实体元素包括数控指令片段、文件引用标记和参数引用标记;
数控指令片段是在模板文件生成数控程序时,构成输出结果中的数控指令;
文件引用标记在模板文件被处理时,会被该标记所指定的外部文件的整体或部分内容所取代,并输出到数控程序中;
参数引用标记在模板文件被处理时,会被该标记所关联参数的值所取代,参数引用标记关联的参数需要在该标记出现之前的位置,并通过结构元素进行定义;
结构元素用于在模板文件中标记一个范围,构成文件块,所述文件块包含若干完整的实体元素或子文件块;
结构元素包括标签块标记、参数定义块标记、分支块标记和循环块标记,
标签块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个标签节点,标签节点的名称在标签块标记中指定;
参数定义块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个参数节点,参数名称、参数值、参数有效范围、参数说明和图示内容通过参数定义块标记描述,参数定义块标记定义的参数在模板文件中通过所述参数引用标记进行引用;
分支块标记本身不会被直接输出到数控系统的参数编程画面上,分支块标记包含若干文件块,并对其中的每一文件块中的参数或表达式指定约束条件,当分支块标记中文件块所指定的参数或表达式的值满足约束条件时,该文件块才会在模板文件被处理时显示到数控系统的参数编程画面上或者输出到所生成的数控程序中,不满足约束条件的文件块将会在显示参数编程画面或输出数控程序时被滤除;
循环块标记本身不会被直接输出到数控系统的参数编程画面上,循环块标记包含的文件块按照循环块标记指定的次数,重复输出到数控系统的参数编程画面或所生成的数控程序中;
步骤二、数控系统对所述模板文件进行解析和处理,在数控系统上显示为一个树状结构的参数输入表单,参数输入表单中包含标签和参数两种节点,在输入表单中选择和设置参数节点的数值并对节点进行展开或折叠操作,在参数节点进行选择和设置后,数控系统根据所输入的数值重新更新参数输入表单的内容和结构;
步骤三、数控系统在参数输入表单更新后,数控系统将所输入的数值嵌入到所述模板文件中,采用所设置的数值替换所述模板文件中的参数引用标记,滤除所述模板文件中的标签块标记和参数引用标记,并对分支块标记和循环块标记按照指定的约束条件和次数值进行处理,生成最终的数控程序。
由于本发明在数控系统上实现参数化编程的方法采用了上述技术方案,即首先编制具有层次化结构的模板文件并定义模板文件的内容,模板文件包括数控指令片段、文件引用标记、参数引用标记、标签块标记、参数定义块标记、分支块标记和循环块标记,数控系统对所述模板文件进行解析和处理,在数控系统的界面上生成树状结构的参数输入表单。在输入表单中输入参数后,数控系统根据输入的参数将会更新参数输入表单的结构,同时滤除无关标记和定义并生成数控加工指令,数控系统通过执行所生成的数控加工指令控制机床实现零件的加工。本方法不需使用高级语言进行编程,不必输入数控指令,而通过输入零件参数实现数控编程,使零件参数的输入操作更为直观和可靠,降低了数控编程的复杂性。
具体实施方式
在数控系统上实现参数化编程的方法包括如下步骤:
步骤一、编制具有层次化结构的模板文件并定义模板文件的内容,
所述模板文件包括实体元素和结构元素,
实体元素用于构成模板文件的输出结果,即数控程序的内容,结构元素用于决定模板文件在数控系统上所显示的参数编程画面的内容和结构,并控制实体元素输出到数控程序中的形式和数量,
所述实体元素包括数控指令片段、文件引用标记和参数引用标记,
数控指令片段是在模板文件生成数控程序时,构成输出结果中的数控指令,
文件引用标记在模板文件被处理时,会被该标记所指定的外部文件的整体或部分内容所取代,并输出到数控程序中,
参数引用标记在模板文件被处理时,会被该标记所关联参数的值所取代,参数引用标记关联的参数需要在该标记出现之前的位置,并通过结构元素进行定义,
结构元素用于在模板文件中标记一个范围,构成文件块,所述文件块包含若干完整的实体元素或子文件块,
结构元素包括标签块标记、参数定义块标记、分支块标记和循环块标记,
标签块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个标签节点,标签节点的名称在标签块标记中指定,
参数定义块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个参数节点,参数名称、参数值、参数有效范围、参数说明和图示内容通过参数定义块标记描述,参数定义块标记定义的参数在模板文件中通过所述参数引用标记进行引用,
分支块标记本身不会被直接输出到数控系统的参数编程画面上,分支块标记包含若干文件块,并对其中的每一文件块中的参数或表达式指定约束条件,当分支块标记中文件块所指定的参数或表达式的值满足约束条件时,该文件块才会在模板文件被处理时显示到数控系统的参数编程画面上或者输出到所生成的数控程序中,不满足约束条件的文件块将会在显示参数编程画面或输出数控程序时被滤除,
循环块标记本身不会被直接输出到数控系统的参数编程画面上,循环块标记包含的文件块按照循环块标记指定的次数,重复输出到数控系统的参数编程画面或所生成的数控程序中;
步骤二、数控系统对所述模板文件进行解析和处理,在数控系统上显示为一个树状结构的参数输入表单,参数输入表单中包含标签和参数两种节点,在输入表单中选择和设置参数节点的数值并对节点进行展开或折叠操作,在参数节点进行选择和设置后,数控系统根据所输入的数值重新更新参数输入表单的内容和结构;
步骤三、数控系统在参数输入表单更新后,数控系统将所输入的数值嵌入到所述模板文件中,采用所设置的数值替换所述模板文件中的参数引用标记,滤除所述模板文件中的标签块标记和参数引用标记,并对分支块标记和循环块标记按照指定的约束条件和次数值进行处理,生成最终的数控程序。
本方法中的模板文件可以通过设计一个人机交互的图形化软件来帮助创建或编辑,该软件可以脱离数控系统,独立运行于通用计算机上,这样可以使数控系统的参数化编程进一步简化。
本方法的模板文件非常适合采用XML文件格式来实现。XML本身是一种层次结构的标记语言,模板文件中的参数定义、块标记等主要元素都可以使用XML元素来定义。例如下面就是一个用XML定义的一个模板文件的示例:
<?xml version=″1.0”encoding=″gb2312”?>
<root>
<param name=″Number″value=″2(0,100]”></param>
G00 X0 Y0 F500
G91
<loop name=″|″count=″Number″>
G00 X0 Y(100*#(I))
<param name=″Shape″value=0{0:“Olrde”,1:“Spuare”}>
<if param=″Shape″condition=0>
<param name=″Diameter″scale=0.5 value=″10(0,100]″unit=″mm″/>
G02 X0 Y0 I0 J#(Diameter)F1000
</if>
<else>
<param name=″Width″value=″10(0,100]″unit=″mm″/>
G01 X#(Width)F1000
Y#(Width)
X(-1*#(Width))
Y(-1*#(Width))
</else>
</param>
</loop>
M30
</root>
上例中第三行“<param name=″Number″value=″2(0,100))″></param>”是一个参数的定义;
上例中第四行和第五行,是一段数控指令片段
上例中第六行“<loop name=″I″count=″Number″>”和倒数第三行“</loop>”构成一个循环块标记,其中循环次数由参数Number指定;
上例中第九行“<if param=″Shape″condition=0>”、第十二行“</if>”、第十三行“<else>”和第十九行“</else>”构成一个分支块标记,其条件判断为:Shape参数的值是否等于0;这个分支块标记中拥有两个文件块,它们分别是从第十行至第十一行,从第十四行至第十八行。
上例中第十一行中“#(Diameter)”是一个参数引用标记,用于引用参数Parameter的值。
使用C++、C#等高级语言都可以很方便地读取和处理这种XML文件,并在屏幕上采用树视图组件将参数定义块标记、标签块标记等节点显示为树节点,生成参数输入表单。例如上面的模板文件经过处理后,在数控系统上将显示为以下形式:
Number=2
Shape=Circle
Shape=Square
Width=10
上例第三行为光标所在行,
在数控系统上,通过光标操作可以在树视图中选择、编辑、展开或折叠参数节点。
参数设置完毕后,上述模板文件经数控系统处理,去除标记元素后将输出为以下的文件形式:
G00 X0 Y0 F500
G91
G00 X0 Y100
G02 X0 Y0 I0 J10 F1000
G00 X0 Y200
G01 X10 F1000
Y10
X-10
Y-10
M30
上述文件符合数控指令的格式,可以直接用于数控加工。
本方法在数控系统上的参数输入界面采用“模板文件”的描述实现,不需要使用高级语言进行编程,模板文件可以使用普通的文本编辑软件来创建和修改,也可以开发专门的模板文件编辑软件用来简化和方便模板文件的创建和编辑工作。在专用的模板文件编辑软件的帮助下,用户可以非常方便地构建数控系统的参数编程界面。在数控系统上生成树状结构的参数表,零件参数可以进行分类组织,例如:粗加工参数、精加工参数、螺纹参数、法兰参数等,特别适合于描述特征参数较多的复杂零件。利用结构元素的属性定义,可以为零件参数添加提示、图示和有效范围等信息,使零件参数的输入操作更为直观和安全。在数控系统上生成的零件参数表,其参数的数量和结构可以根据用户所输入的数值动态改变。例如:针对某个零件仅当加工方法选择为精加工时,与精加工相关的参数才会出现在界面上;而如果选择粗加工,那么与精加工相关的参数就会被隐藏。这种特性是传统的静态参数表所不具备的。
Claims (1)
1.一种在数控系统上实现参数化编程的方法,其特征在于本方法包括如下步骤:
步骤一、编制具有层次化结构的模板文件并定义模板文件的内容:
所述模板文件包括实体元素和结构元素,
实体元素构成模板文件的输出结果,即数控程序的内容,结构元素决定模板文件在数控系统上所显示的参数编程画面的内容和结构,并控制实体元素输出到数控程序中的形式和数量,
所述实体元素包括数控指令片段、文件引用标记和参数引用标记,
数控指令片段是在模板文件生成数控程序时,构成输出结果中的数控指令,
文件引用标记在模板文件被处理时,会被该标记所指定的外部文件的整体或部分内容所取代,并输出到数控程序中,
参数引用标记在模板文件被处理时,会被该标记所关联参数的值所取代,参数引用标记关联的参数需要在该标记出现之前的位置,并通过结构元素进行定义,
结构元素用于在模板文件中标记一个范围,构成文件块,所述文件块包含若干完整的实体元素或子文件块,
结构元素包括标签块标记、参数定义块标记、分支块标记和循环块标记,
标签块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个标签节点,标签节点的名称在标签块标记中指定,
参数定义块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个参数节点,参数名称、参数值、参数有效范围、参数说明和图示内容通过参数定义块标记描述,参数定义块标记定义的参数在模板文件中通过所述参数引用标记进行引用,
分支块标记本身不会被直接输出到数控系统的参数编程画面上,分支块标记包含若干文件块,并对其中的每一文件块中的参数或表达式指定约束条件,当分支块标记中文件块所指定的参数或表达式的值满足约束条件时,该文件块才会在模板文件被处理时显示到数控系统的参数编程画面上或者输出到所生成的数控程序中,不满足约束条件的文件块将会在显示参数编程画面或输出数控程序时被滤除,
循环块标记本身不会被直接输出到数控系统的参数编程画面上,循环块标记包含的文件块按照循环块标记指定的次数,重复输出到数控系统的参数编程画面或所生成的数控程序中;
步骤二、数控系统对所述模板文件进行解析和处理,在数控系统上显示为一个树状结构的参数输入表单,参数输入表单中包含标签和参数两种节点,在输入表单中选择和设置参数节点的数值并对节点进行展开或折叠操作,在参数节点进行选择和设置后,数控系统根据所输入的数值重新更新参数输入表单的内容和结构;
步骤三、数控系统在参数输入表单更新后,数控系统将所输入的数值嵌入到所述模板文件中,采用所设置的数值替换所述模板文件中的参数引用标记,滤除所述模板文件中的标签块标记和参数引用标记,并对分支块标记和循环块标记按照指定的约束条件和次数值进行处理,生成最终的数控程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102469044A CN102346458A (zh) | 2010-08-06 | 2010-08-06 | 在数控系统上实现参数化编程的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102469044A CN102346458A (zh) | 2010-08-06 | 2010-08-06 | 在数控系统上实现参数化编程的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102346458A true CN102346458A (zh) | 2012-02-08 |
Family
ID=45545213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102469044A Pending CN102346458A (zh) | 2010-08-06 | 2010-08-06 | 在数控系统上实现参数化编程的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102346458A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677763A (zh) * | 2012-08-30 | 2014-03-26 | 中国科学院软件研究所 | 一种图形化编程的源文件存储及解析方法 |
CN105445323A (zh) * | 2015-12-22 | 2016-03-30 | 广州合成材料研究院有限公司 | 一种连续冷凝水湿热试验仪 |
CN109656453A (zh) * | 2018-12-20 | 2019-04-19 | 树根互联技术有限公司 | 规则编辑方法、装置和设备 |
CN111125594A (zh) * | 2019-12-04 | 2020-05-08 | 深圳晶泰科技有限公司 | 面向分布式系统中管理大量任务输入参数的方法和系统 |
CN111706608A (zh) * | 2020-04-30 | 2020-09-25 | 北京恩优科技有限公司 | 一种磁悬浮轴承人机交互方法 |
CN111722590A (zh) * | 2020-06-30 | 2020-09-29 | 深圳钰翔技术有限公司 | 一种钣金或五金冲压用送料机的简易编程方法 |
WO2021109027A1 (zh) * | 2019-12-04 | 2021-06-10 | 深圳晶泰科技有限公司 | 面向分布式系统中管理大量任务输入参数的方法和系统 |
-
2010
- 2010-08-06 CN CN2010102469044A patent/CN102346458A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677763A (zh) * | 2012-08-30 | 2014-03-26 | 中国科学院软件研究所 | 一种图形化编程的源文件存储及解析方法 |
CN105445323A (zh) * | 2015-12-22 | 2016-03-30 | 广州合成材料研究院有限公司 | 一种连续冷凝水湿热试验仪 |
CN109656453A (zh) * | 2018-12-20 | 2019-04-19 | 树根互联技术有限公司 | 规则编辑方法、装置和设备 |
CN111125594A (zh) * | 2019-12-04 | 2020-05-08 | 深圳晶泰科技有限公司 | 面向分布式系统中管理大量任务输入参数的方法和系统 |
WO2021109027A1 (zh) * | 2019-12-04 | 2021-06-10 | 深圳晶泰科技有限公司 | 面向分布式系统中管理大量任务输入参数的方法和系统 |
CN111706608A (zh) * | 2020-04-30 | 2020-09-25 | 北京恩优科技有限公司 | 一种磁悬浮轴承人机交互方法 |
CN111706608B (zh) * | 2020-04-30 | 2022-03-04 | 北京恩优科技有限公司 | 一种磁悬浮轴承人机交互方法 |
CN111722590A (zh) * | 2020-06-30 | 2020-09-29 | 深圳钰翔技术有限公司 | 一种钣金或五金冲压用送料机的简易编程方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346458A (zh) | 在数控系统上实现参数化编程的方法 | |
JP6170212B2 (ja) | プロセス制御システム内の操作者インターフェースディスプレイのためのアニメーションおよびイベントの構成 | |
US7668608B2 (en) | Graphical programming language object editing and reporting tool | |
JP6880545B2 (ja) | プロセス制御システム、設定システム、およびコンピュータ可読記憶媒体 | |
US20170132194A1 (en) | Information-processing equipment based on a spreadsheet | |
CN104793567B (zh) | 数控加工程序转换方法和装置 | |
JP2015130174A (ja) | プラント監視システムのユーザ表示に用いるための迅速に編集可能な特徴を有する再使用可能なグラフィカル要素 | |
JP5047401B1 (ja) | プロジェクトデータ作成装置及びプログラマブル表示器 | |
WO2010014397A1 (en) | Method and system for creating hmi applications for an automation process | |
CN105761007B (zh) | 信息管理软件设计的辅助方法及系统 | |
CN113886362A (zh) | 基于工作流引擎及低代码平台的数据存储系统及存储方法 | |
CN103473216A (zh) | 一种基于excel的产品工艺编制方法 | |
US20120158371A1 (en) | Method of Assisting Planning of a Technical System | |
JP2002258936A (ja) | プラント監視制御システムエンジニアリングツール | |
CN110968308A (zh) | 一种用于改变用于生成源代码的模型的方法 | |
Yusof et al. | The development of a new STEP-NC code generator (GEN-MILL) | |
JP4102137B2 (ja) | 制御プログラム作成支援システム及びその支援方法 | |
CN101710275A (zh) | 利用gui工具来编辑工作流逻辑和屏幕的方法和系统 | |
CN106020801A (zh) | 一种图形第四代语言及其应用生成系统 | |
CN108897535A (zh) | 一次编译生成多张组态图的方法 | |
CN103809973A (zh) | 图控界面设计系统及其图控界面设计操作方法 | |
Augenstein et al. | Top-energy: computational support for energy system engineering processes | |
Montoto et al. | A workflow language for web automation | |
Ioan et al. | Drill hole sets manufacturing on CNC machines | |
Rahimifard | A methodology to develop EXPRESS data models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120208 |