CN111538505B - 一种纵切程序编辑及语法检查系统 - Google Patents
一种纵切程序编辑及语法检查系统 Download PDFInfo
- Publication number
- CN111538505B CN111538505B CN202010327044.0A CN202010327044A CN111538505B CN 111538505 B CN111538505 B CN 111538505B CN 202010327044 A CN202010327044 A CN 202010327044A CN 111538505 B CN111538505 B CN 111538505B
- Authority
- CN
- China
- Prior art keywords
- program
- instruction
- editing
- grammar
- channel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Numerical Control (AREA)
Abstract
本发明公开一种纵切程序编辑及语法检查系统,包括有纵切机床上的主系统,所述纵切机床设有双通道FANUC控制系统,且双通道FANUC控制系统由两组数控程序分别控制纵切机床的主轴部分和副轴部分,两组所述数控程序分别为第一通道程序和第二通道程序,其特征在于:所述主系统设在双通道FANUC控制系统中,所述主系统包括程序编辑模块、语法检查模块和程序超程检查模块;本发明应用于双通道FANUC控制系统中,利用程序编辑模块、语法检查模块和程序超程检查模块来编辑程序、检查程序中的指令、并检测语法进行宏程序检查或一般NC程序检查,具有操作简单,能快速查找出程序中错误的特点。
Description
技术领域
本发明涉及数控程序技术领域,尤其涉及一种纵切程序编辑及语法检查系统。
背景技术
现在市场上程序验证软件有VERICUT、宇龙数控模拟软件、斯沃数控仿真软件等,都没有针对Star SB-20R type G型号和津上 B0205-III型号的纵切机床的验证模块;
有些软件虽然能通过高度的定制来实现程序的验证,但操作复杂,软件价格昂贵,因此,本发明提出一种纵切程序编辑及语法检查系统以解决现有技术中存在的问题。
发明内容
针对上述问题,本发明的目的在于提出一种纵切程序编辑及语法检查系统,该纵切程序编辑及语法检查系统利用程序编辑模块、语法检查模块和程序超程检查模块来编辑程序、检查程序中的指令、并检测语法进行宏程序检查或一般NC程序检查,具有操作简单,能快速查找出程序中错误的特点。
为实现本发明的目的,本发明通过以下技术方案实现:一种纵切程序编辑及语法检查系统,包括有纵切机床上的主系统,所述纵切机床设有双通道FANUC控制系统,且双通道FANUC控制系统由两组数控程序分别控制纵切机床的主轴部分和副轴部分,两组所述数控程序分别为第一通道程序和第二通道程序,所述主系统设在双通道FANUC控制系统中,所述主系统包括程序编辑模块、语法检查模块和程序超程检查模块,所述程序编辑模块用于对数控程序进行编辑,所述程序超程检查模块检查数控程序中的指令是否超出机床行程,所述语法检查模块用于对数控程序进行语法检查,所述数控程序由程序段构成,且程序段由字地址构成。
进一步改进在于:所述程序编辑模块用于打开、保存、另存数控程序;剪切、赋值、粘贴文本;查找指定程序行,查找和替换指定文本;文本编辑撤消;子程序路径的添加、删除;子程序的打开、保存、关闭;剪切、赋值、粘贴和快速输入程序头、程序尾。
进一步改进在于:所述程序超程检查模块同时放置第一文本框、第二文本框、第三文本框,并通过LoadFile函数分别将第一通道程序和第二通道程序读入到第一文本框和第二文本框中,所述第三文本框用来显示程序中的语法错误,且通过对第一文本框和第二文本框的TEXT属性的操作来实现对两侧程序的编辑、查找操作。
进一步改进在于:所述语法检查模块在语法检查中分两步:先对数控程序进行预处理,去除程序中的空格,以行为单位,将第一通道程序和第二通道程序分别赋值给一维字符串数组,该字符串数组的下标即为程序的行号,字符串数组的每一项内容为数控程序的程序段;然后判断程序段是否是宏指令,当程序段是宏指令时,对进行宏程序检查,当程序段不是宏指令时,针对一般NC程序进行检查,所述语法检查模块中设有子程序strblock,且子程序strblock包含所述程序段中所有字地址的集合变量,通过提取字地址的子程序名、提取字地址将程序段以字地址的格式分割出来,并将程序段中的所有字地址都存入到lstword集合变量中;所述语法检查模块中设有字地址检查模块,且字地址检查模块对所有字地址进行检查;所述语法检查模块利用等待指令为界完成第一通道程序和第二通道程序的检测。
进一步改进在于:所述主系统采用双视图界面设置在显示端对第一通道程序和第二通道程序编辑、对照。
进一步改进在于:所述语法检查模块检测的错误包括:出现小写字母,[]号不匹配;非法字地址;非法G代码;非法M代码;小数点错误;同组G代码;缺少G17/G18/G19;无M5指令:未执行主轴停止M5指令便执行了主轴锁定M6指令;无M9指令:C1轴M8中,进行了主轴的回转,C1轴M8中,进行了主轴的同步回转指令;无S指令;无M83指令;无M7指令;工具编号在范围以外;同步代码不匹配;无M8指令:C轴指令之前没有给M8指令;无M25指令。
进一步改进在于:判断程序段是否是宏指令的判断标准为:检测该程序段是否包含“IF”、“GOTO”、“WHILE”和“=”字符串。
进一步改进在于:所述宏程序检查的处理流程为:IF宏程序段检查、WHILE宏程序检查、赋值程序段检查、IF语句处理、WHILE语句处理和赋值语句处理。
进一步改进在于:所述主系统针对一般NC程序进行检查,所述程序段是由字地址组成,而程序段是一行字符串文本,所述主系统利用子程序strblock将程序段以字地址的格式分割出来进行检查。
进一步改进在于:所述纵切机床中,所识别的字地址包括:N、G、M、T、X、Y、Z、U、V、W、C、H、I、J、K、F、R、S、P、Q、/。
本发明的有益效果为:本发明基于VB.NET开发并应用于Star SB-20R type G型号和津上B0205-III型号纵切机床的双通道FANUC控制系统中,利用程序编辑模块、语法检查模块和程序超程检查模块来编辑程序、检查程序中的指令、并检测语法进行宏程序检查或一般NC程序检查,具有操作简单,能快速查找出程序中错误的特点,同时,利用子程序strblock,将程序段以字地址的格式分割出来,配合字地址检查模块,对所有字地址进行检查,再利用等待指令为界完成第一通道程序和第二通道程序的检测,程序验证时间短,大大提高了效率。
附图说明
图1为本发明的语法检查流程示意图;
图2为本发明的字地址检查流程示意图;
图3为本发明的两通道程序检测流程示意图;
图4为本发明的宏程序检查处理流程示意图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例对本发明做进一步详述,本实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
根据图1、2、3、4所示,本实施例提供了一种纵切程序编辑及语法检查系统,包括有纵切机床上的主系统,所述纵切机床设有双通道FANUC控制系统,且双通道FANUC控制系统由两组数控程序分别控制纵切机床的主轴部分和副轴部分,两组所述数控程序分别为第一通道程序和第二通道程序,所述主系统设在双通道FANUC控制系统中,所述主系统包括程序编辑模块、语法检查模块和程序超程检查模块,所述程序编辑模块用于对数控程序进行编辑,所述程序超程检查模块检查数控程序中的指令是否超出机床行程,所述语法检查模块用于对数控程序进行语法检查,所述数控程序由程序段构成,且程序段由字地址构成。
所述程序编辑模块用于打开、保存、另存数控程序;剪切、赋值、粘贴文本;查找指定程序行,查找和替换指定文本;文本编辑撤消;子程序路径的添加、删除;子程序的打开、保存、关闭;剪切、赋值、粘贴和快速输入程序头、程序尾。
所述程序超程检查模块同时放置第一文本框、第二文本框、第三文本框,并通过LoadFile函数分别将第一通道程序和第二通道程序读入到第一文本框和第二文本框中,所述第三文本框用来显示程序中的语法错误,且通过对第一文本框和第二文本框的TEXT属性的操作来实现对两侧程序的编辑、查找操作。
所述语法检查模块在语法检查中分两步:先对数控程序进行预处理,去除程序中的空格,以行为单位,将第一通道程序和第二通道程序分别赋值给一维字符串数组,该字符串数组的下标即为程序的行号,字符串数组的每一项内容为数控程序的程序段;然后判断程序段是否是宏指令,当程序段是宏指令时,对进行宏程序检查,当程序段不是宏指令时,针对一般NC程序进行检查,所述语法检查模块中设有子程序strblock,且子程序strblock包含所述程序段中所有字地址的集合变量,通过提取字地址的子程序名、提取字地址将程序段以字地址的格式分割出来,并将程序段中的所有字地址都存入到lstword集合变量中;所述语法检查模块中设有字地址检查模块,且字地址检查模块对所有字地址进行检查;所述语法检查模块利用等待指令为界完成第一通道程序和第二通道程序的检测。
所述主系统采用双视图界面设置在显示端对第一通道程序和第二通道程序编辑、对照。
所述语法检查模块检测的错误包括:出现小写字母,[]号不匹配;非法字地址;非法G代码;非法M代码;小数点错误;同组G代码;缺少G17/G18/G19;无M5指令:未执行主轴停止M5指令便执行了主轴锁定M6指令;无M9指令:C1轴M8中,进行了主轴的回转,C1轴M8中,进行了主轴的同步回转指令;无S指令;无M83指令;无M7指令;工具编号在范围以外;同步代码不匹配;无M8指令:C轴指令之前没有给M8指令;无M25指令。
判断程序段是否是宏指令的判断标准为:检测该程序段是否包含“IF”、“GOTO”、“WHILE”和“=”字符串。
所述宏程序检查的处理流程为:IF宏程序段检查、WHILE宏程序检查、赋值程序段检查、IF语句处理、WHILE语句处理和赋值语句处理。
所述主系统针对一般NC程序进行检查,所述程序段是由字地址组成,而程序段是一行字符串文本,所述主系统利用子程序strblock将程序段以字地址的格式分割出来进行检查。
所述纵切机床中,所识别的字地址包括:N、G、M、T、X、Y、Z、U、V、W、C、H、I、J、K、F、R、S、P、Q、/。
本发明基于VB.NET开发并应用于Star SB-20R type G型号和津上B0205-III型号纵切机床的双通道FANUC控制系统中,利用程序编辑模块、语法检查模块和程序超程检查模块来编辑程序、检查程序中的指令、并检测语法进行宏程序检查或一般NC程序检查,具有操作简单,能快速查找出程序中错误的特点,同时,利用子程序strblock,将程序段以字地址的格式分割出来,配合字地址检查模块,对所有字地址进行检查,再利用等待指令为界完成第一通道程序和第二通道程序的检测,程序验证时间短,大大提高了效率。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (9)
1.一种纵切程序编辑及语法检查系统,包括有纵切机床上的主系统,所述纵切机床设有双通道FANUC控制系统,且双通道FANUC控制系统由两组数控程序分别控制纵切机床的主轴部分和副轴部分,两组所述数控程序分别为第一通道程序和第二通道程序,其特征在于:所述主系统设在双通道FANUC控制系统中,所述主系统包括程序编辑模块、语法检查模块和程序超程检查模块,所述程序编辑模块用于对数控程序进行编辑,所述程序超程检查模块检查数控程序中的指令是否超出机床行程,所述语法检查模块用于对数控程序进行语法检查,所述数控程序由程序段构成,且程序段由字地址构成,所述语法检查模块在语法检查中分两步:先对数控程序进行预处理,去除程序中的空格,以行为单位,将第一通道程序和第二通道程序分别赋值给一维字符串数组,该字符串数组的下标即为程序的行号,字符串数组的每一项内容为数控程序的程序段;然后判断程序段是否是宏指令,当程序段是宏指令时,对进行宏程序检查,当程序段不是宏指令时,针对一般NC程序进行检查,所述语法检查模块中设有子程序strblock,且子程序strblock包含所述程序段中所有字地址的集合变量,通过提取字地址的子程序名、提取字地址将程序段以字地址的格式分割出来,并将程序段中的所有字地址都存入到lstword集合变量中;所述语法检查模块中设有字地址检查模块,且字地址检查模块对所有字地址进行检查;所述语法检查模块利用等待指令为界完成第一通道程序和第二通道程序的检测。
2.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述程序编辑模块用于打开、保存、另存数控程序;剪切、赋值、粘贴文本;查找指定程序行,查找和替换指定文本;文本编辑撤消;子程序路径的添加、删除;子程序的打开、保存、关闭;剪切、赋值、粘贴和快速输入程序头、程序尾。
3.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述程序超程检查模块同时放置第一文本框、第二文本框、第三文本框,并通过LoadFile函数分别将第一通道程序和第二通道程序读入到第一文本框和第二文本框中,所述第三文本框用来显示程序中的语法错误,且通过对第一文本框和第二文本框的TEXT属性的操作来实现对两侧程序的编辑、查找操作。
4.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述主系统采用双视图界面设置在显示端对第一通道程序和第二通道程序编辑、对照。
5.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述语法检查模块检测的错误包括:出现小写字母,[]号不匹配;非法字地址;非法G代码;非法M代码;小数点错误;同组G代码;缺少G17/G18/G19;无M5指令:未执行主轴停止M5指令便执行了主轴锁定M6指令;无M9指令:C1轴M8中,进行了主轴的回转,C1轴M8中,进行了主轴的同步回转指令;无S指令;无M83指令;无M7指令;工具编号在范围以外;同步代码不匹配;无M8指令:C轴指令之前没有给M8指令;无M25指令。
6.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:判断程序段是否是宏指令的判断标准为:检测该程序段是否包含“IF”、“GOTO”、“WHILE”和“=”字符串。
7.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述宏程序检查的处理流程为:IF宏程序段检查、WHILE宏程序检查、赋值程序段检查、IF语句处理、WHILE语句处理和赋值语句处理。
8.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述主系统针对一般NC程序进行检查,所述程序段是由字地址组成,而程序段是一行字符串文本,所述主系统利用子程序strblock将程序段以字地址的格式分割出来进行检查。
9.根据权利要求1所述的一种纵切程序编辑及语法检查系统,其特征在于:所述纵切机床中,所识别的字地址包括:N、G、M、T、X、Y、Z、U、V、W、C、H、I、J、K、F、R、S、P、Q、/。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327044.0A CN111538505B (zh) | 2020-04-23 | 2020-04-23 | 一种纵切程序编辑及语法检查系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327044.0A CN111538505B (zh) | 2020-04-23 | 2020-04-23 | 一种纵切程序编辑及语法检查系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538505A CN111538505A (zh) | 2020-08-14 |
CN111538505B true CN111538505B (zh) | 2023-04-25 |
Family
ID=71977189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327044.0A Active CN111538505B (zh) | 2020-04-23 | 2020-04-23 | 一种纵切程序编辑及语法检查系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538505B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068509A (zh) * | 2015-07-15 | 2015-11-18 | 西安航空动力股份有限公司 | 一种数控机床超程保护及解除系统 |
CN105415069A (zh) * | 2015-12-24 | 2016-03-23 | 西北工业大学 | 一种管接件自动上下料系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04316139A (ja) * | 1991-04-15 | 1992-11-06 | Nec Corp | プログラム構文エディタの構文チェック方式 |
JPH06119024A (ja) * | 1992-10-06 | 1994-04-28 | Fanuc Ltd | 数値制御装置のオーバトラベル検出方式 |
JP2005310056A (ja) * | 2004-04-26 | 2005-11-04 | Mitsubishi Electric Corp | プログラム実行制御方式 |
US20070016401A1 (en) * | 2004-08-12 | 2007-01-18 | Farzad Ehsani | Speech-to-speech translation system with user-modifiable paraphrasing grammars |
US9542168B2 (en) * | 2011-11-10 | 2017-01-10 | Microsoft Technology Licensing Llc | Hostable compiler utilizing type information from a host application |
US9720652B2 (en) * | 2015-08-06 | 2017-08-01 | Symphore, LLC | Generating a software complex using superordinate design input |
US11003428B2 (en) * | 2016-05-25 | 2021-05-11 | Microsoft Technolgy Licensing, Llc. | Sample driven profile guided optimization with precise correlation |
-
2020
- 2020-04-23 CN CN202010327044.0A patent/CN111538505B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068509A (zh) * | 2015-07-15 | 2015-11-18 | 西安航空动力股份有限公司 | 一种数控机床超程保护及解除系统 |
CN105415069A (zh) * | 2015-12-24 | 2016-03-23 | 西北工业大学 | 一种管接件自动上下料系统 |
Non-Patent Citations (1)
Title |
---|
C Zhao.A Grammar-based reverse engineering framework for behavior verification.11th ieee high assurance systems engineering.2008,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111538505A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101206467B (zh) | 通用数控代码解析方法 | |
CN103365838B (zh) | 基于多元特征的英语作文语法错误自动纠正方法 | |
CN107710086B (zh) | 平移模块、处理模块及控制系统 | |
CN102508654B (zh) | 嵌入式可编程控制器的梯形图编辑器设计方法 | |
CN107193745B (zh) | PLC程序到NuSMV输入模型的自动化构建方法 | |
CN104850570B (zh) | A2l文件自动生成方法及系统 | |
CN107992306A (zh) | 一种航电软件接口实现一致性自动检查方法 | |
CN103268362A (zh) | 基于通用模板和关键字符匹配的虚端子辅助设计方法 | |
CN109274178B (zh) | 一种电力调度前置运行信息的自动化分析系统和方法 | |
CN106341257A (zh) | 一种自定义日志解析规则并自动解析日志的方法和工具 | |
CN101763072A (zh) | 数控加工代码的转换方法和装置 | |
CN112181949A (zh) | 一种在线数据建模的方法及装置 | |
CN111538505B (zh) | 一种纵切程序编辑及语法检查系统 | |
CN111402383A (zh) | 应用于Houdini的Revit模型处理方法 | |
CN112668292B (zh) | 一种从系统配置规则中自动提取追踪矩阵的方法及其应用 | |
CN114064009A (zh) | 圆孔铣削的加工方法及加工装置、电子设备、存储介质 | |
CN113553055A (zh) | 一种基于机器学习的可视化图表代码自动生成方法 | |
CN105159232A (zh) | 一种处理工艺文件的方法及装置 | |
CN107664982A (zh) | 一种以平滑切削功率为目标对刀具轨迹进行优化的方法 | |
CN106933568A (zh) | 一种组态软件系统及一种工业控制方法 | |
CN106776275A (zh) | 一种基于分组复用的测试流程自动生成方法 | |
CN108845804A (zh) | 一种基于cycle循环的数控代码解释器的设计方法 | |
CN104133421A (zh) | 一种基于流程控制的运动控制代码解析方法 | |
CN113885937A (zh) | 一种基于通用性的rpa元素修复方法 | |
CN111160018A (zh) | 电气图纸非元器件文本识别方法、系统及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |