关于数控系统中通用数控程序处理器的研究翻译(翻译成中文)_第1页
关于数控系统中通用数控程序处理器的研究翻译(翻译成中文)_第2页
关于数控系统中通用数控程序处理器的研究翻译(翻译成中文)_第3页
关于数控系统中通用数控程序处理器的研究翻译(翻译成中文)_第4页
关于数控系统中通用数控程序处理器的研究翻译(翻译成中文)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于数控系统中一种通用数控程序处理器的研究 摘要 抽象数控程序处理在数控加工中起着举足轻重的作用。 现有的数控系统 仅仅支持输入特定数控程序的数控机床,这就限制了许多具有相同功能不同版 本的数控程序潜在的应用性。为了更合理的掌握数控程序的种类,开发通用的 数控程序处理器可以接收和处理任何种类的数控程序。这种处理器由两个主要 部分组成:第一是数控词典,即由一个数控规范字典生成器从相关的数控术语 中生成。第二个是翻译引擎,检查不同输入的数控程序,并生成数控规范词典 和规范加工函数库的翻译引擎。最后,建立起来的原型系统用来评估跟在一个 成功的专题研究后的计划中的设计。 关键字:数控程序处理器。数控规范词典。解释引擎。简洁加工功能。 1导言 在现代计算机数控系统中,数控程序处理器 (NCPP) 是一个非常重要的组 件,它产生于计算机辅助制造系统在精确地解决加工目的的过程中。正如图 1 所示,NCPP 的主要功能包括需求数控程序,检查句法,设定规范或者错误控制。 在接下来的单元中,移动命令和 PLC 命令协调器将要分别的分配这些输出部分 到运动控制处理器和逻辑控制处理器。 图 1 数控系统中数控程序处理器的功能 在计算机数字控制系统中,大部分数控程序处理器能够仅仅处理一个特殊 的数控程序版本,所以市面上存在许多版本的数控程序,它们彼此不能够兼容, 因此,数控程序的差异性使机床的使用者困苦不堪。由于从同一个供应商比不 关于数控系统中一种通用数控程序处理器的研究 - 1 - 同的供应商提供的机床中安装的数控程序更难区分,尤其是那些从同一供应商 购买的不同型号的数控机床中安装了不同的计算机程序控制器。这种情形的出 现源于以下几种事实: 首先,尽管市场上有一些旧的数控程序标准,但是真正意义上的数控程序 标准却是不存在的。自从发明了计算机程序控制技术,市面上存在三种基本的 标准: RS274D (美国) 、 ISO6983 (ISO) 和 DIN66025 (欧洲) 。与此相反的是, 机 床及控制技术从那以后有了巨大的发展。许多新的功能和专用控制器部分不被 这些已经加到计算机程序控制的数控标准所支持。 其次,不同的计算机程序控制供应商大大延拓了他们的数控标准去适应他 们自己的特殊功能。一个典型的例子是被每一个供应商添加的专用插入功能。 这源于不同的计算机程序控制系统中交换数控中的困难。因此,甚至有些用户 必须为每一台数控机床编制一套数控程序。他们拥有来自同一个供应商的不同 型号的数控机床。这些数控机床却装备了不同的数控系统。这种情况甚至发生 在同样的有些刚过时功能的计算机数控系统中。 一般的,比较老一些的数控程序不能容易地应用到新的系统中去。其中一 个解决的办法是修改现存的程序重新应用到旧程序上去。有两种方法来修改加 工程序: 手动编程和自动编程。对于手工编程来说,它仍然在工业中占据着大 部分的应用场合,它只依赖于技术人员的经验。这种编程经常需要不同种类的 计算机数控的专业知识,尽管计算机数控机床的提供者经常说仅仅不到 5%的程 序是需要改变的。数控机床的使用者必须花费大量的时间和金钱来训练他们的 编程人员或操作人员,不同的计算机控制器需要不同的训练来满足。对于自动 编程来说,后置处理器可以用来产生不同的数控程序用计算机辅助制造软件来 完成。因此,计算机辅助制造系统必须提前准备一些待用的后置处理器。通用 后置处理器是另一个解决办法允许终端用户订做一个后置处理器。然而,做一 个专用的后置处理器需要更多经验的技术人员。 为了更有效地从不同的计算机数控系统中重新利用数控编程,一个通用数 控程序处理器被设计成可以处理不同种类的数控程序输入在计算机数控系统中。 一个独立的过程机和专用数控词典结构设计好的数控程序处理器可以容易的翻 译成不同的数控程序。通过应用不同的数控词典,与此同时编程机没有变化。 2 计划中的数控程序处理器的概念模型 2.1 标准加工功能的概念模型 为了实现不同的数控程序的编制过程,引入了中间处理器,它是由一系列 的不同功能组成。 所有的数控程序可以翻译为这些功能。国际标准和技术化组 织把这些功能称为标准加工功 能。这些经典机器功能的一系 列定义列于表格 1 中,已经用 在高性能机器控制器工程和其 他开放的计算机数控程序工程 中。 标准加工功能是原子的命 令。 每个功能生成一个单一的 刀具运动或单个逻辑操作。 一 个 NC 命令通常包含两种类型: 一种是与经典功能需求紧密联 系的单一数控命令,另一种是单 一命令被分解为几种简洁的功能需求,像“径直走”或者“启动冷却剂流”等 短语是第一种类型和“继续钻一圈孔”是第二种类型。 标准加工功能在头脑中被设计成两种实体。 所有的通用三坐标到五坐标加工中心的功能已经被这些功能所覆盖, 任何一台加工中心的任何功能可以输入标准加工功能去完成。 把 RS274 兼容译成数控程序转为标准加工的代码。 2.2 数控程序处理器的概念模型 图 2 显示了设计好的数控程序处理器的概念模型。 它由两个组件组成: 第一部分是专业数控词典,由一个数控字典生成器生成。这种发生器接收专用 数控程序并把它们转化为专用数控词典。例如 ,Fanuc 数控程序规范都转换为 一个 Fanuc 专用数控词典,西门子专用数控程序被转化为西门子专用数控词典。 然后,这些字典保存到词典库中。与此同时,每一个专用数控程序便产生了一 关于数控系统中一种通用数控程序处理器的研究 - 3 - 个标准加工指令数据库。第二部分是一台解释引擎,接受加工程序 (发那科、 三菱等) , 在专用数控词典的支持下,去检查输入程序的语法,如果程序没有语法错误, 它将要把程序翻译为标准加工指令,否则它将要输出错误的信息。 图 2 数控程序处理器的概念模型 这种解决办法将会对数控程序处理器的发展产生巨大的柔性和稳定性。仅 仅过程机的一系列软件密码需要保留,甚至在输入了数控程序,紧接着输入了 专业数控程序,而这种专用数控程序在现存的专用数控词典中是没有的。 一种新的数控专用词典将要产生,而且容易加入其中,不需要从新对过程 机的密码资源进行编译。 若要实施建议的 NCPP,应解决的两个问题:如何定义专用数控词典以及如 何设计引擎。这两个问题是研究的焦点,在接下来的部分中将会解释这两个方 面。 3计划中的数控程序处理器设计 3.1 数控程序规范 这种数控程序由一系列的有关零件加工的顺序指令组成,每条指令以数控 系统可以接受编译和处理的形式予以说明确定。数控程序规范用于描述这些形 式和原则。传统意义上,数控程序规范包含四个项目:特性、指令、程序块和 程序。 特性:一种字符,是数控程序的最小单位。 它可以是三种形式之一:数 字,26 个英文字母和符号,像十进制的小数点数字 0 至 9, 百 分号。 指令: 一个程序词语,是联系字母数字特征创建单一指令如 G01,F100 的字母数字字符的组合,为控制系统的桥梁。正常情况下,每个 单词开头大写字母后, 跟一个程序代码或实际值表示的数字。 程序段:数控程序的一行是一个程序段。它用于多条指令,就像指令用 于数控系统单一指令。 它由一个或几个指令组成。 程序: 程序是程序段的顺序组合起来的,描述两件的加工或者功能,经 常以一个特殊的符号如%开始或结束。 为了定义数控字典,特征被分为地址和数字。地址是一些字母,这些字母 用来描述更在字母后数字的价值。例如 G、 F 和 S 分别意味着准备功能,进 给功能,主轴转速功能。 数据是跟在地址后面的一些数字,这些数字用来指明 功能的价值,例如 S1000,1000 就是数据,这意味着设计的主轴转速为每分钟 1000 转。有时,特别是在手工编程,程序段中包含着一些算术表达式或代数功 能,可以用来产生一个数字。例如, X 1 + 2 ,YSIN 30, 这些表达式和 功能被称为表示式。因此,数据规范可被分为六个子规范:地址、数据、字、 表示式、程序段和程序。 基于以上分析的规范,数控词典的结构可以被明确的定义了。根据规范的 复杂性和翻译引擎的需要,数控规范被分为两组:低级别的组和高级组,如图 3 所示。 低级别的组包括地址、 数据和字。 它们介绍了一些简单的规则,例如地 址的可靠性、 数据的格式和字的可用性。 它们被用在翻译引擎的词汇分析阶 段。 高水平规范包括表示式、程序段和程序规范。它们描述了一些字和程序段之间 的逻辑关系,被用在翻译引擎的语法分析阶段。在它们之间表示式是很特别的, 因为它们是一些表示式的规范或数学公式,如图 3 SIN 30,1 + acos 0- # 3 * 4.0/2,几乎可以被所有的计算机数控编程控制器所识别。在数控 规范送到翻译引擎去检查语 法功能前在前处理阶段被处 理。在被送去检查语法功能 关于数控系统中一种通用数控程序处理器的研究 - 5 - 前,所有的表示式要计算出来被结果所代替。例如,X 3 将替换为例 X1 + 2 , Y0.5 将取代 Y SIN30。 图 3 专用数控 结构 3.2 EBNF和 TCL 语言 EBNF 是一个句法的元语言正式的代表计算机编程语言,该语言由 John Backus 和 Peter Naur 在 1960 年创建的,用来表示 Algol 60 语言的语法自从 那以后,这种语言在表达计算机科学语言的语法功能上变成非常重要的工具。 在 1977 年为 EBNF 颁布了一项国际标准, ISO/IEC 14977, EBNF 表示的一般 定义如下: - 一条语法包括的一个或多个语法规则 ; - 一条语法规则代表了一个等式,等号符号的左边表示所谓的非术语符号, 右边表示一系列的术语符号或非术语符号; - 非术语符号在等号的左边至少出现一次 ; - 在等号上边或下边的术语是术语符号 ; - 对表达式的诠释应用在一个或多个语法规则上。 数控语言可被视为一种类型简单的计算机编程语言 ; 因此很有理由用 EBNF 代替数控编程语法规则,基于此,专用数控词典的结构可以被系统的定义。 EBNF 是一种语法表示形式,以一种特殊的形式从数控手册中提取规范,它 不能植入翻译引擎当中去,所以它不能直接用于语法的分析,它应该翻译为有 决策能力的计算机语言。这里将介绍一种字母系统的语言,刀具命令语言。 TCL 意味着刀具命令语言。 它是一个非常强大,但容易了解的动态编程语 言,它由加利福尼亚大学的教授 John Ousterhout 在 1987 年开发的。它是一 种口译字母语言,提供了一种用普通的表达式检查语法的机制。许多 CAD/CAM 软件如 Unigraphics 后处理器生成器使用它。 最重要的是它可以方便地嵌入 到解释引擎。 因此 TCL 通过编译为 EBNF 用作计算机 语言去表示一种规范。 图 4 显示了使用 EBNF 和 TCL 的语法词典表示方法。 它包括两个步骤: 首先, 数控技术指标提取到 EBNF, 然后 EBNF 被翻译成 TCL 语 法词典。 图 4 语法功能的代表意义 3.3 数控字典的定义 3.3.1 规范表示方法 正如 3.1 节提到的,数控规范可分为低级别的组及高级组。对于低级别的组, 它描述了有关数控编程的基本信息。例如地址、数据和字,它们可以被表格所 解释,用于检查一些词汇规则、地址和数据,如表 2 所示。 这个表定义了地址的一些功能,加上了符号,前导零,整数,小数点,分 数,后置零,情态动词,最小值和最大值。 数控程序是由程序段组成的,而程序段是由字组成的,所以一方面,低水 平的规范将要用在翻译引擎去检查词汇规则,另一方面,低水平规范将要被高 水平规范所使用。TCL 被引进去定义了如下一些信息。 设置 sys_x_axis_dimensionX 设置 sys_rapid_code G00 以上用于定义可变地址、可变子字、模型信息或者是组信息,将要被高级 规范所利用。 对于高级规范,考虑到语法检查方法,定义了两种典型的类型:TCL 语法 表示式和 TCL 过程式。语法检查功能通过两步来执行:语法检查和错误报告。 基于一个假设大多数数控程序段在语法上是正确的。TCL 语法表示式第一部分 用来检查,如果程序段的语法是正确的将要进入下一个程序段。如果程序段的 语法是错误的,第二步错误报告将要被执行,发现是什么错误以及错误在哪里。 3.3.2 语法表示式的结构 TCL 语法表达式被引进是为了表示高级别规格语法。此部分说明如何构造 这些表达式。 以 G01 为例。 关于数控系统中一种通用数控程序处理器的研究 - 7 - 首先,G01 的 EBNF 表示式如下:Coord_Expr + Feed_Mode + Distance_Mode + Unit_Input Plane_Selection + (g01 |G01_MODAL) + Axis_Expr + F_Expr + ST_Expr + Coolant_On + G40_Expr + G53_Expr ; 由 G01 决定的 EBNF 的程序段的语法功能如 G90 G01 X150 Y150 F50 S1000,这种程序段可以用于以上公式。 从这方面的示例可以找到两种类型的元素:操作数和运算符。 运算符是 + |,逻辑关系,可选项,它们用于连接操作数 操作数是一些独立的项目(如 Coord_Expr,Feed_Mode ) 。 该操作数具有四个语法级别:字、专用语、 组和表示式。它们的定义如下, 表示式:描述了程序段的语法规则。 组:设定的所有的字属于同一种类型。 字:一个数控符号。 程序规范表述了程序段之间的逻辑关系,程序规范定义了一些命令执行的顺 序。例如:主轴必须在切削液之前开启。一些模型符号被代表这些关系,因此, 所有的语法检查在程序段中进行,数控程序变成了一种语法语言。 通过逐个程序段地检查语法功能,可以检查完整个程序段的语法功能。 一旦获得 EBNFS,数控词典发生器将要用来把 EBNF 翻译成 TCL 语法表示式 和一些 TCL 过程数据,然后保存到语法词典当中去,然后这些语法词典将要被 用来检查语法。 34 翻译引擎 翻译引擎是一种翻译器,它一段一段地接收数控程序段,然后把它们翻译 成标准加工指令,通过用专用数控词典检查语法功能。图 5 显示翻译引擎的结 构。 图 5 解释引擎 解释引擎的工作流程像电脑中的编译器,编译器的功能是把高级语言翻译 成低级语言,高级语言如 C、 C+ +,Java、低级语言如组合机器指令语言。然 而数控翻译引擎用于把数控程序翻译为标准加工指令。在翻译的过程中,它们 都需要检查语法功能。 根据编译器技术,翻译引擎被设计成三种模块:词汇分析模块,语法分析 模块,代码生成模块。这三种模块用在专用数控词典的不同部分,标准加工词 典数据库检查语法功能输出错误信息和数控加工指令。 3.4.1 词汇分析模块 词汇分析模块检查数控程序中的基于特性的错误。它是翻译引擎的第一大 模块。它逐段的接收数控程序。如果在检查中发现错误,它将输出程序段的词 汇错误,否则它将输出一些错误的信息。 更具体的,这种模块分为三个阶段:地址检查,数据检查和字检查。它们 相应地用专用地址、专用数据、专用字,输出错误的信息,这些检查的功能是 基于特征的,只需要表格形式的专用数控词典的低水平阶段。与此同时,这种 模块取代了一些前处理工作。如程 序中移动空格,计算表示式,为语 法分析模块处理一些程序。 3.4.2 语法分析模块 语法分析模块在翻译引擎中是 最复杂的模块,它采用专用数控词 关于数控系统中一种通用数控程序处理器的研究 - 9 - 典的高级部分检查程序段的语法功能,确保每一个数控程序程序段的逻辑关系 是正确的。 图 6 是详细的语法分析模块。 其输入是前面词汇分析模块的输出部分, 它的输出是没有语法错误的程序段。如果出现了一些错误,他会输出错误的信 息。 图 6 语法分析模块 语法检查通过两部分协同工作 来完成,第一部分是翻译引擎的语 法检查模块,它接收无词汇错误的 程序段,改变设定规范,模型字的 历史,这就是它保留了程序的环境 处理了错误,输出了无语法错误的 程序段。第二部分是刀具命令语言解释器,工作过程像用数控词典检查语法错 误的程序环境。这两部分用同一数据环境结构去分享一些共同的定制标准。 3.4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论