数 控 技 术 华中科技大学机械科学与工程学院
第3章 计算机数控装置 3.1 概述 3.2 CNC装置的硬件结构 3.3 CNC装置的软件结构 3.4 典型数控功能原理及实现 第3章 计算机数控装置 3.1 概述 3.2 CNC装置的硬件结构 3.3 CNC装置的软件结构 3.4 典型数控功能原理及实现 3.5 国内外典型CNC系统简介
4.3 CNC系统的软件 3.3 CNC系统的软件结构 数控系统功能界面的几种划分: 软件和硬件的功能界面 输 入 预处理 位置检测 输 入 预处理 位置检测 插补运算 位置控制 速度控制 伺服电机 程序 硬件 软件 软件和硬件的功能界面 Ⅰ Ⅱ Ⅲ Ⅳ
4.3 CNC系统的软件 3.3 CNC系统的软件结构 加工程序 译 码 译码缓冲区 刀补处理 刀补缓冲区 速度预处理 插补缓冲区 插补处理 译 码 译码缓冲区 刀补处理 刀补缓冲区 速度预处理 插补缓冲区 插补处理 运行缓冲区 伺服驱动 位控处理 位置反馈 PLC控制
... 4.3 CNC系统的软件 3.3 CNC系统的软件结构 3.3.1 CNC系统软件的组成与功能 1. 组成 操作系统 管理软件 控制软件 零件程序管理 显示处理 输入输出管理 机床输入输出 位置控制 故障诊断处理 插补运算 主轴控制 编译处理 刀具补偿 ...
3.3 CNC系统的软件结构 2. 功能 位置控制 插补运算 状态显示 PLC 故障诊断 … …
3.3 CNC系统的软件结构 3.3.2 CNC装置的数据转换流程 1.译码(Decode) 将用文本格式(通常用ASCII码)表达的零件加工程序,以程序段为单位转换成后续程序(本例是指刀补处理程序)所要求的数据结构(格式)。
3.3 CNC系统的软件结构 数据结构示例: Struct PROG_BUFFER { char buf_state; //缓冲区状态,0 空;1 准备好。 int block_num; //以BCD码的形式存放本程序段号。 double COOR[20];//存放尺寸指令的数值(μm)。 int F,S; //F(mm/min)S(r/min)。 char G0; //以标志形式存放G指令。 char G1; char M0; //以标志形式存放M指令。 char M1; char T; //存放本段换刀的刀具号。 char D; //存放刀具补偿的刀具半径值。 };
3.3 CNC系统的软件结构 以标志形式存放G指令示例
3.3 CNC系统的软件结构 N06 G90 G41 D11 G01 X200 Y300 F200 ; 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ Struct PROG_BUFFER { char buf_state; 0:(开始);1(;)⑨ int block_num; 06(N06)① double COOR[20]; COOR[1]=200000;(X200)⑥ COOR[2]=300000;(Y300)⑦ int F,S; F=200;(F200)⑧ char G0; D5=0;(G90)② D6,D7=0,1(G41)③ D1=1;(G01)⑤ …… char D; D=11(D11)④
3.3 CNC系统的软件结构 2. 刀补处理(计算刀具中心轨迹) 刀补处理的主要工作: Y 根据G90/G91计算零件轮廓的终点坐标值。 根据R和G41/42,计算本段刀具中心轨迹的终点(P’e/P〃e)坐标值。 根据本段与前段连接关系,进行段间连接处理。 R Y Pe’ Pe(200,300) G41 Pe” G42 P0(72,48) X
3.3 CNC系统的软件结构 3. 速度预处理 速度处理程序主要完成以下几步计算: 计算本段总位移量: 直线:合成位移量L; 3. 速度预处理 速度处理程序主要完成以下几步计算: 计算本段总位移量: 直线:合成位移量L; 园弧:总角位移量α。 计算每个插补周期内的合成进给量: ΔL= F*Δt/60 (μm) L α 经速度预处理程序转换的数据存放在插补缓冲区中,以供插补程序之用。以上三步有时统称插补预处理。
3.3 CNC系统的软件结构 4. 插补计算 主要功能: 根据操作面板上“进给修调”开关的设定值,计算本次插补周期的实际合成位移量: △L1=△L*修调值 将△L1按插补的线形(直线,园弧等)和本插补点所在的位置分解到各个进给轴,作为各轴的位置控制指令(△X1、△Y1)。
3.3 CNC系统的软件结构 5. 位置控制处理 位置控制转换流程 插补输出 指令位置 跟随误差 实际位置 反馈位置增量 速度指令 f() 5. 位置控制处理 f() + - 插补输出 △X1△Y1 指令位置 X1新Y1新 跟随误差 △X3△Y3 实际位置 X2新Y2新 反馈位置增量 △X2、△Y2 X1旧Y1旧 X2旧Y2旧 速度指令 VX、VY 位置控制转换流程
3.3 CNC系统的软件结构 位置控制完成以下几步计算:(以两轴联动为例) 计算新的位置指令坐标值: X1新= X1旧+△X1;Y1新= Y1旧 +△Y1; 计算新的位置实际坐标值: X2新= X2旧+△X2;Y2新= Y2旧 +△Y2 计算跟随误差(指令位置值— 实际位置值): △X3= X1新- X2新; △Y3= Y1新- Y2新; 计算速度指令值: VX=f(△X3); VY=f(△Y3) f(.)是位置环的调节控制算法,具体的算法视具体系统而定。这一步在有些系统中是采用硬件来实现的。
3.3 CNC系统的软件结构 3.3.3 CNC装置软件的特点和结构 1. CNC装置的软件系统特点 1)多任务性与并行处理技术 多任务性:显示、译码、刀补、速度处理、插补处理、位置控制、… 并行处理:系统在同一时间间隔或同一时刻内完成两个或两个以上任务处理。 并行处理的实现方式: ☆资源分时共享(单CPU) ☆资源重叠流水处理(多CPU)
3.3 CNC系统的软件结构 资源(CPU)分时共享图 4ms 位置控制 中断级别高 … 插补运算 8ms 中断级别低 I/O 背景程序 初始化 位置控制 4ms 显示 中断级别高 … 译码 插补运算 8ms I/O 刀补 中断级别低 背景程序 16ms 资源(CPU)分时共享图
3.3 CNC系统的软件结构 ☆资源分时共享(单CPU) 资源分时共享技术的特征 在任何一个时刻只有一个任务占用CPU; 在一个时间片(如4ms或8ms)内,CPU并行地执行了两个或两个以上的任务。
3.3 CNC系统的软件结构 各任务占用CPU 时间示意图
3.3 CNC系统的软件结构 资源分时共享技术的特征 在任何一个时刻只有一个任务占用CPU; 在一个时间片(如8ms或16ms)内,CPU并行地执行了两个或两个以上的任务。 资源分时共享的并行处理只具有宏观上的意义,即从微观上来看,各个任务还是逐一执行的。
3.3 CNC系统的软件结构 流水处理技术示意图 顺序处理 并行处理 空间 时间 输出 空间 输出 输出 输出 t t+△t 时间 2t t 1 2 3 2t t 空间 时间 顺序处理 输出 CPU1 空间 输出 输出 输出 3 3 3 CPU3 2 2 2 CPU2 1 CPU1 t t+△t 时间 并行处理 流水处理技术示意图
3.3 CNC系统的软件结构 ☆资源重叠流水处理(多CPU) 资源重叠流水处理的特征 流水处理在任何时刻(流水处理除开始和结束外)均有两个或两个以上的任务在并发执行。 流水处理的关键是时间重叠
3.3 CNC系统的软件结构 并发处理和流水处理的特征 在任何时刻(流水处理除开始和结束外)均有两个或两个以上的任务在并发执行。 并发处理和流水处理的关键是时间重叠,是以资源重复的代价换得时间上的重叠,或者说以空间复杂性的代价换得时间上的快速性。
3.3 CNC系统的软件结构 实时性和优先抢占调度机制 实时性任务的定义和分类 实时性定义: 任务的执行有严格时间要求(任务必须规定时间内完成或响应),否则将导致执行结果错误或系统故障的特性。 实时性任务分类: 强实时性任务 实时突发性任务;实时周期性任务 弱实时性任务
3.3 CNC系统的软件结构 实时突发性任务: 实时周期性任务: 强实时性任务 任务的发生具有随机性和突发性,是一种异步中断事件。主要包括故障中断(急停,机械限位、硬件故障等)、机床PLC中断、硬件(按键)操作中断等。 实时周期性任务: 任务是精确地按一定时间间隔发生的。主要包括插补运算、位置控制等任务。为保证加工精度和加工过程的连续性,这类任务处理的实时性是关键。在任务的执行过程中,除系统故障外,不允许被其它任何任务中断。
3.3 CNC系统的软件结构 弱实时性任务 这类任务的实时性要求相对较弱,只需要保证在某一段时间内得以运行即可。在系统设计时,它们或被安排在背景程序中,或根据重要性将其设置成不同的优先级(级别较低),再由系统调度程序对它们进行合理的调度。 这类任务主要包括:CRT显示、零件程序的编辑、加工状态的动态显示、加工轨迹的静态模拟仿真及动态显示等。
3.3 CNC系统的软件结构 抢占式优先调度机制 循环调度法 简单循环调度法 时间片轮换调度法 优先调度法 抢占式优先调度法 多任务系统的任务调度方法: 循环调度法 简单循环调度法 时间片轮换调度法 优先调度法 抢占式优先调度法 非抢占式优先调度法 为了满足CNC系统实时任务的要求,系统的调度机制必须具有能根据外界的实时信息以足够快的速度(在系统规定的时间内)进行任务调度的能力。优先抢占调度机制就是能满足上述要求的调度技术,它是一种基于实时中断技术的任务调度机制。众所周知,中断技术是计算机系统响应外部事件的一种处砑际酰涮氐闶撬能按任务的重要程度、轻重缓急对其及时响应,而CPU也不必为其开销过多的时间。
3.3 CNC系统的软件结构 抢占式优先调度机制功能 抢占方式: 优先调度: 在CPU正在执行某任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级高任务的请求 优先调度: 在CPU空闲时,当同时有多个任务请求执行时,优先级高的任务将优先得到满足。
3.3 CNC系统的软件结构 CNC系统中采用的任务调度机制 抢占式优先调度; 时间片轮换调度; 非抢占式优先调度。 结构模式:指系统软件的组织管理方式,即系统任务的划分方式、任务调度机制、任务间的信息交换机制以及系统集成方法等。 结构模式的功能:组织和协调各个任务的执行,使之满足一定的时序配合要求和逻辑关系,以满足CNC系统的各种控制要求
3.3 CNC系统的软件结构 前后台型结构模式 前后台程序运行关系图 中断执行 循环执行 前台程序 故障处理 位置控制 插补运算 后台程序 …… 后台程序 译 码 刀补处理 速度预处理 输入/输出 显示 中断执行 循环执行 前后台程序运行关系图
3.3 CNC系统的软件结构 中断型结构模式 中断型软件系统结构图 n 初始化 中断管理系统(硬件 + 软件) 0级中断服务程序 …… 1 2 n 中断型软件系统结构图
3.3 CNC系统的软件结构 基于实时操作系统的结构模式 RTOS 基于实时操作系统软件结构图 实时操作系统(简称 RTOS, Real Time Operating System )是操作系统的一个重要分支,它除了具有通用操作系统的功能外,还具有任务管理、多种实时任务调度机制(如优先级抢占调度、时间片轮转调度等)、任务间的通信机制(如邮箱、消息队列、信号灯等)等功能。 RTOS 模块(任务)1 模块(任务)2 模块(任务) …… 基于实时操作系统软件结构图
课后思考 1. CNC装置的软件结构主要有哪些? 2. 查阅资料,了解CNC装置未来可能扩展的软件功能。
结束