Rapid SCADA v5.6

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

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

Программный комплекс 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. Приложение Сервер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные возможности программы Администратор, предназначенные для быстрого создания и удобной модификации базы конфигурации:

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

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

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

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

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

Каналы управления могут быть привязаны к отображаемым элементам двумя способами:

  1. Запись номера канала управления явно в программе Редактор таблиц.
  2. Запустите программу Администратор, откройте таблицу Входные каналы и заполните поле Номер канала упр. для входного канала. Затем добавьте этот входной канал в представление с помощью Редактора таблиц.

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

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

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

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

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

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

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

Программные требования к серверу 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

Установка

Установка программного комплекса должна запускаться из файла ScadaSetup.exe. Установку необходимо выполнять под учётной записью, которая обладает правами администратора на компьютере. Если установка происходит в операционной системе Microsoft Windows 7 и выше, необходимо с помощью контекстного меню запустить установочный файл ScadaSetup.exe от имени администратора или отключить уведомления о вносимых в компьютер изменениях в параметрах контроля учётных записей пользователей. Программа-установщик показана на рис. 5.

Для работы Rapid SCADA требуется наличие на компьютере среды выполнения Microsoft .NET Framework 4. Если среда выполнения не установлена, её установка будет запущена автоматически. Если установка производится на устаревшую ОС Windows XP или Windows Server 2003, то перед запуском ScadaSetup.exe необходимо дополнительно загрузить из Интернета и установить Microsoft .NET Framework 3.5 SP1.

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

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

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

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

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

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

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

