基于EMC2的数控系统软件架构及通信机制分析

合集下载

阿里各岗位技术面试题含答案【最新】

阿里各岗位技术面试题含答案【最新】

阿里各岗位技术面试题含答案1.请评估一下程序的执行结果?public class SynchronousQueueQuiz {public static void main(String[] args) throws Exception {BlockingQueue<Integer> queue = new SynchronousQueue<>();System.out.print(queue.offer(1) + " ");System.out.print(queue.offer(2) + " ");System.out.print(queue.offer(3) + " ");System.out.print(queue.take() + " ");System.out.println(queue.size()); }A、true true true 1 3B、true true true (阻塞)C、false false false null 0D、false false false (阻塞)阿里巴巴出题专家:桃谷阿里云中间件技术专家,Apache Dubbo PMC ,Spring Cloud Alibaba Architect,具有多年分布式以及中间件架构设计及研发经验,目前负责Apache Dubbo的研发及社区生态。

招聘职位:阿里中间件技术人才2.如何用socket编程实现ftp协议?阿里巴巴出题专家:吴明阿里云弹性计算创新产品Z工作室资深技术专家,2010年加入阿里云,曾负责过阿里云供应链和公有云IAAS运维团队,14年开始从0到1建立了专有云技术服务团队。

目前是阿里云国产化研发负责人和弹性计算产品团队负责人。

招聘职位:阿里云-GPU虚拟化研发高级专家3.假如给你一个新产品,你将从哪些方面来保障它的质量?阿里巴巴出题专家:晨晖阿里云中间件技术部测试开发专家,从事软件开发和测试工作多年,在软件产品质量保障方面有较丰富的经验。

开源机器人控制平台LinuxCNC介绍与应用

开源机器人控制平台LinuxCNC介绍与应用

开源机器人控制平台LinuxCNC介绍软件平台采用最初由美国标准与技术研究院研制的一套用于机器人与通用数控机床等运动控制的开放式数控系统。

原名为EMC2,后来改为LinuxCNC,该系统是一个源代码公开的自由免费软件,该系统最大支持9轴联动控制,内置具有前瞻性的实时轨迹规划器,通过定制运动学模块可支持非笛卡尔空间的运动控制,支持的结构包括机器人关节控制和六轴连杆昆虫机器人控制等。

具有较高的科研价值和实际应用价值。

具备以下特点:1)LinuxCNC支持最多9轴运动控制,内置具有前瞻性的实时轨迹规划器,可实现轨迹误差限制、轴同步运动控制、自适应进给率控制等功能;2)提供一个适用于RS-274机床编程语言的G代码解析器,使得机床编程通俗易用,降低了推广应用难度;3)提供了用于模块化自由配置的HAL层,实现控制系统自由定制与功能灵活扩展;4)通过定制运动学模块可支持非笛卡尔空间的运动控制。

5)支持多种人机交互图形界面。

包括Tcl/Tk、Python实现的Tkinter等。

LinuxCNC是一款构建于实时Linux操作系统之上的纯软件数控系统,具有设计便捷、灵活、易扩展等优点。

用户针对特定的数控系统应用要求,定制相应的配置文件、HAL模块连接以及操作界面即可完成机床控制系统的开发。

鉴于多年使用linuxcnc系统经验,觉得linuxcnc系统具有很大的发展前景,不单单得益于上述系统自身的优点,关键在于它在不断的向前发展,且发展越来越好。

linuxcnc目前多用在标准机床控制上,如铣床,雕刻机,具有很显著的性价比。

以后还可能大量用在机器人方面,是它发展的一个趋势。

