目前CNC系统的软件一般采用两种典型的结构:是前后台型结构:二是多重中断型结构。
1.前后台型软件结构
前后台型软件结构将CNC系统整个控制软件分为前台程序和后台程序。前台程序是一个实时中断服务程序,实现插补、位置控制及机床开关逻辑控制等实时功能;后台程序又称背景程序,是一个循环运行程序,实现数控加T程序的输入和预处理(即译码、刀具补偿计算和速度计算等数据处理)以及管理的各项任务。前台程序和后台程序相互配合完成整个控制任务。工作过程大致是,系统启动后,经过系统初始化,进入背景程序循环中。在背景程序的循环过程中,实时中断程序不断插入完成各项实时控制任务,整个系统的运行情况可用图4—17描述。
美国ALLEN-BRADLEY公司的7360数控系统就采用了前后台型软件结构,其简化后的系统软件框图如图4-18所示。下面我们以A-B7360数控系统软件为例来具体介绍前后台型软件的工作过程。
(1)背景程序(后台程序) 背景程序是CNC的主程序,主要功能是根据控制面板上开关命令所确定的系统工作方式,进行任务的调度。它由三个主要程序环组成,以便为键盘、单段、自动和手动四种工作方式服务。
当系统程序纸带的内容被装入内存或断电后,电源恢复并起动时,立即执行系统初始化程序,包括设置中断入口、设置机床参数、清除位置检测组件的缓冲器等功能。完成初始化以后,系统进入紧停状态,坐标轴的位置控制系统被断开,并允许10.24ms的实时时钟中断,定时地扫描控制面板。当操作人员按“紧急复位”按钮后,系统实行MCU(机床控制装置)总清除。接着起动背景程序,按照操作人员所确定的工作方式,进入相应的服务程序。无论系统处于何种工作方式,10.24ms的实时时钟中断总是定时地发生。
图4-17 背景程序和实时中断程序的关系示意图
图4-18 7360CNC系统的软件框图
(2)中断程序 A—B7360系统的实时过程控制是通过中断方式实现的。由图4-18所示7360 CNC系统的软件结构可见,系统中可屏蔽的中断有三个,此外,系统还有两个不可屏蔽的中断,五级中断的优先级和主要中断处理功能如表4-1所示。若前一次中断还没完成,又发生了新的同类中断,则说明发生了任务重叠,系统进入紧停状态。
表4-1 A—B7360系统中断功能表
在各种中断中,非屏蔽中断只在上电和系统故障发生,阅读机中断仅在启动阅读机输入数控加工程序时才发生,键盘中断占用系统时间非常短,因此10.24ms实时时钟中断是系统的核心。
10.24ms实时时钟中断服务程序的实时控制任务包括位置伺服、面板扫描、机床逻辑处理、实时诊断和轮廓插补,其中断服务程序流程如图4-19所示。
A—B7360系统中10.24ms实时时针中断服务过程如下:
1)检查上一次10.24ms中断服务程序是否完成,若发生实时时钟中断重叠,系统自动进入紧停状态。
2)对用于实时监控的系统标志进行清零。
3)进行位置伺服控制,即对上一个10.24ms周期各坐标轴的实际位移增量进行采样,将其与上一个10.24ms周期结束前所插补的本周期的位置增量命令(已经过齿隙补偿)进行比较,算出当前的跟随误差,换算为相应的进给速度指令,驱动各坐标轴运动。
4)若有新的数控加工程序段经预处理传送完毕(如前所述,此时“数控加工程序段传送结束”标志被建立)时,系统判断本段有否M、S、T功能的执行,它们和“数控加工程序段传送结束”标志都只在一个10.24ms周期内有效,即在本次中断服务结束前清除(见步骤12)。若本段编入了要求段后处理的M功能,如:M00、M01、M02、M03等,也设立相应标志,以备随后处理。
5)主轴反馈服务及表面恒速(又称恒线速度功能,即控制主轴相对工件表面运动速度保持恒定)处理。
6)扫描机床操作面板开关状态,建立面板状态系统标志。
图4-19 10.24ms实时时钟中断服务程序流程图
7)调用PLC程序。若有M、S、T编入标志,PLC程序实现相应的M、S、T功能;若没有M、S、T辅助功能被编入时,PLC的主要工作是对机床状态进行监视。
8)处理机床操作面板输入信息。对于操作员的要求(如循环启动、循环停、改变工作方式、手动操作、速率调整等)作出及时响应。
9)实时监控
①当发生超程、超温、熔丝熔断、回参考点出错,点动处理过程出错和阅读机出错等故障时,作出及时响应。
②检查M、S、T功能的执行情况,当段前辅助功能未完成时,禁止插补;当段后功能未完成时,禁止新的数控加工程序段传送。
③若发生了软件设置的紧停请求或操作员按下了紧停按钮,系统都进入紧停状态。
10)当允许插补的条件成立时,执行插补程序,算出的位置增量作为下一个10.24ms周期的位置增量命令。
11)刷新机床操作面板上的指示灯,为操作员指明系统的现时状态。
12)清除一些仅在一个10.24ms周期有效的系统标志和一些实时监控标志。
A—B7360系统使用了数字采样插补方法,这种方法采用了时间分割的思想,即根据数控加工程序中要求的进给速度,按粗插补周期10.24ms将数控加工程序段对应曲线段分隔为一个个粗插补段,粗插补结果由位置伺服控制系统进一步实行精插补。位置伺服控制系统由软硬件共同组成,采用软件位置控制方法,对粗插补的采样周期也是10.24ms。每个10.24ms时钟中断服务结束前,由轮廓插补程序进行粗插补,算出跟踪误差,经换算后输出给位置伺服控制系统硬件部分,经D/A转换后作为进给速度指令电压,驱动各坐标轴电动机,从而实现按偏差的位置控制,即精插补。
PLC辅助功能处理程序需要两个方面的原始信息,其一为经数据预处理的MST信息,它已存放在系统标志单元,其二是机床现行状态信息。这些数据在PLC输入扫描时存放在PLC的I/O映像区中的输入映像单元中。当“数控加工程序段传送结束”标志被建立时,PLC程序读取这些原始数据,进行算术和逻辑运算,并将结果存入PLC的I/O映像区的输出映像单元,在PLC输出刷新时,输出给具体对象。(www.xing528.com)
2.多重中断型软件结构
多重中断型软件结构没有前后台之分,除了初始化程序外,把控制程序安排成不同级别的中断服务程序,整个软件是一个大的多重中断系统。系统的管理功能主要通过各级中断服务程序之间的通信来实现。下面以一个具体系统的软件为例介绍多重中断软件的结构。该系统软件除初始化程序,控制程序分为8级中断程序,各级中断功能见表4-2。
(1)初始化程序 电源接通后,首先进入此程序。初始化程序主要完成如下各项工作:①对RAM中作为工作寄存器的单元设置初始状态;②进行ROM奇偶校验;③为数控加工正常进行而设置一些所需的初始状态。
表4-2 中断功能一览表
(2)1级中断 1级中断主要为插补的正常进行做准备工作。1级中断按工作内容又细分为13个口子,每一个口子对应于口状态字的一位,每一位(每一个口子)对应处理一个任务,即1级中断包括13个子任务,如表4-3所示。在执行1级中断各口子的处理时,可以设置口状态字的其他位的请求(见图4-20)。如在8号口的处理程序中,可将3号口置1,这样,8号口程序一旦执行完,即刻转入3号处理。
图4-20 1级中断里各口之间的连接
表4-3 各口的主要功能与口状态字的关系表
(3)2级中断 第2级中断的最主要功能是对机床控制台的输入信号(控制台送给NC装置的控制开关信号和按钮信号)及NC键盘进行监控处理。其次是穿孔机操作处理,还有M、S、T、H强电信号处理和输出信号处理等。第2级中断框图如图4-21所示,程序段的增量以8ms时间为单位。
(4)4级中断 第4级中断最重要的功能是完成插补计算。7M系统采用“时间分割法”插补,即将程序段的增量以8ms时间为单位,划分为许多小段,每次插补进给一小段。一次插补处理可以分4个阶段,即速度计算、插补计算、终点判别、进给量变换。第4级中断简化框图如图4-22所示。下面对第4级中断的几个具体问题加以说明。
图4-21 第2级中断框图
1)加减速控制的稳定速度与瞬时速度问题。在加减速控制过程中我们称刀具匀速运动时的速度为稳定速度,称某一瞬间的速度为瞬时速度。在加减速过程中,瞬时速度不等于稳定速度,在匀速运动时,瞬时速度等于稳定速度。
2)加工中段与段之间的衔接。第一,零件程序正在加工的那一段内容是存于工作寄存区(AS)内的,每插补一次,程序总要进行一次终点判别,当一个程序段将近加工完时,程序就设置一个允许下一程序段读入AS区域的标志,于是,在下一次第4级中断时就可以去请求将下一程序段读入AS。从而保证段与段间操作的连续。第二,速度衔接问题。根据指令功能的要求,加工终点时,有些程序段速度一定要减为0。如G00为点定位,要求到终点时速度必降为0,而在正常切削加工中,绝大多数是G01和G02等加工段,在这些情况下,希望速度连续。即使段与段之间F值不同,为了不影响加工零件的表面粗糙度,也希望转段时速度有一个平稳的过渡。在7M系统的速度处理中,对这种情况,执行“不减速到0的程序段的最后一次插补”,作被称为“速度转接”的特殊处理。即在上段的最后一次插补后发现离终点的剩余距离小于一次插补的进给量,于是设置标志。在下一次第4级中段时先根据标志进行下一程序段的第4级预处理(将轨迹参数搬到插补的参数区等),然后接着进行速度处理,最后,根据所设的标志,将本次的插补进给量
图4-22 第4级中断简化框图
减去上段的离终点剩余距离作为本次的插补进给量。而上次剩余的轴向距离加上本次插补的轴向进给量,作为本次总的轴向进给量。第三,插补预处理。是将由第1级中断计算出的并已存于“输入寄存器”的本程序段刀具运动的中心轨迹等参数及一些轨迹线型(G01,G02)标志,搬入插补参数区。一般,对于有插补要求的程序段,都要先进行插补预处理。
3)进给量换算处理。进给量换算包括进给量米英制换算和进给量的指数加减处理。
(5)5级中断 5级中断主要对纸带阅读机读入的一排孔信号进行处理。这种处理,可以分为三个阶段:输入代码的有效性判别;代码的具体处理;结束处理。
1)输入代码的有效性判别。凡满足:读入的代码在时间上没有“延迟”;读入的代码是纸带的“程序起始”标志以后的代码;读入的代码奇偶校验正确的代码就是有效代码。
2)代码的具体处理。首先,将已被认为有效的读入代码统一转为ISO码制,然后,判断该代码本身是否为注解段标志或其他特殊代码,并根据判别结果,设置相应标志。接着,进行输入操作方式的判别,并根据不同类别进行具体处理。
3)结束处理。对于一排孔信号的结束有两种情况:一若是一排一般的孔信号处理完或是程序段结束符,但不是整个程序结束,则再启动一次阅读机;二若出错或整个程序结束,则停阅读机。第5级中断框图如图4-23所示。
图4-23 第5级中断框图
(6)6级中断 本级中断主要完成位置控制、4ms定时计时和存储器奇偶校验工作。
在7M系统中,位置控制是在软件和硬件配合下完成的。软件部分的任务是在第6级中断中,定时地从“实际位置计数器”中回收实际位置值,然后将位置指令值与实际位置值之间的差值换算成速度指令值,送给硬件的“速度指令寄存器”,去控制电动机的运转。
4ms定时计时,具体办法是:对4ms进行计数,每隔8ms定时地产生一次第3级和第4级软件中断请求。每隔16ms定时地产生一次第1级和第2级软件中断请求。以4ms为时间基准,对4ms进行累加计算,和数就是数控装置使用的时间,这就是计时功能。
存储器奇偶校验,其方法依ROM和RAM而有所不同,通过读、写奇偶校验的方法,来判断RAM是否出错,如果出错,先使伺服系统停止工作,并报警;然后,对出错的区域进行写和读全0、全1试验,找出出错的地址和出错的状态,并将出错范围、出错地址和出错状态在通用显示器上显示。ROM的奇偶校验以一块ROM为单位,通过求该块ROM的累加和的方法实现。若出错,则使伺服系统停止工作,点亮报警灯,找出出错的片子,并在显示器上显示出该ROM在印制电路板上的安装位置。第6级中断简化框图如图4-24所示。
图4-24 第6级中断简化框图
(7)7级中断 本级中断对7M测试板进行监控。测试板操作主要有:ROM、RAM和中断保护区内容的“读出”操作;以及“地址加1读出”操作;RAM和中断保护区内容的“改写”操作以及“地址加1改写”操作;设断点进行运行控制;执行单指令。将上述读、写操作和运行控制操作结合起来就可以进行程序调试。第7级中断服务程序比较短,结构也很简单。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。