当前位置:首页>>扩展内存(XMS)技术及其在数控软件中应用

扩展内存(XMS)技术及其在数控软件中应用

发布时间:2017-09-03作者:智汇胡妮

  PC机及兼容机内存通常包括基本内存(640K)和扩展内存(XMS),扩展内存(XMS)可以通过EMM386.EXE仿真为扩充内存(EMS),扩展内存通常是指1M寻址之外内存,在扩展内存规范中。扩展内存也包括高端内存区(HMA)和上位内存块(UMB)。基于DOS下应用程序开发,通常是在实模式下运行,只能使用基本内存640K范围以内,有些数控软件,如工程计算,设计分析,图形信息处理等都涉及到大量数据计算及中间过程,如果只有640K内存无法满足需要;如果将文件保存到硬盘,再从硬盘调用,显然速度太慢,效率低。由于数控系统要求实时控制,所以,一般在DoS实模式下开发。如果只用常规内存,除了DOS操作系统,数控系统数控软件本身等以外,剩下的内存只有500K左右,一次可以容纳的数控加工代码非常有限,而在数控加工中心上加工三维曲面,其加工代码一般为几兆基至几十兆字节,目前解决的办法是用一台PC机作主机和数控系统之间通过RS-232串行口相连,做DNC传输控制。数控系统一边接收PC机传来的NC代码存入内存缓冲区,一边控制机床运动,通过内存缓冲区的不断刷新来实现大程序量的NC代码的加工。这样,需要有另外一台PC机专门为它服务,浪费资源,同时,传输过程中容易产生错误或传输中断,使得加工过程不可靠。为此本文开发了一个完整的在DOS实模式下调用扩展内存(XMS)进行存取数据的程序模块,同时提供了调用接口,该模块使用C语言和嵌套汇编语言混合编程,将此模块加入到数控系统数控软件中。这样在数控系统数控软件中就可以直接处理大程序量的NC代码了。另外,在系统数控软件界面设计、图形显示、屏幕保护、内存缓冲等方面都可以使用扩展内存,以提高运行速度,特别是多屏幕之间切换需要占用大内存时,Ⅺ瞒的使用尤为重要。

1 数控软件功能模块分析

  扩展内存是通过专用XMS驱动程序实现,它是HIMEM.SYS程序中一个子模块,它的使用要求计算机在启动配置文件config.sys中有device=himem.sys这一句oXMS驱动程序提供五组功能:驱动程序信息,HMA管理,A20线管理,扩展内存管理和上位存储区管理,另外两个功能是检查XMS驱动程序是否存在和XMS驱动程序控制地址。后面的源程序主要完成以下几个功能:

  (1)int XMS-test(void)测试扩展内存是否存在,如不存在则退出;如存在调用int 2fh中断并取得XMS驱动程序入口偏移地址,并存入函数变量XMS-control中,以供数据移动时调用。

  (2)int XMS-avail(void)返回扩展内存中最大自由块大小,并存入变量TotalFreeMemory中。

  (3)int XMS-anoc(int KSize)申请扩展内存,申请大小为KSize。单位为K字节,如果申请成功。返回句柄为handle。

  (4)int INIT(void)用户开发程序在使用扩展内存之前,只要调用这一个模块进行初始化就可,它实际上是连续调用上面(1),(2),(3)三个模块。

  (5)int MoveXMS(10ng int source-addr,long int dest-addr,int source-handle,int desthandle,long int sk)

 本功能不仅可把数据块在常规内存区和扩展内存问移动,也可把块在常规内存内部或扩展内存内部移动。用户开发程序使用扩展内存存取数据主要使用这一个模块就可。80urce-addr为32位源偏移地址值。dest-addr为32位目的偏移地址值。source-handle为源块句柄。dest.handle为目的块旬柄,Count为需传送的32位字节长度,但长度必须为偶数,否则会出错。如果为常规内存,贝0对应的句柄值为O,对应的偏移值为缓冲区内数据块头指针值。

  (6)int FreeXMS(int handle)释放句柄为handle部分扩展内存。

2 返回错误代码

  所有调用返回寄存器相同,AX为状态寄存器,如果AX等于0000H,调用失败;如果AX等于o001H,调用成功。3 各模块源程序清单

4 结束语

  该源程序全部上机调试通过。并应用在数控系统软件和某建筑工程结构设计数控软件中,都取得良好效果,由于突破了DOs实模式下常规640K内存的限制。使得软件性能大大提高。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1