数控系统软件
2008-8-22 来源: 阅读: 279次 我要收藏
【字体:大 中 小】
CNC 系统软件是一个典型而又复杂的实时系统。
本节先介绍系统软硬件界面的关系,然后从系统内数据流的角度来分析CNC 装置的数据转换过程,并从多任务性和实时性的角度来分析CNC 系统软件的结构特点,最后介绍一个典型CNC 装置系统软件的结构。 一、CNC 装置软件和硬件的功能界面
1 、软件与硬件在实现各种功能的特点和关系
● 关系:从理论上讲,硬件能完成的功能也可以用软件来完成。从实现功能的角度看,软件与硬件在逻辑上是等价的。 ● 特点:
硬件处理速度快,但灵活性差,实现复杂控制的功能困难。 软件设计灵活,适应性强,但处理速度相对较慢。
2 、软件、硬件实现功能的分配就是 —— 软件硬件功能界面划分。 3 、功能界面划分的准则:系统的性能价格比。 二、CNC 装置的数据转换流程
第 1 页
CNC 装置系统软件的主要任务:如何将由零件加工程序表达的加工信息,变换成各进给轴的位移指令、主轴转速指令和辅助动作指令,控制加工设备的轨迹运动和逻辑动作,加工出符合要求的零件。 1 、译码 ( 解释 )
将用文本格式(通常用 ASCII 码)表达的零件加工程序,以程序段为单位转换成后续程序(本例是指刀补处理程序)所要求的数据结构(格式)。 数据结构示例:
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 ; // 存放本段换刀的刀具号。
第 2 页
char D ; // 存放刀具补偿的刀具半径值。 在系统软件中各程序间的数据交换方式一般都是通过缓冲区进行的。该缓冲区由若干个数据结构组成,当前程序段被解释完后便将该段的数据信息送入缓冲区组中空闲的一个。后续程序(如刀补程序)从该缓冲区组中获取程序信息进行工作 。
N 06 G 90 G 41 D 11 G 01 X200 Y 300 F 200 ;
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 )⑤
第 3 页
char D ; D=11 ( D11 )④ 三、CNC 装置的软件系统特点
CNC 系统是典型的实时控制系统。 CNC 装置的系统软件则可看成是一个专用实时操作系统。由于其应用领域是工业控制领域(多任务性、实时性),因此,分析和了解这些要求是至关重要的,因为它既是系统设计和将来软件测试的重要依据,也是确定系统功能和性能指标的过程。同时,这些要求也应是 CNC 系统软件的特点。 . 多任务性与并行处理技术 ● CNC 控制要求的多任务性 任务定义:
可并发执行的程序在一个数据集合上的运行过程。 CNC 的功能则可定义为 CNC 的任务:
显示、译码、刀补、速度处理、插补处理、位置控制、 … CNC 系统的任务要求并行处理:
为了保证控制的连续性和各任务执行的时序配合要求, CNC 系统的任务必须采用并行处理,而不能逐一处理。 ● 基于并行处理的多任务调度技术 并行处理定义:
第 4 页
系统在同一时间间隔或同一时刻内完成两个或两个以上任务处理的方法。
采用并行处理技术的目的:
合理使用和调配 CNC 系统的资源 提高 CNC 系统的处理速度。 并行处理的实现方式: 资源分时共享
并发处理(例如:流水处理)
这些实现方式与 CNC 系统的硬件结构密切相关。 ● 资源分时共享(对单一资源的系统)
在 单 CPU 结构的 CNC 系统中,可采用“资源分时共享”并行处理技术。
资源分时共享 —— 在规定的时间长度(时间片)内,根据各任务实时性的要求,规定它们占用 CPU 的时间,使它们分时共享系统的资源。 “ 资源分时共享 ” 的技术关键: 其一:各任务的优先级分配问题。
其二:各任务占用 CPU 的时间长度,即时间片的分配问题。 资源分时共享技术的特征
第 5 页