基于C8051和μC/OS-Ⅱ的数控机床嵌入式执行控制器实现

发布者:Blissful444最新更新时间:2014-04-06 来源: eccn关键字:C8051  μCOS-Ⅱ  数控机床  执行控制器 手机看文章 扫描二维码
随时随地手机看文章
在数控机床系统中,功能模块可分为两大部分:一部分是实时性要求不高的功能,例如人机界面交互管理等;另一部分是实时性要求高的功能,主要有伺服控制、插补计算等。根据这一特点,该系统采用两级控制结构,利用 IPC丰富的软件资源,提供图形化的人机交互环境;利用嵌入式执行控制器的高实时性和稳定性,实现快速、可靠的控制,充分发挥了二者的优点。两级之间用串行口进行实时通信。本文主要介绍嵌入式执行控制器的实现。

1 数控机床系统硬件结构

数控机床系统硬件结构如图1所示,IPC作为上位机,安装有专用软件,实现人机交互;C8051020芯片及其外围电路构成的嵌入式执行控制器作为下位机,负责实时、可靠的控制。执行控制器通过串行口接收上位机的命令信息(包括:插补命令、开关量控制命令),再将这些信息转换成控制信号输送给相应的执行部件。例如,将插补命令转换成一连串的插补信号,输送给电机控制部件;将开关量控制命令转换成输出信号,通过I/O驱动隔离接口板输送给相应的开关控制器。执行控制器同时还有2个检测任务:一个是刀具是否运动到各轴限位点的检测,另一个是间隙电压的检测。这两个信息将为运动时的自动调节控制提供依据。执行控制器还负责将运行中的状态信息组装成帧,实时地传送给上位机。

数控机床系统硬件结构

2 μC/OS-Ⅱ在C8051F020上的移植

要使用μC/OS-Ⅱ,首先就必须把这个内核成功地移植到C805lF020上。μC/OS-Ⅱ的移植主要是对OS_CPU.H,OS_CPU_A.ASM和OS_CPU_ C.C三个文件进行修改,下面就具体的修改内容做介绍。

2.1 OS_CPU.H文件的修改

OS_CPU.H包括了用#define定义的与处理器相关的常量、宏和类型定义。其中,需要修改的部分如下:

修改的部分

2.2 OS_CPU_A.ASM文件的修改

该文件包含4个汇编语言函数。

(1)OSStartHighRdy()函数在多任务系统启动函数OSStart()中调用。作用是设置系统运行标志位OSRunning=TRUE;将就绪表中最高优先级任务的栈指针Load到SP中,并强制中断返回。

(2)OSCtxSw()函数是在任务级切换函数中调用的。作用是保存当前任务的环境变量,将当前SP存入任务TCB中,载入就绪最高优先级任务的SP,恢复就绪最高优先级任务的环境变量,中断返回。这样就完成了任务级的切换。

(3)OSIntCtxSw()在退出中断服务函数OSIntExit()中调用。作用是实现中断级任务切换。

(4)OSTIcklSR()系统时钟节拍中断服务函数,其周期的大小决定了内核所能给应用系统提供的最小时间间隔服务。该中断由C8051F020的TO定时器完成,设置定时时间为20 ms。修改代码如下:

修改代码

其中:TOVAL是16位定时器T0的时间常数,该系统采用25 MHz的外接晶振,模式1(16位)定时。

2.3 OS_CPU_C.C文件的修改

该文件中定义10个C函数,如下:

C函数

其中,最重要的是OSTaskStklnit(),它的作用是初始化堆栈,返回堆栈的最低地址、堆栈的长度,方便汇编语言实现任务的切换。其他9个函数是暂无具体功能,其功能可以根据需要在系统内核扩展时添加。

3 基于μC/OS-Ⅱ的数控机床系统设计

3.1 执行控制器的软件结构

如图2所示,系统总体分为3个功能块,即:与IPC的通信、命令解释和命令执行。其中,通信有发送和接收两方面内容;命令解释时,直接执行开关量控制命令;命令执行中,需要进行插补计算、检测间隙电压和限位开关状态及加工监测。[page]

 执行控制器的软件结构

3.2 任务划分及其优先级的确足

(1)发送任务

嵌入式执行控制器发送给IPC的信息有2种:联络信号和运行中的状态信息。嵌入式执行控制器处于待命状态时,定期向IPC发送联络信号,用于确定IPC是否正常工作。若IPC运行正常,则IPC收到联络信号后,会回送给嵌入式执行控制器一个应答信号,若发送的多次联络信号都未收到应答,则认为IPC出错。嵌入式执行器处于加工状态时,将运行中的状态信息以固定格式定期向IPC发送。IPC收到信息后,将其转换成图形、文字等信息显示出来,提供给操作员,便于实时掌握加工状态,发送任务的实时性要求低。