新的LinuxCNC2.6版本支持NURBS功能和前瞻控制:14.7 G5.1 Quadratic B-splineG5.1 X- Y- I- J-• I - X axis offset• J - Y axis offsetG5.1 creates a quadratic B-spline in the XY plane with the X and Y axis only. The offsets are I for X axis and J for Y axis.It is an error if:• I and J offset is not specified• An axis other than X or Y is specified• The active plane is not G1714.8 G5.2 G5.3 NURBs BlockG5.2 X- Y- P- <L->X- Y- P- <L->...G5.3Warning: G5.2, G5.3 is experimental and not fully tested.G5.2 is for opening the data block defining a NURBs and G5.3 for closing the data block. In the lines between these two codesthe curve control points are defined with both their related weights (P) and their parameter (L) which determines the order of thecurve (k) and subsequently its degree (k-1).Using this curve definition the knots of the NURBs curve are not defined by the user they are calculated by the inside algorithm,in the same way as it happens in a great number of graphic applications, where the curve shape can be modified only acting oneither control points or weights.LinxuCNC配套的控制卡很难找,目前只有淘宝一家LinuxCNC商家在卖LinuxCNC专用的高速控制卡MotCAT。

用IO点实现数控系统与PLC的通讯

用IO点实现数控系统与PLC的通讯

,
结论
根据对所建立的数控多轴加工非线性误差的理论模型分 析, 针对不同情况提出了多轴加工非线性误差的补偿方法, 为数 控加工程序的编制过程中控制多轴数控加工的非线性误差提供 了理论依据和补偿的相关算法, 为提高多轴数控加工的精度有 很好的指导意义。 [参考文献] [+ ]-.. / 0,12345 6 1 7 89:;<3:=> >9::.? @.A.>:=;4 B;? , C 3D=@ (") : +OO&, !& OPP @>9AE:9?.F @9?B3>. <3>2=457 GH67 I7 JKLM7 KN0, Q OOR [#]12;= S T, I94 1 07 S3AA C .4F >9::.? =4:.?B.?.4>. 3U;=F34>. =4 4> (&) : 18M, +ORO, #+ !P+ Q !PR <3>2=4=45 ;B @>9AE:9?.F @9?B3>., [!]焦建斌 7 多坐标侧铣数控加工的误差理论及刀位验证研究 7 哈尔滨工业大学博士学位论文 7 +OO, ["]袁哲俊, 刘雄伟, 刘华明 7 五坐标端铣数控加工理论分析 7 机 (+) : 械工程学报, +OO!, #O !+ Q !P [,]卢金火 7 汽车覆盖件数控加工刀具运动轨迹的生成及编程 (!) : [ I] 7 汽车技术, +OO" +P Q +O 收稿日期: #%%! C %& C %! 作者简介: 刘宏 (+O&R C ) , 女, 中国工程物理研究院机械制 造工艺研究所高级工程师。 (编辑 李秀敏)

新技术题目

新技术题目

新技术题目网上A类14. 云平台的虚拟化技术可以将多个计算资源融合,形成一个紧密的,更大规模的计算实体,解决服务器的垂直扩成能力。

(B)A. 对B. 错15. 大数据的价值是通过数据共享、交叉复用后获得最大的数据价值。

(B) *对海量数据进行存储于分析A. 对B. 错16. SDN可以看到整个网络的视图。

(A)*A. 对B. 错33. 在服务器虚拟化领域,出现了新的虚拟化容器,它是( A )*A.LXC,DockerB.JVMC.VDID.INTEL-VT,AMD- V/RVI34. 云计算中的层次概念中,那个不属于云的分类逻辑( D )**A.IaaS层建设、PaaS层建设、 SaaS层建设B.私有云、公有云、混合云C.企业云、社区云、政府云D.青云QingCLOUD、阿里彩云间35. 云计算是对(D )技术的发展与运用A.并行计算B.网格计算C.分布式计算D.三个选项都是36. 大数据,或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件,在合理时间内达到撷取、管理、处理、并(B )成为帮助企业经营决策更积极目的的资讯。

**整理A 收集B 分析C 规划D 聚集37. 无线传器网络是一种综合传感器技术、计算机技术、信息处理技术和通信技术为一体的网络,具有以( D )、资源受限、自主自治、自维护、较强容错能力和多跳路由等明显的特征。

