BOOL, INT, REAL, TIME и состояния после перезапуска
Цель: Выбирать типы данных и определять, какие значения допустимо сохранять при отключении питания.
5 акад. ч. Лекция, работа с документацией, практическое задание на учебной модели или согласованном стенде и самопроверка.
Тип как часть смысла
BOOL представляет логическое условие. Целые типы используют для кодов, счётчиков и индексов, REAL — для дробных инженерных величин, TIME — для длительностей по правилам платформы. Размер, диапазон, знаковость и точность следует проверять в среде разработки. Число, полученное от сети, не становится температурой только потому, что его переменная названа Temperature.
Для преобразований задают порядок и диапазоны. Умножение двух больших целых значений может переполниться до последующего приведения к более широкому типу. Приведение результата после уже произошедшей ошибки не восстанавливает исходное число. Деление целых и деление REAL могут дать разный результат.
Инициализация и сохранение
При запуске контроллера часть значений инициализируется, а часть может быть сохранена в зависимости от объявлений, оборудования и типа перезапуска. Retain и persistent на разных платформах имеют конкретные правила. Сохранение технологической настройки и сохранение команды движения — разные решения. Последнее может привести к неожиданному действию после восстановления питания.
Заранее определяют начальное состояние алгоритма, валидность сохранённых данных, источник уставок и условия нового пуска. Старое значение обратной связи нельзя выдавать за свежее подтверждение. Для проекта нужны процедуры холодного запуска, перезапуска задачи и восстановления после загрузки программы.
Разбор переполнения и ошибочного старта
Если RunRequested сохраняется, а после включения питания алгоритм сразу повторяет пуск, это не «особенность экрана», а неучтённая политика восстановления. В учебной логике команду нового старта отделяют от восстановленных настроек, не делая универсального утверждения, что любой процесс обязан всегда останавливаться одинаково.
Практическое задание
Объявите разные переменные для количества изделий, давления, режима, длительности и команды пуска. Для каждой укажите диапазон, единицы и сохранение при перезапуске. В модели проверьте граничные значения и старт после отключения. Сформулируйте ожидаемое поведение до испытания. Результат — таблица данных и сценарий безопасного восстановления учебного объекта.
Что нужно запомнить
- Тип данных задаёт диапазон и правила вычисления.
- Сохранённая команда может потребовать особой политики повторного пуска.
- Преобразование типа не исправляет ранее случившееся переполнение.