ГОСТ Р МЭК 61131-3—2016
Примечание 1— Графическоеи полуграфичесхов представление такихсвойствдопускается, но не вхо
дит в задачу настоящегостандарта.
Примечание 2— Ошибка, если типданных,объявленный воператореVAR_ACCESSотличаетсяот типа
данных, объявленногодля переменной вдругом месте, например, если переменная BAKERобъявлена какWORD в
приведенных выше примерах.
Рисунок28. лист2
6.8.2 Задачи
Для целей настоящего стандарта задача определяется как элемент управления выполнением, ко
торый способен вызывать, как на периодической основе, так и при появлении переднего фронта задан
ной логической переменной, выполнение набора программных компонентов, которые могут включать
программы и функциональные блоки, экземпляры которых заданы в объявлении программ.
Максимальное число задач на ресурс идопустимый интервал между задачами определяются раз
работчиком.
Задачи и их связь с программными компонентами может быть представлена графически или тек
стуально с использованием конструкции WITH как показано в таблице 63. в виде части ресурсов внутри
конфигураций. Задача неявно разрешается или блокируется связанным с ней ресурсом в соответствии с
механизмами. Управление программными компонентами при разрешенных задачах подчиняется сле
дующим правилам:
a) Связанные программные компоненты должны быть спланированы для выполнения при каждом
переднем фронте на входного параметра SINGLE задачи;
b
) Если входной параметр INTERVAL — ненулевой, то связанные программные компоненты на
значаются для периодического выполнения через заданный интервал времени, пока входной параметр
SINGLE остается нулевым (0). Если входной параметр INTERVAL равен нулю {значение по умолчанию),
периодическое выполнение связанных программных компонентов происходить не будет;
c) Входной параметр PRIORITY задачи устанавливает приоритет планирования связанных про
граммных модулей, где нуль (0) имеет наивысший приоритет, а более низкие приоритеты имеют по
следовательно большие цифровые значения. Как показано в таблице 63. приоритет программного
компонента (т. е. приоритет связанной с ним задачи) может использоваться для планирования с при
оритетами или без приоритетов;
- в планировании без приоритетов вычислительные возможности становятся доступными на ре
сурсе. когда завершается выполнение программного компонента или функции операционной системы.
Когда вычислительные возможности доступны, программный компонент с наивысшим плановым при
оритетом начинает выполнение. Если в ожидании имеется более одного программного компонента с
наивысшим плановым приоритетом, то будет выполняться программный компонент с наибольшим вре
менем ожидания и наивысшим плановым приоритетом;
- в планированиис приоритетом, когда программный компонент назначен, он прерывает выполне
ние программного компонента с более низким приоритетом на том же ресурсе, то есть выполнение ком
понента с более низким приоритетом может быть задержано до завершения выполнения компонента с
более высоким приоритетом. Программный компонент не прерывает выполнение другого компонента
с таким же или более высоким приоритетом. В зависимости от плановых приоритетов, программный
компонент может не начать выполнение в спланированный момент. Однако в примерах, приведенных в
таблице 63. все программные компоненты завершают работу в срок, то есть они заканчивают выполне
ние до того, как будут спланированы для повторного выполнения. Разработчик предоставляет инфор
мацию. позволяющую пользователю определить, должны ли выдерживаться все сроки выполнения в
предлагаемой конфигурации;
d) Программа без связанной задачи будет иметь самый низкий приоритет в системе. Любая такая
программа должна быть спланирована для выполнения после «пуска» ее ресурса и должна быть пере
планирована для выполнения, как только ее выполнение заканчивается:
e) Когда экземпляр функционального блока связан с задачей, его выполнение должно происхо
дить под исключительным управлением задачи, независимо от правил оценки программного компонен
та. в котором объявлен связанный с задачей функциональный блок;
0 Экземпляр функционального блока, который не прямо связан с задачей, будет следовать обыч
ным правилам для порядка оценки элементов языка для программного компонента (который сам может
находиться под управлением задачи), в котором объявлен экземпляр функционального блока.
175