Rapid SCADA

Обзор комплекса

Назначение и характеристики программного комплекса

Программный комплекс Rapid SCADA предназначен для работы в составе автоматизированных систем и позволяет создавать на своей базе:

Комплекс Rapid SCADA является программным обеспечением верхнего уровня, выполняет функции автоматического сбора, обработки, резервирования данных с различных устройств, управления оборудованием, предоставления информации пользователям в соответствии с правами доступа. Нижний аппаратный уровень системы включает в себя приборы учёта, датчики, контроллеры, интерфейсы связи, сетевое оборудование и др. устройства, выпускаемые различными производителями.

Универсальность программного комплекса достигается благодаря использованию модульной архитектуры программного обеспечения, в состав которого входят библиотеки для взаимодействия с различными измерительными и управляющими устройствами, устройствами сбора и передачи данных. Открытые интерфейсы, форматы хранения и передачи информации позволяют расширять комплекс, создавая новые драйверы устройств, плагины интерфейса оператора и отчётные формы, выполнять интеграцию со сторонними системами.

Rapid SCADA обладает мощными возможностями масштабирования, позволяет с минимальными затратами подключать новые аппаратные средства. Система имеет средства разграничения прав пользователей, таким образом, каждый пользователь, используя имя и пароль для входа в систему, может получить доступ только к той информации, на работу с которой он имеет право. Возможность использования Active Directory для аутентификации пользователей существенно повышает безопасность хранения паролей и избавляет администратора системы от необходимости ручного ведения справочника имён и паролей пользователей.

Следующая таблица содержит описание основных характеристик программного комплекса.

Характеристика Значение
Семейства поддерживаемых ОС Windows, Linux
Макс. количество входных каналов 65535
Макс. количество каналов управления 65535
Макс. количество линий связи 65535
Макс. количество КП (устройств) 65535
Мин. период обновления текущих данных 1 секунда
Мин. период сохранения архивных данных 1 минута
Макс. длительность хранения архивных данных 10 лет
Автоматическое создание резервной копии данных Есть
Возможность аутентификации на основе Active Directory Есть
Протокол обмена данными между приложениями комплекса TCP
Ведение журналов работы приложений и действий пользователей Есть
Функция запрета команд телеуправления Есть
Возможность наращивать функциональность собственными модулями Есть
Открытая архитектура, протоколы обмена данными, форматы файлов Да

Архитектура программного комплекса

Программный комплекс Rapid SCADA имеет распределённую многоуровневую архитектуру (рис. 1). Приложения системы могут функционировать как на одном сервере, так и на нескольких компьютерах сети, контролируемые устройства могут использовать каналы связи различных типов для подключения к системе.

Архитектура программного комплекса
Рис. 1. Архитектура программного комплекса

В состав программного комплекса входят следующие основные приложения:

  1. Вебстанция – это веб-приложение, которое предназначено для отображения информации диспетчеру посредством программы-браузера в табличной форме, на схемах и на графиках, генерации отчётов по работе системы.
  2. Сервер предназначен для управления архивами данных, математических расчётов в соответствии с заданной конфигурацией и предоставления информации по запросам клиентов.
  3. Коммуникатор предназначен для сбора данных с технических устройств системы параллельно по множеству линий связи, диагностики и тестирования устройств, передачи информации приложению Сервер по вычислительной сети.

Обеспечение доступа к данным с использованием веб-технологий существенно упрощает развёртывание и обслуживание системы, что особенно актуально при большом количестве пользователей.

В качестве контролируемых устройств системы применяются электросчётчики, теплосчётчики, охранно-пожарные контрольно-приёмные приборы, контроллеры доступа и др. оборудование.

Описание приложений

Приложение Сервер

Приложение Сервер предназначено для управления базой архивных данных системы, ведения резервной копии данных, математических расчётов в соответствии с заданной конфигурацией и предоставления информации по запросам клиентов.

Графическая оболочка для настройки Сервера
Рис. 1. Графическая оболочка для настройки Сервера

Сервер является службой, которая не имеет пользовательского интерфейса и работает постоянно в фоновом режиме вне зависимости от входа и выхода пользователей в операционную систему. Графическая оболочка для настройки Сервера встроена в приложение Администратор (рис. 1).

Программа осуществляет контроль подключенных пользователей и на основе их прав производит ограничение выдаваемых данных и принимаемых команд. Служебная информация о работе приложения сохраняется в текстовом файле журнала. Сервер рассчитан на круглосуточный режим работы.

Дополнительные серверные модули позволяют расширять функциональность Сервера в соответствии с требованиями Заказчика.

Приложение Коммуникатор

Приложение Коммуникатор выполняет следующие функции:

Графическая оболочка для настройки Коммуникатора
Рис. 1. Графическая оболочка для настройки Коммуникатора

Коммуникатор автоматически записывает в текстовые файлы информацию о работе приложения, линий связи, каждого подключенного устройства. Коммуникатор является службой, которая не имеет пользовательского интерфейса. Графическая оболочка для настройки Коммуникатора встроена в приложение Администратор (рис. 1). Режим работы Коммуникатора круглосуточный. Сторонние разработчики имеют возможность реализовывать собственные драйверы для взаимодействия Коммуникатора с различными устройствами.

Приложение Вебстанция

Вебстанция – это веб-приложение, которое предназначено для отображения измеряемых системой данных и управления посредством программы-браузера (рис. 1 и 2). Информация представляется в табличной форме, на графиках, на схемах, а также в отчётах, которые генерируются в привычных форматах HTML и Microsoft Excel.

Приложение Вебстанция. Мнемосхема
Рис. 1. Приложение Вебстанция. Мнемосхема

Приложение Вебстанция. Табличное представление
Рис. 2. Приложение Вебстанция. Табличное представление

Для получения информации пользователю достаточно выбрать представление (таблицу или схему) и при необходимости изменить дату просматриваемых данных. Чтобы получить график значений интересующего входного канала, следует щёлкнуть мышкой по пиктограмме параметра в таблице или по элементу на схеме.

Приложение Вебстанция доступно с любого компьютера или планшета, подключенного к вычислительной сети организации без выполнения какой-либо инсталляции ПО. Вход в систему возможен только при наличии прав доступа, определённых администратором системы.

Функциональность Вебстанции может быть расширена с помощью дополнительных плагинов. Например, плагин Графики Про расширяет возможности для работы с трендами входных каналов: масштабирование, одновременное отображение нескольких графиков, экспорт в форматы PNG и PDF. Плагин Гибкий отчёт позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина возможно построить практически любой необходимый отчёт. Сторонние разработчики имеют возможность разрабатывать и встраивать в веб-приложение собственные плагины, отображающие информацию оператору в произвольной форме.

Приложение Агент

Агент необходим для передачи конфигурации между экземпляром Rapid SCADA и приложением Администратор. Кроме того, Агент предоставляет журналы работы для отображения в Администраторе. Агент работает как служба на том сервере, на котором установлен контролируемый им экземпляр Rapid SCADA. Экземпляр Rapid SCADA включает в себя приложения Сервер, Коммуникатор и Вебстанция, все либо некоторые из этих приложений.

Агент взаимодействует с Администратором по протоколу TCP. Поэтому Администратор может быть установлен как на одном компьютере с Агентом, так и на другом компьютере, который доступен по сети. По умолчанию Агент использует TPC-порт 10002. При удалённом подключении входящие соединения по этому порту должны быть разрешены брэндмауэром сервера.

Агент не имеет пользовательского интерфейса. Для контроля его работы используется журнал, расположенный по умолчанию в директории C:\SCADA\ScadaAgent\Log

Приложение Администратор

Приложение Администратор (рис. 1) предназначено для разработки проектов Rapid SCADA и контроля состояния автоматизированной системы. Администратор представляет собой единую среду разработки, которая позволяет редактировать базу конфигурации, настраивать основные приложения Rapid SCADA, модули Сервера и драйверы устройств.

Приложение Администратор
Рис. 1. Приложение Администратор

Инструменты программы Администратор, позволяющие ускорить процесс конфигурирования:

Проект содержит набор конфигурационных файлов, в основном использующих формат XML. Благодаря данному подходу, проект легко может быть скопирован на другой компьютер. Для контроля версий проекта и совместной работы рекомендуется использовать систему Git.

Приложение Редактор таблиц

Приложение Редактор таблиц предназначено для создания табличных представлений, которые отображаются на рабочей станции оператора. Редактор таблиц используется инженерами в процессе конфигурирования Rapid SCADA.

Приложение Редактор таблиц
Рис. 1. Приложение Редактор таблиц

В левой части окна программы можно выбрать каналы из базы конфигурации и добавить их в табличное представление. Содержимое редактируемого табличного представления показывается в правой части окна. Скрытые элементы не отображаются веб-интерфейсе приложения Вебстанция, но учитываются при фильтрации событий по представлению.

Редактор таблиц удобно вызывать из приложения Администратор, дважды щелчкнув по узлу редактируемой таблицы в проводнике проекта. В строке состояния Редактора таблиц отображается путь к базе конфигуации проекта, в котором расположена редактируемая таблица.

Приложение Редактор схем

Приложение Редактор схем предназначено для создания мнемосхем, которые отображаются на рабочей станции оператора. Редактор схем используется инженерами в процессе конфигурирования Rapid SCADA.

Приложение Редактор схем
Рис. 1. Приложение Редактор схем

Схема состоит из текстовых и графических элементов, которые имеют множество свойств, определяющих их внешний вид и поведение. Отображение статических элементов схемы неизменно. Динамические элементы привязываются к каналам базы конфигурации, что позволяет отображать текущие измеряемые значения и состояния, по щелчку пользователя строить графики и отправлять команды телеуправления.

Дорожная карта

Основная функциональность
Единая среда разработки проектов Rapid SCADA Beta-версия
Приложение Агент для взаимодействия с удалёнными серверами Разработано
Приложение для автоматической генерации и рассылки отчётов Планируется в 2019
Мнемосхемы
Привязка произвольных свойств компонентов схем к входным каналам Не включено в план
Новые компоненты схем Приветствуется помощь сообщества
Новые изображения для схем Приветствуется помощь сообщества
Драйверы Коммуникатора
Драйвер IEC-61850 Приветствуется помощь сообщества
Драйвер BACnet Приветствуется помощь сообщества
Любые новые драйверы Приветствуется помощь сообщества
Модули Сервера
Голосовой модуль Приветствуется помощь сообщества
Любые новые модули Приветствуется помощь сообщества
Плагины Вебстанции
Обновление плагина Графики Про согласно пожеланиям пользователей Планируется в 2019
Развитие плагина Дэшборды Не включено в план
Разработка плагина выгрузки и загрузки архивов Не включено в план
Любые новые плагины Приветствуется помощь сообщества

Установка и запуск

Системные требования

Программные требования к серверу Windows

Программные требования к серверу Linux

Аппаратные требования к серверу

Аппаратная конфигурация сервера подбирается, исходя из масштаба автоматизированной системы. Минимальная конфигурация определяется требованиями используемой операционной системы. Для оценки требуемого места на жестком диске необходимо сначала настроить Rapid SCADA, затем измерить ежедневный прирост размера архивных данных и умножить его на период хранения архивов.

Rapid SCADA содержит собственную встроенную систему управления базой данных, поэтому никаких дополнительных затрат на стороннюю СУБД не требуется. Программный комплекс может работать как в физической, так и в виртуальной среде.

Требования к рабочим станциям и планшетам

Установка программного комплекса

Перед установкой

Для корректной работы Rapid SCADA необходимо включить определённые компоненты Windows. Перейдите в Панель управления > Программы > Включение или отключение компонентов Windows. Компоненты Microsoft .NET Framework, которые нужно включить, показаны на рис. 1 и 3. Обратите внимание, что для Microsoft .NET Framework 3.5 обязательно должны быть отключены вложенные компоненты Windows Communication Foundation.

