1 / 4
文档名称:

嵌入式数控系统软件总体设计研究.docx

格式:docx   大小:14KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式数控系统软件总体设计研究.docx

上传人:凹凸漫 2023/3/21 文件大小:14 KB

下载得到文件列表

嵌入式数控系统软件总体设计研究.docx

文档介绍

文档介绍:该【嵌入式数控系统软件总体设计研究 】是由【凹凸漫】上传分享,文档一共【4】页,该文档可以免费在线阅读,需要了解更多关于【嵌入式数控系统软件总体设计研究 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。嵌入式数控系统软件总体设计研究
摘要:随着计算机和微电子技术的飞速开展,嵌入式系统作为计算机应用的一个重要领域,己深化到社会的方方面面。本文在ARM9硬件平台的根底上,加强操作系统的实时性,设计满足数控磨床加工需求的软件系统。

关键词:嵌入式芯片;软件设计

一、嵌入式软件开发方式

绝大多数的Linux或软件开发都是以native方式进展的,即本机开发、调试,本机的方式。这种方式通常不合适于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足资源在本机(即板子上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用穿插编译调试的方式。简单的说,穿插编译就是在一个平台上生成另一个平台上的可执行代码,如在x86的PC机上生成ARM平台的可执行代码。

穿插编译调试环境建立在宿主机(即一台PC机)上,对应的开发板叫做目的板。开发时使用宿主机上的穿插编译、汇编及连接工具形成可执行的二进制代码,(这种可执行并不能在宿主机上执行,而只能在目的板上执行。)然后把可执行文件下载到目的机上运行。穿插开发技术己成为嵌入式软件开发的主要方式。其开发步骤如下:在宿主机平台上面编写程序代码;)使宿主机与目的机连接,如使用穿插网线;使用穿插编译器等工具编译、连接应用程序,生成可执行代码;目的机挂载(mount)宿主机的方式(或将可执行代码下载到目的机):开发人员使用穿插调试器进展调试;假如程序调试没有发现异常,那么转至第(10)步;调试程序时发现错误,那么利用穿插调试器定位错误;修改错误代码;重复(3)—(9)步;将目的机程序固化至目的机上。

二、数控系统软件任务研究

控软件的功能大致可分为两种,一种是控制功能,另一种是管理功能。其中,管理功能包括信息的输入功能、输出输入输出的处理功能、显示功能和诊断功能,控制功能包括译码功能、***补偿功能、速度控制功能、和位置控制功能。

从任务的特征来看,与通用实时系统相比,数控系统有以下特点:

数控系统是一个混合任务系统,其任务按是否具有实时性要求和周期性要求可分为:实时周期性任务、实时突发性任务和非实时任务。实时周期性任务是指严格以定长时间间隔定时触发,并且在规定的时间内必须完成处理的任务。在数控系统中主要指加工过程中的插补控制、位置控制、数据采样等需快速响应的机床逻辑状态;实时突发性任务的发生是时间的随机函数,要求有很高的实时性,它包括机床紧急停顿、系统故障中断等;非实时性任务是指实时性要求很低的任务,如:人机界面监控,这类任务对于机床运行和加工质量的影响较小,其主要作用是让操作者
理解机床运行状况,增强机床的易操作性。

任务之间具有相关性。数控系统的实时任务除了自身的时限要求以外,任务之间通常也不是完全独立的,一般存在时序约束、资源约束等约束关系。

系统在某一确定时刻的并发任务数量不多,与通用实时操作系统不同,数控系统的功能单一,因此调度程序几乎不需要处理较大数量的并发任务。

三、需求分析

数控控制系统通过良好的人机交互界面,完成显示工作状态、操作人员进展参数设定等任务,主要有以下几个方面的综合要求:

系统界面要求:图形用户界面可以实时显示加工状态、当前时间、开机时间、加工时间、各个轴的坐标位置,正在运行的关键G代码程序段等信息;

系统功能要求:操作人员可以在符合国际标准的条件下,无需理解嵌入式数控系统的专用编程代码,直接使用符合国际标准的G代码和M代码,即可编制数控程序;

系统的运行要求:操作人员可以根据需要点击触摸屏和键盘或机床面板按钮,随时监控数控系统的工作状态;还可以通过参数设置实现对电机的控制,如电机的启停,正反转等等;

