2.4 Архитектура развертывания
Архитектуры с приоритетом облачных технологий неприменимы в условиях производственного цеха, поскольку интернет не является сетью реального времени для задач управления. Задержки, джиттер и разрывы соединения — это физические реалии. Операционная архитектура должна следовать «принципу подводной лодки»: производство должно сохранять работоспособность автономно, обеспечивая целостность всех данных даже при отключении от внешних сетей.
Стратегия сбора данных на периферии (на краю)
Заголовок раздела «Стратегия сбора данных на периферии (на краю)»Настоятельно рекомендуется избегать прямого подключения высокочастотных источников телеметрии оборудования к центральной базе данных. Прямое использование пропускной способности часто неэффективно, а сопутствующие задержки могут нарушить работу систем реального времени. Предпочтительный подход — развертывание сборщиков данных на периферии (например, промышленных ПК или специализированных шлюзов) непосредственно на уровне оборудования (Уровень 1/2).
Функции периферийного устройства:
- Опрос: Опрашивать ПЛК с высокой частотой (от 10 до 100 мс).
- Нормализация: Преобразовывать необработанный (сырой) регистр, например, 40001, в понятное имя переменной, такое как
Oven_Temp_Zone1. - Фильтрация: Передавать данные только при изменении значения за пределами заданного порога (dead band, мертвая зона) для снижения сетевого шума (режим «передача по изменению»).
- Буферизация: Сохранять данные локально в случае потери сетевого соединения.
Соотношение «один ко многим»
Заголовок раздела «Соотношение «один ко многим»»- Сложное оборудование (например, SMT-линии, станки с ЧПУ): Выделять один периферийный шлюз на единицу оборудования.
- Простые активы (например, конвейеры, весы): Выделять один периферийный шлюз на технологическую линию (с агрегацией данных от нескольких блоков ввода-вывода).
Синхронизация времени (NTP)
Заголовок раздела «Синхронизация времени (NTP)»Восстановление последовательности событий (генеалогия данных) зависит от точной хронологии. Если на машине A установлено время 12:00:00, а на машине B — 11:59:50, невозможно достоверно определить, какое событие произошло раньше. Встроенных механизмов синхронизации времени Windows недостаточно для промышленной точности.
Стандарт
Заголовок раздела «Стандарт»- Протокол: Использовать NTPv4 (Network Time Protocol).
- Источник: Использовать локальный сервер уровня Stratum-2 (синхронизированный по GPS или атомным часам). Не рекомендуется полагаться на публичные интернет-пулы (например, pool.ntp.org) в изолированной операционной технологической (OT) сети.
- Допустимое отклонение: Поддерживать максимальное расхождение времени в пределах ±500 мс.
Логика обработки расхождения
Заголовок раздела «Логика обработки расхождения»- При превышении временного сдвига порога в 500 мс система должна пометить качество соответствующих данных как «Сомнительное».
- При превышении сдвига порога в 2000 мс система должна инициировать предупреждение для службы технического обслуживания. Такое значительное отклонение обычно указывает на аппаратную проблему, например, на выход из строя батареи CMOS на промышленном ПК.
Хранение и пересылка (буферизация)
Заголовок раздела «Хранение и пересылка (буферизация)»Сетевое соединение может быть потеряно. В этом случае данные должны накапливаться в локальном буфере, а не теряться.
Правила организации буфера
Заголовок раздела «Правила организации буфера»- Цель: Проектировать систему с учетом минимум 72 часов локального хранения данных. (Этого, как правило, достаточно для компенсации простоев сети в выходные дни).
- Носитель данных: Использовать промышленные SSD-накопители (с высоким рейтингом TBW — общего объема записи) или локальную базу данных, например, SQLite.
- Алгоритм повторного подключения:
- LIFO (последний пришел — первый ушел) для данных состояния: Панель управления должна получить самую актуальную информацию о состоянии системы сразу после восстановления связи.
- FIFO (первый пришел — первый ушел) для исторических данных: После этого система должна заполнить пробелы в исторических данных в строгом хронологическом порядке.
Политика обработки данных при переполнении (сценарий «полный диск»)
Заголовок раздела «Политика обработки данных при переполнении (сценарий «полный диск»)»- При заполнении локального буфера более чем на 90% от его емкости система должна инициировать критическое предупреждение для IT-персонала.
- При достижении буфером 100% емкости:
- Данные отслеживаемости (серийные номера, статус «годен/не годен»): Система должна немедленно остановить производственную линию. Данные о соответствии продукции критически важны и не должны быть утеряны.
- Данные телеметрии (ток, напряжение, температура): Система должна перезаписывать самые старые данные телеметрии по принципу кольцевого буфера.
Мониторинг состояния сборщиков данных
Заголовок раздела «Мониторинг состояния сборщиков данных»Сборщик данных на периферии, который вышел из строя без оповещения, хуже, чем его полное отсутствие. Необходим механизм контроля работоспособности («сердцебиения»).
Логика сторожевого таймера
Заголовок раздела «Логика сторожевого таймера»- Сигнал жизнеспособности (heartbeat): Периферийное устройство должно регулярно отправлять импульс поддержания активности (например, каждые 60 секунд).
- Контроль задержки: Централизованная система должна измерять разницу между временем отправки импульса и временем его получения.
- Пороговые значения использования ресурсов:
- ЦП: Инициировать предупреждение, если использование процессора превышает 80% в течение более 15 минут.
- ОЗУ: Инициировать предупреждение, если использование оперативной памяти превышает 90%.
- Диск: Инициировать предупреждение, если свободное дисковое пространство составляет менее 20%.
Резюме: Автономная операционная архитектура
Заголовок раздела «Резюме: Автономная операционная архитектура»| Параметр / Область | Требование / Функция | Критерий / Значение | Логика обработки исключений |
|---|---|---|---|
| Периферийный сбор данных | Опрос ПЛК, нормализация, фильтрация (dead band), буферизация. | Частота опроса: 10-100 мс. Режим «передача по изменению». | Локальное хранение при потере сети. |
| Синхронизация времени (NTP) | Использовать NTPv4 с локальным сервером Stratum-2. | Макс. допустимое отклонение: ±500 мс. | >500 мс: качество данных «Сомнительное». >2000 мс: аварийное предупреждение. |
| Буферизация (Хранение и пересылка) | Локальное хранение данных при обрыве связи. | Минимум 72 часа автономного хранения. Носитель: промышленный SSD/SQLite. | 90% заполнения: предупреждение. 100%: остановка линии (данные отслеживаемости) или кольцевой буфер (телеметрия). |
| Мониторинг состояния сборщика | Контроль работоспособности (heartbeat) и ресурсов. | Heartbeat: каждые 60 сек. Пороги: ЦП >80% (15 мин), ОЗУ >90%, диск <20% свободно. | Превышение порогов — предупреждение. Отсутствие heartbeat — аварийное состояние. |