基于宏程序的通用代码转换方法及装置的制作方法

文档序号:6322860阅读:511来源:国知局
专利名称:基于宏程序的通用代码转换方法及装置的制作方法
技术领域
本发明涉及数控机床领域,具体而言,涉及一种基于宏程序的通用代码转换方法 及装置。
背景技术
为了提高生产效率,各制造企业都大量采用数控设备进行产品加工。由于这些数 控设备未必是一次性购进,因此其配套的数控系统也就可能各不相同。基本上,各数控系统 的代码是互不兼容的。在一台数控机床上加工的代码,若换到其他机床上加工,往往需要返 回工艺编制部门,由CAM(ComputerAided Manage,计算机辅助管理)软件重新生成适合该 机床的代码,原因就是两台数控机床的控制系统相异。因此增加了加工的准备时间,特别是 在车间的机床数控类型较多时尤其如此。对于轮廓形状较为简单的零件,目前多采用手工编程的方式,人们只能一个点一 个点的去计算,再写成宏程序代码。稍微复杂一些的零件,如轮廓曲线中有样条曲线,手工 计算就比较困难,这时一般借助工具,离散出点坐标数据,再写成宏程序代码进行加工。手工编写的代码出错率较高,不容易检验,最后还得在机床上试切后此代码才算 编写完成,才能用于实际加工。如果车间的调度员要换一台机床加工同一个零件,代码就得 重新编制。由于机床的数控系统类型不同,要求的代码格式也是不同的,手工更改起来所需 的时间较长,导致效率较低,而且更容易出错。