Для корректной работы веб-приложения Вебстанция должны быть установлены определённые компоненты веб-сервера Internet Information Services (IIS). На рис. 2 и 4 показан выбор обязательных для работоспособности веб-приложения компонентов. При установке веб-приложения наличие данных компонентов автоматически проверяется программой-установщиком.

Компоненты .NET для Windows 7
Рис. 1. Компоненты .NET для Windows 7

Компоненты IIS для Windows 7
Рис. 2. Компоненты IIS для Windows 7

Компоненты .NET для Windows 10
Рис. 3. Компоненты .NET для Windows 10

Компоненты IIS для Windows 10
Рис. 4. Компоненты IIS для Windows 10

Установка

Для установки программного комплекса Rapid SCADA необходимо запустить файл ScadaSetup.exe из дистрибутива. Программа-установщик показана на рис. 5. Установку необходимо выполнять под учётной записью, обладающей правами администратора. Для работы Rapid SCADA требуется наличие на компьютере среды выполнения Microsoft .NET Framework актуальной версии. Программа установщик проверяет её наличие и предлагает скачать и установить при необходимости.

Программа-установщик
Рис. 5. Программа-установщик

В процессе установки сначала предлагается выбрать инсталлируемые приложения, входящие в состав комплекса, а затем предлагается выбрать директорию для установки (рис. 6). Данная директория определяет расположение всего программного комплекса, в ней создаются поддиректории, необходимые для работы инсталлируемых приложений. Рекомендуется использовать директорию по умолчанию C:\SCADA, чтобы упростить последующую настройку приложений.

Выбор директории для установки
Рис. 6. Выбор директории для установки

Параметры установки веб-приложения (рис. 7) согласуются с системным администратором. Если специфические требования к веб-приложению отсутствуют, следует использовать значения по умолчанию.

Параметры установки веб-приложения
Рис. 7. Параметры установки веб-приложения

После завершения установки рекомендуется с помощью Диспетчера служб IIS убедиться, что веб-приложение Scada использует пул приложений с версией среды .NET 4.0 и встроенным режимом конвейера. В Windows 7 и Windows 10 диспетчер открывается так: Панель управления > Система и безопасность > Администрирование > Диспетчер служб IIS.

Установка вручную

Установка Rapid SCADA вручную позволяет сохранять полный контроль в процессе установки, обновлении и удалении программного комплекса.

Последовательность установки вручную:

  1. Установить Microsoft Internet Information Services (IIS) путём выбора соответствующих компонентов Windows. Подробнее...
  2. Установить Microsoft .NET Framework (обязательно после установки IIS) той версии, которая указана в разделе Системные требования.
  3. Разархивировать файлы из папки Arc дистрибутива в директорию установки SCADA. Рекомендуется C:\SCADA
  4. Открыть консоль управления веб-сервером. Для Windows 7: Панель управления > Система и безопасность > Администрирование > Диспетчер служб IIS.
  5. Добавить приложение в дереве сайтов. Для этого в Windows 7 необходимо щёлкнуть правой кнопкой мыши по нужному сайту, например Default Web Site, выбрать пункт контекстного меню Добавить приложение.
  6. Убедиться, что пул приложений использует версию среды .NET 4.0 и встроенный режим конвейера. Указать физический путь к файлам веб-приложения C:\SCADA\ScadaWeb
  7. Зарегистрировать службу ScadaServerService, запустив ScadaServer\svc_install.bat от имени администратора.
  8. Зарегистрировать службу ScadaCommService, запустив ScadaComm\svc_install.bat от имени администратора.
  9. Зарегистрировать службу ScadaAgentService, запустив ScadaAgent\svc_install.bat от имени администратора.
  10. При необходимости создать ярлыки приложений Администратор и Вебстанция на рабочем столе.
  11. Запустить приложения.

Последовательность удаления вручную:

  1. Через Диспетчер служб IIS удалить веб-приложение Scada.
  2. Остановить службы ScadaServerService и ScadaCommService, закрыть все приложения комплекса.
  3. Удалить регистрацию службы ScadaServerService, запустив ScadaServer\svc_uninstall.bat от имени администратора.
  4. Удалить регистрацию службы ScadaCommService, запустив ScadaComm\svc_uninstall.bat от имени администратора.
  5. Удалить регистрацию службы ScadaAgentService, запустив ScadaAgent\svc_uninstall.bat от имени администратора.
  6. Удалить папку SCADA с жёсткого диска и ярлыки с рабочего стола.

Установка дополнительных модулей

Rapid SCADA позволяет устанавливать дополнительные модули, которые расширяют функциональность программного обеспечения. Данный раздел содержит описание последовательности установки, которая типична для большинства модулей.

Установка модулей Сервера

Последовательность установки нового или обновления существующего модуля для приложения Сервер:

  1. Закрыть приложение Администратор, если оно запущено.
  2. Распаковать архив дистрибутива модуля.
  3. Скопировать все файлы из папки SCADA дистрибутива модуля в директорию установки Rapid SCADA, по умолчанию C:\SCADA, с сохранением иерархии директорий.
  4. Если используется Windows 8 и выше, найти файл библиотеки модуля C:\SCADA\ScadaServer\Mod\Mod*.dll, открыть его свойства и разблокировать файл.
  5. Запустить Администратор, открыть проект и с помощью проводника проекта открыть страницу Сервер > Модули.
  6. Выбрать устанавливаемый модуль в списке неиспользуемых модулей и нажать кнопку Активировать.
  7. Выполнить действия по настройке модуля, указанные в документации на конкретный модуль.
  8. Сохранить проект и передать конфигурацию на сервер с помощью кнопки .

Установка драйверов Коммуникатора

Последовательность установки нового или обновления существующего драйвера для приложения Коммуникатор:

  1. Закрыть приложение Администратор, если оно запущено.
  2. Распаковать архив дистрибутива драйвера.
  3. Скопировать все файлы из папки SCADA дистрибутива драйвера в директорию установки Rapid SCADA, по умолчанию C:\SCADA, с сохранением иерархии директорий.
  4. Если используется Windows 8 и выше, найти файл библиотеки драйвера C:\SCADA\ScadaComm\KP\Kp*.dll, открыть его свойства и разблокировать файл.
  5. Запустить Администратор, открыть проект и с помощью проводника проекта открыть страницу Коммуникатор > Драйверы.
  6. Убедиться, что установленный драйвер присутствует в списке доступных драйверов, и при выборе драйвера отображается его описание.

Установка плагинов Вебстанции

Дополнительные модули для веб-приложения Вебстанция называются плагины. Последовательность установки нового плагина:

  1. Распаковать архив дистрибутива плагина.
  2. Скопировать все файлы из папки SCADA дистрибутива плагина в директорию установки Rapid SCADA, по умолчанию C:\SCADA, с сохранением иерархии директорий.
  3. Если используется Windows 8 и выше, найти файл библиотеки плагина C:\SCADA\ScadaWeb\bin\Plg*.dll, открыть его свойства и разблокировать файл.
  4. Выполнить вход в веб-приложение как администратор и перейти на страницу Главное меню > Плагины > Установленные.
  5. Найти на странице новый плагин и щёлкнуть по ссылке Активировать.
  6. Выполнить действия по настройке плагина, указанные в документации на конкретный плагин.

Запуск приложений

Первый запуск

После установки Rapid SCADA рекомендуется перезагрузить компьютер, чтобы автоматически запустились службы Сервера, Коммуникатора и Агента. Когда компьютер перезагрузится, запустите браузер Google Chrome, Mozilla Firefox или Microsoft Edge и введите адрес http://localhost/scada/. Должна открыться страница входа (рис. 1), на которой укажите имя пользователя admin и пароль 12345, затем нажмите кнопку Войти.

Веб-форма входа в систему
Рис. 1. Веб-форма входа в систему

Запуск Администратора

Для запуска приложения Администратор используйте ярлык, расположенный в меню Пуск > Программы > SCADA. Если ярлык по какой-либо причине отсутствует, Администратор можно запустить из исполняемого файла C:\SCADA\ScadaAdmin\ScadaAdmin.exe

Приложение Администратор имеет инструменты для управления остальными приложениями Rapid SCADA.

Службы

Приложения Сервер, Коммуникатор и Агент работают как службы. При использовании Windows для управления службами можно использовать оснастку services.msc. Она запускается из командной строки или через Панель управления > Система и безопасность > Администрирование > Службы. Наименования служб: ScadaServerService, ScadaCommService и ScadaAgentService.

Кроме того, в директориях соответствующих приложений расположены файлы svc_start.bat и svc_stop.bat, которые позволяют запускать и останавливать службу. Bat-файлы необходимо запускать от имени администратора.

Приложение Администратор также позволяет запускать и останавливать Сервер и Коммуникатор. Для управления службами в Администраторе откройте проект и затем откройте форму статуса экземпляра (рис. 2) с помощью кнопки .

Статус экземпляра в Администраторе
Рис. 2. Статус экземпляра в Администраторе

Тип запуска служб Сервера, Коммуникатора и Агента по умолчанию устанавливается автоматический, т.е. службы запускаются при старте операционной системы и останавливаются при завершении её работы. Если автозапуск не требуется, то в свойствах соответствующих служб нужно установить запуск вручную (рис. 3).

Установка типа запуска службы
Рис. 3. Установка типа запуска службы

Веб-приложение

Чтобы открыть веб-приложение Вебстанция, в адресной строке браузера необходимо ввести http://compname/scada/, где compname - имя компьютера или IP-адрес в локальной сети, на котором установлено веб-приложение, scada – виртуальный каталог, указанный при установке. Если веб-приложение открывается на том же компьютере, на котором оно установлено, то можно использовать ссылки http://localhost/scada/ или http://127.0.0.1/scada/

Имя пользователя по умолчанию: admin
Пароль по умолчанию: 12345

Перенос конфигурации на новый сервер

Типичные задачи, при которых необходим перенос конфигурации Rapid SCADA на другой сервер:

Последовательность действий для переноса конфигурации:

  1. Убедиться, что настроены подключения нового сервера к опрашиваемым устройствам: существуют необходимые последовательные порты, промышленные контроллеры доступны по локальной сети и т.п.
  2. Установить Rapid SCADA на новом сервере, не запуская службы Сервера и Коммуникатора.
  3. На старом сервере остановить службы Сервера и Коммуникатора и перевести их на ручной тип запуска (службы ScadaServerService и ScadaCommService).
  4. Со старого сервера на новый скопировать архив, расположенный в директориях:
    C:\SCADA\ArchiveDAT
    C:\SCADA\ArchiveDATCopy
  5. Перенести конфигурацию со старого на новый сервер одним из указанных ниже способов.
    • Со старого сервера на новый скопировать содержимое директорий конфигурации (приведены директории по умолчанию):
      C:\SCADA\BaseDAT
      C:\SCADA\Interface
      C:\SCADA\Projects
      C:\SCADA\ScadaAgent\Config
      C:\SCADA\ScadaComm\Config
      C:\SCADA\ScadaServer\Config
      C:\SCADA\ScadaWeb\config
      C:\SCADA\ScadaWeb\storage
    • Открыть проект в приложении Администратор и передать конфигурацию на новый сервер кнопкой , предварительно сняв галочки Перезапустить Сервер и Перезапустить Коммуникатор.
  6. На новом сервере запустить службы Сервера и Коммуникатора.
  7. Проверить работоспособность нового сервера.

Обновление программного комплекса

Обновление Rapid SCADA до новых версий обязательно должно предварительно проводиться на тестовом сервере. Внимательно изучите список изменений в новой версии. Если изменилась структура базы конфигурации, форматы архивных файлов или файлов представлений, потребуется конвертирование данных с помощью специальной утилиты.

Установка на основной сервер допускается только после того, как появится уверенность в том, что новая версия Rapid SCADA на тестовом сервере работает корректно.