异常处理要求:在正常消费条件下,每天运行16小时,数控系统的无故障率P(t)≥99%,这要求其MTBF值(数控系统的平均无故障时间,是衡量可靠性的重要指标)大于3万时;在硬件不受损坏的情况下,系统软件要有较强的容错才能。

将来可能提出的扩展要求:如能实现远程的联网控制、故障自诊断等、加工仿真、重要数据的备份、中英文界面切换等。

把上述提出的直观需求转化为详细的软件功能需求,即为:

完成电机的启动,制动和换向控制,实现加工过程中的主轴、近给速度实时调整。实现六轴的高精度联动,并通过插补,完成工件的加工、磨削;在可以满足一定精度的前提下,实现自由曲线的粗插补和精插补;

图形用户界面要求:实现参数的图形菜单输入,加工过程的仿真,并实时显示加工图形和各轴坐标值,用户可以通过触摸屏和键盘进展参数设置,实现对电机的控制;实现伺服信号、开关量信号、和辅
助信号的宏指令控制,且符合G代码和M代码功能定义;

实现各功能电路的PLC控制,包括机床面板功能实现、主轴的起停、自动光滑控制以及过载、超载、碰撞、掉电等紧急情况的处理;

为了方便用户操作,还应提供操作提示和帮助文档,同时,系统具有一定的抗干扰才能,即使受到干扰使系统控制失灵或程序运行异常时,也可以从错误或故障中恢复,保证系统的正常工作。

从以上功能需求分析得知,一个功能满足六轴数控磨削系统根本需要的系统,必须包括以下几个模块:电机控制、图形界面、译码、PLC、CAN通讯、硬件驱动等。

四、模块划分

模块划分的一条原那么是尽量降低软件模块间的祸合度,高祸合度的系统是很难维护的。一处的修改引起另一处甚至更多处的变动。藕合度低的软件可以很容易被重用、维护和扩大。另一条原那么是进步软件的内聚性,假如一个软件的模块只实现一个功能,那么该模块具有高内聚性。高内聚性的软件更容易维护和改进。判断一个模块是否有高的内聚性,是看能否用一个简单的句子描绘它的功能。假如用了一段话或者需要使用类似“和〞,“或〞等连词,那么说明需要将该模块细化。只有高内聚性的模块才可能被重用。遵循上述原那么,将系统软件划分为如图1所示的子模块。

嵌入式操作系统是嵌入式系统的灵魂,它的出现大大进步了嵌入式系统开发的效率,减少了系统开发的总工作量,而且进步了嵌入式应用软件的可移植性。

本系统采用了嵌入式操作系统:Linux。系统各模块在Linux的统一控制管理下有效的协调的工作。由图1可知,本系统软件主要由以下几个功能模块组成:

设备驱动模块、译码模块、图形界面模块等。这些模块在操作系统的管理调度下协调一致的运行。

五、软件初始化及总程序流程

本系统采用s3c2410(ARM9核)作为控制核心,在用户的应用程序之前,需要有一些专门的代码完成对系统的初始化。由于这类代码直接面对ARM9处理器内核和硬件控制器,一般都使用汇编语言完成。系统上电或复位后,程序从位于地址0x0的ResetExceptionVector处开场执行(这里放置Bootloader的第一条指令:bResetHandler),跳转到标号为ResetHandler处进展第一阶段的硬件初始化,主要内容为:关看门狗定时器,关中断,初始化PLL和时钟,初始化存储器系统。执行完以上程序后,系统
进展堆栈和存储器的初始化。系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般情况下,管理者堆栈必须设置,假如使用了IRQ中断,那么IRQ堆栈也必须设置。假如系统使用了外设,那么需要设置相关的存放器,以确定其刷新频率、总线宽度等信息。然后是初始化有特殊要求的端口和设备,初始化应用程序的运行环境。最后是调用主应用程序:

IMPORTC_Entry

…...

BC_Entry

系统初始化以后,程序的大体流程为:首先加载G/M代码解释器、初始化参数,然后创立人机界面,G/M代码经解释后,再调用响应的例程完成I/O控制、插补、位置控制等,最后调用底层硬件的控制例程,完成对电机的控制。

参考文献

【1】刘艳霞,[J].,22

【2】,,2022-03-28

【3】金展,傅建中,陈子辰基于ARM的嵌入式数控系统设计[J].机电工程,2022,22(2)