**A 计算为中心B 通信为中心C 传感为中心D 数据为中心38. 无线WIFI目前已商用的技术,最高可支持的速率是多少?(D)*A 300MB 450MC 600MD 1000M39. 希望扩大无线的覆盖范围,最有效的做法是?(C)**A 增加AP功率B 买接受灵敏高的终端C 增加AP天线的增益D增加AP密度40. 以下哪个无线技术需要申请无线频点许可才可以用?(B)A 蓝牙B LTEC 802.11aD 802.11ac16. 大数据概念中,不属于并行计算的技术: ( D )**A.Hadoop Hadoop是一个能够对大量数据进行分布式处理的软件框架B.HANA HANA是一个软硬件结合体,提供高性能的数据查询功能C.HBase HBase是一个开源的非关系型分布式数据库(NoSQL)D.Hyper-V Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化17. 以下内容中,哪些是虚拟化调度器,实现虚拟资源容器: ( ABCD )***A.PowerVM PowerVM是在基于IBM POWER处理器的硬件平台上提供的具有行业领先水平的虚拟化技术家族B.KVMC.Hyper-V Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化D.xenServer CitrixXenserver,思杰基于Linux的虚拟化服务器。

力矩电机的控制系统设计与性能实验论文

力矩电机的控制系统设计与性能实验论文

力矩电机的控制系统设计与性能实验摘要现代高档数控机床的发展对转台旋转进给伺服性能提出了越来越高的要求,在各种数控转台中,传统的驱动方式难以实现高精度加工。

本文采用KOLLMIRGEN力矩电机直接驱动数控转台,消除了中间传动环节,具响应速度快、动态刚度和定位精度高等特点。

本文依据“零传动试验台”的具体要求,采用了“NC嵌入PC”的开放式数控系统,采用工控机作为上位机,来处理数控系统中的弱实时性任务,用PMAC运动控制卡作为数控系统的控制器,完成数控系统中的强实时性任务;安装了PMAC运动控制卡的IPC与Danaher Motion伺服驱动器、力矩电机组成了三环闭环的控制系统;利用PMAC提供的PID执行程序在线调节整个系统的PID参数,优化系统的动态性能;利用RENISHAW激光干涉仪测定电机的定位误差并编写误差补偿程序,实施误差的在线补偿。

通过对电机的调试和检测,电机的性能达到各项设计要求。