(2)接收任务

嵌入式执行控制器接收IPC机发送的联络、应答和命令3种信息,若接收到联络信号或应答信号,则接收任务直接处理(发送应答信号或刷新联络状态位);若既不是联络信号也不是应答信号,则认为是命令信息,接收任务将命令完整接收后,关闭写接收缓冲区,激活命令解释任务。接收任务是由通信口接收中断触发的,其实时性要求高。

(3)命令解释任务

命令解释任务首先对接收缓冲区的命令信息进行校验和解释,处理完成后,清空并开放接收缓冲区,允许新命令的接收。这样做的目的是不在接收缓冲区中积压多条命令,在当前命令解释完成之前,不接收新命令,以提高嵌入式执行控制器对命令的响应速度。根据命令执行时间的长短,将命令分为开关量控制命令和插补命令2 种。开关量控制命令的执行时间短,因此在命令解释后直接执行,以减少任务切换的时间消耗。插补命令是加工命令,运行时间长,采用专门的加工监控任务来执行,命令解释任务只负责在命令解释完成后激活加工监控任务。命令解释任务的实时性要求高。

(4)加工监控任务

加工监控任务根据当前的工作状态(手动方式或自动方式)激活插补计算任务,并进行加工状态的监控。手动工作方式下,操作员在PC机上手动控制刀具向 -x,+x,-y,+y,-z,+z六个方向运动、刀具返回基准点、端面找正和孔中心定位等操作。自动工作方式下,操作员向控制器传送直线、圆弧的运动命令,控制器自动完成该线形的运动。加工监控任务的实时性要求较高。

(5)插补计算任务

插补计算任务是计算轮廓起点和终点的中间点坐标值。本系统采用逐点比较法进行插补,插补任务每执行1次产生1个行程增量,每个行程增量以1个脉冲的方式输出给步进电机。插补任务的运行周期可能低于操作系统时钟,达到每秒数千次,因此使用定时器1作为插补运动时间控制器。插补计算任务在该软件中的实时性要求最高。

(6)间隙电压检测和限位开关状态检测任务

该系统用于电火花线切割数控机床,间隙电压是电火花加工时工具(电极丝)与工件之间的放电电压,该数据是对放电加工过程进行实时检测的重要参数,需要实时采集。限位开关是指刀具运动到加工台边界位置时,触发的一个状态开关。当到达这个感应开关时刀具应该停止工作,起到一个保护作用,也就是限定了运动的位移,该信息也需要实时采集。这两个任务具有实时性高,执行频繁,执行时间短的特点,因此把它们设为一个检测任务。与插补任务相同,由于检测任务的运行周期低于操作系统时钟,因此使用定时器3作为检测任务的时间触发器。

上面将实现的功能划分为6个任务,介绍这些任务的功能,并对其实时性要求做了分析。上述任务划分如表1所示。

任务划分

3.3 任务间通信

在完成任务划分后,还需要考虑任务的通信和同步。发送任务与检测任务是独立的,接收任务、命令解释任务和加工监控任务存在联系,如图3所示,这里需要使用信号量和邮箱解决任务间的通信同步。

(1)命令信号量SemCmd。当接收任务接收到一条命令信息时,发出该信号量,由命令解释任务接收,取出并解释命令后,清除该信号量,允许接收新命令。

(2)加工启动消息邮箱Mbox。当命令解释任务发现命令信息为插补命令时,将信息翻译成约定格式存入邮箱,发送出去,加工监控任务接收。

4 实验结果

实验测试,IPC通过串口向执行控制器发送直线插补命令G01X1000Y2000\LF,如图4所示,观察返回信息中的x,y轴坐标,各点基本分布于点(O,O)与点(1000,2 000)的直线周围,误差小于1个运动当量,这说明整个系统运行正常。

实验结果

5 结语

C8051F020处理器具有丰富的硬件资源和强大的处理性能,μC/OS-Ⅱ具有实时性高,通用性好,移植、扩展方便等特点。基于该软硬件平台,可以降低系统的复杂度,提高产品的开发速度。经验证,该硬软件系统能满足该数控系统的要求,具有可行性。
关键字:C8051  μCOS-Ⅱ  数控机床  执行控制器 引用地址:基于C8051和μC/OS-Ⅱ的数控机床嵌入式执行控制器实现

上一篇:ATMEL8051系列单片机选型指南
下一篇:单片机在智能功率柜中的应用设计