Последовательность действий для обновления Rapid SCADA:

  1. Создать резервную копию всех файлов программного комплекса, которые расположены по умолчанию в директории C:\SCADA
  2. Деинсталлировать Rapid SCADA с помощью программы-установщика ScadaSetup.exe.
  3. Установить новую версию программного комплекса и перенести конфигурацию.
  4. Очистить кэш браузера или обновить страницы веб-приложения, нажав Shift + F5.

Обновление Rapid SCADA путём прямого копирования файлов новой версии технически возможно. Однако эта операция требует глубокого понимания работы Rapid SCADA и может привести к ошибкам в работе программного обеспечения.

Рекомендации по безопасности

Защита файлов

Если Rapid SCADA используется в корпоративной среде, необходимо ограничить доступ пользователей домена к директории установки Rapid SCADA, по умолчанию C:\SCADA\. Для этого нужно открыть свойства директории, в которую установлены приложения Rapid SCADA, перейти на закладку Безопсность и настроить права доступа.

HTTPS

Рекомендуется настроить веб-сервер таким образом, чтобы веб-приложение Вебстанция работало по протоколу HTTPS. При использовании HTTPS трафик между браузером и веб-сервером, включая пароли, шифруется.

VPN

Для доступа внешних пользователей рекомендуется использовать VPN. Следует по возможности избегать открытого доступа извне к Вебстанции.

Пароли

Необходимо изменить пароли, установленные по умолчанию. Для этого нужно открыть проект в приложении Администратор, в таблице Пользователи установить новые пароли, а также обновить пароли для подключения к Серверу, указанные в настройках приложений. Для создания надёжных паролей следует использовать генератор паролей. Если в организации используется Active Directory, настройка аутентификации в Rapid SCADA на основе Active Directory повышает защищённость системы.

Настройка комплекса

Основы настройки

Создание проекта

Настройка Rapid SCADA выполняется в рамках проектов. Проект представляет собой набор файлов в различных форматах, которые сохраняются в директории проекта. Для создания и редактирования проектов предназначено приложение Администратор. При запуске Администратора открывается Стартовая страница, с помощью которой можно создать новый или открыть существующий проект (рис. 1).

Стартовая страница
Рис. 1. Стартовая страница

Форма создания проекта
Рис. 2. Форма создания проекта

При создании проекта (рис. 2) необходимо обратить внимание на используемый шаблон. Шаблон определяет первоначальную конфигурацию, которая добавляется в проект. В качестве шаблона можно использовать другой существующий проект.

Структура проекта

Конфигурация Rapid SCADA представлена в проводнике проекта, который расположен в левой части главного окна Администратора. Проект состоит из следующих основных частей (рис. 3):

Структура проекта
Рис. 3. Структура проекта

Экземпляр - это компьютер, на котором развернут программный комплекс Rapid SCADA. Один проект может включать в себя несколько экземпляров Rapid SCADA, между которыми происходит обмен данными. Приложение Администратор поддерживает подключение к удалённым серверам для скачивания и передачи конфигурации, поэтому настройка Rapid SCADA может осуществляться с одной рабочей станции.

Общая последовательность настройки

Начиная работу с Rapid SCADA, рекомендуется придерживаться общей последовательности настройки, приведённой ниже. Получив определённый опыт работы с комплексом, лучше поняв механизмы взаимодействия приложений, можно варьировать последовательность настройки для удобства.

  1. Создать новый или открыть существующий проект.
  2. Добавить объекты, линии связи и КП в базу конфигурации. Для создания линий связи и КП рекомендуется использовать мастеры, которые вызываются с помощью кнопок и , расположенных на панели инструментов Администратора.
  3. Проверить, что добавленные линии связи и КП присутствуют в настройках Коммуникатора. При необходимости импортировать их, выбрав пункт меню Импортировать в контекстном меню узла Линии связи проводника проекта.
  4. Настроить обмен данными с устройствами в Коммуникаторе.
  5. Создать входные каналы и каналы управления в базе конфигурации. Рекомендуется использовать мастер, вызываемый кнопкой .
  6. Создать представления и прописать их в таблице Интерфейс базы конфигурации.
  7. Передать проект на сервер с помощью кнопки .

Настройка базы конфигурации

Структура базы конфигурации

База конфигурации представляет собой структурированное описание всей автоматизированной системы. Приложения, входящие в состав Rapid SCADA, используют информацию из базы конфигурации в сочетании со своими параметрами настройки.

База конфигурации редактируется с помощью программы Администратор как часть проекта. Редактируемый экземпляр базы конфигурации имеет формат XML. При передаче проекта на сервер для выполнения база конфигурации конвертируется в специально разработанный формат DAT.

База конфигурации состоит из таблиц, которые, в свою очередь, состоят из столбцов и строк. Каждая таблица относится к одной из следующих групп:

  1. Система. Данная группа содержит таблицы, с помощью которых настраивается конфигурация конкретной автоматизированной системы.
  2. Справочники. Данная группа содержит вспомогательные таблицы. В большинстве случаев их изменение не требуется.

Далее приводится перечень таблиц базы конфигурации с их назначением.

Таблица Назначение
Система
Объекты Содержит логические объекты, которые используются для структурирования информации в системе
Линии связи Описывает физические линии связи, по которым производится обмен данными с устройствами
КП Содержит контролируемые пункты (КП) - физические или мнимые устройства, с которыми происходит обмен данными
Входные каналы Определяет входные данные системы, поступающие с устройств, а также значения, вычисляемые на их основе
Каналы управления Определяет команды, выполняемые системой
Роли Содержит роли. Роль - это набор функциональных возможностей, доступных пользователю
Пользователи Содержит перечень пользователей системы с указанием ролей
Интерфейс Содержит описание объектов интерфейса (представлений, отчётов и окон данных)
Права Определяет права на объекты интерфейса по ролям
Справочники
Типы каналов Справочник типов входных каналов
Типы команд Справочник типов команд, которые могут использоваться каналами управления
Типы событий Справочник типов событий системы, а также статусов входных каналов в архиве
Типы КП Справочник типов КП (устройств)
Величины Справочник измеряемых физических величин
Размерности Справочник размерностей значений входных каналов, а также перечислимые значения каналов
Значения команд Справочник значений команд, которые вызываются посредством каналов управления
Форматы чисел Справочник форматов, используемых при выводе значений входных каналов
Формулы Справочник формул, используемых при расчётах данных входных каналов и значений команд каналов управления

Редактирование базы конфигурации

Таблицы базы конфигурации связаны между собой, то есть значение одной таблицы может ссылаться на запись из другой таблицы. Например, каждый КП ссылается на линию связи, к которой он относится. Поэтому редактирование таблиц удобно выполнять в определённой последовательности. Для таблиц из группы Система ввод данных обычно выполняется по порядку, начиная с таблицы Объекты, заканчивая таблицей Права.

При добавлении линий связи и КП рекомендуется использовать мастеры, которые вызываются с помощью кнопок и . Использование мастера позволяет не только добавить запись в таблицу базы конфигурации, но также создать соответствующую сущность в настройках Коммуникатора. Для создания входных каналов и каналов управления предназначен мастер, вызываемый кнопкой . Однако автоматическое создание каналов должно поддерживаться используемыми драйверами КП, иначе каналы необходимо прописать вручную.

Если на панели инструментов таблицы отображается кнопка , значит для данной таблицы доступно редактирование записей с помощью формы. Формы для редактирования свойств канала показаны на рис. 1 и 2.

Свойства входного канала
Рис. 1. Свойства входного канала

Свойства канала управления
Рис. 2. Свойства канала управления

Создание базы конфигурации можно значительно ускорить, если использовать сделанные ранее наработки. Для обмена информацией между различными базами программа Администратор имеет функции Импортировать таблицу и Экспортировать таблицу (рис. 3 и 4), которые вызываются из меню Файл. Таблицы экспортируются в файлы формата DAT, XML и CSV. Затем информация может быть импортирована из файлов формата DAT и XML в тот же самый или другой проект. Существует возможность ограничить перечень выгружаемых и закачиваемых данных, задав начальный и конечный идентификаторы. Кроме того, если при импорте назначить новый начальный идентификатор, то импорт данных выполнится со смещением идентификаторов.

Импорт таблицы
Рис. 3. Импорт таблицы

Экспорт таблицы
Рис. 4. Экспорт таблицы

Для входных каналов и каналов управления доступен инструмент клонирования (рис. 5). На форме параметров клонирования необходимо задать исходные номера и номера назначения каналов. Также можно выбрать новый объект и КП для клонированных каналов. Функция обновления номеров каналов в формулах работает, если номер канала используется как аргумент в следующих функциях: N(), Val(), Stat(), SetVal(), SetStat() и SetData().

Клонирование каналов
Рис. 5. Клонирование каналов

Для ячеек таблицы доступны функции копирования (Ctrl + C) и вставки (Ctrl + V). Если щёлкнуть по заголовку столбца, строки таблицы отсортируются по значениям данного столбца. Функция поиска и замены (Ctrl + F) также позволяет ускорить редактирование.

Использование формул

Формулы применяются для расчёта значений и статусов входных каналов, а также для расчёта значений команд управления. Обработка формул выполняется программой Сервер.

Выполняемые формулы вводятся в базу конфигурации в таблицы Входные каналы и Каналы управления в столбец Формула. Чтобы расчёт по формуле для какого-либо канала выполнялся, необходимо установить для него галочку в столбце Исп. формулу. Таблица Формулы базы конфигурации содержит дополнительные функции и структуры данных, которые могут быть использованы в формулах для входных каналов и каналов управления.

Правила написания формул

Общие правила написания и использования формул:

  1. Формулы записываются согласно синтаксису математических выражений языка C#. Доступны различные классы .NET, например, Math, DateTime.
  2. База конфигурации позволяет добавлять новые константы, поля, свойства и методы, которые становятся доступны в формулах.
  3. Если хотя бы одна из формул содержит ошибку, работа Сервера невозможна. Информация об ошибках в формулах выводится в журнал приложения.

Правила вычисления формул входных каналов:

  1. Расчёт по формулам для каналов типа Телесигнал и Телеизмерение выполняется только при получении сервером новых данных по этим каналам. Используйте эти типы каналов, если формула не ссылается на данные других каналов.
  2. Расчёт по формулам для каналов типа Дорасчётный * и Кол-во переключений выполняется постоянно. Последовательность расчёта – от меньших номеров каналов к большим. Дорасчётные типы каналов используются, если значение и статус канала вычисляются на основе данных других каналов.
  3. Расчёт по формулам для каналов типа Минутный * и Часовой * выполняется периодически один раз в минуту или один раз в час соответственно. Используйте эти типы каналов для реализации различных счётчиков, например, потребляемой энергии или времени наработки.
  4. Статус канала после вычисления по формуле для каналов типа Телесигнал и Телеизмерение равен статусу переданных Серверу данных, если расчёт статуса не задан в формуле явно.
  5. Для каналов других типов устанавливается статус Параметр определён, если расчёт статуса не задан в формуле явно.
  6. Формула, заданная для входного канала в базе конфигурации и не содержащая символа ";", определяет расчёт значения канала.
  7. Если формула содержит символ «;», то она разбивается на две части: первая часть определяет расчёт значения канала, вторая часть – расчёт статуса канала.
  8. Если для канала заданы границы, то статус канала пересчитывается с учётом границ после вычисления формулы канала.
  9. Формула для расчёта значения канала должна возвращать вещественное число типа double, а формула для расчёта статуса - целое число типа int.

Правила вычисления формул каналов управления:

  1. Формула, заданная для канала управления в базе конфигурации, применяется для каналов управления с типом команды Стандартная или Бинарная.
  2. Формула для расчёта значения стандартной команды должна возвращать вещественное число типа double, а формула для расчёта данных бинарной команды - массив байт типа byte[].

Существующие формулы

Переменные, доступные в формулах:

Переменная Тип значения Описание
CnlVal, Cnl double Передаваемое Серверу значение входного канала до расчёта
CnlStat int Передаваемый Серверу статус входного канала до расчёта
CmdVal, Cmd double Передаваемое Серверу значение команды управления
CmdData byte[] Передаваемые Серверу данные команды управления
CnlNum int Номер канала, формула которого вычисляется
E double Число e
PI double Число π

