Основы ПЛК 3.1 Исполнение программы пользователя Что нужно знать о событиях типа "Ошибка времени" Появление любой ошибки, связанной с временем, приводит к событию типа "Ошибка времени". Поддерживаются следующие ошибки времени: ● Превышение максимального времени цикла ● Запрошенный OB не может быть запущен ● Переполнение очереди Ошибка "Превышение максимального времени цикла" возникает, если программный цикл не завершается в течение заданного максимального времени цикла. Дальнейшую информацию об ошибке "Превышение максимального времени цикла", об установке максимального времени цикла и о сбросе времени цикла вы найдете в разделе "Контроль времени цикла (стр. 50)".
Ошибка "Запрошенный OB не может быть запущен" возникает, если OB запрашивается циклическим прерыванием или прерыванием с задержкой, но этот OB уже исполняется. Ошибка "Переполнение очереди" появляется, если прерывания возникают быстрее, чем они могут быть обработаны. Количество событий, находящихся в очереди, ограничено назначением каждому событию собственной очереди ожидания. Если событие происходит, когда соответствующая очередь заполнена, то генерируется событие типа "Ошибка времени". Все события типа "Ошибка времени" запускают выполнение OB 80, если он существует. Если OB 80 не существует, то CPU игнорирует эту ошибку.
Если ошибка "Превышение максимального времени цикла" возникает дважды в одном и том же программном цикле без сброса времени цикла, то CPU переходит в STOP, независимо от того, существует ли OB 80. См. по этому вопросу раздел "Контроль времени цикла" (стр. 50). OB 80 содержит информацию о запуске, с помощью которой вы можете определить, какое событие и какой OB сгенерировал ошибку времени. Вы можете запрограммировать команды внутри OB 80, чтобы исследовать эти значения и принять необходимые меры. OB 80 поддерживает следующие адреса запуска: Когда вы создаете новый проект, OB 80 в нем отсутствует.
Если необходимо, вставьте OB 80 в свой проект, дважды щелкнув в дереве проекта под "Program blocks [Программные блоки]" на "Add new block [Добавить новый блок]", затем выберите "Organization block [Организационный блок]", а затем "Time error interrupt [Прерывание по ошибке времени]". Программируемый контроллер S7-1200 52 Системное руководство, 11/2009, A5E02669003-02 Вход Тип данных Описание fault id _ BYTE 16#01 - превышение максимального времени цикла 16#02 - затребованный OB не может быть запущен 16#07 и 16#09 – произошло переполнение очереди csg OBnr OB ANY Количество OB, которые исполнялись, когда произошла ошибка _ csg prio _ UINT Приоритет OB, вызвавшего ошибку