通信网络-利用RCS库实现数控系统模块间的通信.pdf

通信网络-利用RCS库实现数控系统模块间的通信.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信网络-利用RCS库实现数控系统模块间的通信

利用 RCS 库实现数控系统模块间的通信 1,2 2 2 1,2 田军锋 马跃 吴文江 王锐 (1.中国科学院研究生院,北京 100049 ;2. 中国科学院沈阳计算技术研究所,沈阳 110171 ) 摘要:采用层次化的设计思想,对数控系统进行模块划分,数控系统对实时性要求很高, 尤其是运动控制模块,因此如何实现各个模块间的通信就显得十分重要。介绍了 RCS 库的 原理,以及利用 RCS 库中的共享内存和 NML 来实现各个模块间的通信。 关键词:数控系统;共享内存;模块;通信 中图分类号:TP27 文献标识符:B Using RCS Library to Realize Communication of CNC System’s modules Abstract:Based on hierarchical the design concept, this paper carries on the module division to the numerical control system,which has a high request of real-time performance, particularly the motion controller module,It is more important how to realize communication between modules. This paper also provides a method to establish a control system software using RCS library, and introduces implementation principle of RCS library and using share memory and NML realizes communication between modules. Key words: numerical control system ,Share memory,module ,communication 1 问题的提出 现代控制系统软件变得越来越复杂,这不仅体现在其控制算法上,也体现在其结构和 规模上[1],另外随着应用需求的不断变化,要求数控系统软件也要随着更新,这都对系统 的组织结构提出了新的要求。另一方面数控系统的实时性要求也越来越高,要求响应速度 越来也快,如何实现系统各个模块间的通信成为关键因素。 2 RCS 库简介 RCS(Real-time control systems) 库是由美国国家标准与技术研究院(NIST)研究开发 的软件库, 可以用来辅助构建多模块的控制系统软件。它以C++面向对象的方法, 将程序抽 象化, 以类封装代码, 易于理解和使用。更重要的是, 它代码开放, 可以自由使用、裁减和 拓展, 从而可以跟应用程序很好的融合起来。顶层的模块负责接收人员操作指令, 经过分 析、分解, 把它转化为具有内部形式的控制任务信息, 传递给中间层中的相关的模块。中间 层模块会将任务细分成更小的任务, 分配给下层模块执行, 并且协调它们的动作。下层模块 通过与硬件交互, 执行任务。下层的模块还要不断更新自身的状态,并且往上反馈, 最终由 上层模块以某种方式反映出来。 RCS 库自动实现、维护多个模块间的命令和状态信息的传递。实际上,在 WinCE 系统 中,RCS 库是借助内存映射文件和信号量机制来实现这一功能的[2]。我们知道,内存映射 文件技术允许进程间共享它们虚地址空间中的部分区域,而信号量技术允许进程间同步的 执行。RCS 库正是利用这两项技术来实现控制模块间的通信与同步。它为相关联的模块开 辟一个或者多个内存映射文件,通过让一个模块往内存映射文件写数据,另一个模块从内 存映射文件读数据,从而实现了模块间通讯,对于多个模块访问内存映射文件而引起的同 步问题,RCS 库利用信号量给予解决。一个模块在访问内存映射文件之前,需要获取信号 量;只有成功获取了信号量才能访问内存映射文件,否则就要等待;访问结束后就释放信 号量,让其它模块可以访问内存映射文件。RCS 库把以上代码封装到通道类中,程序员无 需关心其内部实现细节就能简便的实现模块间的通信与同步。通常,程序员需要为相关联 的两个控制模块建立两个通道,

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档