Сегодня представлю, как я, в первом приближении вижу обработку входного сигнала. Предназначение ФБ входного сигнала - это получить сигнал с «модуля», провести валидацию этого сигнала, сделать минимальные преобразования и выдать его дальше. Я считаю, что на выходе сигнал должен остаться сигналом. Проще всего это объяснить на примере аналогового сигнала.
Если на вход у нас поступают значения от АЦП, а это мы будем получать либо число от 0 до 65535, либо микроампера или милливольты, что не играет роли, то и на выходе мы должны получить что-то что будет связано с сигналом. Это может быть начальное значение, которое мы просто проверили или произошло линейное преобразование в проценты от 0 до 100, но никак не готовое значение давления/расхода/уровня(нужное подчеркнуть).
За сам процесс проверки и преобразования отвечают следующие поля
VAR_INPUT
Signal: TYPE;
Settings: TYPE;
END_VAR;Signal - забирается с «модуля». На каждый сигнал есть структура Settings, которая будет храниться в Retain памяти ПЛК и иметь возможность ее изменения пользователем.
Далее у нас идет
VAR_INPUT
Control: TYPE;
END_VAR;Control - это тоже структура, которая содержит поля, необходимые для управления ФБ обработки сигнала. Сейчас я туда отношу симуляцию и маскирование, но не уверен, что им там самое место с точки зрения безопасности технологического процесса.
Последнее поле
VAR_INPUT
ModuleState;
END_VAR;Состояние «модуля», которое нам необходимо для небольшого контура безопасности, чтобы не обрабатывать заведомо мусорные значение и не пустить их в технологический процесс. Тут будут все наши обрывы линии связи, ошибки протоколов и т.д.
И на выходе остается
VAR_OUTPUT
InputDataState
Value
END_VAR;InputDataState - структура, которая содержит в себе информацию, необходимую и достаточную для информирования пользователя о состоянии входного сигнала. Value, в свою очередь, - готовый сигнал, которые прошел преобразование, валидацию, и является безопасным для логики системы. Его мы передаем в отдельную структуру для устройства, учавствующего в технологическом процессе.
#АСУТП #ППО #ПЛК #Архитектура
"Я вам че - Автоматизатор?!"
