WebDisCo 2.3 — новая версия российской SCADA-системы
WebDisCo — отечественный программный продукт, разработанный компанией «ФИОРД», с полным владением исходным кодом; вся команда разработчиков из России. Продукт зарегистрирован в едином реестре российских программ для электронных вычислительных машин и баз данных с 2019 г. под номером 5528. Имеет сертификаты совместимости с ОС Astra Linux Special Edition и Common Edition, а также с РЕД ОС компании «РЕД СОФТ». У SCADA-системы WebDisCo широкая область применения — прежде всего на уровне АСУ ТП, а также в системах автоматизации зданий и «Интернета вещей».
Напомним основные особенности системы [1, 2]:
- многоплатформенная, встраиваемая: возможна установка сервера WebDisCo на ПК и ПЛК с ОС Linux и Windows. Работает на процессорах Intel (x86, x64), ARM, MIPS. Предусмотрен единый исходный код для всех ОС и аппаратных платформ;
- веб-ориентированная: обеспечен доступ пользователя из любого браузера;
- для АСУ ТП: поддерживает основные коммуникационные протоколы для АСУ ТП (Modbus TCP/RTU, OPC, FDA). Снабжена интерфейсом с технологией программирования контроллеров ISaGRAF.
WebDisCo 2.3, новая версия системы, строится на базе современных программных платформ (Go, React, BoltDB и др.), обеспечивающих продуктивную разработку высокоэффективных и высоконагруженных приложений реального времени, работающих на основе распределенных систем и многоядерных процессоров, что крайне важно для приложений класса SCADA/HMI.
Доступны два режима работы клиентов и сервера WebDisCo — режим дизайна (разработки проекта, рис. 1) и режим исполнения проекта (рис. 2). Реализована поддержка коллективной работы пользователей.
Дизайнер — мощный графический редактор, работа с которым выполняется через обычный браузер. Он позволяет создавать мнемосхемы из графических элементов и пополнять графические библиотеки новыми элементами, разрабатывать анимированные объекты (виджеты), определять состояния тревог, связанные с определенными значениями переменных.
В режиме разработки задаются профили пользователей (администратор устанавливает права их доступа к проектам и мнемосхемам), настраиваются протоколы связи с источниками данных и параметры уведомлений, определяются скрипты и задания планировщика.
Одно из достоинств WebDisCo состоит в том, что на стороне клиента не хранится никакой информации о проекте и о программном обеспечении и ему не требуется инсталляция продукта. Все программные модули, библиотеки, дизайнер WebDisCo, а также параметры, мнемосхемы, html-страницы проекта сохраняются в базе данных сервера и подгружаются в браузер клиента по его запросам.
Сервер WebDisCo (рис. 3) выполняет множество функций с учетом критериев, заданных в режиме разработки: сохраняет меняющиеся значения переменных с метками времени в базах данных реального времени (истории и тревог), генерирует и снимает состояния тревог, извещая об этом диспетчеров по почте или SMS, взаимодействует с драйверами коммуникационных протоколов, ведет журнал тревог, извещений и подтверждений, а также журнал действий операторов, разрешает или запрещает действия операторов в соответствии с их правами. Сервер также запускает скрипты и задания планировщика, генерирует отчеты и графики.
Версия сервера WebDisCo 2.3 оптимизирована для применения в высоконагруженных приложениях с большим объемом данных ввода/вывода (тегов). Особое внимание было уделено нагрузочному тестированию продукта: тесты включали проверку работы WebDisCo с различным количеством тегов (вплоть до 25 000) и обработку большого количества изменяемых значений тегов в секунду (до 2500). При этом контролировались затраты процессора и памяти, время обновления данных на мнемосхемах.
Оптимизация WebDisCo на основе самых последних версий системного ПО (для сервера и клиента) позволила значительно повысить ее производительность, усовершенствовать драйверы коммуникационных протоколов и упростить структуру базы данных. При этом размер сервера по-прежнему компактный, что позволяет устанавливать его непосредственно на ПЛК. Проекты из предыдущих версий WebDisCo автоматически конвертируются в формат новой версии.
В версии WebDisCo 2.3 усовершенствованы следующие возможности:
- Преобразование значений физических величин в инженерные единицы в соответствии с заданными диапазонами значений или формулой.
- Создание шаблонов простых отчетов на основе данных истории, их генерация, вывод на экран и сохранение в файлах PDF.
- Разработка скриптов на языке Basic. Скрипты в WebDisCo позволяют пользователю реализовывать собственные алгоритмы в среде WebDisCo, которые в качестве входных или выходных данных используют переменные WebDisCo. Кроме базовых операторов
и функций языка Basic, в среде WebDisCo поддерживаются циклы, условные операторы, создание собственных функций и подпрограмм. - Автоматический вызов одного скрипта из другого по изменениям переменных, расписанию или инициативе оператора.
- Формирование и отправка по почте сложных отчетов и графиков (рис. 4) с помощью скриптов в формате xlsx, csv, pdf, odf, png и sqlite3 на основе данных реального времени, истории и тревог.
- Импорт сторонних графических библиотек.
- Выполнение заданий по расписанию (CRON).
Новая интересная особенность WebDisCo 2.3 — возможность формировать сложные отчеты из скриптов на основе шаблонов в формате Excel (.xlsx) со своим языком разметки. Скрипты для формирования отчетов могут вызываться вручную оператором либо автоматически по расписанию. Сервер WebDisCo 2.3 передает в шаблон данные реального времени, тревог или истории, имена переменных WebDisCo (или узла переменных), диапазон времени (для данных истории). На основе этих данных и разметки шаблона формируется отчет в нужном формате. Один и тот же шаблон может использоваться для формирования отчетов по различным данным, так как параметры отчета передаются в шаблон из скрипта, аргументы которого могут формироваться динамически. Пример шаблона отчета показан на рис. 5, а отчет на его основе — на рис. 6.
Приведем пример вызова и формирования суточного отчета по историческим данным по переменной теструсс.рег1 (еще включены данные о тревогах) из скрипта. Функции Basic для работы с данными WebDisCo имеют префикс WD_. Шаблон отчета — «Ветряная турбина-история-шаблон», отчет — «Ветряная турбина-история».
BEGIN = WD_TODAY+"T00:00" END = WD_TODAY+"T23:59" WD_HISTORY_REPORT_DEL "xlsx" "Ветряная турбина-история" WD_HISTORY_XLSX "Ветряная турбина-история-шаблон" "Ветряная турбина-история" "теструсс" "рег1" BEGIN END ""
Если включить этот скрипт в планировщик, то отчет будет автоматически формироваться в указанное в планировщике время.
В рамках развития WebDisCo ведется разработка пакета I/O Dev Kit, который позволит системным интеграторам и производителям контроллеров добавлять драйверы собственных устройств в WebDisCo. В ближайших версиях системы будет добавлена поддержка протокола DCON для контроллеров и модулей ввода-вывода компании ICP DAS. Также планируется реализовать режим резервирования серверов WebDisCo (Failover) и поддержку функциональных блоков (встроенных и клиентских).
Благодаря функциональным возможностям, простоте и удобству применения, а также требуемым финансовым и временным затратам на внедрение сервер WebDisCo 2.3 может быть интересен производителям ПЛК и системным интеграторам.
- Ризо А. Е., Золотарев С. В. Отечественная веб-ориентированная SCADA-система нового поколения WebDisCo: передовая платформа и продвинутые интерфейсы // Автоматизация и IT в нефтегазовой отрасли. 2019. № 3.
- Ризо А. Все средства хороши: воспоминания к юбилею компании // Control Engineering Россия. 2022. № 3 (101).