欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
机械论文
当前位置:首页 > 机械论文
开放式数控系统跨平台技术研究与应用
来源:一起赢论文网     日期:2013-06-01     浏览数:3334     【 字体:

摘 要 为了提高开放式数控系统的跨平台能力 结合开放式数控系统的结构特点 分析实现跨平台面临的主要问题 提出了开放式数控系统跨平台的一种解决方案 该方案主要通过软件源码的可移植性扩展 平台无关的通信机制和硬件抽象层 技 术 的使用来实现开放式数控系统跨不同软硬件平台的能力 并利用该方案成功获得了跨 平台和龙芯平台的 数 控 系 统 同时还实现了对多种伺服及 控制方式的兼容 增强了原有的系统的灵活性和可扩展性

关 键 词 开放式数控系统 跨 平 台 可 移 植 性 平 台 无 关 硬 件 抽 象 层

引 言

近 十 年 来 开放式数控系统的发展日新月异 和 传 统封闭 式 数 控 系 统 相 比 开放式数控系统所展现出来的优势得到 了 越 来 越 多 人 的 关 注 当数控系统具有了选用不同配置 包 括 性 能 和 价 格 组 件 的 能 力 时 其 意 义 是 双 重 的一 方 面 通过对已有数控系统的组件有针对性的修改或者替 换 可以在短时间内实现满足另一种特殊需求的新系统在最短的时间内满足用户的要求 以达到迅速占领市场的目 的 另一方面这种软硬件的不同组合 配 置 还 能 很 容易的实现产品性能和价格的一个均衡 可以实现成本最优互 操 作 性 可 移 植 性 可 伸缩 性 可 替 换 性 是 开 放式 数 控 系 统 的 基 本 属 性 其 中 可 移 植 性 是 开 放 式 数 控系统具有跨平台能力的重要基础 可 移 植 要求开放式数控系统具有跨不同软硬件平台的能力 数 控 软件模块可以运行于不同的系统平台 部分硬件模块也可以自 由 替 换 本文首先从开放式数控系统组成结构的角度对系统跨平台面临的主要问题进行分析 接着提出一种可行的 解 决 方 案 该方案主要通过软件源码的可移植性扩展平台无关的通信机制 和硬件抽象层技术 的 使 用实现开放式数控系统跨不同软硬件平台能力 最 后 运 用 该方 案 成功地将已有的 平台数控系统移植到国产龙芯处 理 器 平 台 上 并实现了多总线兼容的能力 最 终 完 成 产品 样 机 达 到 预 期 目 标开放式数控系统跨平台所面临的主要问题通常所说的数控系统是由专用的软硬件系统构成 系第 卷 第 期 陶耀东 李辉 郑一麟 等

开放式数控系统跨平台技术研究与应用

