网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 民法论文
  • 经济法论文
  • 国际法论文
  • 法学理论论文
  • 司法制度论文
  • 国家法论文
  • 宪法论文
  • 刑法论文
  • 行政法论文
  • 您的位置:写论文网 > 法学论文 > 国际法论文 > 【NC程序解释分析论文】NC程序 正文 2020-01-02 07:26:35

    【NC程序解释分析论文】NC程序

    相关热词搜索:

    NC程序解释分析论文

    NC程序解释分析论文 在数控加工中,对于复杂零件的加工,如水轮机叶片,用CAD/CAM生成 的基于微小直线段的NC程序能达到几兆。对于这些程序量非常大的NC程序,称 之为巨量NC程序。

    对于专用体系结构的CNC系统,NC程序存储空间有限,在解释巨量NC程 序时,一般采用RS-232通讯接口,边传送边加工,加工复杂零件较不便,同时也 增加了数控加工系统的成本,降低了数控加工的可靠性。对于基于工业PC平台 的CNC系统,只有640k的基本内存,由于操作系统和CNC系统控制软件占用一定 的内存空间,当要解释运行巨量NC程序时,一般将巨量NC程序分成多个程序块, 系统根据每块程序大小进行内存分配,如分配不合理,则需重新分块,这给操作 带来不便。华中Ⅰ型CNC系统以工业PC为平台,对于巨量程序的加工,通过使 用系统的扩展内存实现巨量NC程序的解释,同时要兼容处理类似高级语言 BASIC编写的NC程序。根据用户的加工程序的最大需要,来配置系统的扩展内 存。系统使用扩展内存,充分利用PC的软件资源,使用扩展内存设备管理程序 EMM386.EXE,用DOS的67H号中断对高端内存的物理页的读写,完成对扩展内 存的逻辑页操作[1]。CNC系统运行前,需在CONFIG.SYS文件中装载:
    DEVICE=C:\HIMEM.SYS DEVICE=C:\EMM386.EXE 1NC程序的装载 在NC程序装入之前,检测程序检测有多大的扩展内存,能运行多大的NC 程序,根据所要求加工的NC程序判断能否装载。

    无论是手工编制的NC程序还是巨量NC程序,运行时统一采用扩展内存进 行装载。为了使用系统的扩展内存,需调用DOS的67H中断的多项子功能。首先 申请一个包含一定逻辑页数的句柄,然后把这些扩展内存清空,清空后再把NC 程序调入扩展内存,这样所要加工的NC程序的大小与系统的基本内存无关,只 与系统的扩展内存有关。只要CNC系统的扩展内存满足就能把NC程序装入并投 入运行。NC程序首先装入高端内存的物理页,再通过物理页和逻辑页的映射关 系,把NC程序装入扩展内存逻辑页。程序开始运行以后,可以根据提示的剩余 的内存选择所要编辑的程序。2巨量NC程序的解释 程序装入扩展内存的逻辑页后,对程序的解释操作在高端内存的物理页中 进行,这时要把扩展内存逻辑页的内容分页映射到高端内存的物理页,再对物理 页中的NC程序进行解释。对高端内存的物理页进行操作,必须不断地考虑程序 指针的变换中所涉及的逻辑页的转换以及程序指针的逻辑页数是否超过这个句 柄所拥有的总的逻辑页数等问题[2]。这就要求在程序指针变换时记录下程序指 针所对应的扩展内存上的逻辑页中的逻辑位置,称为程序逻辑指针。把程序指针 在高端内存物理页中的实际物理位置称作程序实际指针。程序逻辑指针在扩展内 存中从逻辑低地址移向逻辑高地址,程序实际指针只是在物理页中往复地从头至 尾地移动,直到所有的程序行解释执行完毕。程序逻辑指针和程序实际指针有一 种对应关系,设计一个结构体来代替基于系统S基本内存的程序解释器的程序指 针,用来记录程序的逻辑位置。

    structPageProgPtr{ charhugeProgPtr;.∥物理页中程序实际指针 intNumOfCurPage;∥当前的逻辑页 intPagenumOfHandle;∥句柄所拥有的逻辑页数 unsignedintHandle;∥当前程序句柄} 在具体的解释器实现中要考虑到程序实际指针和程序逻辑指针处于页首 和页末的情况。当程序实际指针和程序逻辑指针在页首时,程序逻辑指针的下个 位置可能在前一逻辑页末尾,程序实际指针可能要退到物理页的末尾。而当程序 实际指针和程序逻辑指针在页末时,程序逻辑指针的下个位置可能在后一逻辑页 首,程序实际指针可能从物理页的页尾移到物理页的页首。针对这2种情况进行 处理,设计了2个处理函数:
    structPageProgPtrTreatOfFrameEnd(structPageProgPtr);
    structPageProgPtrTreatOfFrameStart(structPageProgPtr);
    通过这种处理保证程序实际指针在物理页中和程序逻辑指针在扩展内存 的逻辑页中的准确性。由于在程序解释时程序实际指针只在物理页中来回变化,而程序逻辑指针 在扩展内存的逻辑页中移动,在解释器的设计中必须把程序实际指针和程序逻辑 指针结合在一起考虑。解释器通过解释高端内存中物理页的内容来完成扩展内存 的NC程序的解释任务。

    解释器解释NC程序所得到的数据送到一个环形缓冲队列中,当填满缓冲 队列后,解释任务就停止。当插补器从解释器中取走数据,使缓形队列中有空单 元时,通过任务调度把解释器再次激活,这样解释器和插补器就能协调工作。

    3关于巨量NC程序和类似高级语言BASIC编写的NC程序兼容处理 在一般NC代码解释器中,只能进行ISO代码的NC程序解释,而对于带有 高级语言特性的一些NC语句如DO―WHILE语句、IF语句、GOTO语句等和宏变 量不支持。对于带有高级语言特性的NC语句的解释有2种方法:第1种方法是做2 个解释器分别对ISO代码的NC程序和类似高级语言编写的NC程序进行解释;
    第2 种方法是做1个兼容的通用解释器,它对2种程序都能处理。第1种方法思路简单, 解释器编程容易,由于ISO代码的NC程序和类似高级语言编写的NC程序只能分 别编写,NC程序的处理能力不强;
    第2种方法解释器编程较难,但程序的解释功 能较强,在ISO代码的程序中可以带有一些高级语言特性的语句如DO―WHILE 语句,这样用户所编写的NC程序的处理功能可以很强。

    在华中Ⅰ型CNC系统的解释器中,采用的是第2种方法,进行巨量NC程序 和类似高级语言编写的NC程序进行兼容处理,保证在巨量NC程序中也能加入一 些高级语言的特性,这就要进行类似高级语言的表达式计算、子程序的调用和程 序跳转等高级语言处理过程。

    在基于基本内存的NC程序解释器中,对于类似高级语言BASIC编写的NC 程序的子程序标号和跳转标号的处理一般先通过扫描整个程序而形成子程序表 和标号表,再每次遇到NC调用子程序或执行跳转程序时,通过查表来找到子程 序的地址或跳转的目的地址。这样不仅浪费内存,而且影响解释任务的执行速度。

    如果NC标号非常多,就会占用较多的基本内存,而且解释程序的速度非常慢, 特别是CAD/CAM所生成的巨量NC程序,基本上每行都有N标号,更容易出现这 样的问题。由于使用扩展内存不仅要对一般的手工编制的较短NC程序进行处理, 而且要对巨量NC程序进行处理,采用直接寻址,每次遇到子程序和跳转程序指 令时,通过比较标号,找到目的地址执行,这样既节省系统的基本内存,又提高 系统的处理速度和CNC运行的稳定性。通过2个函数来解决这个问题:structPageProgPtrFind_Nlabel(structPageProgPtr);
    structPageProgPtrFind_Ocode(structPageProgPtr);
    4扩展内存的资源竞争问题 为了节约基本内存,要编辑的程序也装入扩展内存,这也通过一个句柄进 行操作。在程序的编辑时,所要编辑的程序从扩展内存的逻辑页轮流装入高端内 存的物理页,所有程序的编辑都在高端内存进行,从而保证在程序编辑过程不占 用基本内存。

    由于所编辑程序和运行的程序都是通过高端内存对扩展内存进行操作,存 在资源竞争的问题。在系统中,扩展内存都是通过句柄进行操作的,通过 EMM386.EXE文件对扩展内存的逻辑页进行管理,只要能申请到相应扩展内存的 句柄,就能保证扩展内存的逻辑页使用不发生冲突。在高端内存中,总共有每页 16k的4页物理页,把这些物理页进行分配,程序解释运行使用第1页,而程序编 辑使用第2页,由于EMM386.EXE程序本身能保证67H中断的重入问题,通过这 样内存的分配方式,解决了扩展内存资源竞争问题[3]。

    5结束语 笔者利用系统的扩展内存实现了在CNC系统中解释巨量NC程序。基于系 统扩展内存所做的NC解释器和编辑器使运行程序和编辑程序的大小与基本内存 无关,而只与扩展内存有关。计算机可配置的扩展内存越来越大,现已能达到 256M,而现阶段8M的扩展内存已能满足一般巨量NC程序运行和编辑的要求, 这给更复杂零件加工程序一次装载解释运行提供更大的方便。同时,在多通道的 CNC系统软件中,由于每增加一个通道大约要增加到最大20k到30k的内存开销, 解释器和编辑器利用扩展内存也能让多通道CNC系统增加更多的通道数,控制更 多的独立过程,这对FMS、CIMS的实现也有一定的意义。采用该方法所设计的 NC代码解释器,已运用到华中Ⅰ型数控系统上。

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    【NC程序解释分析论文】NC程序》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.