实时控制软件第一次作业--CNC软件系统分析
作者:李君威U201310747
一、该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。
答:在数控系统中,位置控制、插补计算、紧急控制等严格实时性任务需要利用实时时钟(最小周期为4ms甚至更低)来完成实时任务的处理。另外还有坐标显示、图形显示、数据预处理等软实时任务。
二、如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?
答:①坐标显示线程:在控制面板中,可实时显示X、Y、Z三个运动轴的坐标;②图形显示线程:图形显示线程的用于在动态仿真面板中执行二维或三维图形绘制的指令;③IO状态控制线程:此线程用于检测由系统输入的各个离散量,以及从数控程序得到的指令来输出机床各离散量的状态。④数据预处理线程:数据预处理线程主要负责完成编码形式转换、刀具长度补偿、刀具半径补偿和公英制转换等运动控制数据预处理函数的执行。⑤运动控制线程:此线程主要用于运动控制器执行数控代码函数的运行。负责向缓冲器输入运动控制命令,清空缓冲器和打开关闭缓冲器等操作。⑥紧急控制线程:此线程处理一些需机床立即做出反映的事件,如机床的急停等。它的优先级最高 。
三、这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?
答:时间触发:坐标显示线程、图形显示线程、数据预处理线程、运动控制线程;
事件触发:IO状态控制线程、紧急控制线程。
坐标显示线程、图形显示线程、数据预处理线程的触发周期约为10ms;运动控制线程的触发 周期约为4ms。
四、这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。
答:存在着一定的依赖关系。数据预处理线程的运算结果是运动控制线程的输入,而运动控制线程决定着IO状态,紧急控制线程能以最高优先级停止运动控制线程。
五、这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。
答:这几个实时任务都共用系统的运行内存,一般采取的是分时间块的轮询占用方式,而紧急控制线程等是以中断方式进入内存RAM。
实时控制软件第一次作业--CNC软件系统分析的更多相关文章
- 实时控制软件设计作业_01——汽车ABS系统分析
制动防抱死系统(antilock brake system)简称ABS.作用就是在汽车制动时,自动控制制动器制动力的大小,使车轮不被抱死,处于边滚边滑(滑移率在20%左右)的状态,以保证车轮与地面的附 ...
- UML与软件建模:第一次作业(UML用例图绘制)
uml第一次作业: 用例图是什么? 用例图我感觉就是把网站中各个用户的动作分解一下,再用rational rose软件把图画出来. 画例图主要分为三个步骤:a 确定系统角色 b 确定用例 c 对用 ...
- 《实时控制软件设计》之Github提交作业步骤
在掌握GIT/GITHUB基本操作后,接下来把第一次的编程作业提交到 https://github.com/RTCSD15/HOMEWORK1 ,把第二次的编程作业提交到https://github. ...
- C 语言学习 第一次作业总结
第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后 ...
- 2015级软工实践k班第一次作业-准备
第一次作业-准备······ 几篇文章阅读下来发现一个事实,还是要有明确的目标,清楚自己需要做什么最为重要.然后根据目标确定需要为之所做的准备工作,考研也好,工作也罢,都是服务于自己的目标. 问题答应 ...
- java第一次作业0
lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...
- 17秋 SDN课程 第一次作业
SDN第一次作业 你会选择作 网络编程 方向的程序员吗?为什么? 有可能.原因如下: 1.我的研究与网络密切相关: 2.SDN侧重软件实现,自然涉及socket等网络编程知识,属于基本功: 3.市场. ...
- 《实时控制软件设计》之Automation Studio开发环境
Automation Studio是贝加莱公司的控制软件开发平台,软件可运行在贝加莱的基于PC的控制器上,基于Automation Studio我们可构建一个完整的控制软件构建.测试和仿真运行平台.本 ...
- c语言第一次作业1
第一次作业 一 你对软件工程或者计算机科学与技术专业的了解是什么? 软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科,涉及程序语言设计,数据库,软件开发工具,系统平台,设计模 ...
随机推荐
- 最终版-perl工具解析数据库的报告文件0120
********************需要根据自己的实际环境修改哦**************************** ******************** 1. 收集awr报告样本 a ...
- Pomelo实现最简单的通信-egret。
昨天因为需要开始学习Pomelo 做H5游戏的服务端. 因为个人学习习惯,我从来不适合去跟着文档看.一般我直接是看下大概的API,但是Pomelo的API全部都是英文的. 昨天我就告诉自己用一下午时间 ...
- slf4j与log4j
推荐使用SLF4J(Simple Logging Facade for Java)作为日志的api,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统. ...
- Java如何连接到MySQL数据库的
下载:mysql-connector-java-5.1.38.tar.gz http://dev.mysql.com/downloads/connector/j/ tar zxvf mysql-con ...
- php学习小技巧
1.print_r可打印数组 <?php echo '<p class="ajax">This paragraph was loaded with AJAX.&l ...
- C++ 语法规则
C++ 中的布尔类型:布尔类型只占用一个bit ,但是如果连续定义多个布尔类型时,编译器可能会多个布尔类型定义在一起.true 编译器用1来表示.false 编译器用0来表示. 将一个其他类型的数 ...
- seaJs初体验
目录结构 模块定义define define(function(require,exports,module){ //exports可以把方法或属性暴露给外部 exports.name = 'hell ...
- jQuery Tools:Web开发必备的 jQuery UI 库
基本介绍 jQuery Tools 是基于 jQuery 开发的网站界面库,包含网站最常用的Tabs(选项卡).Tooltip(信息提示).Overlay(遮罩.弹窗).Scrollable(滚动控制 ...
- atoi的实现
#include <iostream> using namespace std; int atoi(char* s) { int retval=0; int n=1; if (*s=='- ...
- openerp 产品图片的批量写入
Write a short python script which loops over the image files, encode with base64 and write to OpenER ...