Управление многозадачным режимом 4-51
Publication 1756-PM001G-EN-P - March 2004
Программное определение того, запустила ли инструкция EVENT
задачу
Чтобы определить, запустила ли инструкция EVENT событийную
задачу, используйте инструкция Get System Value (GSV) для проверки
атрибута Status для соответствующей задачи.
Таблица 4.3 Атрибут Status объекта TASK
Контроллер не сбрасывает установленные биты атрибута Status.
• Чтобы использовать бит для новой информации о состоянии,
вы должны вручную сбросить этот бит.
• Используйте инструкцию Set System Value (SSV) для установки
этого атрибута на другое значение.
Контрольный перечень для задачи, запускаемой инструкцией
EVENT
Атрибут: Тип данных: Инструкция: Описание:
Status DINT GSV Предоставляет информацию о состоянии задачи. После установки бита
контроллером вы должны вручную сбросить его для обнаружения
возникновения другой ошибки такого типа.
SSV
Чтобы определить, имеет ли место
следующее:
Проверьте этот бит:
Инструкция EVENT запустила задачу
(только для событийной задачи).
0
Тайм-аут запустил задачу (только
для событийной задачи).
1
Для данной задачи произошло
перекрытие.
2
Для этого: Обеспечьте следующее:
1. Инструкция EVENT Используйте инструкцию Trigger Event Task (EVENT) в каждой точке вашей
логики, где вы хотите запускать событийную задачу.
2. Приоритетность задачи Назначьте данной событийной задаче наивысший приоритет.
Если какая-либо периодическая задача имеет более высокий приоритет,
событийная задача может быть вынуждена ожидать завершения выполнения
такой периодической задачи.
3. Количество событийных
задач
Ограничивайте количество событийных задач.
Каждая дополнительная задача уменьшает время обработки, отводимое для
других задач. Это может привести к перекрытию.
4. Автоматическая обработка
вывода
Для событийной задачи вы, как правило, можете отключить автоматическую
обработку вывода (настройка по умолчанию). Это уменьшает истекшее время
выполнения задачи.
Для принятия решения по этой настройке воспользуйтесь рисунком 4.1 на
странице 4-14.