关键词:力矩电机,PMAC, RENISHAW激光干涉仪Design of Torque Motor Control System andPerformance TestABSTRACTThe performance of the rotative feed servo is more and more important with the development of modern advanced numerical control machine ,in various NC rotary tables, the traditional drive mode is very difficult to implement high precise processing. The text taking kollmorgen direct drive NC rotary table, in this drive mode, all mechanical transmission elements are eliminated, and it has quick response ,high dynamic stiffness and position precision.According to requirement of zero mechanical transmission experimental table, this text taking “NC+PC” openning architecture, IPC was used as its supervisory to process weak real-time tasks in CNC, and PMAC motion control card was used as the control of CNC to process strong real-time tasks. stage.The whole system PID parameters had been adjusted on—line using the PID executive program provided by PMAC,optimized the dynamic performance of the system. The setting accuracy and the resetting accuracy of the Torque Motor had been determined by RENISHAW laser interferometer. system,and then the setting error compensation on-line had been realized by compiling the error compensation program.Through the debug and detection of the motor, the performance index of it has fulfilled the designing requirement.Key words: Torque Motor, PMAC, RENISHAW laser interferometer目录第1章.绪论 (1)1.1. 课题研究的目的及意义 (1)1.2. 力矩电机的研究状况及发展趋势 (2)1.3. 国内外超精密数控系统中应用PMAC概况 (4)1.4. 开放式数控系统 (6)1.5. 论文的主要内容与任务 (7)第2章.伺服驱动单元 (9)2.1. 力矩电机 (9)2.1.1. 力矩电机的主要特点及应用 (9)2.1.2. KOLLMORGEN力矩电机D063M (10)2.2. 伺服驱动器 (11)2.2.1. 驱动器的主要端口 (12)2.2.2. 编码器的引脚及意义 (13)2.2.3. 正弦编码器的反馈 (15)2.3. 本章总结 (15)第3章.PMAC运动控制卡 (16)3.1. PMAC运动控制卡的概述 (16)3.2. PMAC运动控制卡的功能简介 (16)3.3. PMAC运动控制卡的开放性 (18)3.4. PMAC运动控制卡的应用 (19)3.5. 本章总结 (19)第4章.控制系统设计 (20)4.1. 控制系统的组成与分类 (20)4.1.1. 运动控制系统的组成 (20)4.1.2. 运动控制系统的分类 (21)4.2. 运动控制系统的电路设计 (22)4.2.1. 系统连线 (24)4.2.2. 系统的电气控制 (29)4.3. 运动控制系统的调试 (29)4.3.1. I变量的设置 (29)4.3.2. 驱动器参数的设置 (32)4.3.3. 电机PID参数的设定及调节 (33)4.4. 系统安全 (37)4.4.1. 硬件超程限位开关 (38)4.4.2. 软件超程限位 (38)4.4.3. 跟随误差限制 (38)4.4.4. 屏蔽技术 (38)4.4.5. 光电隔离 (39)4.5. 本章总结 (39)第5章.系统精度检测实验 (40)5.1. RENISHAW激光干涉仪的测量原理 (40)5.2. 精度测量结果分析 (41)5.2.1. 基于PMAC的误差补偿功能 (41)5.2.2. 测量结果分析 (42)5.3. 本章小结 (44)第6章.结论及展望 (45)6.1. 结论 (45)6.2. 展望 (45)参考文献 (47)致谢 (50)第1章.绪论1.1.课题研究的目的及意义目前多轴联动数控机床的发展水平已经成为衡量一个国家制造装备业水平的重要标志,国外发达国家已把数控转台直接驱动多轴联动数控机床作为新一代产品的主流发展方向之一,并正在积极研制和开发。

EMC2的硬件抽象层原理与实现

EMC2的硬件抽象层原理与实现

QQ群:302377173LinuxCNC/EMC2论坛:/时间:2009-12-28来源:单片机与嵌入式系统作者:林凯宏,游林儒,胡庆华华南理工大学关键字:EMC2硬件抽象层原理1概述嵌入式系统具有专用性强、外围设备多样的特性,这决定了其应用的硬件环境差异性较大。

系统软件模块与硬件之间的接口是嵌入式实时系统的主要特征,是系统设计过程中的必需环节,也是影响嵌入式系统应用前景的关键问题之一。

硬件抽象层(Hardware Abstraction Layer,HAL)的引入可有效解决这一问题。

HAL 是将硬件平台与应用软件隔离开来的软件层次,通过硬件抽象技术实现硬件相关和硬件无关两部分程序代码的隔离,为应用软件提供一个没有硬件特性的接口。

硬件抽象层的引入不仅是系统体系结构设计方法的改进,更直接关系到整个系统的开发模式以及嵌入式操作系统的可移植性。

硬件抽象层的引入大大推动了嵌入式系统开发的规范化进程。

EMC 是一个开放源代码的用于机床或机器人等运动控制系统的计算机控制软件。

它能同时驱动9轴电机。

其运动控制特性包括:刀具半径和长度补偿、轴同步运动、自适应进给速度、恒速度控制等。

EMC2在原有EMC 软件的基础上加入了许多新的特性和功能,其中包括了HAL 和软件PLC 模块ClassicLadder。

ClassicLadder 是一个基于LGPL 协议的梯形图解释器。

它随着EMC2一起发布,可以与EMC2的HAL 一起工作。

本文中的控制系统利用EMC2的HAL 为软PLC 中的应用程序提供底层硬件操作支持,提高了应用程序的平台无关性与可移植性。

