APP下载

基于μcos-III数控系统的研制

2014-02-07张自谦邓丽贞

机电工程技术 2014年5期
关键词:数控系统指令刀具

张自谦,黄 穗,邓丽贞

(广州数控设备有限公司,广东广州 510000)

0 引言

计算机数控系统是个实时多任务系统。它的实时性主要表现在:切削精度、安全性方面、指令响应方面。数控系统的位置控制是通过周期的速度控制的,为了提高切削精度需要保证速度的平稳性且插补误差尽量小,伺服控制周期必须准确,且周期尽量小。安全性是指系统对突发事件的反应,如刀具破损和机床急停等。指令响应主要是指对操作员指令的响应时间等。

数控系统的实时性要求很高,常见的结构和模式可以为多重中断型、前后台型或者基于实时操作系统开发。前后台型和多重中断型目前已经使用很长的时间,有些过时,目前,一般采用维护性高,以及开发工作量小的实时操作系统结构。

实时操作系统μcos-III优点突出,被广泛使用。其支持支持时间片调度法,允许对实时操作系统内核资源进行动态配置,如:信号量、任务、任务栈、事件标志组、消息队列、消息数、定时器、互斥型信号量和存储块划分等,都可以动态配置,因此,资源不够分配的问题,可以避免在程序编译过程中出现。μcos-III的多数数据类型可修改,获得按照CPU能适应的最佳位数宽度。可以用汇编语言书写选择和确定优先级的算法,对于一些有特殊指令,CPU的优势得到充分发挥,比如:复位指令、找出第一个不为零位(FF1)指令、计数器计到零(CLZ)指令等。

1 OMAP-L138处理器

OMAP-L138处理器是一个基于ARM926EJ-S™和C674x DSP为核心处理器的低功耗应用。它提供了比数字信号处理器TMS320C6000™平台的其他成员显着较低的功率。它具有强大的操作系统支持,丰富的用户界面和高速处理性能。另外,它的双核架构提供了DSP和精简指令集计算机(RISC)技术,使处理器和存储系统的所有部分可以连续运行。

2 数控系统的软件设计

2.1 系统的模块划分

把数控系统根据数控系统所需完成的功能和需求分为五个任务,界面管理任务,数据处理任务,运动控制任务,位置控制任务,PLC任务,每个任务还可以具体细分。具体的系统模块划分如图1所示。

图1 系统模块图

人与机器的交互主要由界面管理完成。界面具有显示加工状态和非加工状态功能。加工时,界面主要是显示数据段,尺寸,主轴转速,刀具号,进刀速度等参数。非加工时,界面主要显示程序目录,内存中存储的零件程序等。

各种运动轴的控制任务主要由运动控制模块完成。相应的运动由人工通过键盘输入,大致有自动运行,进行手动,回机床零点,回程序零点等。其中运动控制最核心的功能是自动运行。

PLC模块主要负责执行器的运行和机床内置传感器数据的采集,并保证执行器执行和数据采集的一致性。主要执行换刀、主轴、冷却液、控制面板的扫描以及从机床内置传感器和变换器中采集数据,根据采集的信息执行不同的逻辑操作和转换。

在兰州的岁月里,化建公司(五建时名)以建设兰化、发展兰化、振兴兰化为使命。20世纪80年代后,兰化的建设项目和技改项目呈逐年减少之势。化建敏锐的嗅到了改革开放的春风已经刮起,迎身跳入市场化的浪潮中去,把目光投向了兰化以外更加广阔的建筑市场。“立足兰州、服务甘肃、面向全国”的经营战略应运而生。

译码和刀具补偿以及前瞰处理主要由数据处理模块完成。数据处理模块将标志的数控代码翻译成本系统能识别的代码,此后的数据段坐标参数经过轨迹计算,转换为轨迹参数。轨迹转换一般分两步,第一步进行刀具补偿,即进行刀具长度补偿和刀具半径补偿。第二步根据进行前瞰处理,提前预测加工路径的情况,给出近似最优的衔接进给速度,提高对微线段的加工效率和加工质量。

图2 数控系统运行总体框图

位置控制是在给定的约束范围内各个轴执行运动指令所有必须的方法,这些指令通常都是周期性的。它主要是把插补得到的位置给定值与通过传感器检测到的位置实际值进行比较,以确定位置偏差,产生一个控制信号,驱动伺服电机,把位置偏差减小到零或减小到微小的数值。

2.2 μcos-III系统的运行结构

