CNC 插补计算程序分析

前言:插补(Interpolation),即机床数控系统依照一定方法确定刀具运动轨迹的过程。一般是已知起点坐标、终点坐标和轨迹,由数控插补计算程序实时的算出各个中间的坐标来拟合零件的轮廓曲线。(参考文献:数控技术)

一、该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。

答:该系统对如何控制刀具或工具的运动有强的实时控制需求,通过插补控制和位置控制以及主轴控制实现一边插补进行运算,一边进行加工,才能完成程序规定的加工任务,反过来讲,才能实时控制加工。

二、如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?

答:①插补计算任务:对轮廓线的起点到终点之间再密集的计算出有限个坐标点,刀具沿着这些坐标点移动,来逼近理论轮廓,以保证切削过程中每一点的精度和表面质量

②位置输入和位置输出

③紧急任务:故障响应

三、这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?

答:事件触发:突发事件如机床急停、系统故障中断的任务由外部事件触发。

时间触发:背景程序周期大于插补计算周期大于位置控制任务的周期。插补周期的设计也许要考虑机床加工速度。周期约10ms

四、这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。

答:有依赖关系。系统先完成初始化,显示基本信息,译码,计算刀补,其后要循环计算插补后轨迹、各轴动作,根据计算结果输出位置控制信息,同时,系统根据位置信息调整走刀轨迹,又进行插补、控制,如此循环

五、这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。

答:需要。计算插补后的轨迹需要共享给位置控制的硬件,以让位置控制掌握刀具(加工)的信息,同时,位置控制也要共享信息给插补器,以便插补器做一下步的插补计算,如此循环下去。而紧急任务等是以中断方式进入内存RAM

《实时控制软件设计》第一周作业 欧梓峰 U201317662 (更新)的更多相关文章

  1. 实时控制软件设计第一周作业-汽车ABS软件系统案例分析

    汽车ABS软件系统案例分析 ABS 通过控制作用于车轮制动分泵上的制动管路压力,使汽车在紧急刹车时车轮不会抱死,这样就能使汽车在紧急制动时仍能保持较好的方向稳定性. ABS系统一般是在普通制动系统基础 ...

  2. 实时控制软件设计 第二次作业 myRobot

    #include<iostream> #include <Eigen/Dense> #include <math.h> #include <vector> ...

  3. 2017-2018-1 Java小组-1623 第一周作业

    2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...

  4. 2019-2020-1 20199303 《Linux内核原理分析》 第一周作业

    2019-2020-1 20199303 <Linux内核原理分析> 第一周作业 1. 环境准备 在众多的Linux发行版中,Ubuntu,小红帽还有类Unix系统的BSD系统,我选择了目 ...

  5. C语言1-2019秋第一周作业

    第一周作业 1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求 ...

  6. Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理

    Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 编写songchenning5315.c文件 图2 将c文件汇编成32位机器语言 ...

  7. Java第一周作业

    Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...

  8. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  9. C语言--第一周作业评分和总结(5班)

    作业链接:https://egdu.cnblogs.com/campus/hljkj/CS2017-5/homework/963 一.评分要求 * 要求1 (5分):博客中给出安装软件的截图(得分点1 ...

随机推荐

  1. Android 全局获取 Context 与使用 Intent 传递对象

    =====================全局获取 Context======================== Android 开发中很多地方需要用到 Context,比如弹出 Toast.启动活 ...

  2. Java MySql 批量插入数据库addBatch

    //addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...

  3. java18

    1:Map(掌握) (1)将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯一,值可以重 ...

  4. Java 类初始化顺序

    总的来说: 父类静态代码块->子类静态代码块->子类main()方法->父类构造块->父类构造方法->子类构造块->子类构造方法 注意,就算是静态的方法也需要调用才 ...

  5. 安装oracle

    1.安装vnc  yum install tigervnc tigervnc-server 2.vncserver启动 3.安装依赖库 yum install -y compat-libstdc*   ...

  6. CSS初始化样式

    为什么要初始化CSS? CSS初始化是指重设浏览器的样式.不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一.如果没对CSS初始化往往会出现浏览器之间的页面差异.每次新开发 ...

  7. jq表头固定

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta na ...

  8. quartz 线程问题

    2个任务一起使用quartz来调度,但是有一个任务总是会莫名其妙的暂停掉,排查了下,原来组内成员在写JOB任务时候,在JOB中写了个while(true) {    执行业务    休眠10分钟} 导 ...

  9. MXNet设计和实现简介

    原文:https://github.com/dmlc/mxnet/issues/797 神经网络本质上是一种语言,我们通过它来表达对应用问题的理解.例如我们用卷积层来表达空间相关性,RNN来表达时间连 ...

  10. setTimeout使用闭包功能,实现定时打印数值

    我们这次使用setTimeout来实现一个按照时间定时,依次打印数值的例子.其实在早期的时候,也是我经常犯的一个错误,或者实现这种能力,似乎js比较牵强,其实是我的错,哈哈!没能理解JS强大之处.我们 ...