Найти в Дзене

Выходной пост, который станет продолжением про Архитектуру ППО

Выходной пост, который станет продолжением про Архитектуру ППО. Сегодня представлю, как я, в первом приближении вижу обработку входного сигнала. Предназначение ФБ входного сигнала - это получить сигнал с «модуля», провести валидацию этого сигнала, сделать минимальные преобразования и выдать его дальше. Я считаю, что на выходе сигнал должен остаться сигналом. Проще всего это объяснить на примере аналогового сигнала. Если на вход у нас поступают значения от АЦП, а это мы будем получать либо число от 0 до 65535, либо микроампера или милливольты, что не играет роли, то и на выходе мы должны получить что-то что будет связано с сигналом. Это может быть начальное значение, которое мы просто проверили или произошло линейное преобразование в проценты от 0 до 100, но никак не готовое значение давления/расхода/уровня(нужное подчеркнуть). За сам процесс проверки и преобразования отвечают следующие поля VAR_INPUT Signal: TYPE; Settings: TYPE; END_VAR; Signal - забирается с «модуля». На каждый сигна

Выходной пост, который станет продолжением про Архитектуру ППО.

Сегодня представлю, как я, в первом приближении вижу обработку входного сигнала. Предназначение ФБ входного сигнала - это получить сигнал с «модуля», провести валидацию этого сигнала, сделать минимальные преобразования и выдать его дальше. Я считаю, что на выходе сигнал должен остаться сигналом. Проще всего это объяснить на примере аналогового сигнала.

Если на вход у нас поступают значения от АЦП, а это мы будем получать либо число от 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, в свою очередь, - готовый сигнал, которые прошел преобразование, валидацию, и является безопасным для логики системы. Его мы передаем в отдельную структуру для устройства, учавствующего в технологическом процессе.

#АСУТП #ППО #ПЛК #Архитектура

"Я вам че - Автоматизатор?!"