Курс 1 • Урок 2 из 2 • 3 акад. ч.

Требования и таблица состояний до написания программы

Цель: Перевести словесное описание процесса в условия переходов, запреты и критерии проверки.

3 акад. ч. Лекция, работа с документацией, практическое задание на учебной модели или согласованном стенде и самопроверка.

Из пожелания в проверяемое требование

«Насос должен работать автоматически» не определяет алгоритм. Нужны условия начала и окончания, приоритеты, допустимые режимы и действия при отказах. Для учебного резервуара можно задать: пуск при уровне ниже 30%, останов при уровне выше 70%, запрет пуска при недостоверном измерении, отдельное разрешение оператора на автоматический режим.

Числа в учебном примере не являются готовыми уставками реального объекта. На производстве они определяются технологией, характеристиками оборудования и оценкой рисков. Требование должно позволять проверить результат: «при 29% и всех разрешениях появляется команда пуска», а не «работает нормально».

Режимы, блокировки и приоритеты

Ручной режим означает другой источник рабочего задания, но не отмену предусмотренных защит. Разрешение пуска отвечает на вопрос, можно ли начать действие. Рабочая блокировка запрещает определённую операцию. Защитное отключение реагирует на опасное или аварийное состояние согласно проекту. Квитирование сообщения и сброс причины отказа тоже различаются.

Для одновременных событий задают приоритет явно: например, обычная команда останова имеет приоритет над обычным пуском. Приоритет и способ реализации функций безопасности нельзя выводить из удобства программы. Примеры курса описывают учебную логику, а не сертифицированную систему противоаварийной защиты.

Таблица переходов

Запишите состояния «Остановлен», «Запускается», «Работает», «Неисправность». В строках указывайте текущее состояние, событие, дополнительные разрешения, следующее состояние и выходные команды. Для «Запускается» нужен контроль подтверждения: если за согласованное время подтверждение не появилось, формируется отказ запуска. В состоянии неисправности новый пуск блокируется до устранения причины и предусмотренного сброса.

Проверяемый сценарий. При низком уровне насос получил команду, но подтверждения нет. Через 5 с появляется «Нет подтверждения пуска», команда снимается. После появления обратной связи задним числом насос не должен сам возвращаться в работу: проверяется порядок восстановления, установленный заданием.

Практическое задание

Составьте таблицу из минимум восьми сценариев: нормальный пуск, верхний уровень, одновременные пуск и стоп, потеря датчика, неподтверждённый пуск, восстановление питания, ручной режим и сброс отказа. В каждой строке укажите исходное состояние, воздействие и ожидаемый выход. Отдельно запишите, какие требования ещё надо согласовать с технологом. Эту таблицу позднее используйте как основу испытаний, а не придумывайте ожидаемое поведение после получения результата.

Что нужно запомнить

  • Требование должно иметь наблюдаемый критерий выполнения.
  • Ручное управление не означает обход защит.
  • Причина отказа, сообщение, квитирование и новый пуск — разные события.

Документация и дополнительное чтение

Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…