Функции, доступные в формулах:

Функция Тип значения Описание
N(n) int Возвращает номер заданного канала для обновления номеров при клонировании
Val() double Текущее значение входного канала вычисляемой формулы
Val(n) double Текущее значение входного канала n
SetVal(n, val) double Установить текущее значение входного канала n
Stat() int Текущий статус входного канала вычисляемой формулы
Stat(n) int Текущий статус входного канала n
SetStat(n, stat) int Установить текущий статус входного канала n
SetData(n, val, stat) double Установить текущее значение и статус входного канала n
Abs(x) double Модуль
Sin(x) double Синус
Cos(x) double Косинус
Tan(x) double Тангенс
Exp(x) double Экспонента
Ln(x), Log(x) double Натуральный логарифм
Sqr(x) double Квадрат числа
Sqrt(x) double Квадратный корень

Дополнительные формулы, в том числе формулы для работы со средними значениеми, доступны на GitHub.

Отладка формул

При разработке собственных формул необходимо обеспечивать корректность синтаксиса формул и правильность их работы. Если службе Сервера при запуске не удалось скомпилировать формулы, информация об ошибке выводится в журнал работы Сервера, а компилируемый код формул доступен в файле CalcEngine.cs, который расположен по умолчанию в директории журналов Сервера C:\SCADA\ScadaServer\Log\

Для разработки сложных формул рекомендуется использовать Microsoft Visual Studio Community Edition, подключив в зависимости проекта сборку FormulaTester.dll. В качестве примера можно использовать проект формул указанный выше.

Настройка аутентификации пользователей

Rapid SCADA поддерживает три способа аутентификации пользователей:

  1. На основе имени и пароля, которые хранятся в базе конфигурации.
  2. На основе Active Directory.
  3. Комбинированный способ.

При выполнении аутентификации клиентская программа, например, Коммуникатор или Вебстанция, отправляет запрос приложению Сервер, которое выполняет проверку корректности имени и пароля, определяет роль пользователя и сообщает её клиентской программе.

Стандартные роли пользователя и их возможности перечислены в следующей таблице.

Идентификатор Наименование Описание
0 Отключен Доступ к системе заблокирован
1 Администратор Полный доступ ко всем функциям и объектам системы
2 Диспетчер Просмотр информации по всем объектам и телеуправление
3 Гость Просмотр информации по всем объектам
4 Приложение Взаимодействие с программой Сервер

Чтобы использовать возможности Rapid SCADA по разграничению прав на объекты интерфейса (табличным представлениям, схемам и т.д.), необходимо в таблице Роли базы конфигурации создать новые пользовательские роли, а затем в таблице Права настроить права доступа.

Если программный комплекс функционирует в локальной сети, построенной на основе Active Directory, то в целях безопасности рекомендуется использовать 2-й или 3 й способ аутентификации, которые далее рассматриваются подробнее.

Чтобы служба Сервера имела возможность взаимодействия с Active Directory, необходимо в настройках Сервера на странице Общие параметры указать адрес контроллера домена и установить соответствующую галочку, а на странице Модули активировать модуль ModActiveDirectory.dll.

2-й способ аутентификации используется, если разграничение прав доступа не предусматривает индивидуальную настройку прав на объекты интерфейса системы. Преимущество данного способа заключается в том, что для управления доступом достаточно инструментария работы с Active Directory, не требуется изменений базы конфигурации и перезапуска службы Сервера.

В Active Directory необходимо создать глобальные группы безопасности, предназначенные для определения ролей пользователей:

Членство пользователя (или группы, в которую он входит) в соответствующей группе безопасности определяет его роль в системе SCADA.

3-й способ объединяет возможности 1-го и 2-го способов. Проверка корректности имени и пароля производится с использованием Active Directory, а роль пользователя определяется по таблице Пользователи базы конфигурации. В этом случае таблице Пользователи указывается идентификатор, имя и роль пользователя, а его пароль остаётся пустым.

Допускается одновременное использование всех вышеперечисленных способов аутентификации.

Настройка обмена данными с устройствами

Взаимодействие с физическими или мнимыми устройствами выполняется программой Коммуникатор, которая, выступая в качестве ведущего (Master) или ведомого (Slave), производит опрос данных и передачу команд устройствам. Все устройства привязываются к своим линиям связи, которые не зависят друг от друга и опрашиваются параллельно.

Пользовательский интерфейс Коммуникатора, предназначенный для настройки, встроен в приложение Администратор. Настройка Коммуникатора выполняется как часть проекта.

На рис. 1 показан пример настройки основных параметров линии связи. Канал связи определяет, с помощью какого физического интерфейса или сетевого протокола производится обмен данными с устройствами. Поддерживаются следующие каналы связи: Последовательный порт, TCP-клиент, TCP-сервер, UDP. В некоторых случаях, если взаимодействие с устройствами реализовано в драйвере КП, канал связи следует оставить незаданным (например, при использовании драйвера OPC).

Если отправлять команды телеуправления (ТУ) устройствам не требуется, в целях безопасности рекомендуется снять галочку Команды ТУ разрешены.

Основные параметры линии связи
Рис. 1. Основные параметры линии связи

Параметры опроса КП
Рис. 2. Параметры опроса КП

Порядок и параметры опроса КП на линии связи задаются на странице Опрос КП (рис. 2).

При снятии флажка Активна для линии связи данная линия будет полностью отключена со всеми относящимися к ней КП. При снятии флажка Активен для КП опрос и отправка команды соответствующему КП на линии связи будут отключены.

С помощью флажков Привязан к Серверу можно включить или отключить для определённых КП или для всей линии связи отправку данных программе Сервер. Если открыть страницу Общие параметры настроек Коммуникатора и снять флажок Взаимодействовать с Сервером, то взаимодействие Коммуникатора и Сервера будет полностью отключено. Эти возможности удобно использовать при тестировании новых подключаемых к системе устройств.

Если в свойствах КП поля Время и Период нулевые, то опрос КП производится непрерывно циклически. Если для КП указано время, а период равен нулю, то опрос выполняется один раз в сутки в указанное время. Если период не нулевой, то КП опрашивается периодически, начиная с заданного времени. Поля Таймаут и Пауза определяют длительность ожидания ответа от устройства и задержку после приёма данных. Поле Командная строка позволяет задать дополнительные параметры работы КП, которые определяются драйвером КП и указаны в его описании.

Кнопка Сброс позволяет восстановить параметры опроса КП по умолчанию, которые заложены в DLL, выбранной из списка. Если данная DLL поддерживает отображение свойств конкретного КП, то они открываются кнопкой Свойства или из контекстного меню элемента дерева, соответствующего КП. Для некоторых типов КП задаются общие глобальные свойства, в этом случае они редактируются по кнопке Свойства на странице Драйверы.

Чтобы импортировать линии связи и КП из базы конфигурации в Коммуникатор, в проводнике проекта нужно щёлкнуть правой кнопкой мыши на родительском узле линий связи или на узле конкретной линии связи и в контекстном меню выбрать пункт Импортировать. Форма импорта показана на рис. 3.

Импорт настроек Коммуникатора
Рис. 3. Импорт настроек Коммуникатора

Функция синхронизации настроек (рис. 4) также вызывается из контекстного меню линии связи. Синхронизация позволяет обновить параметры существующих линий связи и КП по базе конфигурации, однако при этом могут утеряны параметры, введённые пользователем вручную.

Синхронизация настроек Коммуникатора
Рис. 4. Синхронизация настроек Коммуникатора

Создание представлений

Представление – это форма отображения информации в приложении Вебстанция. По умолчанию поддерживается 2 типа представлений: табличные представления и схемы. С помощью подключения дополнительных плагинов может быть добавлена поддержка других типов представлений.

Для создания представлений предназначены специальные редакторы: Редактор таблиц и Редактор схем. Созданые представления сохраняются в файлы, которые должны располагаться в директории интерфейса внутри проекта. В процессе выполнения файлы представлений располагаются в директории интерфейса, указанной в настройках приложения Сервер, или в её поддиректориях, по умолчанию C:\SCADA\Interface\

Примеры файлов представлений:
Interface\Servers\ServerRoom.sch - схема,
Interface\Servers\ServerRoom.tbl - табличное представление.

Чтобы открыть диалог для создания представления, выберите пункт контекстного меню Создать файл (рис. 1 и 2). Затем в открывшемся окне выберите тип представления, укажите имя файла и нажмите кнопку OK. Созданный файл отобразится в проводнике проекта. По двойному щечку на соответствующем узле проводника проекта, представление открывается в редакторе.

Меню для создания представления
Рис. 1. Меню для создания представления

Диалог для создания представления
Рис. 2. Диалог для создания представления

После того, как файлы представления созданы, их необходимо прописать в базе конфигурации в таблице Интерфейс, как показано на рис. 3. Идентификатор представления должен быть уникальным. Путь к представлению указывается относительно директории интерфейса. Текст, указанный в столбце Заголовок отображается в дереве представлений Вебстанции, а идентификаторы определяют сортировку представлений. Если файлы представлений расположены в поддиректориях директории интерфейса, то эти поддиректории также должны быть прописаны в таблице Интерфейс.

Редактирование таблицы Интерфейс
Рис. 3. Редактирование таблицы Интерфейс

Модули

Драйвер импорта из БД

Обзор

Драйвер импорта из БД позволяет получать текущие данные из сторонней базы данных, а также записывать информацию в стороннюю БД с помощью команд телеуправления. Данный драйвер входит в дистрибутив Rapid SCADA и отдельная установка драйвера не требуется. Файл библиотеки драйвера - KpDbImport.dll.

Конфигурирование

Каждый КП, использующий драйвер импорта из БД, содержит один запрос на получение данных и набор команд телеуправления (ТУ) на изменение данных. На одной линии связи может находится один или несколько КП, импортирующих данные.

Настройка драйвера импорта из БД выполняется с помощью формы свойств КП. Чтобы открыть эту форму, необходимо найти соответствующий КП в настройках Коммуникатора, щёлкнуть на узле КП правой кнопкой мыши и выбрать пункт меню Свойства.

Настройка соединения с БД

На странице База данных необходимо задать тип базы данных и указать параметры соеднинения с БД. Если требуется ввести нестандартные параметры соединения, то допускается редактирование строки соединения напрямую.

Настройка извлечения данных

На странице Извлечение данных указывается SQL-запрос для получения текущих данных из БД. Драйвер автоматически создаёт теги КП на основе списка запрашиваемых столбцов таблицы. Если запрос имеет сложный синтаксис, то может потребоваться указать количество тегов вручную.

Настройка команд телеуправления

На странице Команды задаются команды ТУ, поддерживаемые данным КП. Команды обеспечивают передачу информации из Rapid SCADA в базу данных. В SQL-запросе команды доступны переменные cmdVal и cmdNum, которые содержат значение и номер команды соответственно. Для большинства СУБД переменные в запросе имеют префикс @, для Oracle обычно используется префикс : (двоеточие).

Допускается создание команды с номером 0, которая будет выполняться по умолчанию. Если номер отправленной команды не найден в списке команд КП, то будет выполнена команда по умолчанию.

Драйвер Telegram

Обзор

Драйвер Telegram предназначен для рассылки уведомлений пользователям с помощью популярного мессенджера Telegram. Преимуществами использования Telegram является оперативность получения уведомлений, отсутствие платы за использование сервиса и удобство управления группами рассылки.

Установка

Драйвер Telegram устанавливается в соответствии с общей последовательностью установки драйверов Коммуникатора. Файл библиотеки драйвера - KpTelegram.dll.

Конфигурирование

Создание бота Telegram