统中软硬件模块通过密切配合来完成数控加工任务 这 些模块 大 多 来 自 不 同 厂 商 为了达到加工时的精度和速度要求 数控系统设计者首先要考虑的就是如何使得各个模块无 缝 的 衔 接 起 来 增强各个模块间的耦合性 尽 可 能 的 提高 整 个 系 统 的 性 能 而 另 一 方 面 从开放式数控系统的开放性和可重构性的角度来考虑 这种软硬件的高度耦合又是 不 利 的 尤其是当我们希望系统中一些模块具有可替换性 的 时 候 因 此 解决系统跨平台的关键就是处理好软硬件模块之间耦合关系的问题下面以数控系统的组成结构为研究对象 对 开 放 式 数控系统跨平台所面临的问题进行讨论 图 展 示 的 是 在两种平台上的数控系统软硬件各个层次可能存在的差异这 里 和 可 以 是 龙 芯 或 者 等 平 台 具 有 跨 平台能力的数控系统必须努力将这些差异 透 明 化 以 达 到平台独立的目标图 开放式数控系统不同平台间差异数控软件源码如何实现多平台兼容数控软件是开放式数控系统的重要组成部分 数 控 系统的性能和稳定性等各项指标都和数控软件有着密切的关系 同 时 和 硬 件 相 比 软件具有更高的灵活性 兼 容 不同硬件模块的主要工作也是由软件来完成 因 此 考 虑 如何使得数控软件在架构上和功能上具有跨平台能力是开放式数控系统跨平台最基本和重要的一步目前开放式数控系统多是基于通用处理器实现的 常用 的 比 如 系 列 系 列 等 另外随着国产龙芯处理器性 能 的 稳 步 提 升 采用龙芯处理器作为主控单元的数控系 统 也 已 出 现 上述这些处理器在性能上和价位上均有较为 明 显 的 差 异 开放式数控系统应能够根据实际性能 功能和价格的要求选用合适的处理器作为硬件平台 要 具 有这种自由选择的能力就要求数控系统具有很好的跨平台能力 也即数控系统具有屏蔽掉这些平台间差异的能力多个模块如何实现跨平台通信为了满足高性能的应用需要 数控系统可以采用增加系统中的处理器或控制器的数量来提高系统运行性能 最极端的情况就是每一个功能模块都由一个单独的处理器或者控 制 器 进 行 管 理 控 制 而各个模块对处理器性能的要求差 别 很 大 比如数控系统中的核心单元 运 动 和 任 务 模块对处理器的性能要求就高于负责信息输出输入的显示模块 根据各个模块的性能要求 从成本优化的角度考虑可以为各个模块配置性能与之匹配的处理器 选 用 相 同 架构 不 同 型 号 的 处 理 器 也可以是不同体系架构的处理器这 样 在不影响整个数控系统性能水平的前提下 降 低 了数控系统的制造成本 也提升了数控产品的市场竞争力数控系统各个模块间密切配合才能完成整个数控加工任 务 如果数控系统中采用了多个处理器 如 何 使 得 不 同种类的处理器或者控制器间能够透明地无差别地进行数据通信就显得尤为重要了数控系统如何兼容多种伺服和 控 制 模 块数控系统的硬件模块有多个 其中最重要的是伺服和它们是实际执行数控加工命令的模块 目 前 而 言 数控系统对伺服及 的控制方式分为脉冲方式 模 拟 方 式和数 字 总 线 方 式 三 种 相同的控制方式还有多种不同厂商的 产 品 可 选 通常这些产品是互相不兼容的 通 常 一 个 数控系统只对一种控制方式提供接口支持 用户实际使用只能选择该系统支持的某一种控制模块 而如果还有其他类型的控制模块就无法再利用 系统的灵活性和可替换性很差 这显然是很不合理的 因此如何实现对多种总线模块的兼容是开放式数控系统跨平台研究要重点解决的一个问题一种可行的解决方案上面通过对开放式数控系统跨平台移植可能出现的问题 的 分 析 可 以 看 出 跨平台面临的主要问题的是数控软件系统的多处理器平台兼容和数控硬件系统对多种数控硬件 模 块 的 兼 容 同时很重要的一点是要保证在其所跨的新平台上性能也要达到预期的目标 