Установка Rapid SCADA вручную позволяет сохранять полный контроль в процессе установки, обновлении и удалении программного комплекса. В том числе, ручная установка может использоваться при установке Rapid SCADA на устаревшие ОС, такие как Windows XP и Windows Server 2003, которые официально не поддерживаются.

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

  1. Установить Microsoft Internet Information Services (IIS) путём выбора соответствующих компонентов Windows. Для Windows 7: Панель управления > Программы > Включение или отключение компонентов Windows.
  2. Установить Microsoft .NET Framework 4+ (обязательно после установки 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. При необходимости создать ярлыки приложений на рабочем столе.
  10. Для работы Редактора схем установить Microsoft Silverlight.
  11. Запустить приложения.

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

  1. Через Диспетчер служб IIS удалить веб-приложение Scada.
  2. Остановить службы ScadaServerService и ScadaCommService, закрыть все приложения комплекса.
  3. Удалить регистрацию службы ScadaServerService, запустив ScadaServer\svc_uninstall.bat от имени администратора.
  4. Удалить регистрацию службы ScadaCommService, запустив ScadaComm\svc_uninstall.bat от имени администратора.
  5. Удалить папку 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, может осуществляться с помощью ярлыков, которые создаются при установке в меню Пуск > Программы > SCADA, или напрямую из исполняемых исполняемых файлов программ.

Программы Сервер и Коммуникатор состоят из двух частей:

  1. Служба Windows, которая работает в фоновом режиме.
  2. Оболочка с пользовательским интерфейсом, предназначенная для настройки и управления службой.

Тип запуска служб Сервера и Коммуникатора по умолчанию устанавливается автоматический, т.е. службы запускаются при старте операционной системы и останавливаются при завершении её работы. Если автозапуск не требуется, то в свойствах служб ScadaServerService и ScadaCommService нужно установить запуск вручную (рис. 1). Для этого перейдите: Панель управления > Система и безопасность > Администрирование > Службы.

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

Веб-приложение Вебстанция открывается с помощью браузера Google Chrome, Mozilla Firefox или Microsoft Edge. Адресная строка имеет вид http://compname/scada/ где compname - имя компьютера или IP-адрес в локальной сети, на котором установлено веб-приложение, scada – виртуальный каталог, указанный при установке. Если веб-приложение открывается на том же компьютере, на котором оно установлено, то можно использовать ссылки http://localhost/scada/ или http://127.0.0.1/scada/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

База конфигурации редактируется с помощью программы Администратор. Редактируемый экземпляр базы конфигурации имеет формат SDF (Microsoft SQL Server Compact Edition). После того, как внесение необходимых изменений завершено, администратор системы нажимает кнопку , и база конвертируется в специально разработанный формат DAT для использования остальными приложениями комплекса. Такой подход позволяет модифицировать базу конфигурации, не останавливая работу комплекса.

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

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

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

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

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

  1. Создать резервную копию существующей базы, нажав кнопку . Кроме того, приложение Администратор автоматически сохраняет копию базы при передаче Серверу.
  2. Если демонстрационные данные не нужны, очистить таблицы, входящие в группу Система. Таблицы связаны между собой, поэтому очистку удобнее всего начинать с таблицы Права и продолжать далее до таблицы Объекты. В таблице Роли следует обязательно сохранить строки с идентификаторами от 0 до 4.
  3. Заполнить таблицы из группы Система. Ввод данных обычно выполняется по порядку, начиная с таблицы Объекты, заканчивая таблицей Права. Для быстрого автоматического заполнения таблиц Входные каналы и Каналы управления рекомендуется использовать сервисные функции Создание каналов и Клонирование каналов.
  4. Передать базу конфигурации Серверу, нажав кнопку . Данная команда выполняет конвертирование базы в формат DAT.

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

Импорт данных в базу конфигурации
Рис. 1. Импорт данных в базу конфигурации

Сервис создания каналов (рис. 2), доступный в меню Сервис, позволяет быстро заполнить таблицы Входные каналы и Каналы управления, используя введённые объекты и КП. Правила создания каналов содержатся в библиотеках КП (драйверах) программы Коммуникатор, расположенных по умолчанию в директории C:\SCADA\ScadaComm\KP\. Если какой-либо файл DLL, указанный в таблице Типы КП, не существует, то создание каналов для КП соответствующего типа невозможно. При создании каналов используются настройки КП, введённые в Коммуникаторе.

Чтобы создать входные каналы и каналы управления, необходимо отметить КП, для которых создаются каналы, выбрать или оставить неопределённым объект для каждого КП, нажать кнопку Рассчитать номера каналов, проконтролировать рассчитанные номера и затем нажать кнопку Создать.

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

Сервис клонирования каналов (рис. 3) также предназначен для ускорения заполнения таблиц Входные каналы и Каналы управления. В процессе клонирования каналов значения объектов и КП могут быть заменены другими.

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

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

Редактирование свойств входного канала
Рис. 4. Редактирование свойств входного канала

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

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

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

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

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

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

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

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

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

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

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

Переменная Тип значения Описание
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 Квадратный корень

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опрос КП
Рис. 2. Опрос КП

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

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

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

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

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

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

Импорт КП
Рис. 3. Импорт КП

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

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

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

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

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

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

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

Модули

Драйвер 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. Импортировать созданную линию связи и КП в Коммуникатор. Разрешить отправку команд ТУ для линии связи.
  4. В Коммуникаторе открыть свойства КП, ввести токен бота, полученный при создании бота, и сгенерировать пароль бота, который используется для управления подписками.
    Конфигурация КП Telegram
  5. Перейти на страницу Регистрация и зарегистрировать драйвер, используя гиперссылки, размещённые на форме.
    Регистрация КП Telegram
  6. Сохранить изменения конфигурации драйвера.
  7. Перезапустить службу Коммуникатора с помощью кнопки .

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

Если настройка выполнена правильно, то Ваш бот будет отвечать на команды, например, команду /help

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

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

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

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

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

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

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

Обзор

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

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

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

Для каждого триггера создаётся набор команд ТУ, которые отправляются при его срабатывании. Информацию о срабатывании триггеров и отправленных командах можно получить на странице Журнал или напрямую из файла 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. Для работы модуля необходимо предварительно создать таблицы базы данных, в которые будет сохраняться информация. В настройках модуля необходимо указать параметры соединения с БД и 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. Открыть журнал работы модуля C:\SCADA\ScadaServer\Log\ModRapidGate.log в текстовом редакторе и скопировать код компьютера.
  2. Зарегистрировать модуль, связавшись с разработчиками или с помощью сервиса генерации демо-ключей. Регистрационный ключ сохраняется в файле C:\SCADA\ScadaServer\Config\ModRapidGate_Reg.xml между тегами RegKey.
  3. Сконфигурировать модуль (см. ниже).
  4. Перезапустить службу Сервера с помощью кнопки .

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

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

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

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

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

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

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

Обзор

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

Установка

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

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

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

Обзор

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

Установка

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

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

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

Конфигурация каждого дэшборда сохраняется в отдельном файле формата XML. При установке плагина также устанавливается пример дэшборда:

C:\SCADA\ScadaWeb\storage\AllUsers\Dashboard\DashboardExample1.xml

Чтобы создать свой дэшборд, необходимо скопировать файл примера под новым именем, а затем отредактировать в любом текстовом редакторе. Имя файла конфигурации дэшборда – произвольное, расширение файла – XML. Файлы конфигурации дэшбордов могут располагаться в следующих директориях:

C:\SCADA\ScadaWeb\storage\allusers\Dashboard\ - дэшборды, доступные всем пользователям;
C:\SCADA\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. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.

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

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

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

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

В дистрибутиве плагина содержится пример файла конфигурации отчёта 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. Зарегистрировать плагин, используя гиперссылки, размещённые на странице.

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

Карта является представлением в терминах 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 - ссылка на представление, которое содержит детализированную информацию по объекту.

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

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

Карта в таблице Интерфейс

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

Пример карты

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

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

Автор Rapid SCADA, 10 мая 2012
Обновление 16 октября 2017

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

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

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

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

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

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

Запустите Администратор. Откройте таблицу Объекты и добавьте новую строку для объекта 2 "Тестовый объект" (рис. 1). Затем откройте таблицу Линии связи и добавьте линию 11 "Тестовая линия" (рис. 2). После чего откройте таблицу КП и добавьте КП 101 "Тестовый КП" (рис. 3).

Для КП необходимо заполнить следующие поля (рис. 3):

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

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

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

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

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

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

Запустите Коммуникатор (точнее его графическую оболочку). При этом служба Сервера должна быть запущена.

Щёлкните правой кнопкой мыши по элементу дерева Линии связи и выберите в контекстном меню пункт Импорт линий связи и КП (рис. 4). В появившемся окне отметьте галочкой созданную линию связи и КП, после чего нажмите кнопку Импорт (рис. 5). Линия связи и КП появятся в Коммуникаторе.

Контекстное меню линий связи
Рис. 4. Контекстное меню линий связи

Выбор импортируемых КП
Рис. 5. Выбор импортируемых КП

Щёлкните в дереве по элементу Линия 11 "Тестовая линия" и на странице Параметры линии связи выберите и настройте канал связи, например, Последовательный порт. Поставьте галочку Команды ТУ разрешены, если необходимо управлять устройством (рис. 6).

Параметры линии связи
Рис. 6. Параметры линии связи

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

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

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

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

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

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

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

Нажмите кнопку , чтобы выбрать существующий шаблон устройства, или кнопку , чтобы создать новый шаблон. При нажатии на кнопку создания или на кнопку редактирования шаблона вызывается Редактор шаблонов устройств (рис. 9). В данной статье используется существующий шаблон KpModbus_Adam6015.xml.

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

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

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

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

Для сохранения настроек Коммуникатора нажмите кнопку . Теперь можно запустить службу Коммуникатора с помощью кнопки и проверить связь с устройством.

Щёлкните элемент дерева КП 101 "Тестовый КП", чтобы проконтролировать состояние КП и наличие данных (рис. 11). Данные появятся не сразу после запуска, а после завершения первого опроса КП.

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

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

Завершение настройки базы конфигурации

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

Сервис автоматического создания каналов поможет сэкономить время. Выберите в главном меню программы Сервис > Создание каналов.

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

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

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

Полезно понимать, что входные каналы привязываются к тегам КП с помощью поля Сигнал. Каналы управления привязываются к командам КП в соответствии с полем Номер команды.

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

Откройте страницу Данные КП в Коммуникаторе и убедитесь, что созданные входные каналы связаны с тегами КП – столбец Канал должен содержать номера созданных входных каналов (рис. 13).

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

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

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

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

Откройте Редактор таблиц и заполните табличное представление, как показано на рис. 14. Добавить канал в таблицу (из левой части окна в правую) можно по кнопке , двойному щелчку на строке канала или по клавише Enter.

Сохраните созданное табличное представление в файл с именем TestTable.tbl в папку C:\SCADA\Interface\Test. Обратите внимание, что имена папок и файлов представлений должны содержать только латинские символы.

Редактор таблиц
Рис. 14. Редактор таблиц

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

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

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

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

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

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

Преобразование значений тегов 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
Обновление 25 января 2017

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

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

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

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

Детали выполнения пунктов 2, 4 и 5 содержатся в разделе Настройка комплекса. Рекомендуется ознакомиться с примером, который содержится в демо-конфигурации Rapid SCADA, устанавливаемой по умолчанию. Примером устройства является КП 21 "OPC Демо", данные которого отображаются табличным представлением OpcDemo.tbl. Для полноценной работы примера нужно скачать и установить программу MatrikonOPC Explorer, которая имитирует работу 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. Свойства службы

Управление удалённым сервером с помощью Агента

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

Установка

Агент работает на операционных системах Windows и Linux. Агент не имеет пользовательского интерфейса и работает как служба Windows или как демон на Linux. Пошаговая инструкия по установке Агента находится в архиве его дистрибутива.

Для взаимодейтвия с Агентом необходима программа Администратор версии не ниже 5.1.0.0. Администратор устанавливается в составе Rapid SCADA.

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

Исходные данные: имеется удалённый сервер с установленной Rapid SCADA и Агентом, а также отдельная рабочая станция инженера, с которой осуществляются описанные в статье действия.

Редактирование существующей конфигурации

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

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

Скачивание конфигурации

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

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

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

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

Передача конфигурации

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

Копирование конфигурации с одного сервера на другой

Данный сценарий возможен в ситауации, когда существует тестовый и производственный сервера или основной и резервный сервера. Рассмотрим перенос конфигурации с сервера 1 на сервер 2.

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

Скачивание конфигурации

Затем вызовите диалог передачи конфигурации и создайте подключение к серверу 2. Выберите в качестве источника сохранённый ранее архив конфигурации и снимите галочку очистки специфичных файлов сервера. После передачи конфигурации проверьте работоспособность сервера 2.

Передача конфигурации

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

Статус сервера