实时控制软件第一次作业--CNC软件系统案例分析
1.该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。
答:读取处理后文件、轨迹插补计算、伺服控制刀具的控制、工件位置的控制、译码的传输、紧急情况的处理、数据采集和显示等有强实时功能需求。前台程序允许延迟的时长一般在微秒级,后台程序的允许时长一般在毫秒级。
2.如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?
答:①NC程序的编译和预处理 ②解释代码运动轨迹的插补运算 ③轴的位置环控制及与软件PLC ④外部设备的通信等
3.这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?
答:①事件触发:突发事件如故障或者急停等等。 ②时间触发:插补运算、位置控制、故障诊断等强实时任务周期一般在毫秒级,零件加工编辑处理、刀补处理、速度处理、显示以及信号的输入和输出等弱实时任务周期一般在微秒级。
4.这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。
答:存在依赖关系,译码-刀补-位置预处理-速度预处理-信号的输入与输出-数据显示,这一系列的动作都是按照先后顺序循环完成,故障处理、位置控制、插补运算等则不按照此规律,这些强实时任务优先级更高,以中断的方式插入执行。
5.这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。
答:是,这几个实时任务之间相互依赖,都需要共享系统内存、硬盘、CPU等设备,周期性任务按照时间片轮转法依次执行,优先级高的任务以中断的方式执行。