技术频道

基于PC的CNC软件的设计与实现(一)

 1总体结构及实现方法

  1.1软件的总体结构

  CNC系统常常作为一个独立的过程控制单元用于工业自动化生产过程中,因此它的系统软件必须完成管理和控制两大功能。CNC系统是由软件和硬件组成的,硬件为软件的运行提供支持环境。由于硬件和软件在逻辑上是等价的,由硬件完成的工作原则上也可以由软件完成。因此软件的结构取决于软件和硬件的分工,也取决于软件本身的工作性质。根据目前该系统的设计,下位机只负责位置伺服控制,因此上位机负责其余的管理工作和控制工作。

  数控软件的总体结构可以设计成六层,即输入层,译码层,刀补层,协调层,监控层,设备驱动层。输入层是数控程序。译码层将数控指令解释成为数控系统的内部数据格式。刀补层进行刀具补偿。协调层将指令分解到数控系统的各个功能部件。如数控指令翻译、辅助功能设备控制和运动控制。监控层对于系统当前的状态和当前指令的合法性进行检验。设备驱动层直接实现对系统功能部件的控制。

  在该数控系统的软件中,采用了前后台型的结构形式,前台程序即实时中断程序完成全部的实时功能(包括协调层、监控层、设备驱动层),主要是插补功能和系统诊断功能、I/O处理等。后台程序的主要功能是插补前的准备功能及调度管理(包括输入层、译码层、刀补层),具体地讲,是数控程序输入、译码、刀具补偿、显示及上述任务之间的调度管理功能。后台程序是一个循环运行程序,在运行过程中,前台程序(中断服务程序)不断插入,共同完成零件加工任务。而位置伺服的任务主要由下位机完成。

  在译码层和刀补层中,我们采用多任务调度的方式协调系统的工作,进行优化后可以最充分地利用系统的资源。加工程序由上位机进行译码、刀具补偿、速度处理后,得到刀具中心的插补指令数据,上位机将这些插补指令数据和其它的指令数据以固定格式存放于一缓冲区中,每次中断发生时,上位机根据这些指令数据进行相应的处理,如果存在插补指令则实时计算出插补数据,并且送入下位机,下位机从缓冲区根据这些数据控制相应轴的电机动作。当上位机中的一帧指令数据被读完后,在插补间隙自动计算出新的插补指令数据,填入缓冲区。

  数控软件总体结构图

  在上位机的内存中设置若干个插补缓冲区,用标志字指示当前数据块的位置,引导下位机读取当前指令数据。当下位机进行控制时,上位机不断进行预插补计算,直至所有插补缓冲区填满为止,当接收到下位机的中断信号后,上位机进行实时的插补计算,并且将数据送到下位机。采用这样方式能够最充分地利用上位机CPU的时间,真正实现并行实时工作。

  1.2软件的具体实现方法

  1.2.1软件的运行环境和开发环境

  采用Microsoft Windows 3.1作为开发环境,采用Borland C++ 3.1作为编程语言。

  1.2.2具体实现方法

  启动画面的修改

  在Windows启动时,会出现一幅带有Microsoft标志的启动画面,但作为专用数控系统,我们希望能用自己的启动画面代替该启动画面,显示具有数控系统标志的启动画面。

文章版权归西部工控xbgk所有,未经许可不得转载。