针 对 上 述 问 题 本 文 提出了一种可行的开放式数控系统跨平台的解决方案 该 方案主 要 从 数 控 软 件 模块间通信和兼容多类型控制模块三个方面分别提出具体的解决方法 详 细 讨 论 如 下对数控软件源码进行可移植性扩展软件运行环境包括硬件环境和系统软件环境 中 央 处理 器 是数控系统最核心的硬件单元 中 央 处 理 器按指令集类型可以分为精简指令集类处理器 和 复杂指令集类处理器 二者的主要差异是机器指令集类型 不 同 精简指令集类处理器如 公 司 的 系 列处 理 器 复杂指令集如英特尔公司的 系 列 处 理 器 二者均在开放式数控系统有较为广泛的应用 而 随 着 国 产 龙芯系列处理器的逐渐成长和成熟 采 用 国 产 的 数 控 系统 也 已 面 世 龙芯处理器采用的是 指 令 集是实 际 使 用 的 体系结构中最精巧的一种 数 控 系 统跨平台首先指的就应该是数控软件能够在这些处理器平台上正常运行的能力为了最大可能的发挥系统硬件的性能 目 前 开 放 式 数控系 统 软 件 尤其是底层软件模块 多 是 由 语 言 实 现 的计算机工程与设计 年语言是一种和底层硬件交互密切的高级编程语言 对内 存 或 者 端口能进行位级别的操作 因此相比于其他高级 语 言 语 言 程 序 良 好 的 可 移 植 性 但如果数控软件模块 采 用 语言按照可移植性的目标编写或者扩展 可 以 获得 较 好 的 可 移 植 性 如 图 所 示 源码的可移植性扩展主要目的是为了使程序能够和不同系统的编译环境和运行环境 相 一 致一 般 而 言 在对数控系统的源码进行可移植性扩展时需要考虑一下几个方面不同系统硬件平台上大小端模式可能有差异不同系统硬件平台上类型表示可能有差异不同系统硬件平台软件库的使用可能有差异不同系统硬件平台编译环境可能有差异大小端问题是多平台程序兼容都要考虑的一个问题该问题主要是由在系统中如何存储多字节类型参数而引起的 例 如 系统使用的是小端模式 高 位 存 于 高 地址 而 采 用 指令集的龙芯处理器的大小端模式则是 可 选 的数据类型差异多出现在不同机器字长的处理器上 如位 和 位 的 处 理 器 要 使 软 件 在 位 系 统 和 位 系 统上都 能 正 常 工 作 就必须要解决在这两种系统上的数据类型差异可能带来的副作用不同硬件平台上使用的软件库也可能不同 比 如 为 数控系统提供实时支持的系统库就会因平台的不同而不同不同硬件平台上的编译器也会有很大差异 如 编 译 参数的 使 用 对 应 内 核 的 版 本 等 如何屏蔽掉这些差异也是跨平台要关注的事情这几种类型差异的一个共同特点就是它们分散在数控软件 源 码 的 各 个 角 落 里 要知道实际具体的差异要看数控软件 运 行 的 是 什 么 平 台 针对不同平台间这种碎片化的差异 一 个 可 行 的 办 法 是 在确定了数控系统要跨哪几种平台 之 后 对源码进行有针对性的修改 封 装以数控软件中运动模块对实时库的使用为例 假 设 在平 台 上 使 用 的 是 而 要 跨 的 平 台 上 由 于 某 种原 因 只 能 提 供 是 支 持 硬 实 时 功 能 的的 一 个 变 种 它主要提供实时调度和进程通信支持也 是 对 内核的硬实时扩展 提 供 和相 似 的 功 能 二者都是开源软件 并 且 有 着 相 似 的 调 用接 口 但使用这两种模块时使用的头文件不同 调 用 函 数名 也 不 同 这 时 可 利 用 语言中宏来对源码中使用到或 者 模块提供的接口函数的地方进行封装其 示 例 如 下这 样 封 装 后 的 数 控 源 码 通过在编译时给定相应的参数 通 过 是 否 定 义 宏 或 者 来 编 译 生 成 相 应平台下的可执行程序数控系统组件间使用具有平台独立性的通信机制数控系统软件是由功能相对独立的不同模块组成的每个 模 块 完 成 特 定 的 任 务 比如实现任务的下达和执行等工 作 模块间同时要完成相应的通信工作 比 如 工 作 流 的输 入 输 出 模块间信号的反馈处理等 对于只使用一个处理 器 的 数 控 系 统 所有模块都运行于同一块处理器上 共用同 一 块 内 存 卡 模块间的通信可以很容易的通过共享内存的方式来解决 常 用 的 比 如 提供的共享内存接口此 外 和 还为实时系统专门设计了满足实时 要 求 的 共 享 内 存 接 口 而前面我们已经提到过 为 了 满足高 性 能 的 应 用 需 要 数控系统可以采用增加系统中的处理器或控制器的方式来提高计算速度 这些处理器可以采用 相 同 型 号 的 但 实 际 情 况 中 我们更多的是根据各个模块 的 性 能 要 求 为各个模块配置性能与之匹配 也 就 意 味着 不 同 型 号 的 处 理 器 甚至是不同体系架构的处理器相同或者不同处理器在本地或者远程能否高效 稳 定 的 通信将直接影响着整个数控系统的性能好坏 对 于 这 种 多的 方 式 传统的基于同一块内存的共享内存的通信方式显 然 是 难 以 实 现 的 此时系统需要的是一个具有跨平台能力的通信机制 图 是通过网络进行通讯的数控处理器平台如何实现平台无关通信机制的示意图图 平台无关通信机制从 图 可 以 看 出 平台无关的通信机制可以通过在系统中添加一个辅助模块 或 称 为 组 件 来 实 现 该 模 块应主要具有以下功能该模块本身应具有很强的跨平台能力 能 够 通 过 重 新编译在另一种系统上正常运行 该模块能够为上层数控系统提 供 统 一 的 通 信 接 口 并且能够将系统中特定字节序表示的通信内容转换为平台无关的字节序 即在信息发送之第 卷 第 期 陶耀东 李辉 郑一麟 等开放式数控系统跨平台技术研究与应用前现先在本地转换成模块自身定义的字节序 然 后 再 发 送出 去 系统在收到消息的时候再将用模块自身定义的字节序表示的信息转换成本地字节序排列的信息 供 本 地 程 序使 用 此外该模块需满足模块间通信时间和准确性约束理想效果是两个模块运行在两个单独的处理器和运行在同一个处理器上时的执行效率是相同的满足上述要求的平台无关性的通信模块可以自己开发也可以利用现有的开源软件 比如美国国家标准与技术研究院 研究 开 发 的 软件库中提供的中性消息语言模块就可以满足要求采用硬件抽象层 方法实现多种伺服和 控制 方 式 的 兼 容在现有的开放式数控系统中实现多种伺服和 控 制方 式 兼 容 一个比较好的解决办法是在上层数控系统和下层控制模块之间架设一层硬件抽象层 如 图 所示 将上层数控系统和底层控制模块解耦合 进 而 达 到 数控 系 统 伺 服 和 控制方式动态可重配的效果图 使用硬件抽象层的数控系统的结构该方法的基本思想就是在硬件抽象层 中 先 定 义 一套通 用 的 通 信 接 口 函 数 然后再通过用户给定的信息将特定控制模块的通信函数绑定到通用接口上从而实现同一数控系统对多伺服和 控制方式兼容的效果在 图 中 硬件抽象层模块右侧的参数配置模块从系统指定位置读入一个配置文件 该配置文件用以存储控制模 块 的 基 本 信 息 比如是何种控制方式 分 别 对 应 的 地 址是 多 少 最大转数等性能参数 该文件内容可被用户经人机 界 面 修 改 并 保 存 参数配置模块读取完配置文件之后使用和硬件抽象层模块中定义的结构体初始化一块共享内存 共享内存初始化完成之后 参 数 配 置 模 块 退 出 硬 件抽象层模块根据共享内存名获得参数配置模块初始化的结构 体 完成和具体控制模块的绑定 建立一张通用接口 特定控 制 接 口 函 数 映 射 表 上层数控系统不需要知道具体控制模 块 接 口 函 数 名 当它需要向下和执行单元进行通信的时 候 只需调用硬件抽象层提供的通用接口函数 该 接 口函数会查询其内建的通用接口特定控制接口函数映射表获得当前系统所使用的控制接口函数 并调用该函数最终实现上层数控系统和底层控制模块的通信功能图 是 用 于 伺 服 及 控制模块的硬件抽象层工作原理 图 该图主要通过数控系统和控制模块建立连接的函数示例来说明硬件抽象层的工作过程和原理左侧代码部分是一个通用的数控系统和控制模块建立连接的 函 数 _ 该函数带入一个用于表示栈号的形 参 函数体首先通过查找接口特定控制接口函数映射表来确定当前要和何种总线建立连接 右侧是该代码的功能 示 意 图 硬件抽象层中建立连接的函数 _通过映射表实现了对三种控制方式的兼容图 用 于 伺 服 和 的硬件抽象层工作原理计算机工程与设计 年由 平台移植得到的龙芯平台的开放式数控系统样机随着国产龙芯处理器的性能不断提高 技 术 不 断 成 熟采用国产处理器的开放式数控系统的研制已具备了基本条件 利 用 已 有 的 技 术 基 础 将 现 有 的 平 台 的 下 的 开 放式数控系统移植到龙芯平台上是数控系统国产化的一条捷径 运用前文叙述的开放式数控系统跨平台的一般性解决方 案 对 已 有 的 基 于 平台的开放式数控系统进行跨平台 改 造 移植到采用主频为 龙 芯 处 理 器 的 龙芯 平 台 在 平台上提供实时功能支持的是 模块 而 在 龙 芯 平 台 上 则 是 模 块 因此在源码移植阶段很大一部分工作集中在对实时调用接口的可移植性扩展使其兼容两种实时模块在 本 次 跨 平 台 移 植 过 程 中 对于数控系统源码部分做了如下具体扩展对两个平台上有差异的库或者头文件用宏进行扩展 确保程序能够顺利编译通过 正 常 运 行对 于 平台中涉及到实时动态库 的 地方使用宏进行扩展 使得程序在编译时决定是使用还 是对 于 编 译 脚 本 进行可移植性扩展 确 保中的编译命令和参数具有平台独立性 同 时 将 平台相关的参数放都到一个文件中 便 于 管 理本次移植还尝试对数控系统软件模块间的消息传递采用 平 台 无 关 的 通 信 库 因 为 人 机 交 互 模 块 界 面对通信的时效性要求并没有其它实时模块那么严格因此此次主要是将界面和其它软件模块间的通信采用平台无 关 的 方 式 实现界面显示模块 和 其 余 模 块任 务 运 动 等 间 的 平 台 独 立 的 通 信 并 在 和 龙 芯 两种平台做了如下三种组合的测试 如 图 所 示 可 以 将 单独的运行界面的单元称作人机交互单元 而运行其余模块的单元叫做任务执行单元 则 图 中 则是人机交互单元和任务执行单元均由龙芯平台实现 通 过 通 信 库 借 组网 络 进 行 通 信 则 是 将 人 机 交 互 单 元 用 平 台 运 行中是将所有模块均运行在龙芯平台最 后 运 用 硬 件 抽 象 层 的 方 法 初步实现了伺服和控制使用模拟方式和总线方式 总 线 和总线 控 制 方 式 并为脉冲式控制方式留下了接口 大 大 提高了新系统的跨硬件平台能力 图 为基于龙芯平台的开放式数控系统样机