Предварительно необходимо создать бота с системе Telegram. Для этого:

  1. Установите приложение и зарегистрируйтесь в Telegram.
  2. Добавьте в список контактов бота BotFather.
    Telegram BotFather
  3. В режиме диалога с BotFather выполните команду /newbot и следуйте инструкциям от BotFather.
  4. Щёлкните по значку меню и создайте новую группу для получения рассылки.
    Новая группа Telegram
  5. Добавьте созданного Вами бота в новую группу.
  6. Добавьте контакты в новую группу. Эти контакты будут получать рассылку.

Настройка драйвера

Настройка рассылки уведомлений выполняется с помощью программы Администратор как часть проекта. Последовательность настройки:

  1. Открыть таблицу Типы КП и проверить, что тип "КП 224 Telegram" существует. Если указанная запись в таблице отсутствует, то ввести её вручную.
  2. Создать отдельную линию связи и единственный КП типа Telegram на данной линии связи, используя мастеры, которые вызываются с помощью кнопок и .
  3. В настройках Коммуникатора открыть свойства КП, ввести токен бота, полученный при создании бота, и сгенерировать пароль бота, который используется для управления подписками.
    Конфигурация КП Telegram
  4. Сохранить изменения конфигурации драйвера.
  5. Передать проект на сервер с помощью кнопки .
  6. Перейти на страницу Регистрация и зарегистрировать драйвер, используя гиперссылки, размещённые на форме.
    Регистрация КП Telegram
  7. Снова сохранить изменения и передать проект на сервер.

Управление подписками

Если настройка выполнена правильно, то Ваш бот будет отвечать на команды, отправленные из мессенджера, например, команду /help. Необходимо в настройках драйвера указать подписки (чаты), с которыми взаимодействует Коммуникатор.

Группа уведомлений Telegram

Чтобы получить идентификатор и наименование подписки, следует отправить команду /info с помощью мессенджера. Затем добавить полученные данные на форме конфигурации КП.

Устаревший способ: добавление или удаление подписки выполняется с помощью команд /start и /stop с указанием ранее сгенерированного пароля. Однако, по умолчанию изменение подписки заблокировано. Чтобы его разблокировать, в Коммуникаторе нужно отправить для КП стандартную команду номер 2 со значением 1. После этого можно добавлять или удалять подписки.

Отправка сообщений

Чтобы из Rapid SCADA отправить сообщение в группу Telegram, необходимо отправить бинарную команду номер 1, содержащую имя (или идентификатор) группы и текст сообщения. Например:
RapidScadaDemo; Тестовое сообщение.

Отправка сообщения Telegram

Автоматическая рассылка уведомлений при выполнении определённых условий и возникновении событий осуществляется с помощью Модуля автоматического управления.

Модуль автоматического управления

Обзор

Модуль автоматического управления позволяет в автоматическом режиме отправлять команды при выполнении определённых условий. Без регистрации модуль работает в демонстрационном режиме с ограничением времени полнофункциональной работы 10 минут после перезапуска. Модуль работает под управлением приложения Сервер. Настройка модуля выполняется с помощью удобной формы, показанной на следующем рисунке.

Форма конфигурации модуля

Условия, необходимые для отправки команд, задаются в виде триггеров, которые бывают нескольких типов:

Для каждого триггера создаётся набор команд ТУ, которые отправляются при его срабатывании. Информацию о срабатывании триггеров и отправленных командах можно получить на странице Журнал или напрямую из файла ModAutoControl.log, который находится в директории журналов Сервера, по умолчанию C:\SCADA\ScadaServer\Log

Установка

Модуль автоматического управления устанавливается в соответствии с общей последовательностью установки модулей Сервера. Файл библиотеки модуля - ModAutoControl.dll. В процессе подключения модуля необходимо выполнить несколько дополнительных действий:

  1. После активации модуля передать проект на сервер, чтобы при перезапуске службы Сервера определить код компьютера для регистрации.
  2. Выбрать модуль на странице Модули и нажать кнопку Свойства, чтобы открыть форму настройки модуля.
  3. Перейти на страницу Регистрация и зарегистрировать модуль, используя гиперссылки, размещённые на форме.
  4. Сконфигурировать модуль, создав триггеры и команды.
  5. Сохранить конфигурацию модуля и передать проект на сервер.

Переменные команд ТУ

Строковые данные команду ТУ, которые отправляются при сработке триггеров, могут содержать переменные. Переменные записываются в фигурных скобках.

Поддерживаются следующие переменные:

Переменная Описание
{n} Текущее значение входного канала n с размерностью, где n - это номер канала, n = 0 - канал триггера на данные
{Now} Текущие дата и время сервера
{CnlNum}, {CnlName} Параметры триггера на данные: номер и наименование входного канала
{CnlVal}, {CnlStat} Значение и статус входного канала, на которых сработал триггер на данные
{EvNum}, {EvTime}, {EvObj}, {EvDev}, {EvCnl}, {EvText} Параметры события при сработке триггера на событие: номер, дата и время, объект, КП, канал, описание
{CtrlCnlNum}, {CtrlCnlName} Параметры триггера на команду: номер и наименование канала управления
{CmdVal}, {CmdDataStr}, {CmdDataHex} Параметры команды при сработке триггера на команду: значение, данные в виде строки, данные в 16-ричном представлении

Модуль экспорта в БД

Обзор

Модуль позволяет в реальном времени экспортировать данные, поступающие от устройств, в популярные базы данных. Поддерживаются СУБД Microsoft SQL Server, Oracle, PostgreSQL и MySQL. Модуль экспорта входит в дистрибутив Rapid SCADA и отдельная установка модуля не требуется. Файл библиотеки модуля - ModDBExport.dll.

Конфигурирование

В проекте необходимо перейти на страницу Модули, активировать модуль ModDBExport.dll и открыть его свойства. Модуль поддерживает экспорт в несколько различных баз данных параллельно. Чтобы добавить базу данных, нажмите кнопку . На странице Соединение указываются параметры соединения с БД. На страницах Текущие данные, Архивные данные и События необходимо указать SQL-запросы, которые вызывает модуль при получении Сервером новых данных. БД, в которую происходит экспорт, должна быть предварительно создана и содержать соответствующие таблицы для хранения информации.

Параметры соединения с БД

Параметры экспорта текущих данных

Если часть данных не была своевременно экспортирована, например, при недоступности БД, то данные можно передать в ручном режиме. Форма экспорта в ручном режиме открывается с помощью конопки . Чтобы ручной экспорт был возможен, в базе конфигурации должны быть созданы каналы управления, которые затем указываются на форме.

Экспорт в ручном режиме

Примеры таблиц и SQL запросов

Microsoft SQL Server

-- Удалить таблицу данных входных каналов, если она существует
IF OBJECT_ID('CnlData', 'U') IS NOT NULL
DROP TABLE CnlData;

-- Создать таблицу данных входных каналов
CREATE TABLE CnlData (
  DateTime datetime2 NOT NULL,
  CnlNum   int NOT NULL,
  Val      float NOT NULL,
  Stat     int NOT NULL,
  PRIMARY KEY (DateTime, CnlNum)
);

CREATE INDEX idx_CnlData_CnlNum ON CnlData (CnlNum);

-- Удалить таблицу событий, если она существует
IF OBJECT_ID('Events', 'U') IS NOT NULL
DROP TABLE Events;

-- Создать таблицу событий
CREATE TABLE Events (
  DateTime   datetime2 NOT NULL,
  ObjNum     int NOT NULL,
  KPNum      int NOT NULL,
  ParamID    int NOT NULL,
  CnlNum     int NOT NULL,
  OldCnlVal  float NOT NULL,
  OldCnlStat int NOT NULL,
  NewCnlVal  float NOT NULL,
  NewCnlStat int NOT NULL,
  Checked    bit NOT NULL,
  UserID     int NOT NULL,
  Descr      char(100),
  Data       char(50)
);

CREATE INDEX idx_Events_DateTime ON Events (DateTime);
CREATE INDEX idx_Events_ObjNum ON Events (ObjNum);
CREATE INDEX idx_Events_KPNum ON Events (KPNum);
CREATE INDEX idx_Events_CnlNum ON Events (CnlNum);

-- Вставить текущие данные
INSERT INTO CnlData (DateTime, CnlNum, Val, Stat)
VALUES (@dateTime, @cnlNum, @val, @stat)
 
-- Вставить или обновить существующие архивные данные
MERGE CnlData AS target
USING (SELECT @dateTime, @cnlNum) AS source (DateTime, CnlNum)
ON (target.DateTime = source.DateTime AND target.CnlNum = source.CnlNum)
WHEN MATCHED THEN 
  UPDATE SET Val = @val, Stat = @stat
WHEN NOT MATCHED THEN
  INSERT (DateTime, CnlNum, Val, Stat)
  VALUES (@dateTime, @cnlNum, @val, @stat);
 
-- Вставить событие
INSERT INTO Events (DateTime, ObjNum, KPNum, ParamID, CnlNum, OldCnlVal, OldCnlStat, NewCnlVal, NewCnlStat, Checked, UserID, Descr, Data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

Oracle

-- Удалить таблицу данных входных каналов, если она существует
BEGIN
  EXECUTE IMMEDIATE 'DROP TABLE cnldata';
EXCEPTION
  WHEN OTHERS THEN
    IF SQLCODE != -942 THEN
      RAISE;
    END IF;
END;

-- Создать таблицу данных входных каналов
CREATE TABLE cnldata (
  datetime TIMESTAMP NOT NULL,
  cnlnum   INTEGER NOT NULL,
  val      FLOAT NOT NULL,
  stat     INTEGER NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
);

CREATE INDEX idx_cnldata_cnlnum ON cnldata (cnlnum);

-- Удалить таблицу событий, если она существует
BEGIN
  EXECUTE IMMEDIATE 'DROP TABLE events';
EXCEPTION
  WHEN OTHERS THEN
    IF SQLCODE != -942 THEN
      RAISE;
    END IF;
END;

-- Создать таблицу событий
CREATE TABLE events (
  datetime   TIMESTAMP NOT NULL,
  objnum     INTEGER NOT NULL,
  kpnum      INTEGER NOT NULL,
  paramid    INTEGER NOT NULL,
  cnlnum     INTEGER NOT NULL,
  oldcnlval  FLOAT NOT NULL,
  oldcnlstat INTEGER NOT NULL,
  newcnlval  FLOAT NOT NULL,
  newcnlstat INTEGER NOT NULL,
  checked    INTEGER NOT NULL,
  userid     INTEGER NOT NULL,
  descr      CHAR(100),
  data       CHAR(50)
);

CREATE INDEX idx_events_datetime ON events (datetime);
CREATE INDEX idx_events_objnum ON events (objnum);
CREATE INDEX idx_events_kpnum ON events (kpnum);
CREATE INDEX idx_events_cnlnum ON events (cnlnum);

-- Вставить текущие данные
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (:dateTime, :cnlNum, @val, :stat)

-- Вставить или обновить существующие архивные данные
MERGE INTO cnldata
USING dual ON (datetime = :dateTime AND cnlnum = :cnlnum)
WHEN MATCHED THEN 
  UPDATE SET val = :val, stat = :stat
WHEN NOT MATCHED THEN 
  INSERT (datetime, cnlnum, val, stat)
  VALUES (:dateTime, :cnlNum, :val, :stat)

-- Вставить событие
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (:dateTime, :objNum, :kpNum, :paramID, :cnlNum, :oldCnlVal, :oldCnlStat, :newCnlVal, :newCnlStat, :checked, :userID, :descr, :data)

PostgreSQL

-- Удалить таблицу данных входных каналов, если она существует
DROP TABLE IF EXISTS cnldata;

-- Создать таблицу данных входных каналов
CREATE TABLE cnldata (
  datetime timestamp NOT NULL,
  cnlnum   integer NOT NULL,
  val      double precision NOT NULL,
  stat     integer NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
);

CREATE INDEX ON cnldata (cnlnum);

-- Удалить таблицу событий, если она существует
DROP TABLE IF EXISTS events;

-- Создать таблицу событий
CREATE TABLE events (
  datetime   timestamp NOT NULL,
  objnum     integer NOT NULL,
  kpnum      integer NOT NULL,
  paramid    integer NOT NULL,
  cnlnum     integer NOT NULL,
  oldcnlval  double precision NOT NULL,
  oldcnlstat integer NOT NULL,
  newcnlval  double precision NOT NULL,
  newcnlstat integer NOT NULL,
  checked    boolean NOT NULL,
  userid     integer NOT NULL,
  descr      char(100),
  data       char(50)
);

CREATE INDEX ON events (datetime);
CREATE INDEX ON events (objnum);
CREATE INDEX ON events (kpnum);
CREATE INDEX ON events (cnlnum);

-- Вставить текущие данные
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)