2硬件架构控制器是锂电池卷绕恒张力控制器,采用符合PC/104总线规范的单板计算机(以下简称PC104)与基于FPGA 的专用主机板相结合的方法构建系统硬件。

PC104中运行实时Linux,ClassicLadder 及HAL 作为实时模块加载到Linux 系统中。

系统硬件框图如图1所示。

MOF下软件体系结构分析结果集成框架的研究

MOF下软件体系结构分析结果集成框架的研究Research on Integration Framework of Software Architecture Analysis Results Under MOF张晓敏,薛小东(中国电子科技集团公司第二十八研究所,江苏南京210007)Zhang Xiao-min,Xue Xiao-dong(The28th Research Institute of China Electronic Science and Tech-nology Group,Jiangsu Nanjing210007)摘要:通过集成框架,利用技术做到软件系统的集成化处理,可以对不同软件的体系结构进行优化。

而基于元建模技术建立的元模型是一种可实现的模型扩展,其简称为MOF。

在实践中,将SA模型与分析结果整合处理,综合模型对集成框架的可行性进行分析。

关键词:MOF;软件体系结构分析结果集成框架;集成框架中图分类号:TP311.5文献标识码:A文章编号:1003-0107(2018)08-0001-03Abstract:By integrating the framework and using technology to integrate the software system,we can optimizethe architecture of different software.Metamodel based on meta modeling technology is an implementation ofmodel extension,which is referred to as MOF.In practice,we integrate the SA model with the analysis results,and analyze the feasibility of the integrated framework with the integrated model.Key words:MOF;software architecture analysis result integration framework;integration frameworkCLC number:TP311.5Document code:A Article ID:1003-0107(2018)08-0001-030引言软件可以基于自适应性,综合系统消息,调整运行方式。

开源数控系统EMC2的编译和启动分析


3.0/src,在源文件目录中编译安装 EMC2,依次输入如下命
令:
./configure - - enable- simulator - - enable- run- in- placemake
sudo make setuid
编译完成后运行./ scripts /emc 进行测试。
configure 参数说明:
- - enable- run- in- place 在 当 前 文 件 夹 中 运 行 。 如 果 想
在安装前先测试, 或者担心会覆盖了已安装好的文件,可
加此参数。 - - enable- simulator 启用模拟模式 。EMC2 只有在实时
系 统 上 ,才 能 控 制 和 操 作 硬 件 。在 不 是 实 时 系 统 中 需 要 使 用模拟模式。这样我们可以在虚拟机上运行 EMC2。
tcl8.4- dev,tetex- bin,tetex- extra,exlive- extra- utils,
tk8.4- dev,xsltproc
除 了 里 面 涉 及 rtai 的 相 关 包 , 我 们 可 以 用 apt- get 命
令安装上其他所有包。
第 二 步 进 入 到 解 压 后 的 源 文 件 目 录 cd ./emc2_2.
|- - rtlib
(内 核 实 时 模 式 目 标 库 文 件 , 在 编 译 后 存
在)
|- - scripts (shell 程 序 目 录 , 有 启 动 emc2, 设 置 emc2
运行环境等 shell 程序)
|- - share
(共 享 文 件 目 录)
|- - src
(源 文 件 目 录)
块通信)

EMC2的硬件抽象层原理与实现

