首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 基于C8051和μC/OS-Ⅱ的数控机床嵌入式执行控制器实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于C8051和μC/OS-Ⅱ的数控机床嵌入式执行控制器实现
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2015-6-8 23:38
|
只看该作者
基于C8051和μC/OS-Ⅱ的数控机床嵌入式执行控制器实现
人机界面
,
数控机床
,
控制器
,
嵌入式
[导读]
在数控机床系统中,功能模块可分为两大部分:一部分是实时性要求不高的功能,例如人机界面交互管理等;另一部分是实时性要求高的功能,主要有伺服控制、插补计算等。
关键词:
C8051
MCU
在数控机床系统中,功能模块可分为两大部分:一部分是实时性要求不高的功能,例如人机界面交互管理等;另一部分是实时性要求高的功能,主要有伺服控制、插补计算等。根据这一特点,该系统采用两级控制结构,利用 IPC丰富的软件资源,提供图形化的人机交互环境;利用嵌入式执行控制器的高实时性和稳定性,实现快速、可靠的控制,充分发挥了二者的优点。两级之间用串行口进行实时通信。本文主要介绍嵌入式执行控制器的实现。
1 数控机床系统硬件结构
数控机床系统硬件结构如图1所示,IPC作为上位机,安装有专用软件,实现人机交互;C8051020芯片及其外围电路构成的嵌入式执行控制器作为下位机,负责实时、可靠的控制。执行控制器通过串行口接收上位机的命令信息(包括:插补命令、开关量控制命令),再将这些信息转换成控制信号输送给相应的执行部件。例如,将插补命令转换成一连串的插补信号,输送给电机控制部件;将开关量控制命令转换成输出信号,通过I/O驱动隔离接口板输送给相应的开关控制器。执行控制器同时还有2个检测任务:一个是刀具是否运动到各轴限位点的检测,另一个是间隙电压的检测。这两个信息将为运动时的自动调节控制提供依据。执行控制器还负责将运行中的状态信息组装成帧,实时地传送给上位机。
2 μC/OS-Ⅱ在
C8051F020
($12.6125)
上的移植
要使用μ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
($12.6125)
的TO定时器完成,设置定时时间为20 ms。修改代码如下:
其中:TOVAL是16位定时器T0的时间常数,该系统采用25 MHz的外接晶振,模式1(16位)定时。
2.3 OS_CPU_C.C文件的修改
该文件中定义10个C函数,如下:
其中,最重要的是OSTaskStklnit(),它的作用是初始化堆栈,返回堆栈的最低地址、堆栈的长度,方便汇编语言实现任务的切换。其他9个函数是暂无具体功能,其功能可以根据需要在系统内核扩展时添加。
3 基于μC/OS-Ⅱ的数控机床系统设计
3.1 执行控制器的软件结构
如图2所示,系统总体分为3个功能块,即:与IPC的通信、命令解释和命令执行。其中,通信有发送和接收两方面内容;命令解释时,直接执行开关量控制命令;命令执行中,需要进行插补计算、检测间隙电压和限位开关状态及加工监测。
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
($12.6125)
处理器具有丰富的硬件资源和强大的处理性能,μC/OS-Ⅱ具有实时性高,通用性好,移植、扩展方便等特点。基于该软硬件平台,可以降低系统的复杂度,提高产品的开发速度。经验证,该硬软件系统能满足该数控系统的要求,具有可行性。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议