-- Вставить или обновить существующие архивные данные
WITH upsert AS (UPDATE cnldata SET val = @val, stat = @stat 
WHERE datetime = @datetime AND cnlnum = @cnlNum RETURNING *)
INSERT INTO cnldata (datetime, cnlnum, val, stat)
SELECT @dateTime, @cnlNum, @val, @stat
WHERE NOT EXISTS (SELECT * FROM upsert)

-- Вставить событие
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

MySQL

-- Удалить таблицу данных входных каналов, если она существует
DROP TABLE IF EXISTS cnldata;

-- Создать таблицу данных входных каналов
CREATE TABLE cnldata (
  datetime DATETIME NOT NULL,
  cnlnum   INT NOT NULL,
  val      DOUBLE NOT NULL,
  stat     SMALLINT UNSIGNED NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
) ENGINE=InnoDB;

CREATE INDEX idx_cnldata_cnlnum ON cnldata (cnlnum);

-- Удалить таблицу событий, если она существует
DROP TABLE IF EXISTS events;

-- Создать таблицу событий
CREATE TABLE events (
  datetime   DATETIME NOT NULL,
  objnum     INT NOT NULL,
  kpnum      INT NOT NULL,
  paramid    INT NOT NULL,
  cnlnum     INT NOT NULL,
  oldcnlval  DOUBLE NOT NULL,
  oldcnlstat SMALLINT UNSIGNED NOT NULL,
  newcnlval  DOUBLE NOT NULL,
  newcnlstat SMALLINT UNSIGNED NOT NULL,
  checked    TINYINT UNSIGNED NOT NULL,
  userid     INT NOT NULL,
  descr      CHAR(100),
  data       CHAR(50)
) ENGINE=InnoDB;

CREATE INDEX idx_events_datetime ON events (datetime);
CREATE INDEX idx_events_objnum ON events (objnum);
CREATE INDEX idx_events_kpnum ON events (kpnum);
CREATE INDEX idx_events_cnlnum ON events (cnlnum);

-- Вставить текущие данные
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)

-- Вставить или обновить существующие архивные данные
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)
ON DUPLICATE KEY UPDATE val = @val, stat = @stat

-- Вставить событие
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

Модуль Быстрый шлюз

Обзор

Модуль Быстрый шлюз предназначен для синхронизации данных между несколькими экземплярами Rapid SCADA. Модуль позволяет организовать работу резервного сервера, а также обеспечивает передачу данных от SCADA, установленных на удалённых объектах, на главную SCADA.

Установка

Модуль Быстрый шлюз устанавливается в соответствии с общей последовательностью установки модулей Сервера. Файл библиотеки модуля - ModRapidGate.dll. После подключения модуля необходимо выполнить несколько дополнительных действий:

  1. Скопировать в редактируемый проект файлы конфигурации модуля ModRapidGate.xml и ModRapidGate_Reg.xml. В проекте данные файлы должны располагаться в директории ScadaServer\Config\
  2. После активации модуля передать проект на сервер, чтобы при перезапуске службы Сервера определить код компьютера для регистрации. Код компьютера выводится в журнал C:\SCADA\ScadaServer\Log\ModRapidGate.log
  3. Зарегистрировать модуль, связавшись с разработчиками или с помощью сервиса генерации демо-ключей. Регистрационный ключ сохраняется в файле проекта ScadaServer\Config\ModRapidGate_Reg.xml между тегами RegKey.
  4. Сконфигурировать модуль и передать проект на сервер.

Конфигурирование

Чтобы сконфигурировать модуль Быстрый шлюз, необходимо отредактировать файл ScadaServer\Config\ModRapidGate.xml, расположенный внутри проекта, с помощью текстового редактора. В настройках указываются параметры подключения к тому cерверу SCADA (целевому серверу), на который будут передаваться данные и с которого будут приниматься команды ТУ.

Обратите внимание, на целевом сервере может потребоваться настройка брандмауэра, чтобы разрешить входящие подключения по TCP-порту 10000.

Алгоритм работы

Алгоритм работы модуля Быстрый шлюз имеет следующие функциональные особенности:

  1. Модуль передаёт только те данные, которые поступают от Коммуникатора. Значения дорасчётных входных каналов не передаются.
  2. Данные передаются на те же номера входных каналов, на которые они были получены.
  3. Передаваемые значения уже посчитаны по формулам входных каналов, что может привести в двойному применению формул на целевом сервере. Поэтому при использовании модуля рекомендуется вычисления по формулам выполнять в отдельных дорасчётных входных каналах.
  4. Модуль имеет очередь передачи данных, что позволяет восстанавливать данные при кратковременном обрыве соединения с целевым сервером.

Плагин Графики Про

Обзор

Плагин Графики Про — это дополнительный плагин для приложения Вебстанция, расширяющий возможности работы с графиками входных каналов: масштабирование, одновременное отображение нескольких графиков, экспорт в форматы PNG и PDF.

Установка

Сначала необходимо выполнить общую последовательность установки плагинов, а затем выполнить несколько дополнительных действий:

  1. Перейти на страницу Главное меню > Регистрация > Графики Про.
  2. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.
  3. Перейти на страницу Главное меню > Конфигурация > Веб-приложение.
  4. Найти параметр Плагин графиков, выбрать из выпадающего списка плагин Графики Про, затем щёлкнуть кнопку Сохранить конфигурацию.
  5. Скачать изменившиеся настройки Вебстанции в проект с помощью приложения Администратор.

Плагин Дэшборды

Обзор

Плагин Дэшборды отображает полезные виджеты на дэшбордах: графики, текущие данные и произвольные фреймы, например, изображение с камеры видео-наблюдения. Настройки каждого дэшборда позволяют задать количество столбцов и соотношение сторон виджетов.

Установка

Сначала необходимо выполнить общую последовательность установки плагинов, а затем выполнить несколько дополнительных действий:

  1. Перейти на страницу Главное меню > Регистрация > Дэшборды.
  2. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.
  3. Добавить регистрационный ключ в проект, скачав настройки Вебстанции с помощью приложения Администратор.

Конфигурирование

Подключение дэшбордов

Конфигурация каждого дэшборда сохраняется в отдельном файле формата XML. Пример файла дэшборда DashboardExample1.xml содержится в установочном пакете плагина. Файлы дэшбордов могут располагаться в директории интерфейса, либо в директории хранилища Вебстанции. Предпочтительным является 1-й вариант.

Чтобы ссылки на дэшборды отображались в дереве представлений Вебстанции, в проекте необходимо выполнить следующие настройки:

  1. Создать и отредактировать файл дэшборда в директории интерфейса.
  2. Прописать путь к дэшборду в таблице Интерфейс базы конфигурации.

Файл дэшборда

Редактирование таблицы Интерфейс

Обозначение @DashboardView в составе пути указывает на тип представления. Права пользователей на дэшборды настраиваются через таблицу Права базы конфигурации аналогично правам на табличные представления и мнемосхемы.

Кроме того, файлы дэшбордов могут располагаться в директории хранилища Вебстанции. В этом случае щёлкните пункт Дэшборды главного меню Вебстанции, чтобы открыть список доступных дэшбордов. Примеры расположения дэшбордов в хранилище:

ScadaWeb\storage\allusers\Dashboard\ - дэшборды, доступные всем пользователям;
ScadaWeb\storage\myuser\Dashboard\ - дэшборды, доступные пользователю MyUser.

Структура файла дэшборда

Рассмотрим содержимое файла конфигурации дэшборда:

<?xml version="1.0" encoding="utf-8" ?>
<DashboardConfig>
  <DashboardOptions>
    <Name>Dashboard Example 1</Name>
    <ColumnCount>2</ColumnCount>
    <AspectRatio>1.33</AspectRatio>
  </DashboardOptions>
  <Widgets>
    <Widget type="Chart" cnlNums="101,102" viewIDs="2,2" period="2" />
    <Widget type="CurData" cnlNums="101,102,103,104,105,106,107,115" viewIDs="2,2,2,2,2,2,2,2" />
    <Widget type="CustomUrl" url="https://www.youtube.com/embed/xs8Tqkr-Gn4" />
  </Widgets>
</DashboardConfig>

Секция DashboardOptions содержит общие параметры дэшборда:
Name - наименование дэшборда,
ColumnCount - количество колонок от 1 до 4 (на небольших экранах мобильных устройств виджеты в любом случае располагаются в одной колонке),
AspectRatio - отношение ширины виджетов к высоте.

Секция Widgets содержит список виджетов, которые отображаются на дэшборде. Количество виджетов произвольное. Однако слишком большое количество виджетов на одном дэшборде может снизить быстродействие веб-приложения.

Поддерживаются виджеты следующих типов:
Chart - график заданных входных каналов,
CurData - таблица текущих значений заданных входных каналов,
CustomUrl - произвольная веб-страница.

Для виджетов типа Chart и CurData нужно не только указать номера входных каналов, используемых виджетом, но также указать идентификаторы представлений, которые содержат эти входные каналы. Идентификаторы представлений необходимы для контроля прав доступа пользователя.

Плагин Гибкий отчёт

Обзор

Плагин Гибкий отчёт позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина Вы можете построить практически любой необходимый отчёт. Пользователю достаточно выбрать период и нажать на кнопку генерации отчёта. Администратор предварительно создаёт конфигурации отчёта, которые определяют набор секций различной формы, из которых состоит отчёт, и связывают столбцы и строки отчёта с данными системы.

Установка

Сначала необходимо выполнить общую последовательность установки плагина, которая описана по ссылке. А затем выполнить несколько дополнительных действий:

  1. Перейти на страницу Главное меню > Регистрация > Гибкий отчёт.
  2. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.
  3. Добавить регистрационный ключ в проект, скачав настройки Вебстанции с помощью приложения Администратор.

Конфигурирование отчёта

Отчёты состоят из набора секций, которые выводятся в выходной документ одна за другой. Каждая секция имеет свой тип, параметры и привязку к данным. Кроме того, отчёт имеет общие параметры, влияющие на все секции. Один и тот же отчёт может быть сгенерирован в различных форматах. В настоящий момент поддерживаются форматы Excel, PDF и HTML. При этом внешний вид одного и того же отчёта, сгенерированного в разных форматах, может незначительно отличаться.

Файл конфигурации отчёта

Файл конфигурации задаёт форматирование отчёта и определяет привязку данных отчёта к входным каналам. Для каждой отчётной формы создаётся отдельный файл конфигурации. Файл конфигурации имеет формат XML. Он должен быть сохранён в директории интерфейса или в её поддиректории внутри проекта.

В дистрибутиве плагина содержится пример файла конфигурации отчёта SCADA\Interface\ElasticReport\ElasticRepExample.xml. Данный пример включает подробное описание параметров настройки и демонстрирует формирование секций отчёта всех возможных типов.

Редактирование файлов конфигурации может осуществляться в любом текстовом редакторе. Например, для бесплатного редактора Notepad++ существует плагин для удобной работы с файлами XML.

Стили отчёта

Имеется возможность настроить собственные стили отчётов: шрифты, цвета, размеры ячеек и т.д.

Стили отчёта для выгрузки в формате Excel настраиваются в файле
SCADA\ScadaWeb\plugins\ElasticReport\templates\ElasticRepExcel.xml

