"Я вам че - Автоматизатор?"
1.08K subscribers
189 photos
11 videos
8 files
310 links
Об OT, новых технология и подходах в АСУТП, интересные новости из мира автоматизации и личный взгляд на все это.
Сайт: https://blog.engcore.ru/
Сотрудничество: [email protected]
Download Telegram
Ночная рубрика "Что там по архитектуре"
Представим, что нам требуется выход одного функционального блока передать на вход другого функционального блока.
Пускай будет fb1.Out и fb2.IN.

Так вот как лучше это сделать?
Иногда лучше не слушать подкасты, так как они заставляют вернутся к тому, что не доделал. Возвращаюсь к архитектуре ППО. Целью всех этих изысканий будет лишь формирование правил и подходов, как минимум для себя, для быстрого написания кода, его организации, масштабирования, отладки и сопровождения.
Для себя я хочу точно выделить логические слои и разграничить зоны ответственности между ними, сформировать правила взаимодействия и найти какие-то общие паттерны для упрощения стандартных решений.
Рассматривать все это будут с точки зрения классического подхода, без использования ООП.
В таком нелегком деле буду рад пообщаться по теме вопроса.
Сейчас для себя я выделил 5 основных логических слоев ППО. Слой входных/выходных данных, слой оборудования, слой технологического процесса и два слоя, которые взаимодействуют со всеми - слой пользовательского управления и слой безопасности.
По моим умозаключениям все фб внутри одного логического слоя могут напрямую взаимодействовать друг с другом, но передача между логическими слоями должна происходить только через специальные объекты передачи данных. При чем каждый логический слой вполне может быть самостоятельной программой
Слои пользовательского управления и безопасности могут быть интегрированы в каждый конкретный слой или также выступать самостоятельными сущностями.
Вот отталкиваясь вот от этой диаграммы я буду дальше раскручивать клубок. Так что если есть какие-то мысли, вопросы, предложения, то добро пожаловать.
#АСУТП #ППО #ПЛК #Архитектруа
"Я вам че - Автоматизатор?!"
👍4🤔3🔥1
Облачные IIoT-решения для промышленной автоматизации от бренда EKF представлены на ведущих отраслевых выставках России

Компания «Электрорешения» (бренд EKF) представила на ключевых отраслевых выставках свои облачные IIoT-решения. Менеджер по развитию Кирилл Коземиров рассказал, как технологии помогают бизнесу решать конкретные задачи.
🎯 Ключевая проблема, которую закрывают решения:
Анализ простоев оборудования в реальном времени для снижения потерь и повышения управляемости производством.
💡 Что дают облачные IIoT-платформы (на примере EKF Connect Industry):
Упрощение: Быстрый запуск проектов по мониторингу удаленных объектов (генераторы, насосные станции, тепловые пункты) без сложных и дорогих SCADA-систем.
Глубокая аналитика: Легкий доступ к энергоменеджменту, анализу качества электроэнергии и прогнозированию сбоев оборудования.
Гибкость: Возможность настраивать оповещения (вплоть до Telegram-уведомлений) и создавать сложные сценарии на Python.
🏭 Примеры готовых решений:
Мониторинг АВР (автоматического ввода резерва).
Управление освещением с анализом эффективности.
Диспетчеризация тепловых пунктов (ИТП).
Уже внедрено:
Платформа EKF работает в реальных проектах, например, для мониторинга 75 компрессорных станций на железной дороге и энергомониторинга на крупном химическом производстве.
Итог: Облачные сервисы EKF — это готовый инструмент для цифровизации, который делает передовую аналитику доступной для предприятий любого масштаба.
"Я вам че - Автоматизатор?!"
#индустрия40 #iiot #ekf
👍3🤨1
Выходной пост, который станет продолжением про Архитектуру ППО.
Сегодня представлю, как я, в первом приближении вижу обработку входного сигнала. Предназначение ФБ входного сигнала - это получить сигнал с «модуля», провести валидацию этого сигнала, сделать минимальные преобразования и выдать его дальше. Я считаю, что на выходе сигнал должен остаться сигналом. Проще всего это объяснить на примере аналогового сигнала.
Если на вход у нас поступают значения от АЦП, а это мы будем получать либо число от 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, в свою очередь, - готовый сигнал, которые прошел преобразование, валидацию, и является безопасным для логики системы. Его мы передаем в отдельную структуру для устройства, учавствующего в технологическом процессе.
#АСУТП #ППО #ПЛК #Архитектура
"Я вам че - Автоматизатор?!"
👍3🤔2🏆1