产品中心

CNC系统的控制系统软件及其工作过程

时间: 2024-08-08 04:09:58 |   作者: 纺机配套电控设备

  (或MNC)系统各项功能所编制的专用软件,又称为系统软件(或系统程序)。因为(或MNC)系统的功能设置与控制方案各不相同,各种系统软件在结构和规模上差别很大。系统程序的设计与各项功能的实现及其将来的扩展有最直接的关系,是整个CNC(或MNC)系统研制工作中关键性的和工作量最大的部分。

  前面曾提到,系统软件一般由输入、译码、数据处理(预计算)、插补运算、速度控制、输出控制、管理程序及诊断程序等部分构成。下面分别加以介绍。

  CNC系统中一般是通过纸带阅读机、磁带机、磁盘及键盘输入零件程序,且其输入大都采用中断方式。在系统程序中有相应的中断服务程序,如纸带阅读机中

  断服务程序及键盘中断服务程序等。当纸带阅读机读入一个字符至接口中时,就向主机发出中断,由中断服务程序将该字符送入内存。同样,每按一个键则表示向主机申请一次中断,调出一次键盘服务程序,对相应的键盘命令进行处理。

  从阅读机及键盘输入的零件程序,一般是经过缓冲器以后,才进入零件程序存储器的。零件程序存储器的规模由系统模块设计员确定。一般有几K字节,可以存放许多零件程序。例如7360系统的零件程序存储器为5K,可存放20多个零件程序。

  键盘中断服务程序负责将键盘上打入的字符存入MDI缓冲器,按一下键就是向主机申请一次中断。其框图如图3-16所示。

  由前面的讨论可知,经过输入系统的工作,已将数据段送入零件程序存储器。下一步就是由译码程序将输入的零件程序数据段翻译成本系统能识别的语言。一个数据段从输入到传送至插补工作寄存器需经过以下几个环节,如图3-17所示。

  从原理和本质上说,软件译码与硬件译码相同。对于8单位的纸带程序,一个字符占8位。在16位字长的缓冲器中,一个字可存放两个字符。数据段长的则占的字数多。译码程序按次序将一个个字符和相应的数字作比较,若相等了,则说明已输入了该字符。它就好像在硬件译码线路中,一个代码输入时只打开相应的某一个与门一样。所不同的是译码程序是串行工作的,即一个一个地比较,一直到相等时为止。而硬件译码线路则是并行工作的,因而速度较快。以ISO码为例,M为

  ,……,因此,在判定数据段中是否已编入M,S,T或F字时,就可以将输入的字符和这些八进制数相比较,若相等了,则说明相应的字符已输入,立即设立相应的标志。

  (2) 依据输入字符的不同,确定相应的存放数值的地址。例如,M码的值存放在1000H,S码的值存放在1002H,……;有的系统则对于各专用地址码(如N,

  X,Y,G,M,F等)在存放区域中都有一个位移量,该区域的首址加上地址码所对应的位移量,就可得到该地址码所存放的区域。

  (3)确定调用“数码转换程序”的次数。一个代码后总有数字相接,例如M02,S11,X1000000,……。M码的值最多为2位,是码最多为2位(或3位),X码的值最多为7位等。各个系统不完全一样。但对某一个具体系统而言,有一个规定值。如果某一个代码,它的值得最多为2位,那么只需调用数码转换程序两次。所谓数码转换,即把输入的字符(如ASCII码)转换成二进制码在内存中存放。

  将不同字符的处理器程序合并起来需要一张信息表。该表中没一个字符均有相应的一栏。栏中内容有地址偏移量、在格式标志字中的位数及调用数码转换程序的次数。经过一次的算术和逻辑运算即能够实现译码工作。在进行译码的同时,系统要对零件程序作语法检查,如输入的数字个数是否大于允许值,不允许带负号的地址码是否带了负号等。

  译码的结果存放在规定的存储区内,存放译码结果的地方叫做译码结果存储器。译码结果存储器以规定的次序存放各代码的值(二进制),且包括一个程序格式标志单元,在该格式标志单元中某一位为1,即表示指定的代码(例如F、S、M……)已经被编入。为使用方便,有时对G码、M码的每一个值或几个值单独建立标志字。例如,对关于插补方式的G00,G01,G02,G03建立一个标志字,该标志字为0时代表已编入了G00,为1时代表婊入了G01……。

  为了减轻插补工作的负担,提高系统的实时解决能力,常常在插补运算前先进行数据的预处理,例如,确定圆弧平面、刀具半径补偿的计算等。当采用数字积分法时,可预先进行左移规格化的处理和积分次数的计算等,这样,可把最直接、最方便形式的数据提供给插补运算。

  数据预处理即预计算,通常包括刀具长度补偿、刀具半径补偿计算、象限及进给方向判断、进给速度换算和机床辅助功能判断等。在第二章中已对刀具半径补偿计算的方法作了介绍。下面仅叙述速度计算及控制。

  进给速度的操控方法与系统采用的插补算法有关,也因不同的伺服系统而不一样。在开环系统中,常常采用基准脉冲插补法,其坐标轴的运动速度控制是经过控制插补运算的频率,进而控制向步进电机输出脉冲的频率来实现的,速度计算的方法是根据编程F值来确定这个频率值。通常有程序延时法和中断法两种。

  (1) 程序延时法。程序延时法又称为程序计时法。这种方法先根据系统要求的进给频率,计算出两次插补运算之间的时间间隔,用CPU执行延时子程序的方法控制两次插补之间的时间。改变延时子程序的循环次数,即可改变进给速度。

  (2) 中断方法。中断方法或称为时钟中断法,是指每隔规定的时间向CPU发中断请求,在中断服务程序中进行一次插补运算并发出一个进给脉冲。因此,改变中断请求信号的频率,就等于改变了进给速度。中断请求信号可通过F指令设定的脉冲信号产生,也可通过可编程计数器/定时器产生。如采用Z80CTC作定时器,由程序设置时间常数,每定时到,就向CPU发中断请求信号,改变时间常数

  就可以改变中断请求脉冲信号的频率。所以,进给速度计算与控制的关键就是如何给定CTC的时间常数

  在半闭环和闭环系统中,则是采用时间分割的思想,根据编程的进给速度F值将轮廓曲线分割为采样周期,即迭代周期的进给量——轮廓步长的方法。速度计算的任务是:当直线插补时,计算出各坐标轴的采样周期的步长;当插补圆弧时,为插补程序计算好步长分配系数(有时也称之为角步距)。另外,在进给速度控制中,一般也都有一个升速、恒速(匀速)和降速的过程,以适应伺服系统的工作状态,保证工作的稳定性。此内容将在第五章中详细介绍。

  插补计算是CNC系统中最重要的计算工作之一。在传统的NC装置中,采用硬件电路(插补器)来实现各种轨迹的插补。为了在软件系统中计算所需的插补轨迹,这些数字电路必须由计算机的程序来模拟。利用软件来模拟硬件电路的问题就在于:三轴或三轴以上联动的系统具有三个或三个以上的硬件电路(如每轴一个数字积分器),计算机是用若干条指令来实现插补工作的。但是计算机执行每条指令都须要花费一定的时间,而当前有的小型或微型计算机的计算速度难以满足NC机床对进给速度和分频率的要求。因此,在实际的CNC系统中,常常采用粗、精插补相结合的方法,即把插补功能氛围软件插补和硬件插补两部分,计算机控制系统软件把刀具轨迹分为若干段,而硬件电路再在段的起点和终点之间进行数据的“密化”,使刀具轨迹在允许的误差之内,即软件实现初插补,硬件实现精插补。下面以三坐标直线、输出

...