Чтобы создать собственные стили, необходимо открыть этот файл в программе Excel и перейти на страницу Custom Styles, на которой разрешается создание дополнительных стилей. В качестве примера рекомендуется использовать стили со страницы Default Styles.

Пользовательские стили отчёта для выгрузки в формате PDF задаются в файле
SCADA\ScadaWeb\plugins\ElasticReport\templates\ElasticRepPdfCustom.xml

Файл XML, описывающий стили для формата PDF, редактируется вручную в любом текстовом редакторе. В качестве примера удобно использовать стили PDF по умолчанию из файла ElasticRepPdfDefault.xml.

Стили отчёта для выгрузки в HTML настраиваются в файле
SCADA\ScadaWeb\plugins\ElasticReport\css\customstyles.css согласно правилам каскадных таблиц стилей.

Добавление отчёта в базу конфигурации

Чтобы отчёт появился в списке доступных отчётов, его нужно прописать в таблице Интерфейс с помощью программы Администратор. Необходимо указать путь к файлу конфигурации отчёта относительно директории интерфейса, указать тип отчёта ElasticRep и ввести произвольный заголовок (см. рис.). После передачи проекта на сервер, отчёт будет доступен на странице Главное меню > Отчёты.

Файл дэшборда

Редактирование таблицы Интерфейс

Плагин Карты

Обзор

Плагин Карты отображает состояние и параметры автоматизированных объектов на интерактивных картах OpenStreetMap. Плагин позволяет наглядно контролировать географически распределённые системы и в случае необходимости переходить на страницу детальной информации по интересующему объекту.

Установка

Сначала необходимо выполнить общую последовательность установки плагина, которая описана по ссылке. А затем выполнить несколько дополнительных действий:

  1. Перейти на страницу Главное меню > Регистрация > Карты.
  2. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.
  3. Добавить регистрационный ключ в проект, скачав настройки Вебстанции с помощью приложения Администратор.

Создание карты

Карта является представлением в терминах Rapid SCADA. Создание и редактирование карт выполняется по аналогии со схемами и табличными представлениями.

Файл карты

Параметры отображения и объекты карты хранятся в файле с расширением map. Файл карты должен располагаться в директории интерфейса или её поддиректории внутри проекта.

Дистрибутив плагина содержит пример файла карты SCADA\Interface\Map\MapExample.map. Для редактирования файлов карты используйте любой удобный текстовый редактор, например, Notepad++. Чтобы создать свою карту, необходимо скопировать файл примера под новым именем, а затем отредактировать. Имя файла карты – произвольное, расширение файла – map.

Секция Tiling содержит параметры подключению к серверу тайлов (плиток), из которых состоит подложка карты. Можно использовать сервера тайлов от различных поставщиков, как платные, так и бесплатные.

<Tiling>
  <UrlTemplate>https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png</UrlTemplate>
</Tiling>

Секция InitialView задаёт начальные координаты и масштаб карты. Масштаб - это целое число от 0 до 18.

<InitialView>
    <Lat>48.861111</Lat>
    <Lon>2.336389</Lon>
    <Zoom>13</Zoom>
</InitialView>

Секция Locations описывает набор расположений, которые отображаются на карте. Рассмотрим пример:

<Locations>
  <Location>
    <Lat>48.858222</Lat>
    <Lon>2.2945</Lon>
    <Name>Eiffel Tower</Name>
    <Descr>Avenue Anatole France, Paris, France</Descr>
    <StatusCnlNum>0</StatusCnlNum>
    <Data>
      <DataItem cnlNum="101" />
      <DataItem cnlNum="115">Avg. temp</DataItem>
    </Data>
    <Link viewID="2" />
  </Location>
  ...

Lat и Lon - широта и долгота объекта на карте,
Name - наименование объекта,
Descr - дополнительное описание,
StatusCnlNum - номер входного канала, который означает статус данного объекта; 0 - канал не задан; положительное значение канала - объект в норме, иначе - объект требует внимания,
DataItem - отображаемый элемент данных, связанных с входным каналом,
Link - ссылка на представление, которое содержит детализированную информацию по объекту.

Добавление карты в базу конфигурации

Чтобы карта появилась в дереве представлений, её нужно прописать в таблице Интерфейс с помощью программы Администратор. Необходимо указать путь к файлу карты относительно директории интерфейса и ввести заголовок - текст узла дерева (см. рис.).

Файл карты

Редактирование таблицы Интерфейс

Чтобы изменения отобразились в веб-приложении Вебстанция, необходимо передать проект на сервер и выполнить повторный вход в веб-приложение. Результат:

Пример карты

Плагин Уведомления

Обзор

Плагин Уведомления позволяет обратить внимание оператора на наиболее важные события. Плагин формирует уведомления на основе событий по заданным правилам и выводит их на панели уведомлений, которая появляется в правой части веб-страницы. Кроме того, плагин включает звуковое оповещение в зависимости от типа уведомлений.

Установка

Сначала необходимо выполнить общую последовательность установки плагинов, а затем выполнить несколько дополнительных действий:

  1. Перейти на страницу Главное меню > Регистрация > Уведомления.
  2. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.
  3. Добавить регистрационный ключ в проект, скачав настройки Вебстанции с помощью приложения Администратор.

Если плагин установлен корректно, в правом верхнем углу веб-страницы появится значок колокольчика.

Конфигурирование

Конфигурация плагина уведомлений сохраняется в файле PlgNotification.xml. Этот файл должен быть добавлен в проект и располагаться в директории конфигурации Вебстанции. Во время работы файл конфигурации плагина расположен в директории C:\SCADA\ScadaWeb\config\

Рассмотрим содержимое файла конфигурации:

XML-тэг Описание
GeneralOptions Секция основных параметров
EvPeriod Период (в днях) охвата событий для создания уведомлений
DispNotifCnt Количество отображаемых уведомлений
NotifOptions Секция, содержащая параметры, определяющие, как генерировать уведомления
InfoCondition
WarningCondition
ErrorCondition
Определяют условия генерации уведомлений информационного типа, предупреждений и ошибок
Statuses Статусы входных каналов, которые вызывают создание нового уведомления
ParamIDs Идентификаторы величин входных каналов, для которых разрешены уведомления
Tips Секция, которая задаёт подсказки по уведомлениям
Tip Секция, которая определяет одну подсказку
TipCondition Условие подсказки
Link Если определён, указывает ссылку для перехода по подсказке
Html HTML-разметка подсказки, используемая вместо ссылки

Сценарии использования

Подключение устройств по протоколу Modbus

Автор Rapid SCADA, 10 мая 2012
Обновление 10 июля 2019

На рынке представлено огромное количество устройств, работающих в самых разных областях автоматизации, которые поддерживают обмен данными по протоколу Modbus. Modbus - это открытый коммуникационный протокол, использующий клиент-серверную модель, основанную на транзакциях, состоящих из запроса и ответа. Реализация поддержки протокола Modbus комплексом Rapid SCADA на порядок расширяет перечень устройств, с которыми может работать комплекс. Поддерживаются следующие режимы передачи данных: RTU, ASCII, TCP.

Общая последовательность настройки:

  1. Создать проект с помощью программы Администратор.
  2. Создать новый объект, линию связи и КП.
  3. Настроить обмен данными между Коммуникатором и устройствами.
  4. Создать входные каналы в базе конфигурации, соответствующие элементам Modbus (элементы также называются переменными или тегами). Создать каналы управления, соответствующие командам.
  5. Создать одно или несколько представлений (таблиц или схем) для отображения информации в приложении Вебстанция. Прописать представления в базе конфигурации.

Далее приводится пошаговое описание подключения нового Modbus устройства.

Создание проекта

В Администраторе нажмите конпку Новый проект, в открывшемся окне введите наименование проекта и нажмите кнопку OK. Чтобы процесс настройки полностью совпадал с текстом статьи, необходимо использовать пустой проект EmptyProject.ru-RU в качестве шаблона.

Создание проекта
Рис. 1. Создание проекта

Предварительная настройка базы конфигурации

Разверните узел проводника проекта База конфигурации, откройте таблицу Объекты и добавьте новую строку для объекта 2 "Тестовый объект" (рис. 2). Щёлкните по кнопке на панели инструментов, чтобы открыть мастер добавления линии связи. С помощью мастера создайте линию связи 1 "Тестовая линия" (рис. 3). Затем нажмите кнопку и добавьте КП 1 "Тестовый КП" (рис. 4).

Добавление объекта
Рис. 2. Добавление объекта

Добавление линии связи
Рис. 3. Добавление линии связи

Добавление КП
Рис. 4. Добавление КП

Обратите внимание на заполнение следующих полей при добавлении КП:

Тип КП: Modbus
Адрес: Modbus адрес Вашего устройства, например, 1
Позывной: IP-адрес, если устройство подключено по сети Ethernet. В противном случае, пустой
Линия связи: "Тестовая линия", которая была только что создана

Откройте таблицы Линии связи и КП базы конфигурации, чтобы проверить, что созданная линия связи и КП успешно добавлены в таблицы. Убедитесь, что соответствующая линия связи и КП созданы в настройках Коммуникатора.

Настройка обмена данными с устройствами

В проводнике проекта перейдите в настройки Коммуникатора, разверните узел созданной линии связи и дважды щёлкните по элементу Параметры линии. На странице основных параметров необходимо настроить канал связи (рис. 5). Для протокола Modbus обычно используется канал TCP-клиент или Последовательный порт.

Основные параметры линии связи
Рис. 5. Основные параметры линии связи

Если обмен данными выполняется через последовательный порт, то типичные параметры последовательного порта в зависимости от типа протокола Modbus указаны в таблице ниже. В режимах RTU и ASCII необходимо установить одинаковую скорость передачи данных в Коммуникаторе и на устройствах. На одной линии связи все устройства должны работать по протоколу Modbus одного типа и с одной скоростью.

Modbus RTU Modbus ASCII Modbus TCP
8 битов данных,
с проверкой чётности (even – чёт.),
1 стоп-бит
7 битов данных,
с проверкой чётности (even – чёт.),
1 стоп-бит
-
8 битов данных,
без проверки чётности,
2 стоп-бита
7 битов данных,
без проверки чётности,
2 стоп-бита
-

Далее перейдите на страницу Опрос КП и выберите в таблице "Тестовый КП" (рис. 6). Если не указывать время или период опроса КП, то опрос устройств производится циклически. Команды отправляются сразу после завершения очередного опроса.

Таблица опроса КП
Рис. 6. Таблица опроса КП

Нажмите кнопку Свойства, чтобы открыть форму настройки дополнительных свойств КП (рис. 7). На форме свойств КП необходимо выбрать тип протокола Modbus, который должен быть указан в документации на устройство. В нашем случае Modbus TCP.

Свойства КП
Рис. 7. Свойства КП

Нажмите кнопку , чтобы выбрать существующий шаблон устройства, или кнопку , чтобы создать новый шаблон. При нажатии на кнопку создания или на кнопку редактирования шаблона вызывается Редактор шаблонов устройств (рис. 8). В данной статье используется существующий шаблон KpModbus_Adam6015.xml, который был предварительно скопирован в директорию проекта C:\SCADA\Projects\ModbusTest\Instances\Default\ScadaComm\Config\

Редактор шаблонов устройств
Рис. 8. Редактор шаблонов устройств

Шаблон устройства отражает структуру пакетов данных протокола Modbus. Данные, запрашиваемые от устройства, объединены в группы элементов (тегов). Группа элементов описывается наименованием, таблицей данных, адресом и количеством элементов. Для команд, если они поддерживаются устройством, необходимо задать наименование, таблицу данных, адрес и номер команды КП (от 1 и далее по порядку).

Наименования элементов и команд могут быть произвольными. Таблицы данных и адреса элементов должны содержаться в документации на подключаемое устройство. В зависимости от производителя адресация элементов может начинаться с 0 или с 1, указываться в 10-чной или 16-ричной системе. По умолчанию в шаблоне выбрана адресация с 1 в 10-чной системе. Чтобы переключить адресацию шаблона, нажмите на кнопку . Откроется диалоговое окно настроек шаблона (рис. 9).