系统硬件 框图如 图 1 所示。其 中 ADS8361 为 12 位 模/ 数转换器, 用 于采 集张 力 值等 模 拟量; AD5624 为 数/ 模 转 换 器, 用 于 控 制 直 流 电 机 转 速 及 气 压 阀 压 力 值; FPGA控制所有外 围芯 片, 并 产 生电 机脉 冲方 向 信号, 同 时对电机 编码 器信号 进行 计数; CPLD 控制 I/ O 输 入/ 输 出点, 并与 FPGA 交换信息。利用 EM C2 中 HA L 的 实现 原理, 可编写组件将硬件系统所有设备抽象成引脚和 函数 的形式, 供软 PLC 在需要时加载。
void rtapi_app_ex it( v oid) { hal_ex it( comp_id) ; } hal_exit ( ) 关闭 并释放 H AL 及 RT A PI 使用 到的 系统 资 源, 使这些资源可被重新使用。
用 EM C2 自带的工 具 comp 对 源文 件 hal_CNC. c 和 hal_CN C. h 进行编译, 即可得到 名为 hal_ CNC 的 Compon ent。该组件自动放入 EM C2 的模块库中, 随时可被 其他 软件模块调用。
函数、hal_CNC 退出时的操作等。 rtap i_ app_ main ( ) 函数
是载入 Component 时的程序入口。
首先申请当前 Componen t 的 ID 号, 对 Component 的
每个操作都由该 ID 号索引。
co mp_id = hal_init( / hal_CN C0) ; / / hal_CN C 为 Co mpo nent 的名字
Pin, 将对硬件各模块的操作抽象成各个
Funct ion, 将 Pin 和 Funct ion 封 装在 命

数控系统的组成及工作原理ppt课件

2.刀具补偿的步骤:
刀具半径补偿的建立:刀具由起刀点以进给速度接近工 件,刀具中心在法线方向与待加工工件偏离一刀具半径。 偏置方向由G41及G42确定。
刀具半径补偿的进行:一旦建立刀补,刀具始终偏离工 件轮廓一定距离,直到取消刀补为止。
刀具半径补偿的取消:刀具撤离工件,回到退刀点,取 消刀具半径补偿。退刀点应位于零件轮廓之外,可以与 起刀点相同,也可以不相同。
进给轴手动控制按钮,用于手动调整时移动各坐标轴。 主轴启停与主轴倍率选择按钮:用于主轴的启停与正、反
转以及主轴调速。自动加工启停按钮:用于自动加工过程 的启动于停止。 条件程序段选择开关:用于条件程序段是否执行。 倍率选择开关:用于选择进给速度的倍率及点动量。 另外还有一些状态指示等、报警装置等。
一.CNC数控系统基本构成
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
数控系统构成可以用下面的框图表示:
硬件系统
微机部分 外围设备部分 机床控制部分
CNC数控系统
系统软件 软件系统
应用软件
输入数据处理程序 插补运算程序 速度控制程序 管理程序 诊断程序
C刀具补偿原理图(1)
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
C刀具补偿原理图(2)
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
4.C刀具补偿原理(3)
数控系统的工作方式 C刀具补偿是在插补和控制的间隙进行刀补计算 的,通过设置多个缓存,采用流水作业的方式才 能提高计算速度,满足高速加工的需要。如图所 示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号:1001-2265(2010)10-0048-04收稿日期:2010-04-12;修回日期:2010-05-31 *基金项目:广东省教育部产学研项目(B090300060)作者简介:吴晶(1986)),男,江西萍乡人,华南理工大学自动化学院硕士,研究方向为嵌入式系统设计,智能控制技术,(E-m ail)hn l g w u ji ng@163.co m 。

基于E MC2的数控系统软件架构及通信机制分析*吴晶,史步海(华南理工大学自动化学院,广州 510640)摘要:E MC2是开源的数控机床控制系统软件。

E MC2能移植到实时操作系统(例如ubuntu 等)并根据开发者定制完成复杂的机床和机器人实时控制。

软件能够在平台上运行稳定,代码成熟。

然而由于E MC2软件代码量非常庞大,阅读和消化难度很大。

结合作者实际从事的数控系统项目的研究和学习。

对整个软件的架构,通信机制,各模块的功能以及大致的工作流程进行深入分析。