发明内容
本发明提供一种基于宏程序的通用代码转换方法及装置,用以解决现有技术中在 将现有加工代码转换为目标数控机床所需类型的加工代码时效率较低的问题。本发明提供了一种基于宏程序的通用代码转换方法,该方法包括以下步骤a、对 当前宏程序加工代码的当前段进行反读,将该当前段转换为内部统一数据;b、根据内部统 一数据得到语句树;C、判断当前宏程序加工代码的反读是否结束,如果是,执行步骤d,否 者,执行步骤a ;d、根据目标数控机床的配置文件中的控制参数,将语句树转换为目标加工 代码。本发明还提供了一种基于宏程序的通用代码转换装置,该装置包括反读模块,用 于对当前宏程序加工代码的当前段进行反读,将该当前段转换为内部统一数据;语句树模 块,用于根据内部统一数据得到语句树;判断模块,用于判断当前宏程序加工代码的反读是 否结束,如果是,发送输出指令到输出模块,否则,发送反读指令到反读模块;输出模块,用 于根据目标数控机床的配置文件中的控制参数,将语句树转换为目标加工代码。本实施例通过将当前加工代码转换为内部统一数据,进而得到语句树,从而根据 目标数控机床的配置文件中的控制参数,自动地将语句树转换为目标数控机床所需的目标 加工代码,节省了时间,提高了效率,并避免了人工进行代码转换时容易出现的错误,提高 了产品的合格率,克服了现有技术中存在的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是根据本发明一个实施例的基于宏程序的通用代码转换方法流程图;图2是根据本发明一个实施例的宏程序语句分类示意图;图3为根据本发明一个实施例的一段加工代码相应的语句树示意图;图4是根据本发明一个实施例的基于宏程序的通用代码转换装置模块图;图5是根据本发明一个实施例的基于宏程序的通用代码转换装置的代码转换流 程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。基于宏程序的数控加工代码是由多个程序段组成的,每个程序段执行一个加工步 骤,而一个程序段又可以由若干个字组成,字是组成程序段的基本元素,由字构成数控系统 的指令。随着数控技术的发展,现在大多数数控系统不仅能够处理一般的准备功能和辅助 功能,而且能够处理宏程序。宏程序是数控编程的重要补充,其中变量的用途有运算、递增量或递减量、与一 个表达式比较后决定是否实现跳转功能的条件分支或将变量值传递到零件程序中去;其中 运算又包括算术运算(赋值、加、减、乘、除、绝对值、四舍五入等)、函数运算(正弦、余弦、 正切、反正切、平方根等);逻辑操作(与、或)、比较操作(等于、大于、小于、大于或等于、小 于或等于、不等于)。图1是根据本发明一个实施例的基于宏程序的通用代码转换方法流程图,该方法 包括以下步骤a、对当前加工代码的当前段进行反读,将该当前段转换为内部统一数据;b、根据内部统一数据得到语句树;C、判断当前宏程序加工代码的反读是否结束,如果是,执行步骤d,否者,执行步骤 a ;d、根据目标数控机床的配置文件中的控制参数,将语句树转换为目标加工代码。本实施例通过将当前加工代码转换为内部统一数据,进而得到语句树,从而根据 目标数控机床的配置文件中的控制参数,自动地将语句树转换为目标数控机床所需的目标 加工代码,节省了时间,提高了效率,并避免了人工进行代码转换时容易出现的错误,提高 了产品的合格率,克服了现有技术中存在的问题。例如,在上述通用代码转换方法中,对当前加工代码的当前段进行反读,将该当前段转换为内部统一数据步骤包括读入当前加工代码的当前段;根据当前加工代码的数控 系统类型,加载相应数控系统代码解析器;通过相应数控系统代码解析器解析该当前段,生 成内部统一数据。例如,在上述通用代码转换方法中,还包括以下步骤当解析当前加工代码出现问 题时,显示错误信息。例如,在上述通用代码转换方法中,根据内部统一数据得到加工轨迹步骤包括将 内部统一数据中各个语句以及各个语句之间的关系表示语句树。图2是根据本发明一个实施例的宏程序语句分类示意图。如图2所示,根据加工 代码的特点,将程序段语句分为G代码语句、循环定义语句、变量定义语句、变量赋值语句、 WHILE语句、IF语句、GOTO语句、子程序语句、模态调用语句等。每一种语句,均是从“语句 类”派生。如果没有错误,则建立语句树。语句树由一系列的语句结点组成,直观地表示了各 个语句之间的关系,即父子关系与兄弟关系。图3为根据本发明一个实施例的一段加工代码相应的语句树示意图。图3中的加工代码为00001 ;#1 = 0;#2=1;WHILE[#2LE 10]DO 1 ;#1 = #1+#2 ;#2 = #2+1 ;END 1 ;M30 ;如果程序反读有问题,则在显示出错信息,无法进行代码转换。机床配置文件是控制机床后置系统生成不同代码的各个参数的集合,该文件可以 是文本,允许用户自己配置。因此,需要把用户配置的内容解析成后置系统熟悉的控制语 句,作为内部的控制参数,来控制后置过程生成不同类型的代码文件。本发明的实施例支持 多种数控系统间的加工代码转换,包括Fanuc、Siemens, Heidenhain、华中数控、广州数控 等,还支持定制,即为某一特定的加工代码定制解析器与加工代码转换器。例如,在上述通用代码转换方法中,根据目标数控机床的配置文件中的控制参数, 将加工轨迹转换为目标加工代码步骤包括若目标加工代码为G代码,遍历语句树,分别执 行语句树的每一分支对应的程序段语句,得到加工轨迹;根据目标数控机床的配置文件中 的控制参数,将加工轨迹转换为设定类型的目标加工G代码。又例如,在上述通用代码转换方法中,当前加工代码为宏程序代码时,根据目标数 控机床的配置文件中的控制参数,将加工轨迹转换为目标加工代码步骤包括根据目标数 控机床的配置文件中的控制参数,遍历语句树,将语句树的各个语句转换为设定类型的目 标宏程序代码。在本发明的实施例中,要输出什么格式的代码文件,由机床配置文件中配置的控 制参数决定,亦即根据控制参数把加工轨迹数据格式化成用户需要的代码输出出来。
图4是根据本发明一个实施例的基于宏程序的通用代码转换装置模块图,该装置 包括反读模块10,用于对当前加工代码的当前段进行反读,将该当前段转换为内部统 一数据;语句树模块20,用于根据内部统一数据得到语句树;判断模块30,用于判断当前宏程序加工代码的反读是否结束,如果是,发送输出指 令到输出模块,否则,发送反读指令到反读模块;输出模块40,用于根据目标数控机床的配置文件中的控制参数,将语句树转换为 目标加工代码。本实施例通过将当前加工代码转换为内部统一数据,进而得到语句树,从而根据 目标数控机床的配置文件中的控制参数,自动地将语句树转换为目标数控机床所需的目标 加工代码,节省了时间,提高了效率,并避免了人工进行代码转换时容易出现的错误,提高 了产品的合格率,克服了现有技术中存在的问题。例如,在上述通用代码转换装置中,反读模块包括读入单元,用于读入当前加工 代码的当前段;加载单元,用于根据当前加工代码的数控系统类型,加载相应数控系统代码 解析器;解析单元,通过相应数控系统代码解析器解析该当前段,生成内部统一数据。例如,在上述通用代码转换装置中,还包括错误提示模块,用于当解析当前加工 代码出现问题时,显示错误信息。例如,在上述通用代码转换装置中,输出模块包括选择单元,用于根据机床配置 文件中的控制参数判断目标加工代码是否为G代码,如果是,则选择代码执行单元执行语 句树,否则,选择宏程序代码转换单元进行代码转换;代码执行单元,用于执行语句树的各 个语句,得到内部轨迹数据;G代码转换单元,用于根据目标数控机床的配置文件中的控制 参数,将内部轨迹数据转换为设定类型的目标加工G代码;宏程序转换单元,用于根据目标 数控机床的配置文件中的控制参数,将语句树的各个语句转换为设定类型的目标宏程序代 码。在本发明的实施例中,选择单元根据用户配置在机床配置文件中的控制参数,选 择用户预先设定的所要转换的目标加工代码的代码类型。图5是根据本发明一个实施例的基于宏程序的通用代码转换装置的代码转换流 程图,如图5所示,包括以下步骤S502,通过选择单元判断当前加工代码是否为G代码,如果是,执行步骤S506,选 择代码执行单元执行语句树,否则,执行步骤S504 ;S504,根据机床配置文件中的控制参数判断目标加工代码是否为G代码,如果是, 执行步骤S506,否则,执行步骤S510 ;S506,选择代码执行单元执行语句树的各个语句得到内部轨迹数据;S508,通过G代码转换单元根据目标数控机床的配置文件中的控制参数,将内部 轨迹数据转换为设定类型的目标加工G代码;以及S510,通过宏程序转换单元根据目标数控机床的配置文件中的控制参数,将语句 树的各个语句转换为设定类型的目标宏程序代码。从上述描述中可以看出,本发明的上述实施例实现了以下技术效果
本发明的上述实施例可以快速地将数控加工代码转换成其它数控系统可以识别 的代码。如果源加工代码为宏程序,则其可以转化为普通G代码程序也可以转化为宏程序。 如果源加工代码为普通G代码,则只能转换为普通G代码程序。该项技术应用在加工设备 多样化的企业,可以极大的提高编程技术人员的工作效率,节约数控加工代码的修改时间, 有效地保证了加工设备转换后的加工质量,提高了产品的合格率。本领域普通技术人员可以理解附图只是一个实施例的示意图,附图中的模块或 流程并不一定是实施本发明所必须的。本领域普通技术人员可以理解实施例中的装置中的模块可以按照实施例描述分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
权利要求
1.一种基于宏程序的通用代码转换方法,其特征在于,包括以下步骤a、对当前宏程序加工代码的当前段进行反读,将所述当前段转换为内部统一数据;b、根据所述内部统一数据得到语句树;C、判断所述当前宏程序加工代码的反读是否结束,如果是,执行步骤d,否者,执行步骤a ;d、根据目标数控机床的配置文件中的控制参数,将所述语句树转换为目标加工代码。
2.根据权利要求1所述的通用代码转换方法,其特征在于,对当前宏程序加工代码的 当前段进行反读,将所述当前段转换为内部统一数据步骤包括读入当前宏程序加工代码的当前段;根据所述当前宏程序加工代码的数控系统类型,加载相应数控系统代码解析器; 通过所述相应数控系统代码解析器解析所述当前段,生成内部统一数据。
3.根据权利要求2所述的通用代码转换方法,其特征在于,还包括以下步骤 当解析所述当前宏程序加工代码出现问题时,显示错误信息。
4.根据权利要求1所述的通用代码转换方法,其特征在于,根据所述内部统一数据得 到语句树步骤包括将所述内部统一数据中各个语句以及所述各个语句之间的关系表示为语句树。
5.根据权利要求1所述的通用代码转换方法,其特征在于,根据目标数控机床的配置 文件中的控制参数,将所述语句树转换为目标加工代码步骤包括若目标加工代码为G代码,遍历所述语句树,分别执行所述语句树的每一分支对应的 程序段语句,得到加工轨迹;根据目标数控机床的配置文件中的控制参数,将所述加工轨迹转换为设定类型的目标 加工G代码。
6.根据权利要求1所述的通用代码转换方法,其特征在于,根据目标数控机床的配置 文件中的控制参数,将所述加工轨迹转换为目标加工代码步骤包括若目标加工代码为宏程序代码,根据目标数控机床的配置文件中的控制参数,遍历所 述语句树,将所述语句树的各个语句转换为设定类型的目标宏程序代码。
7.一种基于宏程序的通用代码转换装置,其特征在于,包括反读模块,用于对当前宏程序加工代码的当前段进行反读,将所述当前段转换为内部 统一数据;语句树模块,用于根据所述内部统一数据得到语句树;判断模块,用于判断所述当前宏程序加工代码的反读是否结束,如果是,发送输出指令 到输出模块,否则,发送反读指令到所述反读模块;所述输出模块,用于根据目标数控机床的配置文件中的控制参数,将所述语句树转换 为目标加工代码。
8.根据权利要求7所述的通用代码转换装置,其特征在于,所述反读模块包括 读入单元,用于读入当前宏程序加工代码的当前段;加载单元,用于根据所述当前宏程序加工代码的数控系统类型,加载相应数控系统代 码解析器;解析单元,用于通过所述相应数控系统代码解析器解析所述当前段,生成内部统一数据。
9.根据权利要求8所述的通用代码转换装置,其特征在于,还包括错误提示模块,用于当解析所述当前宏程序加工代码出现问题时,显示错误信息。
10.根据权利要求7所述的通用代码转换装置,其特征在于,所述输出模块包括选择单元,用于根据机床配置文件中的控制参数判断目标加工代码是否为G代码,如 果是,则选择所述代码执行单元执行所述语句树,否则,选择宏程序代码转换单元进行代码 转换;所述代码执行单元,用于执行所述语句树的各个语句,得到内部轨迹数据; 所述G代码转换单元,用于根据所述目标数控机床的配置文件中的控制参数,将所述 内部轨迹数据转换为设定类型的目标加工G代码;所述宏程序转换单元,用于根据目标数控机床的配置文件中的控制参数,将所述语句 树的各个语句转换为设定类型的目标宏程序代码。
全文摘要
本发明公开了一种基于宏程序的通用代码转换方法及装置,其中该方法包括以下步骤a、对当前加工代码的当前段进行反读,将该当前段转换为内部统一数据;b、根据内部统一数据得到语句树;c、判断当前宏程序加工代码的反读是否结束,如果是,执行步骤d,否者,执行步骤a;d、根据目标数控机床的配置文件中的控制参数,将语句树转换为目标加工代码。本发明节省了代码转换的时间,提高了效率,并避免了人工进行代码转换时容易出现的错误,提高了产品的合格率。
文档编号G05B19/4097GK102081378SQ20101053258
公开日2011年6月1日 申请日期2010年11月1日 优先权日2010年11月1日
发明者白俊涛, 贾喜存, 高玉凤 申请人:北京数码大方科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1