Настройки шаблона
Рис. 9. Настройки шаблона

Завершив редактирование свойств КП (рис. 7), нажмите кнопку OK. В поле Командная строка в свойствах КП запишется имя файла шаблона KpModbus_Adam6015.xml. Передайте проект на сервер с помощью кнопки .

В проводнике проекта дважды щёлкните элемент дерева, соответствующий КП, чтобы проверить состояние КП и наличие данных (рис. 10). Данные для работы примера предоставлялись с помощью Modbus Simulator.

Данные КП
Рис. 10. Данные КП

При отсутствии связи с устройством используйте журнал линии связи для поиска причины проблемы. Чтобы открыть журнал, дважды щёлкните по элементу дерева Статистика линии, в открывшемся окне перейдите на страницу Журнал линии. С помощью онлайн инструмента Online Modbus Parser можно получить расшифровку пакетов данных, скопировав их на веб-форму из журнала линии связи.

Создание каналов

После того, как связь с устройством установлена, необходимо создать входные каналы и каналы управления в базе конфигурации. Наиболее удобный способ создания каналов - использовать мастер, вызываемый кнопкой . Если в систему добавляется несколько однотипных устройств, то ускорить работу можно с помощью инструмента клонирования каналов.

Выполните шаги мастера (рис. 11-13), выбрав из выпадающих списков созданные ранее линию связи, КП и объект. Чтобы проверить, какие номера каналов доступны, используйте карту каналов на шаге 3.

Создание каналов. Шаг 1
Рис. 11. Создание каналов. Шаг 1

Создание каналов. Шаг 2
Рис. 12. Создание каналов. Шаг 2

Создание каналов. Шаг 3
Рис. 13. Создание каналов. Шаг 3

При нажатии на кнопку Создать каналы будут созданы. Каналы создаются автоматически на основе шаблона устройства, который был создан и назначен КП в предыдущем разделе статьи. Посмотреть созданные каналы можно, открыв таблицу базы конфигурации Входные каналы > Тестовый КП или Каналы управления > Тестовый КП. Рекомендуется вручную заполнить поля Величина и Размерность для входных каналов и поле Значения команды для каналов управления. Однако в случае первого опыта это делать необязательно. Полезно понимать, что входные каналы привязываются к тегам КП с помощью поля Сигнал. Каналы управления привязываются к командам КП в соответствии с полем Номер команды.

После того, как редактирование базы конфигурации завершено, следует передать проект на сервер с помощью кнопки . Теперь откройте страницу данных КП в настройках Коммуникатора и убедитесь, что созданные входные каналы связаны с тегами КП – столбец Канал должен содержать номера созданных входных каналов (рис. 14).

Данные КП с привязкой каналов
Рис. 14. Данные КП с привязкой каналов

В результате проделанных действий данные должны собираться с устройства и сохраняться в архив. Осталось настроить пользовательский интерфейс оператора.

Настройка интерфейса оператора

Рассмотрим создание табличного представления для приложения Вебстанция. Если необходимо отобразить данные на мнемосхеме, действия по созданию представления будут аналогичны.

Щёлкните правой кнопкой на узле Интерфейс проводника проекта. Сначала в контекстном меню выберите Создать папку и создайте папку ModbusTest. Затем в контекстном меню созданной папки выберите Создать файл (рис. 15). В открывшемся окне установите табличный тип представления, укажите имя файла ModbusDevice.tbl и нажмите кнопку OK (рис. 16).

Меню для создания представления
Рис. 15. Меню для создания представления

Диалог для создания представления
Рис. 16. Диалог для создания представления

Созданный файл представления появится в проводнике проекта. По двойному щелчку на файле откроется Редактор таблиц. Необходимо ввести заголовок и заполнить элементы представления, как показано на рис. 17. Сохраните изменения и закройте редактор.

Редактирование представления
Рис. 17. Редактирование представления

После того, как файл представления создан, необходимо прописать в таблице Интерфейс базы конфигурации родительскую директорию и файл представления (рис. 18).

Добавление представления в таблицу Интерфейс
Рис. 18. Добавление представления в таблицу Интерфейс

Передайте проект на сервер с помощью кнопки . Теперь запустите браузер и введите адрес http://localhost/scada/. На форме входа в систему используйте логин admin и пароль 12345 (рис. 19). Если настройка выполнена правильно, то после входа в систему Вам будет доступна таблица с получаемыми от устройства данными (рис. 20).

Вход в систему
Рис. 19. Вход в систему

Приложение Вебстанция
Рис. 20. Приложение Вебстанция

Преобразование значений тегов Modbus

Каждый элемент Modbus, относящийся к таблицам Input Register и Holding Registers, состоит из двух байт. В зависимости от установленного для элемента типа полученные от устройства данные преобразуются в значение по-разному.

Если выбран 4-х байтный тип (uint, int, float), то значение элемента получается в результате преобразования 2-х элементов с идущими подряд адресами. Если выбран 8-и байтный тип (ulong, long, double), то значение получается в результате преобразования 4-х элементов.

Кроме того, можно задать порядок байт, в котором зашифровано значение, т.к. для различных устройств порядок байт может отличаться.

В ряде случаев для получения вещественных или отрицательных величин потребуется пересчёт, который выполняется Сервером. Способ пересчёта зависит от используемого устройства и должен указываться его производителем. Два распространённых варианта пересчёта для 2-х байтных значений без знака (ushort) приводятся ниже.

Вариант 1. Пропорциональный пересчёт

Пусть требуемое вещественное значение изменяется в диапазоне от A до B, X - полученное от устройства целое значение. Тогда пересчёт выполняется по следующей формуле:

X * (B - A) / 65536 + A.

Формулу следует ввести в поле Формула входного канала в базе конфигурации, установив для данного канала признак Исп. формулу. Например, значение измеряемого параметра изменяется в диапазоне от -40 до 160. Тогда формула для ввода в базу конфигурации получится:

Cnl*200/65536-40

Вариант 2. Использование дополнительного кода

Дополнительная информация о дополнительном коде (two’s complement) доступна на Википедии.

Пусть требуемое вещественное значение изменяется в диапазоне от A до B. При этом нижней границе соответствует целое значение A', получаемое от устройства, верхней границе – целое значение B', получаемое от устройства, а нулевому вещественному значению соответствует 0, получаемый от устройства. Значения A' и B' устанавливаются производителем устройства.

Если старший бит полученного значения X равен 0, т.е. X является положительным, то вещественное значение вычисляется по формуле:

X * B / B'.

Если старший бит полученного значения X равен 1, т.е. X является отрицательным, то вещественное значение вычисляется по формуле:

(~X | 128 + 1) * A / (~A' | 128 + 1),
где ~ - оператор побитового отрицания, | - оператор побитового ИЛИ.

Пример:
A = -210, A' = 56482 (0xDCA2), B = 760, B' = 32767 (0x7FFF).

Тогда формула для ввода в базу конфигурации:
Cnl<32768 ? Cnl*760/32767 : -(double)(ushort)(~(ushort)Cnl|128+1)*210/9182

Рекомендуется создать функцию, выполняющую описанный пересчёт, в таблице Формулы базы конфигурации, чтобы сократить последующую запись формул при многократном использовании:

double Convert(double x)
{
    return x<32768 ? x*760/32767 : -(double)(ushort)(~(ushort)x|128+1)*210/9182;
}

Вызов этой функции в поле Формула таблицы Входные каналы:
Convert(Cnl)

Подключение устройств с использованием стандарта OPC

Автор Rapid SCADA, 2 августа 2012
Обновление 15 июля 2019

Стандарт OPC обеспечивает универсальный способ подключения устройств различных производителей к SCADA-системе. Программный комплекс Rapid SCADA поддерживает следующие спецификации OPC:

Реализация OPC-клиента комплексом Rapid SCADA выполнена в виде драйвера KpOpc.dll в составе приложения Коммуникатор. Особенностям настройки программы Коммуникатор для взаимодействия по стандарту OPC, преимущественно, посвящена данная статья.

Общая последовательность настройки:

  1. Установить пакет OPC Core Components, который можно скачать с сайта opcfoundation.org или rapidscada.ru.
  2. Создать проект с помощью программы Администратор.
  3. Создать объект, линию связи и КП в базе конфигурации.
  4. Настроить соединение между Коммуникатором и OPC серверами, как описано в данной статье.
  5. В базе конфигурации создать входные каналы для считываемых OPC-тегов и каналы управления для записываемых.
  6. Создать одно или несколько представлений (таблиц или схем) для отображения информации в приложении Вебстанция. Прописать представления в базе конфигурации.

Детали выполнения перечисленных выше пунктов, за исключением пункта 4, содержатся в разделе Настройка комплекса. Рекомендуется ознакомиться с проектом DemoProject.ru-RU, который устанавливается вместе с Rapid SCADA. Примером устройства является КП 21 "OPC Демо", данные которого отображаются табличным представлением OpcDemo.tbl. Для полноценной работы примера нужно скачать и установить программу MatrikonOPC Simulation Server, которая имитирует работу OPC-сервера.

В Коммуникаторе необходимо создавать отдельные линии связи для каждого используемого OPC-сервера. Такой подход наиболее эффективен, потому что позволяет взаимодействовать с OPC серверами параллельно. В параметрах линий связи с OPC серверами установите тип канала связи Не задан. Затем добавьте КП на линии связи.

Привязка параметров КП к тегам OPC-сервера осуществляется с помощью специальной формы конфигурации КП (рис. 1). Данная форма открывается при вызове свойств КП из настроек Коммуникатора.

Выбор OPC-тегов
Рис. 1. Выбор OPC-тегов

Для использования доступны OPC-серверы, установленные на том же компьютере, на котором работает Коммуникатор. Если необходимо подключение к OPC-серверу, расположенному на другом компьютере сети, то необходимо установить экземпляр Коммуникатора на том компьютере и корректно настроить параметры его связи с Сервером.

Чтобы полученные от OPC-сервера значения были записаны во входные каналы Rapid SCADA, требуется привязка тегов КП к входным каналам базы конфигурации. Эта привязка может выполняться двумя способами, перечисленными ниже. Выбор способа определяется в каждом конкретном случае, исходя из удобства настройки.

  1. Установка поля Сигнал в таблице Входные каналы базы конфигурации.
  2. Установка номера входного канала в поле Канал на форме конфигурации КП.

После того, как конфигурирвание завершено, передайте проект на сервер с помощью кнопки . Через несколько секунд работы Коммуникатора, если настройка выполнена правильно, на странице данных КП должны появиться значения, полученные от OPC-сервера (рис. 2). Эти значения также можно увидеть в браузере с помощью веб-приложения Вебстанция.

Значения OPC-тегов
Рис. 2. Значения OPC-тегов

Известная проблема при работе с OPC: не удаётся получить данные от OPC-сервера, при этом в свойствах КП требуемый OPC-сервер доступен.

Вероятная причина проблемы заключается в том, что Коммуникатор работает как служба Windows от пользователя system, а OPC-сервер не поддерживает подключение к нему от имени данного пользователя.

Решение 1. В параметрах DCOM для OPC-сервера необходимо установить запуск от имени конкретного пользователя, который является администратором компьютера. Чтобы открыть настройки DCOM (рис. 3), скопируйте следующий путь в проводник Панель управления\Система и безопасность\Администрирование\Службы компонентов или просто запустите comexp.msc

Конфигурация DCOM
Рис. 3. Конфигурация DCOM

Решение 2. Установить учётную запись пользователя, которая используется для работы службы Коммуникатора. Откройте настройки служб, скопировав в проводник Панель управления\Система и безопасность\Администрирование\Управление компьютером\Службы или запустив services.msc. Найдите службу ScadaCommService и откройте её свойства. Введите имя пользователя и пароль на странице Вход в систему, как показано на рис. 4. Указанный пользователь должен обладать правами администратора компьютера.

Свойства службы
Рис. 4. Свойства службы