如图2所示,是μcos-III系统的整个软件的运行框图。系统的操作方式由键盘选择输入。比如当用户选择自动运行后,启动系统后,系统顺序执行代码编译,刀具补偿,速度计算,插补,位置控制完成对配件的加工。

2.3 系统任务

数控系统的各个模块被划分为不同的任务。其中PLC划分为两个任务:一个任务的优先级高,完成对时间要求比较高的操作,如急停等;另一个任务的优先级低,主要完成I/O口的操作。每个任务对应着μcos-III操作系统的一个任务,并根据它们的重要性设定不同的优先级。它们分别是界面管理任务、运动控制任务、数据处理任务、PLC任务1、PLC任务2。它们都是周期性任务,即每个任务都需要周期的运行。

任务之间采用共享内存进行通讯,在μcos-III中,共享内存采用全局变量实现。任务间同步采用关中断和开中断的方式和信号量方式。开中断和关中断其实就相当于全局变量,这个主要用在传输数据量小的操作;传输数据量大的操作,耗费的时间较长,主要采用信号量的方式进行通讯。在μcos-III中邮箱只传输一个数据,可以把它用作同步信号,在本系统中也可以采用邮箱进行同步。

为了防止优先级逆转,采用了优先级天花板协议[2]。优先级逆转一般是在两个任务访问共享数据时出现,为了保证数据的一致性,这两个访问必须串行,如果优先级高的任务首先获得访问权,则优先级的顺序保持一致,如果优先级低的任务先获得访问权,这时优先级高的任务请求访问,则优先级高的任务必须等到优先级低的任务访问为止。优先级天花板协议是使用优先级继承协议,当任务J阻塞更高优先级任务时,它在被阻塞任务中优先级最高水平上执行关键部分,关键部分一结束,任务J返回到原先的优先级上。有些实时操作系统不提供改变优先级功能,但μcos-III提供了一个改变优先级的函数OSTask-ChangePrio()函数,主要利用该函数实现优先级天花板协议,防止优先级逆转。

具体的优先级算法如下:

(1)在系统配置阶段

1)求出共享数据data中任务的最高优先级Pceiling;

由于μcos-III不允许优先级重叠,所以在系统配置时,任务优先级的设置:

|Pi-Pj|>=2 Pi表示第i个任务的优先级,其中i≠j。

(2)在系统运行阶段

2)任务i访问数据data时,把任务i的优先级提高到Pceiling+1;

(3)任务i访问数据data结束,把任务i的优先级恢复。继续运行下面程序,这个时候该任务可以被其他任务抢占了。

3 数控系统的实现

为了验证以上提到设计的效果,用μcos-III实现了一个嵌入式数控系统。该数控系统硬件结构如图3所示。

数控系统硬件采用ARM+FPGA结构。μcos-III运行在ARM上,实现系统的界面管理、辅助数据管理、运动控制、PLC及位置控制等任务;FPGA实现系统的I/O管理。目前该系统已经装配机床,运行安全、可靠。

图3 数控系统硬件结构

用μcos-III实现的嵌入式数控系统如图4所示。操作人员可以根据要求选择不同的操作方式,来实现不同的功能选择。

图4 嵌入式数控系统界面

4 结论

本文给出了基于μcos-III的数控系统结构。详细论述了在μcos-III上实现数控系统的模块结构、运行结构以及任务间的同步,在此基础上给出了基于ARM嵌入式硬件平台的数控系统实现。

[1] Labrosse,Jean J.μC/OS The real-time Kernel,R&D Publications,1992.

[2] Sha,L.,Rajkumar,R..Lehoczky,J..Priority inheritance protocols:An approach to real-time synchronization[J].IEEE Transactionson Software Engineering,1992,39(9):1175-1185.

[3]陈友东,樊锐,陈五一,等.基于RT-Linux的开放式数控系统研究[J].中国机械工程,2003,14(16):1419-1422.

[4]欧长劲,彭宽栋,洪尉尉.数控旋压机专用数控系统的研究[J].机电工程,2012(11):1239-1242,1258.

[5]龚树森.西门子数控系统功能的拓展开发[J].机电工程技术,2013(8):189-192.

猜你喜欢

数控系统指令刀具
无织构刀具与织构刀具铣削性能对比研究
ARINC661显控指令快速验证方法
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
切削刀具刃口形貌对刀具使用寿命的影响
数控系统中GUI软件平台设计和实现
杀毒软件中指令虚拟机的脆弱性分析
多功能刀具
中断与跳转操作对指令串的影响