嵌入式开放型数控系统研究设计与应用.docVIP

嵌入式开放型数控系统研究设计与应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式开放型数控系统研究 摘 要  在构建的开放式数控系统中,把μC/OS-Ⅱ实时操作系统移植到MCS-51上,在其内核上创建自己的任务,开发出实时运 动控制系统。该数控系统具有通信和网络功能。将该系统用在模拟加工平台上,验证了系统的可行性。 关键词  开放式数控 μC/OS-Ⅱ 实时操作系统 1 开放式数控 开放式数控是数控技术的发展趋势。前几年国内外对于 PC-based开放式数控讨论较多,并取得了一定成果。最近一段 时间,由于嵌入式技术的发展,采用嵌入式实时操作系统的开放 式数控逐渐引起业界的关注。其主要原因是基于PC技术的数 控系统在实时性方面有其先天不足之处。而这一方面嵌入式技 术刚好发挥了它的优势,逐渐显示出其强大的生命力。 目前采用嵌入式技术的开放型数控研究主要是指包含实时操 作系统的控制器。本文研究的是关于采用μC/OS-Ⅱ实时内核的数 控系统的软、硬件结构以及实验系统开发。和PC技术无关。 2 基本体系结构和工作原理 硬件结构以Windows 78E58(51系列)为核心,扩展了RAM,显 示、键盘接口8279,MAX232串口,8255并口以及RTL 8019 AS网络 芯片。去步进电机输出直接由78E58进行。如图1所示。 W inbond 78E58内核32kB的FlashROM,包含μC/OS-Ⅱ实 时内核在内的系统软件(即实时操作系统)约25kB左右。覆盖 了该实验系统的全部数控功能,包括输入、译码、插补、伺服输 出、显示、通讯等功能。 图1中8279主要用于管理自行设计的小键盘和LED显示 器。零件加工程序可以从小键盘输入。也可以从MAX232串行 口输入。并口8255主要用于机床I/O信号的输入、输出以及调 试时使用。8019AS是网络接口芯片,使得本嵌入式系统能和采 用TCP/IP协议的以太网连接,实现上网功能。78E58中包含一 个精简的TCP/IP协议栈。 实时时钟是嵌入式系统的一个显著特征,μC/OS-Ⅱ要求时 钟周期为10~100ms,刚好符合数控系统工作周期的需要。本 实验系统采用10ms的工作周期,复杂系统可以适当增大。 μC/OS-Ⅱ是一个源代码公开的实时占先式内核,它可以管 理64个任务,有8个留给系统,用户可以使用56个任务,每个 任务的优先级必须是不同的(对于数控系统而言这56个任务已 绰绰有余)。 GB/T 18759·1-2002开放式数控系统国家标准中,开放程度 分为三个层次。其中第二层次为“控制装置在明确固定的拓扑 结构下允许替换、增加NC核心中的特定模块以满足用户的特 殊要求”。只要在μC/OS-Ⅱ开放式内核下“挂”上不同功能的 任务,比如译码、插补、输出等模块就可以基本达到第二层次的 要求,实现开放式数控的目标。 3 开放式数控的软件实现 3·1 软件接口 整个软件系统以μC/OS-Ⅱ作为平台,并在创建的各个任务中 调用相应的应用软件模块,结合实时中断服务程序,共同完成系 统功能。为了实现开放式数控系统的模块化,提高应用软件模块 的互换性和可移植性,给各应用软件模块定义了相应的程序接 口。只要软件接口一致的应用软件模块则可以替代和互换。 下面是插补程序的部分接口定义(C语言),其中包括插补 数据的数据结构和一些相关的函数接口。 3·2 任务实现 整个软件除了μC/OS-Ⅱ以外,建立了9个任务外加一个系 统初始化例程。9个任务分别是。 9个任务被分配在一个前后台结构中,前台程序是实时性 较强的任务,包括插补任务,监控任务,机床信号输入/输出任 务。其余为后台任务,零件加工程序输入任务主要是从键盘输 入加工程序,放在存储器中。串行通信是从外部输入零件加工 程序。网络任务是和局域网交换信息。显示放在空闲任务之 中。 系统初始化在启动时只运行一次,以启动多任务OSStart() 结束,见图2 为实现各个任务之间的通信以及数据共享,μC/OS-Ⅱ提供 了三种方法:信号量、邮箱和消息队列。下面以信号量为例说明 任务间通信的方法。用户任务形式如下: 这样,任务就是一个无限循环的C语言函数。函数中任务 通过OSSemPend()函数等待相应信号量的到来,触发任务的执 行;并利用系统延时函数OSTimeDly()延时。如图2所示,系统 初始化完成的工作为μC/OS-Ⅱ初始化,创建信号量,创建任务, 接口初始化等。在启动多任务OSStart();后,就处于μC/OS-Ⅱ 的调度下运行。首先,在键盘命令没有下达之前,系统处于等待 状态,各用户任务都在等待信号量的到来。在此期间,系统执行 的是优先级最低的任务OSTask Idle,进行一些显示等工作。实 时中断定时发生,只是没有键盘命令,只进行一些例外监控等, 不会出现插补等加工状态。一等加工的键盘命令按下,经过键 盘解析任

文档评论(0)

大吧书屋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档