关键词:E M C2;NM L ;GU I ;任务控制器;运动控制器;I/O 控制器中图分类号:TH 16;TG65 文献标识码:ASoft ware A rchitecture And Comm unicati o n M ec hanis m O f CNC Syste m Base On E MC 2WU Jing ,SH I Bu -hai(Sc hoo l ofAuto m o tive South Ch i n a Un iversity of Techno logy ,Guangzhou 510640,China)Abst ract :E MC 2is an open sour ce C NC contr o l syste m soft w are .It can be migr ated t o real -ti m e oper a-t ing syste m such as ubunt u ,also can be customized accor ding to t he developer to complete complex real -ti m e contr ol ofmachine too ls and r obo ts .Sof t war e can r un on t he platf or m stable and t he code is ver y mat ur e .How ever ,due to a ver y lar ge a mount of sof t war e code in E MC 2,it is very dif fic ult to r ead and digest .Co mbined w ith t he nu merical contr ol syste m ,I act ually engaged in t he resear ch pr oject and lear ning .The entire sof t w are architectur e ,co m munication mechanis m ,t he module f eat ur es and gener ally t he wor k of t he pr ocesses are su m marized .K ey w ords :E MC 2;NML ;GU I ;task contr oller ;motion contr oller ;I/O contr oller0 引言近年来国家先后出台政策大力振兴装备制造业,提升和改造装备制造水平。

数控系统是衡量一个国家装备制造业水平的重要标志,越来越受到人们的重视。

欧洲、美国、日本数控技术先进,科研力量雄厚,推出各自的数控系统体系结构规范及示范性产品。

我国在数控系统研究方面起步比较晚,技术基础积累薄弱,很多研发停留在中低端产品阶段。

为了提升国家的数控系统研发能力,加快数控产品的国产化进程。

对国外高端数控软件在应用过程中进行消化,吸收,进而理解其设计思路,掌握其关键技术是十分有必要的。

1 EMC2软件架构和通信机制E MC2是一个开源的广泛应用于机床或机器人运动控制系统的计算机控制软件。

最初是由美国国家标准与技术研究院(N I ST )研究开发的,现在由来自世界各地的工程师和爱好者共同维护。

E MC2在原有E MC 软件的基础上加入了许多新的特性和功能。

本文主要讨论E MC2在RTL i n ux 实时操作系统上实现。

整个系统是由四个主要的模块组成:人机界面(GU I)为用户提供友好的操作平台;任务控制器(e m ctask)是系统的枢纽,它从用户界面取得操作信息,然后将其分解为对运动控制器和I/O 控制器的操作,并且监控运动控制器和I/O 控制器完成实际的操作;运动控制器(e m c m o tion)是一个运行在内核的实时模块,主要完成运动轨迹规划,运动插补,驱动执行机构;I/O 控制器(e m cio)主要处理紧急启停,冷却装置等其他辅助性输入输出控制。

这种模块化、层次化软件设计结构使得开放式数控系统易于扩展,模块化的软件架构能满足各种类型机床的控#48#制要求。

图1是整个系统软件架构和通信机制示意图。

图1 E M C2软件架构和通信机制示意图任务控制器与图形用户界面之间不需要很高的通信速率,所以采用了RCS 库的NML 通信机制。

运动控制器对实时性的要求高,需要高速率的通信,否则机床会在加工过程中产生停顿。

因此需要在内核地址空间中划分一块共享内存,使用共享内存通信机制来实现运动控制器与任务控制器之间的通信。

I/O 控制器是一个非实时模块,为了便于设计,它与任务控制器的通信也是采用NML 通信机制。

111 NM L 通信机制RCS (Rea-l T i m e Contro l Syste m )是由美国N I ST(国家标准和技术研究院)开发的、支持实时系统开发的软件包集合。

RCS 库是面向多平台实时分布式控制的C++类库。

RCS 库中提供了C M S(Co mm un-i ca ti o n M anage m ent Syste m,通信管理系统)和NM L (N eutralM essage Language ,中性消息语言)通信支持。

NM L 是RCS 库中提供分布式控制系统之间的通信机制的组件(类)。