推荐阅读最新更新时间:2024-03-16 13:38

基于C8051F040的CAN总线中继器设计与实现
   0 引言   20世纪80年代初,德国BOSCH公司提出了控制器局域网(Controller Area Network,CAN)来解决汽车内部的信号传输问题。由于CAN总线优良的稳定性和实时性能、成熟的仲裁和同步技术,加上开放式总线结构、短报文高速通讯、远程通讯能力、硬件CRC超强的纠错和扩展功能,以及控制简单、应用成本低等优点,已经被越来越多地应用到分布式远程自动控制、安全监控及电力系统等网络控制系统领域,并被公认为最有前途的现场总线技术之一。   中继器是网络物理层的一种介质连接设备,可以将同一层的两段网络进行互连,也可以实现上下层不同总线的互连,起到网桥和网关的作用。在大中型远程的CAN总线系统中经常会使用到中继器
[单片机]
中国市场哪里最赚钱,伺服马达算一个!
新能源在未来工业发展进程中,会渐渐受到各国的重视;高科技产业的无限发展空间带给电子专用设备行业更多的机遇。医学进步为医疗机械的创新提供更新挑战;人们对生活的高追求来给汽车行业更多创造空间。这些科技高端行业,均为伺服系统带来无限商机。    国外永磁交流伺服电动机的发展比国内早10~15年左右,已基本上是一门成熟的先进技术,正在朝大功率甚至超大功率发展。微电子技术,现代控制理论的采用,新型的功率器件,电子元器件,高性能磁性材料的发展反过来又促进了永磁无刷伺服电动机的发展,使其走入健康发展的良性循环。    到目前,国产伺服电机及其全数字式伺服驱动器基本自主开发成功,也已形成商品化和批量生产能力。国内对精密伺服电机控制系统的
[嵌入式]
基于C8051的多路高精度数据采集系统设计
数据采集是将模拟信号转换为数字信号并进行存储、数据处理及显示的过程,相应的系统称为数据采集系统。其主要任务是将传感器输出的信号经过调理后送往A/D模块完成转换,然后输入计算机进行数据处理及显示或传输。在工业领域中,下位机和上位机结合组成的数据采集与控制系统日渐成为主流模式。下位机通过单片机和A/D转换器完成传感器输出信号的数据采集和简单数据处理,然后利用通讯总线将数据发送到计算机进行数据分析处理,从而实现上、下位机的优势互补。 为了满足低成本、高精度的要求,文中提出了一种基于C8051F350的高精度多路数据采集系统,充分利用C8051F350的片上24位具有低噪声和高线性度的 -△型ADC,减少硬件电路的设计,提高了系统的可靠
[单片机]
基于<font color='red'>C8051</font>的多路高精度数据采集系统设计
基于LabVIEW的数控机床网络测控系统--下位机硬件设计(一)
3数控机床下位机测控系统硬件设计 一般网络化工业测控下位机数据采集平台由两大部分组成:一部分是系统基本功能单元(主要包括:进行测量和管理的下位机测控服务器以及各种测试模块和通用数据采集卡驱动部分);另一部分是连接各基本功能单元的通信网络,例如Internet /Ethernet,USB和串口RS232等总线技术。 3.1工业数据采集与仪器控制技术研究 一般的工业测控现场硬件系统由各种传感器、信号调理单元、电源、A/D转换单元、下位测控机、以太网、上位处理机、打印机、总控台等单元组成。信号调理单元将现场传感器的各种物理量调理成标准电量,经A/D转换成数字量,由下位测控机进行初步数据处理,通过以太网与上位处理机通讯,在上位机上进行数
[测试测量]
基于LabVIEW的<font color='red'>数控机床</font>网络测控系统--下位机硬件设计(一)
工业4.0救了谁?
自2008年全球金融危机以来,机械行业的投资增速一直处于向下的趋势中,由于市场环境和其他增长要素的显著变化,机床工具产业正面临和经受调整转型的严峻考验。2014年机床行业依然面临着市场规模整体萎缩、需求结构迅速升级、产能过剩和成本上升等一系列问题将不会得到明显好转,机床工具行业的低迷状态将继续保持。    根据国家统计局统计,今年上半年,机床行业亏损企业占比为13.8%,其中国有控股企业亏损占比为41.8%。在八个分行业中,亏损面最大的是金属切削机床,亏损企业占比为24.7%,其中国有控股企业亏损占比达50.8%。    在机床行业中法因数控2014年上半年实现营业收入1.42亿元,同比下降14.83%。无独有偶。华东
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved