在数控系统上实现参数化编程的方法

文档序号:6264905阅读:210来源:国知局
专利名称:在数控系统上实现参数化编程的方法
技术领域
本发明涉及编程方法,尤其涉及一种在数控系统上实现参数化编程的方法。
背景技术
数控机床通过编制的程序实现零部件的各类加工,目前数控编程大致有三种方法第一种是直接手工编写数控指令代码,如直线指令是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>GOO XO YO F500G91〈loop name=" |〃 count =" Number" >G00 XO Y(100*#(I))<param name = " Shape" value = 0{0: " Olrde
1: “ Spuare,,}>
=〃 Diameter" ="10(0,100]

</root>上例中第三行“〈paramname =〃 Number" value = " 2(0,100))〃 ></param>,, 是一个参数的定义;上例中第四行和第五行,是一段数控指令片段上例中第六行“〈loopname=" I" count=" Number" >”和倒数第三行“</ loop〉”构成一个循环块标记,其中循环次数由参数Number指定;
<if param = “ Shape “ condition = 0>
<param name
scale = 0. 5 value = " 10(0,100]〃 unit = " mm" />
G02 XO YO 10 J#(Diameter)FlOOO
</if> <else>
<param name =" Width" value
“unit =“讓〃 />
GOl X#(Width)FlOOO Y# (Width) X(-l*#(Width)) Y(-l*#(Width))
</else>
</param>
</loop> M30
上例中第九行“<ifparam =〃 Shape" condition = 0>”、第十二行“</if>”、第 十三行“〈else〉”和第十九行“〈/else〉”构成ー个分支块标记,其条件判断为Jhape參数 的值是否等于0 ;这个分支块标记中拥有两个文件块,它们分别是从第十行至第十一行,从 第十四行至第十八行。上例中第十一行中“# (Diameter)”是ー个參数引用标记,用于引用參数 Parameter 的值。使用C++、C#等高级语言都可以很方便地读取和处理这种XML文件,并在屏幕上采 用树视图组件将參数定义块标记、标签块标记等节点显示为树节点,生成參数输入表単。例 如上面的模板文件经过处理后,在数控系统上将显示为以下形式Number = 2Shape = Circle
权利要求
1. 一种在数控系统上实现参数化编程的方法,其特征在于本方法包括如下步骤 步骤一、编制具有层次化结构的模板文件并定义模板文件的内容 所述模板文件包括实体元素和结构元素,实体元素构成模板文件的输出结果,即数控程序的内容,结构元素决定模板文件在数控系统上所显示的参数编程画面的内容和结构,并控制实体元素输出到数控程序中的形式和数量,所述实体元素包括数控指令片段、文件引用标记和参数引用标记, 数控指令片段是在模板文件生成数控程序时,构成输出结果中的数控指令, 文件引用标记在模板文件被处理时,会被该标记所指定的外部文件的整体或部分内容所取代,并输出到数控程序中,参数引用标记在模板文件被处理时,会被该标记所关联参数的值所取代,参数引用标记关联的参数需要在该标记出现之前的位置,并通过结构元素进行定义,结构元素用于在模板文件中标记一个范围,构成文件块,所述文件块包含若干完整的实体元素或子文件块,结构元素包括标签块标记、参数定义块标记、分支块标记和循环块标记, 标签块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个标签节点,标签节点的名称在标签块标记中指定,参数定义块标记在模板文件被输出到数控系统的参数编程画面时将被表示为树视图中的一个参数节点,参数名称、参数值、参数有效范围、参数说明和图示内容通过参数定义块标记描述,参数定义块标记定义的参数在模板文件中通过所述参数引用标记进行引用,分支块标记本身不会被直接输出到数控系统的参数编程画面上,分支块标记包含若干文件块,并对其中的每一文件块中的参数或表达式指定约束条件,当分支块标记中文件块所指定的参数或表达式的值满足约束条件时,该文件块才会在模板文件被处理时显示到数控系统的参数编程画面上或者输出到所生成的数控程序中,不满足约束条件的文件块将会在显示参数编程画面或输出数控程序时被滤除,循环块标记本身不会被直接输出到数控系统的参数编程画面上,循环块标记包含的文件块按照循环块标记指定的次数,重复输出到数控系统的参数编程画面或所生成的数控程序中;步骤二、数控系统对所述模板文件进行解析和处理,在数控系统上显示为一个树状结构的参数输入表单,参数输入表单中包含标签和参数两种节点,在输入表单中选择和设置参数节点的数值并对节点进行展开或折叠操作,在参数节点进行选择和设置后,数控系统根据所输入的数值重新更新参数输入表单的内容和结构;步骤三、数控系统在参数输入表单更新后,数控系统将所输入的数值嵌入到所述模板文件中,采用所设置的数值替换所述模板文件中的参数引用标记,滤除所述模板文件中的标签块标记和参数引用标记,并对分支块标记和循环块标记按照指定的约束条件和次数值进行处理,生成最终的数控程序。
全文摘要
本发明公开了一种在数控系统上实现参数化编程的方法,首先编制具有层次化结构的模板文件并定义模板文件的内容,模板文件包括数控指令片段、文件引用标记、参数引用标记、标签块标记、参数定义块标记、分支块标记和循环块标记,数控系统对所述模板文件进行解析和处理,在数控系统的界面上生成树状结构的参数输入表单。在输入表单中输入参数后,数控系统根据输入的参数将会更新参数输入表单的结构,同时滤除无关标记和定义并生成数控加工指令,数控系统执行所生成的数控加工指令控制机床实现零件加工。本方法不需使用高级语言编程,不必输入数控指令,而通过输入零件参数实现数控编程,使零件参数的输入操作更为直观和可靠,降低数控编程的复杂性。
文档编号G05B19/4093GK102346458SQ20101024690
公开日2012年2月8日 申请日期2010年8月6日 优先权日2010年8月6日
发明者蒋知峰 申请人:上海开通数控有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1