恭喜,你发布的帖子
发布于 2021-08-19 19:59:24
33楼
多个设备,每个设备有可能同时产生多个不同优先级的多个执行请求。究竟是先执行同一设备中的更高优先任务,还是切换到其它设备去执行它的优先请求。不同的任务优先,会产生不同的设备优先。任务切换或设备切换。调度策略就是工艺选择。
调度策略可以单元化嵌入FB中,多种策略单元并存,根据需求切换选择其中的一个执行。我的FB中现有两种策略可以切换。多数情况下效果差不多,但如果同时的优先请求多了,就有差别了。这其中还包括对用户界面信息回馈带来的操作体验不同的策略选择。也就是读任务也会有优先产生。说到底是个管理取向
轮询中被执行的当前任务只有一个。任何一个任务被执行,其它优先级可以继续登记持续产生的优先请求。再多优先级也是一回事,就是变量次序问题。任何一个正在通信的任务不能被切断,只能是争夺下一次的执行权。
这和手册介绍Smart的中断执行类似,正在执行的中断程序不会被优先级高的中断打断,直到执行完毕再挑选排队中优先级最高的中断执行。
以上是手册上说的。
但以前在延长函数测试例程中发现优先级高的比如IO中断貌似可以打断优先级低的定时中断,不知是测试不完整还是观察有疏忽。
请填写推广理由:
分享
只看
楼主