消息基类:RCS _C MD _M SG 和RCS _STAT _M SG 分别是命令消息基类和状态消息基类。

它们都包含有两个重要的变量成员:(1)NMLTYPE type :每一类消息都具有不同的编号,通过编号来识别不同意义的消息。

还可以根据控制需要从该基类派生新的消息类,给新的消息类分配不同的消息编号,同时可以根据需要,添加一些新的变量成员。

(2)i n t serial_num ber :这个变量用于实现模块间信息传递的同步。

是用于上下模块通信的握手标志。

通道基类:RCS_C MD _C HANNEL 和RCS_STAT_C HANNEL 分别用来创建命令通道和状态通道。

RCS 库封装相关代码,隐藏了繁琐的进程间通信与同步的实现细节,而给程序员提供了方便的编程接口。

它提供两个通用的读写函数read ()和w rite(),实现控制模块间的消息传递。

112 共享内存本系统采用的RTL i n ux 提供了mbu ff 内存管理机制,来实现实时进程与非实时进程间的通信。

mbuff 是由RTL i n ux 提供的内存管理机制,用来实现内核空间和用户空间的共享。

通过使用m buff 提供的m buff_alloc()的函数申请到内存,m buff 管理这个申请的内存,即完成对该内存的共享。

在共享内存中建立如下一个结构体t ypedef struct{emcmo t_c md_t comm and ;//命令emcmo t_sta t us_t stat us ;//状态emcmo t_debug_t debug ;//调试信息emcmo t_error_t_terror ;//错误}e m c m ot_struct ;co mm and 主要存储运动控制器的控制命令及其相应的参数,是由任务控制器写入;status 包括运动控制器的当前状态,由运动控制器写入,由任务控制器读出进而发送到人机操作界面以完成当前运动状态的显示。

2 人机界面设计人机界面(HM I)为用户提供与数控系统交互的环境。

用户在人机界面中输入要操作执行的命令,这些命令通过命令通道传送到任务控制器,并进而由任务控制器解释和分派到运动控制器或I/O 执行;任务、运动与I /O 的状态信息和错误信息通过状态和错误通道传回到界面并显示出来。

界面程序可以利用Java ,C ++等语言工具实现,本文采用的是Tc l/Tk 脚本编程语言及开发包,在li n ux 下能够快速高效地开发无须编译的界面程序。

人机界面程序具体实现:(1)编写实现数控操作的编程接口(API),底层接口程序在shco 中定义了各种函数接口,其主要功能是向NM L 命令通道写入相应的控制命令,这些函数将被e m 中用户定义的函数调用。

(2)e m csh .cc 是整个界面的解释程序。

里面的入口程序m ai n ()vo i d m ain(i n t argc ,char*argv[]){//建立并连接命令渠道和状态渠道,并完#49#成初始化工作Tk_M a i n (ar gc ,ar gv ,T cl_AppI n it);}Tcl/Tk 界面程序的入口函数Tk_M a i n ()首先创建标准Tcl 命令的解释器,创建Tk 主窗口;然后调用用户自定义的初始化函数Tk_A ppI n it ()来定制一个合乎用户要求T cl/Tk 解释器;最后进入脚本解释循环中。

扩展Tcl/Tk 解释器Tk_AppI n it ()的任务是调用Tc l/Tk 库函数Tcl_I n it (I nterp)和Tk _I n it (I n -ter p)对解释器进行标准初始化,然后调用Tc l/Tk 库函数Tc l_C reate Obj C o mm and ()添加新的Tcl/Tk 命令,添加的命令可以在界面程序中调用完成对具体控制事务[9]。

(3)编写具体的Tc l/Tk 脚本程序(tke m c .tcl),采用层次结构实现数控系统的用户图形界面。

3 任务控制器设计任务控制器是整个数控系统的大脑,它首先轮询任务控制器和人机界面之间的命令通道,获得执行命令,依据加工程序控制运动控制器和I /O 控制器以完成完整的加工任务。

相关文档
最新文档