ABB_800xA学习笔记289:System_800xA_Control_6.0_AC_800M_Configuration79
(2023-12-29 08:09:54)
标签:
abbsystem_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 任务中的通信变量数量超过“通信变量限制”对话框中定义的限制,则执行适当的任务调整,使任务的高优先级不重要,或者增加可接受的延迟。