结束语

良好的跨平台能力是开放式数控系统的基本要求 跨平台可分为跨软件平台和跨硬件平台 二 者 紧 密 联 系 相互 影 响 也 正 因 为 如 此 真正的实现跨平台是一件比较困难 的 事 情 本文通过分析开放式数控系统跨平台所面临的问 题 提出了一种可行的开放式数控系统跨平台的解决方案 该方案主要包括三部分内容对数控软件源码进行可移植性扩展 使 扩 展 后 的数控软件具有跨不同软件平台的基本能力数控系统组件间使用具有平台独立性的通信机制使数控系统具有跨不同硬件平台的能力采用硬件抽象层 方 法 实 现 多 总 线 兼 容使数控系统具有跨不同总线平台的能力本文在最后还将该方案用于实现从 平 台 到 龙 芯 平台的 数 控 系 统 的 跨 平 台 移 植 使得移植后的数控系统基本具 备 跨 平台和龙芯这两种平台的能力 并 在 原 有 数 控功能的基础上实现了多总线兼容的能力 充分证明了本文所提方案的可行性和有效性

    参考文献陶 耀 东 林 浒高性能开放式数控系统框架设计 小型微型计算机系统第 卷 第 期 陶耀东 李辉 郑一麟 等开放式数控系统跨平台技术研究与应用高 甜 容 于 东 秦 承 刚 等 数控系统中模块间通信方法的设计与实现 计 算 机 工 程中国科学院计算技术研究所 龙 芯 处 理 器用 户 手 册程 序 语 言设 计 英 文 版 版 北 京 机械工业出版社?王 创 社 周 树 杰 实时调度器的优化与实 现 北京石油化工学院学报赵 旭 夏 靖 波 基 于的 系统实时性研究与改进 计 算 机 工 程徐 嵩 孙 秀 霞 董 文 瀚 等基 于 的无人机地面站串口通信模块设计 计 算 机工 程 与 设 计 

[返回]
上一篇:基于小波变换和鱼群算法的网络抗毁性研究
下一篇:标准模型下可证安全的基于身份门限环签名