加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ABB_800xA学习笔记289:System_800xA_Control_6.0_AC_800M_Configuration79

(2023-12-29 08:09:54)
标签:

abb

system_800xa_ac800m

配置手册

功能和组件

杂谈

分类: ABBDCS
继续学习ABB 800xA配置手册第一章功能和组件,进入第169页。
Task Priority
任务优先级
There are six levels of priority: Time Critical, Highest, High, Normal, Low, and Lowest, numbered from 0 to 5. The tasks are executed according to their priority, where the time-critical task has the highest priority. A task with higher priority may interrupt any task with lower priority, but a task cannot interrupt another task with the same priority. There can only be one time-critical task. Such a task may interrupt the execution at any point, while other tasks may only interrupt execution at defined points.
有6个优先级:时间关键、最高、高、正常、低和最低,编号0到5。任务根据其优先级执行,其中时间关键型任务具有最高优先级。优先级较高的任务可以中断任何优先级较低的任务,但任务不能中断其他具有相同优先级的任务。只能有一个时间关键型任务。此类任务可以在任何时间点中断执行,而其他任务可能仅在定义点中断执行。
An ordinary (non-time-critical) task can be interrupted:
普通(非时间关键型)任务可以中断:
  • at the start of any code block. 在任何代码块的开始
  • at backward jumps, for example for, while, repeat statements. A time-critical task has special properties. 在向后跳转时,例如,for, while,重复语句。时间关键型任务具有特殊属性。
  • The task is not driven by the same scheduler as the rest of the tasks. Instead, the task is driven from the system’s real-time clock (hence the high precision).  该任务与其他任务不由同一计划程序驱动。相反,任务由系统的实时时钟驱动(因此精度很高)。
  • The tasks have high precision in execution time. The resolution is 1 ms.  这些任务在执行时间上具有很高的精度。分辨率为 1 毫秒。
  • A change to/from time-critical priority in Online mode is not possible.  在联机模式下,无法更改时间关键优先级。
  • A change to/from time-critical priority in Offline mode requires re-compilation of the application.  在脱机模式下,对时间关键优先级的更改需要重新编译应用程序。

Consider the following points, when using the time-critical priority.
使用时间关键优先级时,请考虑以下几点。
  • Only one time-critical task per controller is allowed.  每一个控制器只允许有一个时间关键任务。
  • The execution time for a time-critical task (priority 0) must not exceed 100ms. This restraint prevents the task from blocking other functions, for example communication. 时间关键型任务(优先级 0)的执行时间不得超过 100 毫秒。这种约束可防止任务阻塞其他功能,例如通信。
  • All functions cannot be called from the program connected to the task. You cannot set time-critical priority if the code contains invalid instructions (this is checked during compilation). The time-critical task interrupts execution at any time, which means that execution might be interrupted mid-statement. 不能从连接到任务的程序调用所有函数。如果代码包含无效指令,则无法设置时间关键优先级(在编译期间检查)。时间关键型任务随时会中断执行,这意味着执行可能会在语句中途中断。
  • If a power failure occurs while the time-critical task is running, the execution of the current code block is completed (assuming that it can be completed within 1 ms). For a warm start to be possible, no code block in the time-critical task may take more than 1 ms to execute. 如果在时间关键性任务运行时出现电源故障,当点代码的执行完成(假设在1ms内可以完成)。为了实现热启动,时间关键型任务中的任何代码块的执行时间都不得超过 1 毫秒。

Task priorities 1–5 can be set by using the firmware function SetPriority. This function is located in the System folder.
任务优先级1-5可以通过使用固件函数SetPriority设置。此函数位于系统文件夹内。
Consider the following points, when using task priority in HI controller:
在 HI 控制器中使用任务优先级时,请考虑以下几点:
  • In HI controller VMT has the highest possible task priority. SIL3, SIL2 and non-SIL can not share the same priority and have the priority in order listed.  在HI控制器,VMT有最高任务优先级。SIL3和SIL2和非SIL不能共享相同的优先级,也不能按照顺序列出优先级。
  • Only one task can be connected to a SIL3 application. If more than one task is connected, compilation error is generated. To download remove all tasks except SIL3 task.  一个SIL3应用程序只能连接一个任务。如果连接了多个任务,会产生编译错误。要下载,请删除除 SIL3 任务之外的所有任务。
  • The SIL3 tasks must have higher priority than non-SIL and SIL1-2 tasks in the controller. If not compilation error is generated. Decrease the priority of the non-SIL and SIL1-2 tasks or increase the priority of the SIL3 task to enable downloading. SIL3 任务的优先级必须高于控制器中的非 SIL 和 SIL1-2 任务。否则,将生成编译错误。降低非 SIL 和 SIL1-2 任务的优先级,或提高 SIL3 任务的优先级以启用下载。
  • It is not recommended to have a task with the same or higher priority than the VMT task, regardless of SIL level. If the VMT task is not the only task with the highest priority, a compilation warning is generated. The user should decrease the priority of any task (SIL or non-SIL) which has the same, or higher priority than the VMT task. 无论 SIL 级别如何,都不建议将任务的优先级与 VMT 任务相同或更高。如果VMT任务不是唯一具有最高优先级的任务,则会生成编译警告。用户应降低与 VMT 任务具有相同或更高优先级的任何任务(SIL 或非 SIL)的优先级。
  • Firmware functions that tries to manipulate task parameters from 1131 code does not work for SIL tasks that is SetPriority and SetIntervalTime.  尝试从 1131 代码操作任务参数的固件函数不适用于 SetPriority 和 SetIntervalTime 的 SIL 任务。
  • Higher prioritized tasks cannot interrupt a lower prioritized task during IAC fast data copy in/out. If the number of Communication Variables in lower prioritized SIL task exceeds the limits defined in Communication Variable Limits Dialog, then either perform a proper task tuning such that the high priority of the task is not crucial or increase the accepted latency.  优先级较高的任务不会在 IAC 快速数据复制期间中断优先级较低的任务。如果较低优先级的 SIL 任务中的通信变量数量超过“通信变量限制”对话框中定义的限制,则执行适当的任务调整,使任务的高优先级不重要,或者增加可接受的延迟。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有