您好!欢迎访问东莞市长安德匠精密五金加工厂网站!
东莞市长安德匠精密五金加工厂
cnc电脑锣加工
专业从事CNC电脑锣加工
精密模具、CNC加工等一站式服务
德匠精密五金:18124350700
4新闻中心
您的位置:首页  ->  新闻中心

关于CNC加工程序兼容处理


东莞CNC电脑锣加工厂|深圳CNC电脑锣加工厂|自动化机器零件加工厂|长安CNC在一般NC代码解释器中,只能进行ISO代码的NCCNC加工程序解释,而对于带有高级语言特性的一些NC语句如DO—WHILE语句、IF语句、GOTO语句等和宏变量不支持。对于带有高级语言特性的NC语句的解释有2种方法:第1种方法是做2个解释器分别对ISO代码的NCCNC加工程序和类似高级语言编写的NCCNC加工程序进行解释;第2种方法是做1个兼容的通用解释器,它对2种CNC加工程序都能处理。第1种方法思路简单,解释器编程容易,由于ISO代码的NCCNC加工程序和类似高级语言编写的NCCNC加工程序只能分别编写,NCCNC加工程序的处理能力不强;第2种方法解释器编程较难,但CNC加工程序的解释功能较强,在ISO代码的CNC加工程序中可以带有一些高级语言特性的语句如DO—WHILE语句,这样用户所编写的NCCNC加工程序的处理功能可以很强。
在华中Ⅰ型CNC系统的解释器中,采用的是第2种方法,进行巨量NCCNC加工程序和类似高级语言编写的NCCNC加工程序进行兼容处理,保证在巨量NCCNC加工程序中也能加入一些高级语言的特性,这就要进行类似高级语言的表达式计算、子CNC加工程序的调用和CNC加工程序跳转等高级语言处理过程。
在基于基本内存的NCCNC加工程序解释器中,对于类似高级语言BASIC编写的NCCNC加工程序的子CNC加工程序标号和跳转标号的处理一般先通过扫描整个CNC加工程序而形成子CNC加工程序表和标号表,再每次遇到NC调用子CNC加工程序或执行跳转CNC加工程序时,通过查表来找到子CNC加工程序的地址或跳转的目的地址。这样不仅浪费内存,而且影响解释任务的执行速度。如果NC标号非常多,就会占用较多的基本内存,而且解释CNC加工程序的速度非常慢,特别是CAD/CAM所生成的巨量NCCNC加工程序,基本上每行都有N标号,更容易出现这样的问题。由于使用扩展内存不仅要对一般的手工编制的较短NCCNC加工程序进行处理,而且要对巨量NCCNC加工程序进行处理,采用直接寻址,每次遇到子CNC加工程序和跳转CNC加工程序指令时,通过比较标号,找到目的地址执行,这样既节省系统的基本内存,又提高系统的处理速度和CNC运行的稳定性。通过2个函数来解决这个问题:
struct PageProgPtr Find_Nlabel(struct PageProgPtr);
struct PageProgPtr Find_Ocode(struct PageProgPtr);
 
4 扩展内存的资源竞争问题
为了节约基本内存,要编辑的CNC加工程序也装入扩展内存,这也通过一个句柄进行操作。在CNC加工程序的编辑时,所要编辑的CNC加工程序从扩展内存的逻辑页轮流装入高端内存的物理页,所有CNC加工程序的编辑都在高端内存进行,从而保证在CNC加工程序编辑过程不占用基本内存。
由于所编辑CNC加工程序和运行的CNC加工程序都是通过高端内存对扩展内存进行操作,存在资源竞争的问题。在系统中,扩展内存都是通过句柄进行操作的,通过EMM386.EXE文件对扩展内存的逻辑页进行管理,只要能申请到相应扩展内存的句柄,就能保证扩展内存的逻辑页使用不发生冲突。在高端内存中,总共有每页16k的4页物理页,把这些物理页进行分配,CNC加工程序解释运行使用第1页,而CNC加工程序编辑使用第2页,由于EMM386.EXECNC加工程序本身能保证67H中断的重入问题,通过这样内存的分配方式,解决了扩展内存资源竞争问题[3]。
5 结束语
笔者利用系统的扩展内存实现了在CNC系统中解释巨量NCCNC加工程序。基于系统扩展内存所做的NC解释器和编辑器使运行CNC加工程序和编辑CNC加工程序的大小与基本内存无关,而只与扩展内存有关。计算机可配置的扩展内存越来越大,现已能达到256M,而现阶段8M的扩展内存已能满足一般巨量NCCNC加工程序运行和编辑的要求,这给更复杂零件加工CNC加工程序一次装载解释运行提供更大的方便。同时,在多通道的CNC系统软件中,由于每增加一个通道大约要增加到最大20k到30k的内存开销,解释器和编辑器利用扩展内存也能让多通道CNC系统增加更多的通道数,控制更多的独立过程,这对FMS、CIMS的实现也有一定的意义。采用该方法所设计的NC代码解释器,已运用到华中Ⅰ型数控系统上。
[返回]   
东莞市长安德匠精密五金加工厂 Copyright © 2018 版权所有 技术支持:东莞网站建设 [BMAP] [GMAP] [后台管理] 访问量: [百度统计] 粤ICP备17072920号