CN102081378A - 基于宏程序的通用代码转换方法及装置 - Google Patents
基于宏程序的通用代码转换方法及装置 Download PDFInfo
- Publication number
- CN102081378A CN102081378A CN2010105325872A CN201010532587A CN102081378A CN 102081378 A CN102081378 A CN 102081378A CN 2010105325872 A CN2010105325872 A CN 2010105325872A CN 201010532587 A CN201010532587 A CN 201010532587A CN 102081378 A CN102081378 A CN 102081378A
- Authority
- CN
- China
- Prior art keywords
- code
- macroprogram
- statement
- machining
- converted
- 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
Images
Landscapes
- Numerical Control (AREA)
Abstract
本发明公开了一种基于宏程序的通用代码转换方法及装置,其中该方法包括以下步骤:a、对当前加工代码的当前段进行反读,将该当前段转换为内部统一数据;b、根据内部统一数据得到语句树;c、判断当前宏程序加工代码的反读是否结束,如果是,执行步骤d,否者,执行步骤a;d、根据目标数控机床的配置文件中的控制参数,将语句树转换为目标加工代码。本发明节省了代码转换的时间,提高了效率,并避免了人工进行代码转换时容易出现的错误,提高了产品的合格率。
Description
技术领域
本发明涉及数控机床领域,具体而言,涉及一种基于宏程序的通用代码转换方法及装置。
背景技术
为了提高生产效率,各制造企业都大量采用数控设备进行产品加工。由于这些数控设备未必是一次性购进,因此其配套的数控系统也就可能各不相同。基本上,各数控系统的代码是互不兼容的。在一台数控机床上加工的代码,若换到其他机床上加工,往往需要返回工艺编制部门,由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中的加工代码为:
O0001;
#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代码程序。该项技术应用在加工设备多样化的企业,可以极大的提高编程技术人员的工作效率,节约数控加工代码的修改时间,有效地保证了加工设备转换后的加工质量,提高了产品的合格率。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (10)
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代码;
所述宏程序转换单元,用于根据目标数控机床的配置文件中的控制参数,将所述语句树的各个语句转换为设定类型的目标宏程序代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105325872A CN102081378A (zh) | 2010-11-01 | 2010-11-01 | 基于宏程序的通用代码转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105325872A CN102081378A (zh) | 2010-11-01 | 2010-11-01 | 基于宏程序的通用代码转换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102081378A true CN102081378A (zh) | 2011-06-01 |
Family
ID=44087384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105325872A Pending CN102081378A (zh) | 2010-11-01 | 2010-11-01 | 基于宏程序的通用代码转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102081378A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104914790A (zh) * | 2015-06-29 | 2015-09-16 | 遵义宏港机械有限公司 | 一种扩展式数控铣床编码系统 |
CN106959670A (zh) * | 2017-03-24 | 2017-07-18 | 金华市佛尔泰精密机械制造有限公司 | 一种利用数控宏程序加工齿条的工艺 |
CN110488755A (zh) * | 2019-08-21 | 2019-11-22 | 江麓机电集团有限公司 | 一种数控g代码的转换方法 |
CN111857698A (zh) * | 2020-07-02 | 2020-10-30 | 苏州谷夫道自动化科技有限公司 | 宏程序的配置方法及装置 |
CN112987653A (zh) * | 2019-12-17 | 2021-06-18 | 深圳市恒控科技有限公司 | 一种将中文程序转化为g代码的方法和装置 |
CN115601527A (zh) * | 2022-11-28 | 2023-01-13 | 大方智造(天津)科技有限公司(Cn) | 一种基于g代码的创建试削毛坯方法 |
-
2010
- 2010-11-01 CN CN2010105325872A patent/CN102081378A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104914790A (zh) * | 2015-06-29 | 2015-09-16 | 遵义宏港机械有限公司 | 一种扩展式数控铣床编码系统 |
CN106959670A (zh) * | 2017-03-24 | 2017-07-18 | 金华市佛尔泰精密机械制造有限公司 | 一种利用数控宏程序加工齿条的工艺 |
CN110488755A (zh) * | 2019-08-21 | 2019-11-22 | 江麓机电集团有限公司 | 一种数控g代码的转换方法 |
CN112987653A (zh) * | 2019-12-17 | 2021-06-18 | 深圳市恒控科技有限公司 | 一种将中文程序转化为g代码的方法和装置 |
CN112987653B (zh) * | 2019-12-17 | 2022-04-15 | 深圳市恒控科技有限公司 | 一种将中文程序转化为g代码的方法和装置 |
CN111857698A (zh) * | 2020-07-02 | 2020-10-30 | 苏州谷夫道自动化科技有限公司 | 宏程序的配置方法及装置 |
CN111857698B (zh) * | 2020-07-02 | 2024-04-12 | 苏州谷夫道自动化科技有限公司 | 宏程序的配置方法及装置 |
CN115601527A (zh) * | 2022-11-28 | 2023-01-13 | 大方智造(天津)科技有限公司(Cn) | 一种基于g代码的创建试削毛坯方法 |
CN115601527B (zh) * | 2022-11-28 | 2023-03-10 | 大方智造(天津)科技有限公司 | 一种基于g代码的创建试削毛坯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081378A (zh) | 基于宏程序的通用代码转换方法及装置 | |
Overby | CNC machining handbook: building, programming, and implementation | |
Park et al. | Plant model generation for PLC simulation | |
CN104793567A (zh) | 数控加工程序转换方法和装置 | |
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
US20130096695A1 (en) | Method for configuring a control device | |
CN101763072A (zh) | 数控加工代码的转换方法和装置 | |
Safaieh et al. | A novel methodology for cross-technology interoperability in CNC machining | |
Slavkovic et al. | An indirect method of industrial robot programming for machining tasks based on STEP-NC | |
CN101556471B (zh) | 空间管架的cam系统 | |
CN103955869A (zh) | 电厂设备元件KKs编码自动生成方法 | |
Nassehi et al. | Toward interoperable CNC manufacturing | |
CN102540974B (zh) | 一种数控代码的转换方法 | |
CN101436051A (zh) | 用于数控加工代码转换及检验的方法 | |
Heusinger et al. | Integrating the CAx process chain for STEP-compliant NC manufacturing of asymmetric parts | |
CN106933568A (zh) | 一种组态软件系统及一种工业控制方法 | |
CN103870540A (zh) | 一种基于结构设计分析一体化的数据库 | |
CN105659175A (zh) | 配置自动化系统的处理设备与方法 | |
Lee et al. | Development of a PC-based milling machine operated by STEP-NC in XML format | |
Lundgren et al. | Model-driven process planning and quality assurance | |
CN105137919B (zh) | 一种生成特征阵列数控宏程序的方法 | |
CN103116319B (zh) | 数控系统中实现加工刀具自动选用控制的方法 | |
Olbort et al. | Integration of Communication using OPC UA in MBSE for the Development of Cyber-Physical Systems | |
CN105512168A (zh) | 一种集群数据库复合加载数据的方法及装置 | |
US10902170B2 (en) | Method for computer assisted planning of a technical system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110601 |