选择一个典型的实时控制系统案例分析,列出:
- 该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。
对实时任务作出响应:
实时突发性任务如机床急停、系统故障中断等,
实时周期性任务,在数控系统中主要指加工过程中的插补控制、位置控制、机床输入输出、主轴控制等。
实时非周期任务,如程序译码、刀具补偿等。
其他非实时功能如显示、加工状态动态显示、故障诊断等
对实时性任务都需要实时响应。
延迟在ms级别吧?
- 如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?
周期性任务:插补计算任务,位置输入,新位置输出,其他状态的获取
突发任务:急停的响应,故障的响应等
- 这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?
突发事件如机床急停、系统故障中断的任务由外部事件触发。
周期性任务由时间触发。 背景程序周期大于插补计算周期大于位置控制任务的周期。插补周期的设计也许要考虑机床加工速度。周期约10ms?
- 这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。
有依赖关系。
系统先完成初始化,显示基本信息,译码,计算刀补,其后要循环计算插补后轨迹、各轴动作,根据计算结果输出位置控制信息,同时,系统根据位置信息调整走刀轨迹,又进行插补、控制,如此循环。
- 这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。
各任务至少需要共享CPU与内存,各任务轮流占用CPU资源,各任务可以通过共享数据来实现交流。