4. Конфигурация и настройка системы.
Как можно видеть в разделе выше, OpenSCADA предоставляет возможность конфигурации для исполнения в различных ролях. Поддержка этой возможности обеспечивается развитыми механизмами конфигурации и хранения конфигурационных данных. Данный раздел содержит описание этих механизмов, призванное дать представление о гибкости и разнообразии, позволив тем самым использовать OpenSCADA на 100%.
При описании механизмов конфигурации и способов её хранения в этом разделе будет делаться упор на общесистемные механизмы. Особенности конфигурации и использования модулей подсистем OpenSCADA предоставляются в собственной документации этих модулей.
В OpenSCADA используется формализованный подход к описанию конфигурационных интерфейсов, основанный на языке XML. Фактически особенности конфигурации компонента системы предоставляется самим компонентом, пронизывая тем самым всю систему, как нервная система организма. В терминах OpenSCADA это называется интерфейсом контроля OpenSCADA (Control interface). На основе интерфейса контроля формируются графические интерфейсы конфигурации пользователя посредством модулей OpenSCADA. Такой подход имеет следующие важные преимущества:
- Масштабируемость. Можно подключать только нужные модули конфигурирования или вообще использовать только удалённые механизмы.
- Исключение необходимости обновления конфигураторов с добавлением нового модуля/функции, а также исключение "распухания" конфигуратора, обеспечивающего поддержку всей истории уже ненужных и устаревших модулей/функций.
- Простота создания графических интерфейсов конфигурации на различной основе за счёт чёткой формализации.
- Предоставляется возможность динамической конфигурации, т.е. конфигурацию можно выполнять непосредственно при работе системы как локально, так и удалённо, непосредственно контролируя результат.
- Простая и целевая расширяемость конфигурационного интерфейса, путём добавления полей конфигурации на языке описания интерфейса управления только в компонентах, этого требующих.
В OpenSCADA уже предоставляется три модуля конфигурации на разной основе визуализации. Отметим их и их возможности конфигурации:
- Модуль конфигурации на основе библиотеки графического интерфейса Qt(http://ru.wikipedia.org/wiki/Qt) — UI.QTCfg. Предоставляет развитый интерфейс конфигурации, позволяющий управлять как локальной, так и удалёнными станциями в локальной и глобальной сетях, включая безопасное соединение.
- Модуль конфигурации на основе динамических WEB-технологий (DHTML) — UI.WebCfgD. Предоставляет развитый интерфейс конфигурации, позволяющий управлять как локальной станцией сервера, так и удалёнными станциями в локальной и глобальной сетях, включая работу по безопасному соединению. Клиентское подключение осуществляется посредством обычного Web-браузера.
- Модуль конфигурации на основе статических WEB-технологий (XHTML) — UI.WebCfg. Предоставляет достаточный интерфейс конфигурации, позволяющий управлять локальной станцией сервера посредством обычного Web-браузера.
Значения конфигурации, изменённые в конфигураторах, а также большинство данных сохраняются в базах данных (БД). Учитывая модульность подсистемы "БД", ими могут быть различные БД. Причём предоставляется возможность хранения различных частей OpenSCADA как в разных БД одного типа, так и в БД разных типов.
Кроме БД данные о конфигурации могут содержаться в конфигурационном файле OpenSCADA, а также передаваться посредством параметров командной строки при вызове OpenSCADA. Сохранение конфигурации в конфигурационном файле осуществляется наравне с БД. Типовым именем конфигурационного файла OpenSCADA является /etc/oscada.xml. Формат конфигурационного файла и параметры командной строки рассмотрим в отдельном разделе.
Изменение конфигурации того или иного узла устанавливает флаг модификации соответствующего узла, а также активирует кнопки "Загрузить из БД", для загрузки первоначальной конфигурации, и "Сохранить в БД" для сохранения изменений. Признак модификации также поднимается к родительскому узлу, что позволяет осуществлять восстановление-сохранение от корневого узла, хотя реально, при операциях с БД, будут участвовать только модифицированные узлы. Удаление узла приводит к непосредственному удалению его из хранилища-БД и механизм модификации на эту операцию не распространяется.
Многие настройки и конфигурация объектов OpenSCADA, которые исполняются или уже включены, не применяются сразу-же по внесению изменений, поскольку конфигурация читается/применяется обычно только при включении или запуске. Следовательно для применения изменений, в таких случаях, достаточно включить/выключить включенный объект или перезапустить исполняющийся — остановить/запустить. На данный момент большинство настроек, не предусматривающих непосредственного применения, просто недоступны для редактирования.
Дальнейшее рассмотрение конфигурации OpenSCADA будет производиться на основе интерфейса конфигуратора UI.QTCfg, однако принципы работы будут полностью соответствовать и остальным конфигураторам, благодаря общности в используемом интерфейсе контроля OpenSCADA.
Рассмотрение начнём с конфигурации системных параметров OpenSCADA, которая размещается в шести вкладках корневой страницы станции:
- Вкладка "Станция" содержит основные информационные и конфигурационные поля станции, рис.4a. Перечислим предоставляемые поля и прокомментируем их:
- ID — содержит информацию об идентификаторе станции. Указывается параметром командной строки "--station". При загрузке ищется соответствующий идентификатору станции раздел в конфигурационном файле и если не обнаруживается то используется первый доступный.
- Имя станции — указывает локализованное имя станции. Указывается параметром командной строки "--statName".
- Программа — содержит информацию об имени программы. Обычно это OpenSCADA или имя основанного на OpenSCADA решения.
- Версия — содержит информацию о текущей версии программы.
- Имя хоста — содержит информацию о имени машины, на которой запущена станция.
- Системный пользователь — содержит информацию о пользователе, от имени которого выполняется программа в системе (ОС).
- Операционная система — содержит информацию о имени и версии ОС, ядре ОС, на которой исполняется программа.
- CPU — содержит оперативную информацию о процессоре, а именно число доступных процессоров/ядер и частота процессора, на которых исполняется программа. Значение частоты проверяется раз в 10 секунд, для X86, и позволяет отслеживать её изменение, например, механизмами управления питанием.
- Основной набор процессоров — указывает основной перечень процессоров для использования задачами OpenSCADA. В круглых скобках содержится перечень используемых процессоров на данный момент.
- Часы планирования задач — содержит информацию об использованных часах планирования задач и их разрешении на данной ОС. Позволяет сориентироваться с минимальным интервалом времени периодических задач, например, для задач сбора данных.
- Внутренняя кодировка — содержит информацию о кодировке, в которой хранятся текстовые сообщения внутри программы.
- Конфигурационный файл — содержит информацию о конфигурационном файле, используемом программой. Устанавливается параметром командной строки "--config".
- Рабочая директория — указывает на рабочую директорию станции. Используется в относительной адресации объектов на файловой системе, например, файлов БД. Допускает изменение пользователем для сохранения данных системы в другую БД. При этом значение этого поля не сохраняется в БД, а может быть изменено только в секции "WorkDB" конфигурационного файла.
- Директория модулей — указывает на директорию модулей для OpenSCADA. Если значение этого поля некорректно, то при запуске программа завершиться с сообщением в консоли о некорректности конфигурации.
- Директория иконок — указывает на директорию, содержащую иконки программы. Если в дереве навигации конфигуратора отсутствуют иконки, то Вы неправильно указали значение этого поля.
- Директория документов — указывает на директорию, содержащую документы программы. Если Вы не можете вызвать локальные документы то Вы неправильно указали значение этого поля или документация не установлена.
- Рабочая БД — указывает на рабочую базу данных (БД), а именно на БД, используемую для хранения основных данных программы. Изменение этого поля отмечает все объекты программы как модифицированные, что позволяет сохранить или загрузить данные станции из указанной основной БД.
- Сохранять систему при выходе — указывает на необходимость сохранения изменённых данных при завершении работы программы.
- Период сохранения системы — указывает на периодичность в секундах, с которой сохранять изменённые данные станции.
- Язык — указывает на язык сообщений программы. Изменение этого поля допустимо, однако приводит к изменению языка сообщений только для интерфейса и динамических сообщений!
- Сообщения — раздел группы параметров, управляющих работой с сообщениями станции:
- Наименьший уровень — указывает на уровень сообщений, начиная с которого система будет их обрабатывать. Сообщения ниже этого уровня будут игнорироваться. Уровень "Отладка (0)" имеет особый смысл, а именно, при установке, будет включена генерация отладочных сообщений различными частями системы. Контролировать генерацию отладочных сообщений частями системы можно во вкладке "Отладка" (рис.4d).
- В системный логер(syslog) — указывает на необходимость направления сообщений в системный логер, механизм ОС для работы с сообщениями системы и ПО. При включении этого параметра появляется возможность управлять и контролировать сообщения OpenSCADA механизмами ОС.
- На стандартный выход(stdout) — указывает на использование, в качестве вывода сообщения, стандартного механизмы вывода в консоль. Выключение этого свойства исключит весь вывод в консоль, если не указан следующий параметр.
- На стандартный выход ошибок(stderr) — указывает на использование в качестве вывода сообщения стандартного механизмы вывода ошибок, обычно тоже направляется в консоль.
- В архив — указывает на необходимость вывода сообщений в архив сообщений OpenSCADA. Этот параметр обычно включен, а его выключение приводит к фактическому отключению архивирования сообщений на станции.
- Вкладка "Подсистемы" содержит список подсистем (рис.4b) и позволяет выполнять прямые переходы к ним с помощью контекстного меню.
- Вкладка "Резервирование" (рис.4с) содержит конфигурацию резервирования станции в составе настроек:
- Статус — содержит информацию о работе схемы резервирования. На данный момент это время, затраченное на исполнения одного цикла задачи обслуживания резерва.
- Уровень станции — указывает уровень данной станции в схеме резервирования (0-255).
- Период задачи резервирования — указывает периодичность исполнения задачи резервирования, в секундах, (1-255).
- Интервал времени восстановления соединения — указывает через какой интервал времени осуществлять попытку восстановления соединения с потерянной резервной станцией, в секундах, (0-255).
- Передача локальных первичных команд — включает передачу локальных первичных команд резервным станциям для автоматической синхронизации локальных изменений.
- Станции — содержит таблицу с информацией о резервных станциях. Станции можно добавлять и удалять посредством контекстного меню. Идентификатор добавленных станций нужно выбрать из списка доступных системных станций OpenSCADA. Наличие в таблице хотя-бы одной станции включает резервирование в целом и открывает доступ к страницам конфигурации резервирования на уровне подсистем, если подсистема поддерживает резервирование. Таблица предоставляет следующую информацию о станции:
- ID — идентификатор системной станции OpenSCADA, должен быть изменён после добавления путём выбора из перечня доступных;
- Имя — имя системной станции OpenSCADA;
- Жив — признак наличия связи с резервной станцией;
- Уровень — уровень удалённой станции в схеме резервирования;
- Счётчик — счётчик запросов к резервной станции или времени ожидания восстановления, в случае отсутствия связи.
- Переход к конфигурации перечня удалённых станций — команда для перехода на страницу конфигурации удалённых OpenSCADA станций, в подсистеме "Транспорты".
- Вкладка "Задачи" содержит таблицу со списком задач открытых различными компонентами OpenSCADA (рис.4d). Из таблицы можно получит различную информацию о задачах, а также назначить процессора для задач, на многопроцессорных системах.
- Вкладка "Отладка" содержит элементы контроля за отладкой (рис.4e) и активируется при выборе уровня сообщений "Отладка (0)" или при использовании счётчиков объектов.
- Вкладка "Переводы" содержит элементы менеджера централизованного перевода текстовых сообщений системы (рис.4f) и активируется при включении многоязыкового режима, установкой базового языка текстовых переменных. Элементы менеджера переводов:
- Базовый язык текстовых переменных — используется для включения режима поддержки многоязыковых текстовых переменных путём указания непустого базового языка. Значение базового языка выбирается из списка двухсимвольных кодов языков, обычно только текущий и базовый языки в списке. Далее для текстовых переменных на небазовом языке в таблицах БД будут создаваться отдельные колонки. Под текстовыми переменными подразумеваются все текстовые поля конфигуратора, которые могут быть переведены на другой язык. Числа и другие символьные значения к их числу не относятся и не переводятся.
- Динамический перевод — текущее и запланированное состояние динамического перевода текстовых сообщений. Динамический перевод текстовых сообщений вызывает включение кеша переводов текстовых сообщений и запроса переводов из БД для языков частей системы OpenSCADA, в значительной степени для многоязыковых динамических пользовательских интерфейсов когда пользователь имеет собственный-предпочтительный язык.
- Включение менеджера — включение менеджера переводов. Вызывает перезагрузку системы для формирования индекса встроенных переводов, что однако не приводит к формированию полного индекса сообщений в виду запрета перезагрузки ряда объектов в момент их исполнения. Для загрузки полного индекса сообщений необходимо сохранить менеджер во включенном режиме и перезапустить OpenSCADA. В процессе следующего запуска сформируется полный индекс сообщений.
- Языки — перечень языков переводов от базового, управляемые менеджером. Если для указанного языка в источнике присутствуют переводы то колонка языка будет их содержать иначе будет пуста.
- Фильтр источника — фильтр сообщений по подстроке в источнике.
- Проверять несовпадения — переключает проверку и индикацию на различие переводов сообщения в разных местах, на что необходимо больше времени.
- Сообщения — непосредственно таблица сообщений с колонками: базовый язык, выбранные языки перевода, источники сообщения. Для модификации доступны колонки языков в результате чего изменения будут внесены в источники сообщения.
Для модификации полей этой страницы могут потребоваться права привилегированного пользователя. Получить такие права можно, включив вашего пользователя в группу суперпользователя "root", или, войдя на станцию от имени суперпользователя "root".
Нужно отметить ещё один важный момент! Поля идентификаторов всех объектов OpenSCADA недопустимы для прямого редактирования, поскольку являются ключом для хранения данных объектов в БД. Однако поменять идентификатор объекта можно с помощью команды переноса и последующей вставки объекта (Cut->Paste) в конфигураторе.
Рис. 4a. Вкладка "Станция" корневой страницы конфигурации системы.
Рис. 4b. Вкладка "Подсистемы" корневой страницы конфигурации системы.
Рекомендуется резервирование настраивать таким образом чтобы БД резервных станций сохранялись одинаковыми, что в дальнейшем позволит безболезненно копировать их при восстановлении на любую станцию и соответственно в резервной копии можно хранить только один набор БД. При этом настройки, специфичные для отдельной станции, будут сохраняться в конфигурационном файле и можно будет легко конфигурировать и менять нужную станцию выбором соответствующего конфигурационного файла.
Настройка резервирования начинается с добавления резервных станций в список системных станций OpenSCADA на вкладке "Подсистема" подсистемы "Транспорты" (рис.4.3b). Причём добавлять тут нужно не только резервные станции к текущей, но и саму эту текущую станцию с её внешним адресом, т.е. своеобразная петля. В дальнейшем эти настройки будут сохранены в общую БД резервированной системы, а сама БД с этого момента будет использоваться при создании всех резервных станций. Соответственно важно на этом этапе внести все нужные изменения в общую БД вокруг проекта в целом!
Далее на конкретной станции, с копией общей БД, настраиваем её специфические параметры во вкладке "Резервирование" главной страницы (рис.4c), которые будут сохранены в конфигурационном файле.
После этого вся конфигурация резервирования осуществляется во вкладке "Резервирование" соответствующей подсистемы, "Сбор данных" (рис.4.5b) или "Архивы" (рис.4.6b). Если установить параметр "Передача локальных первичных команд" (рис.4c) то эта конфигурация, как и любая другая конфигурация общего характера, может осуществляться на одной из станций, а внесённые изменения попадут и на все резервные, конечно если они будут доступны.
Рис. 4c. Вкладка "Резервирование" корневой страницы конфигурации системы.
Рис. 4d. Вкладка "Задачи" корневой страницы конфигурации системы.
Для отладки различных особенностей работы OpenSCADA может потребоваться включение генерации дополнительных-отладочных сообщений, что осуществляется установкой минимального уровня сообщений, на вкладке "Станция", в "Отладка (0)". В результате этого появится вкладке "Отладка" (рис.4e) где доступны счётчики объектов для контроля за утечками, а также таблица с перечнем категорий поступающий отладочных сообщений. В таблице категорий можно выбрать только те источники отладочных сообщений, которые нужны, тем самым не перегружая подсистему вывода и архивирования сообщений, а так-же не понижая производительность системы в целом. Можно выбирать категории и высших уровней, вплоть до корневой категории системы, что выключит детальный выбор и включит генерацию всех сообщений по уровню или системе. Для изучения отладочных сообщений нужно перейти в подсистему "Архивы" (рис. 4.6c), для чего предусмотрена кнопка "Просмотр сообщений". Выбранный режим отладки и перечень категорий отладки может быть сохранён в конфигурационном файле стандартным образом и при следующем старте режим отладки активируется сразу, что важно в первую очередь для счётчиков объектов.
Рис. 4e. Вкладка "Отладка" корневой страницы конфигурации системы.
Рис. 4f. Вкладка "Переводы" корневой страницы конфигурации системы.
При рассмотрении страниц конфигурации модульных подсистем будут описаны общие для всех модулей свойства. Однако нужно отметить, что каждый модуль может предоставлять как дополнительные вкладки, так и отдельные поля для конфигурации собственных особенностей функционирования для страниц, объекты которых наследуются модулями. С особенностями и дополнениями модулей можно ознакомиться в отдельной документации на них.
4.1. Подсистема "БД"
Подсистема является модульной и содержит иерархию объектов изображённую на рис.4.1a. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "БД", содержащая вкладку "Модули". Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы "БД", доступных на станции.
Для модификации полей страниц этой подсистемы могут потребоваться права привилегированного пользователя или включение вашего пользователя в группу "БД".
Рис. 4.1a. Иерархическая структура подсистемы "БД".
Рис. 4.1b. Вкладка "Модули" корневой страницы подсистемы "БД".
Каждый модуль подсистемы "БД" предоставляет конфигурационную страницу с вкладками "БД" и "Модуль". Вкладка "БД" (рис.4.1c) содержит список БД, зарегистрированных в модуле и флажок признака полного удаления БД при выполнении команды удаления. В контекстном меню списка БД предоставляется пользователю возможность добавления, удаления и перехода к нужной БД. Во вкладке "Модуль" содержится информация о модуле подсистемы "БД" (рис.4.1d):
- Модуль — идентификатор модуля.
- Имя — имя модуля.
- Тип — тип модуля, идентификатор подсистемы, к которой модуль принадлежит.
- Источник — разделяемая библиотека — источник данного модуля.
- Версия — версия модуля.
- Автор — автор модуля.
- Описание — краткое описание модуля.
- Лицензия — лицензионное соглашение распространения модуля.
Рис. 4.1c. Вкладка "БД" модуля подсистемы "БД".
Рис. 4.1d. Вкладка "Модуль" модуля подсистемы "БД".
Каждая БД содержит собственную страницу конфигурации с вкладками "База данных", "Таблицы" и "SQL", в случае поддержки SQL-запросов. Кроме основных операций можно выполнять копирование содержимого БД стандартной функцией копирования объектов в конфигураторе. Операция копирования содержимого БД подразумевает копирование исходной БД в БД назначения, при этом содержимое БД назначения не очищается перед операцией копирования. Копирование содержимого БД производится при условии включения обоих БД, иначе будет выполняться простое копирование объекта БД.
Вкладка "База данных" (рис.4.1e) содержит основные настройки БД в составе:
- Раздел "Состояние" — содержит свойства, характеризующие состояние БД:
- Включен — состояние БД "Включен".
- Доступные БД — перечень таблиц, которые содержит БД. Контекстным меню данного свойства предоставляется возможность физического удаления таблиц из БД.
- Загрузить систему из БД — команда для выполнения загрузки из данной БД. Может использоваться при переносе данных в БД между станциями. Например, можно сохранить участок одной станции в экспортную БД, физически перенести БД на другую станцию, подключить её в этой подсистеме и вызвать данную команду.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — содержит информацию об идентификаторе БД.
- Имя — указывает имя БД.
- Описание — краткое описание БД и её назначения.
- Адрес — адрес БД в специфичном для типа БД (модуля) в формате. Описание формата записи адреса БД, как правило, доступно во всплывающей подсказке этого поля.
- Кодовая страница — указывает на кодовую страницу, в которой хранятся и предоставляются текстовые значения БД. Значение кодовой страницы БД в связке с внутренней кодировкой станции используется для прозрачного перекодирования текстовых сообщений при обмене между станцией и БД.
- Включать — указывает на состояние "Включен", в которое переводить БД при загрузке.
Вкладка "Таблицы" (рис.4.1f) содержит список открытых таблиц. При нормальной работе программы эта вкладка пуста, поскольку после завершения работы с таблицами программа их закрывает. Наличие открытых таблиц говорит о том, что программа сейчас с таблицами работает или таблицы открыты пользователем для изучения их содержимого. В контекстном меню перечня открытых таблиц можно открыть таблицу для изучения (команда "Добавить"), закрыть открытую страницу (команда "Удалить") и перейти к изучению содержимого таблицы.
Вкладка "SQL" (рис.4.1g) доступна только для баз данных, поддерживающих SQL-запросы, и содержит поле ввода запроса, кнопку отправки запроса и таблицу с результатом запроса. Для управления контекстом транзакции запроса предусмотрено отдельное конфигурационное поле.
Рис. 4.1e. Вкладка "База данных" БД модуля подсистемы "БД".
Рис. 4.1f. Вкладка "Таблицы" БД модуля подсистемы "БД".
Рис. 4.1g. Вкладка "SQL" БД модуля подсистемы "БД".
Страница изучения содержимого таблицы содержит только одну вкладку "Таблица". Вкладка "Таблица" (рис.4.1h) содержит поле имени таблицы и таблицу с содержимым. Таблицей содержимого предоставляются функции:
- редактирование содержимого ячеек таблицы;
- добавление записи (строки);
- удаление записи (строки).
Рис. 4.1h. Вкладка "Таблица" таблицы БД модуля подсистемы "БД".
4.2. Подсистема "Безопасность"
Подсистема не является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Безопасность", содержащая вкладку "Пользователи и группы пользователей". Вкладка "Пользователи и группы пользователей" (рис.4.2a) содержит списки пользователей и групп пользователей. Пользователь в группе "Security" и с правами привилегированного пользователя может добавить, удалить пользователя или группу пользователей. Все остальные пользователи могут перейти к странице пользователя или группы пользователя.
Рис. 4.2a. Вкладка "Пользователи и группы пользователей" корневой страницы подсистемы "Безопасность".
Для конфигурации пользователя предоставляется страница, содержащая только вкладку "Пользователь" (рис.4.2b). Вкладка содержит конфигурационные данные профиля пользователя, которые может изменять сам пользователь, пользователь в группе "Security" или привилегированный пользователь:
- Имя — информация об имени (идентификаторе) пользователя.
- Полное имя — указывает на полное имя пользователя.
- Изображение пользователя — указывает изображение пользователя. Изображение может быть загружено или выгружено.
- БД пользователя — адрес БД для хранения данных пользователя.
- Пароль — поле для изменения пароля пользователя. Всегда отображает "******".
- Группы пользователей — таблица с перечнем групп пользователей станции и признаком принадлежности пользователя к группам.
Рис. 4.2b. Вкладка "Пользователь" страницы пользователя подсистемы "Безопасность".
Для конфигурации группы пользователей предоставляется страница, содержащая только вкладку "Группа" (рис.4.2c). Вкладка содержит конфигурационные данные профиля группы пользователей, которые может изменять только привилегированный пользователь:
- Имя — информация об имени (идентификаторе) группы пользователей.
- Полное имя — указывает на полное имя группы пользователей.
- БД группы пользователей — адрес БД для хранения данных группы пользователей.
- Пользователи — список пользователей, включенных в данную группу. С помощью контекстного меню списка можно добавить или удалить пользователя в группе.
Рис. 4.2c. Вкладка "Группа" страницы группы пользователей подсистемы "Безопасность".
4.3. Подсистема "Транспорты"
Подсистема является модульной и содержит иерархию объектов, изображённую на рис.4.3a. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Транспорты", содержащая вкладки "Подсистема" и "Модули".
Рис. 4.3a. Иерархическая структура подсистемы "Транспорты".
Вкладка "Подсистема" (рис.4.3b) содержит таблицу конфигурации внешних, для данной, OpenSCADA станций. Внешние станции могут быть системными, пользовательскими или одновременно, что выбирается в соответствующей колонке. Системные внешние станции доступны только привилегированному пользователю и используются компонентами системного назначения, например, механизмом горизонтального резервирования и модулем DAQ.DAQGate. Пользовательские внешние станции привязаны к пользователю, который их создавал, а значит список пользовательских внешних станций индивидуален для каждого пользователя. Пользовательские внешние станции используются компонентами графического интерфейса, например: UI.QTCfg, UI.WebCfgD и UI.Vision. В таблице внешних станций возможно добавление и удаление записей про станцию, а также их модификация. Каждая запись содержит поля:
- Id — Идентификатор внешней станции.
- Имя — Имя внешней станции.
- Транспорт — Выбор из списка модуля подсистемы "Транспорты" для использования его в доступе к внешней станции.
- Адрес — Адрес внешней станции в формате, специфичном для выбранного в предыдущем поле модуля подсистемы "Транспорты".
- Пользователь — Имя/идентификатор пользователя удалённой станции, от имени которого выполнять подключение.
- Пароль — Пароль пользователя удалённой станции.
- Режим — Режим хоста: "Пользовательский", "Системный", "Пользовательский и Системный".
- Уровень поднятия — Уровень поднятия хостов указанного хоста для возможности перенаправления запросов.
Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы "Транспорты" и идентична для всех модульных подсистем.
Рис. 4.3b. Вкладка "Подсистема" корневой страницы подсистемы "Транспорты".
Каждый модуль подсистемы "Транспорты" предоставляет конфигурационную страницу с вкладками "Транспорты" и "Модуль". Вкладка "Транспорты" (рис.4.3c) содержит список входящих и исходящих транспортов, зарегистрированных в модуле. В контекстном меню списков транспортов пользователю предоставляется возможность добавления, удаления и перехода к нужному транспорту. Во вкладке "Модуль" содержится информация о модуле подсистемы "Транспорты" (рис.4.1d), состав которой идентичен для всех модулей.
Рис. 4.3c. Вкладка "Транспорты" модуля подсистемы "Транспорты".
Каждый транспорт содержит собственную страницу конфигурации с одной вкладкой "Транспорт". Эта вкладка содержит основные настройки транспорта. Входящий транспорт (рис.4.3d) содержит:
- Раздел "Состояние" — содержит свойства, характеризующие состояние транспорта:
- Статус — информация о текущем состоянии транспорта и статистика его работы.
- Выполняется — состояние транспорта "Выполняется".
- БД транспорта — адрес БД для хранения данных транспорта.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе транспорта.
- Имя — указывает имя транспорта.
- Описание — краткое описание транспорта и его назначения.
- Адрес — адрес транспорта в специфичном для типа транспорта (модуля) формате. Описание формата записи адреса транспорта, как правило, доступно во всплывающей подсказке этого поля.
- Транспортный протокол — указывает на модуль транспортного протокола (подсистема "Транспортные протоколы"), который должен работать в связке с данным входным транспортом. Т.е. полученные неструктурированные данные этот модуль будет направлять на структуризацию и обработку указанному модулю транспортного протокола.
- Запускать — указывает на состояние "Выполняется", в которое переводить транспорт при загрузке.
Рис. 4.3d. Вкладка "Транспорт" страницы входящего транспорта модуля подсистемы "Транспорты".
Исходящий транспорт (рис.4.3e) содержит:
- Раздел "Состояние" — содержит свойства, характеризующие состояние транспорта:
- Статус — информация о текущем состоянии транспорта и статистика его работы.
- Выполняется — состояние транспорта "Выполняется".
- БД транспорта — адрес БД для хранения данных транспорта.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе транспорта.
- Имя — указывает имя транспорта.
- Описание — краткое описание транспорта и его назначения.
- Адрес — адрес транспорта в специфичном для типа транспорта (модуля) формате. Описание формата записи адреса транспорта, как правило, доступно во всплывающей подсказке этого поля.
- Запускать — указывает на состояние "Выполняется", в которое переводить транспорт при загрузке.
Рис. 4.3e. Вкладка "Транспорт" страницы исходящего транспорта модуля подсистемы "Транспорты".
Исходящий транспорт, в дополнение, предоставляет вкладку формирования пользовательского запроса через данный транспорт (рис.4.3f). Вкладка предназначена для наладки связи, а также для отладки протоколов и содержит:
- Время (мс) — информация о времени, затраченном на запрос и получение ответа.
- Режим — указывает режим данных, из списка "Бинарный", "Текст(LF)", "Текст(CR)", "Текст(CR/LF)", в котором будет формироваться запрос и предоставляться ответ. В бинарном режиме данные записываются парами чисел в шестнадцатеричном исчислении, т.е байтами, разделёнными пробелами.
- Ожидать таймаута — признак ожидать таймаута при получении ответа. Многие системы при ответе на различных протоколах (HTTP) могут слать данные ответа несколькими кусками. Без этого флага будет получен и отображён только первый кусок. При установке этого флага будет осуществлено ожидание всех кусков ответа, вплоть до отсутствия данных в течении таймаута дожидания транспорта.
- Размер входного буфера, байт — контролирует размер входного буфера или выключает чтение (0) вообще, только запись.
- Отправить — команда отправить запрос.
- Запрос — содержит запрос в выбранном режиме представления данных.
- Ответ — предоставляет ответ в выбранном режиме представления данных.
Рис. 4.3f. Вкладка "Запрос" страницы исходящего транспорта модуля подсистемы "Транспорты".
4.4. Подсистема "Транспортные протоколы"
Подсистема является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Транспортные протоколы", содержащая вкладку "Модули". Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы "Транспортные протоколы" и идентична для всех модульных подсистем.
Каждый модуль подсистемы "Транспортные протоколы" предоставляет конфигурационную страницу с одной вкладкой "Модуль". Во вкладке "Модуль" содержится информация о модуле подсистемы "Транспортные протоколы" (рис.4.1d), состав которой идентичен для всех модулей.
4.5. Подсистема "Сбор данных"
Подсистема является модульной и содержит иерархию объектов, изображённую на рис.4.5a. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Сбор данных", содержащая вкладки "Резервирование", "Библиотеки шаблонов" и "Модули".
Для получения доступа на модификацию объектов этой подсистемы необходимы права пользователя в группе "DAQ" или права привилегированного пользователя.
Рис. 4.5a. Иерархическая структура подсистемы "Сбор данных".
Вкладка "Резервирование" (рис.4.5b) доступна только если в резерве указана хотя-бы одна станция и содержит конфигурацию резервирования источников данных подсистемы "Сбор данных", в составе настроек:
- Глубина времени восстановления данных — указывает на максимальную глубину архивных данных для восстановления из архива удалённой станции при запуске в часах (0-12).
- Контроллеры — содержит таблицу с перечнем контроллеров, доступных для резервирования, и текущее их состояние:
- Контроллер — полный идентификатор контроллера;
- Имя — имя контроллера;
- Запущен — признак исполнения контроллера локальной станцией;
- Резервирование — режим резервирования контроллера, может быть выбран из перечня: "Выключено", "Асимметрично", "Только нарушения";
- Предпочтение исполнения — конфигурация предпочтительного исполнения на указанной станции, может быть изменён; зарезервированные значения указывают на: <Высокий уровень> — исполнение на станции с наивысшим уровнем, <Низкий уровень> — исполнение на станции с самым низким уровнем, <Оптимально> — выбор для исполнения наименее нагруженной станции.
- Удалённый — признак, указывающий на исполнение контроллера удалённой станцией и работу локальной станции в режиме синхронизации данных с удалённой.
Рис. 4.5b. Вкладка "Резервирование" подсистемы "Сбор данных".
Вкладка "Библиотеки шаблонов" (рис.4.5c) содержит список библиотек шаблонов для параметров этой подсистемы. В контекстном меню списка библиотек шаблонов пользователю предоставляется возможность добавления, удаления и перехода к нужной библиотеке. Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы "Транспорты" и идентична для всех модульных подсистем.
Рис. 4.5c. Вкладка "Библиотеки шаблонов" подсистемы "Сбор данных".
Каждая библиотека шаблонов подсистемы "Сбор данных" предоставляет конфигурационную страницу с вкладками "Библиотека" и "Шаблоны параметров". Вкладка "Библиотека" (рис.4.5d) содержит основные настройки библиотеки в составе:
- Раздел "Состояние" — содержит свойства, характеризующие состояние библиотеки:
- Доступен — состояние библиотеки "Доступен".
- БД библиотеки — адрес БД для хранения данных библиотеки и шаблонов.
- Дата модификации — дата и время последней модификации объекта.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе библиотеки.
- Имя — указывает имя библиотеки.
- Описание — краткое описание библиотеки и её назначения.
Вкладка "Шаблоны параметров" (рис.4.5e) содержит список шаблонов в библиотеке. В контекстном меню списка пользователю предоставляется возможность добавления, удаления и перехода к нужному шаблону.
Рис. 4.5d. Основная вкладка конфигурации библиотеки шаблонов подсистемы "Сбор данных".
Рис. 4.5e. Вкладка списка шаблонов в библиотеке шаблонов подсистемы "Сбор данных".
Каждый шаблон библиотеки шаблонов предоставляет конфигурационную страницу с вкладками "Шаблон" и "IO". Вкладка "Шаблон" (рис.4.5f) содержит основные настройки шаблона в составе:
- Раздел "Состояние" — содержит свойства, характеризующие состояние шаблона:
- Доступен — состояние шаблона "Доступен".
- Использовано — количество использования шаблона. Позволяет определить факт использования и, как следствие, возможность применения изменений шаблона.
- Дата модификации — дата и время последней модификации объекта.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе шаблона.
- Имя — указывает имя шаблона.
- Описание — краткое описание шаблона и его назначения.
Рис. 4.5f. Главная вкладка конфигурации шаблона параметров подсистемы "Сбор данных".
Вкладка "IO" (рис.4.5g) содержит конфигурацию атрибутов (IO) шаблонов и программу шаблона на одном из языков пользовательского программирования OpenSCADA, например, DAQ.JavaLikeCalc.JavaScript. В таблицу атрибутов шаблона пользователь может, посредством контекстного меню, добавить, вставить, удалить, передвинуть вверх или вниз запись атрибута, а также отредактировать поля атрибута:
- Id — идентификатор атрибута.
- Имя — имя атрибута.
- Тип — выбор типа значения атрибута из списка: "Вещественный", "Целый", "Логический", "Строка", "Текст", "Объект".
- Режим — выбор режима из списка: "Вход", "Выход". Обычно используется для указания направления передачи данных посредством связи. Т.е. для значения "Вход" данные по связи будут только получаться, а для "Выход" также будут передаваться, в случае модификации.
- Атрибут — режим атрибута параметра, реализованного на основе шаблона из списка: "Не атрибут", "Только для чтения", "Полный доступ". Для атрибутов шаблона, у которых это поле установлено, будет создаваться соответствующий атрибут у параметра контроллера этой подсистемы.
- Конфигурация — режим конфигурации атрибута во вкладке конфигурации шаблона у параметра контроллера этой подсистемы из списка: "Константа", "Публичная константа", "Связь". В режимах "Публичная константа" и "Связь" во вкладке конфигурации шаблона будут добавлены эти атрибуты для установки константы или указания внешней связи параметра.
- Значение — значение атрибута по умолчанию или шаблон ссылки для доступа по ссылке. Формат шаблона ссылки зависит от компонента, который его использует. Обычно для модуля DAQ.LogicLev шаблон ссылки записывается в виде: {Параметр}|{атрибут}. Поле {Параметр} — указывает имя параметра как контейнера атрибутов. Атрибуты с одинаковым значением {Параметр} будут группироваться и позволят назначаться только указанием контейнера атрибутов, а отдельные атрибуты будут связаны с атрибутами контейнера в соответствии с полем {атрибут}.
С синтаксисом языка программы шаблона можно ознакомиться в документации модуля, предоставляющего интерпретатор выбранного языка. Например, типичным языком пользовательского программирования OpenSCADA является DAQ.JavaLikeCalc.JavaScript.
Рис. 4.5g. Вкладка конфигурации атрибутов и программы шаблона подсистемы "Сбор данных".
Каждый модуль подсистемы "Сбор данных" предоставляет конфигурационную страницу с вкладками "Контроллеры" и "Модуль". Вкладка "Контроллеры" (рис.4.5h) содержит список контроллеров, зарегистрированных в модуле. В контекстном меню списка пользователю предоставляется возможность добавления, удаления и перехода к нужному контроллеру. Во вкладке "Модуль" содержится информация о модуле подсистемы "Сбор данных" (рис.4.1d), состав которой идентичен для всех модулей.
Рис. 4.5h. Вкладка "Контроллеры" модуля подсистемы "Сбор данных".
Каждый контроллер содержит собственную страницу конфигурации с вкладками "Контроллер", "Параметры" и "Диагностика".
Вкладка "Контроллер" (рис.4.5i) содержит основные настройки. Состав этих настроек может несколько отличаться от одного модуля этой подсистемы к другому, о чём можно узнать в собственной документации модулей. В качестве примера рассмотрим настройки контроллера у модуля контроллера логического уровня DAQ.LogicLev:
- Раздел "Состояние" — содержит свойства, характеризующие состояние контроллера:
- Статус — указывает статус контроллера. В нашем случае контроллер исполняется и время вычисления составляет 446 микросекунд.
- Включен — состояние контроллера "Включен". Включенный контроллер предоставляет возможность создания параметров и их конфигурации.
- Запущен — состояние контроллера "Запущен". Исполняющийся контроллер выполняет физический сбор данных и/или включает механизмы доступа к этим данным.
- БД контроллера — адрес БД для хранения данных контроллера и его параметров.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе контроллера.
- Имя — указывает имя контроллера.
- Описание — краткое описание контроллера и его назначения.
- Включать — указывает на состояние "Включать," в которое переводить контроллер при загрузке.
- Запускать — указывает на состояние "Запущен", в которое переводить контроллер при загрузке.
- Таблицы параметров — имена таблиц, в которых сохранять параметры, разных типов (имеются в виду объекты параметров сбора данных).
- Планирование вычислений — определяет периодический или по расписанию характер вычисления. В нашем примере это секундное вычисления шаблона.
- Уровень приоритета задачи получения данных — устанавливает приоритет задачи сбора данных этого контроллера. Используется при планировании задач операционной системой. В случае наличия доступа это поле включает планирование задачи контроллера в режиме реального времени и указанным приоритетом иначе модифицирует параметр "nice" задачи.
Рис. 4.5i. Главная вкладка конфигурации контроллера подсистемы "Сбор данных".
Вкладка "Параметры" (рис.4.5j) содержит список параметров в контроллере, выбор типа параметров, создаваемых по умолчанию, а также информацию об общем количестве и количестве включенных параметров. В контекстном меню, списка параметров, пользователю предоставляется возможность добавления, удаления и перехода к нужному параметру.
Рис. 4.5j. Вкладка "Параметры" страницы конфигурации контроллера подсистемы "Сбор данных".
Вкладка "Диагностика" (рис.4.5k) содержит форму диагностических сообщений источника данных. Поскольку многие источники данных представляют собой внешние устройства с доступом к данным посредством сетевого обмена или системной шины то возможны различные нештатные ситуации при доступе к данным. Вывод всех их в поле "Статус", объекта контроллера, невозможен поскольку он отображает только текущее состояние доступа к данным. С помощью диагностики можно проследить все нештатные ситуации в виде сообщений, сформированных данным объектом контроллера за указанный промежуток времени и с выбранным уровнем сообщения. Кроме непосредственно рабочей диагностической информации ряд модулей источников данных могут предоставлять здесь различные отладочные дампы обмена, на уровне сообщений "Отладка (0)".
Рис. 4.5k. Вкладка "Диагностика" страницы конфигурации контроллера подсистемы "Сбор данных".
Параметры контроллеров подсистемы "Сбор данных" предоставляют конфигурационную страницу с вкладками "Параметр", "Атрибуты", "Архивация" и "Конфигурация шаблона". Вкладка "Конфигурация шаблона" не является стандартной, а присутствует только в параметрах модулей подсистемы "Сбор данных", которые реализуют механизмы работы по шаблону в контексте источника данных, ими обслуживаемого, для логического типа. В данный обзор эта вкладка включена для обеспечения логической завершённости обзора конфигурации шаблонов параметров подсистемы "Сбор данных" как финальный этап — использования.
Вкладка "Параметр" (рис.4.5l) содержит основные настройки в составе:
- Раздел "Состояние" — содержит свойства, характеризующие состояние параметра:
- Тип — указывает тип параметра. Тип выключенного параметра может быть изменён, если доступно несколько типов.
- Включен — состояние параметра "Включен". Включенный параметр используется контроллером для сбора данных.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — содержит информацию об идентификаторе параметра.
- Имя — указывает имя параметра.
- Описание — краткое описание параметра и его назначения.
- Включать — указывает на состояние "Включать", в которое переводить параметр при загрузке.
- Шаблон параметра — адрес ранее нами рассмотренного шаблона.
Вкладка "Атрибуты" (рис.4.5m) содержит атрибуты параметра и их значения в соответствии с конфигурацией используемого шаблона и вычисления его программы.
Вкладка "Архивация" (рис.4.5n) содержит таблицу с атрибутами параметра в колонках, и архиваторами в строках. Пользователь имеет возможность установить архивацию нужного атрибута требуемым архиватором просто изменив ячейку на пересечении.
Вкладка "Конфигурация шаблона" (рис.4.5o) содержит конфигурационные поля в соответствии с шаблоном. В примере это групповая связь на внешний параметр. Эту связь можно установить, просто указав путь к параметру, если флаг "Показывать только атрибуты" не установлен, или же установить адреса атрибутов по отдельности, если флаг установлен. Знак "(+)", в конце адреса, сигнализирует об успешной линковке и присутствии целевого объекта.
Рис. 4.5l. Главная вкладка конфигурации параметра контроллера подсистемы "Сбор данных".
Рис. 4.5m. Вкладка "Атрибуты" параметра контроллера подсистемы "Сбор данных".
Рис. 4.5n. Вкладка "Архивация" параметра контроллера подсистемы "Сбор данных".
Рис. 4.5o. Вкладка "Конфигурация шаблона" параметра контроллера подсистемы "Сбор данных".
4.6. Подсистема "Архивы"
Подсистема является модульной и содержит иерархию объектов, изображённую на рис.4.6a. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Архивы", содержащая вкладки "Резервирование", "Архив сообщений", "Архивы значений" и "Модули".
Для получения доступа на модификацию объектов этой подсистемы необходимы права пользователя в группе "Archive" или права привилегированного пользователя.
Рис. 4.6a. Иерархическая структура подсистемы "Архивы".
Вкладка "Резервирование" (рис.4.6b) доступна только если в резерве указана хотя-бы одна станция и содержит конфигурацию резервирования архиваторов сообщений подсистемы "Архивы", в составе настроек:
- Глубина принудительной перезагрузки истории резерва при запуске, в часах. — указывает на глубину запроса сообщений от времени последнего сообщения в локальном архиве. Иногда может быть полезным для перегрузки последних сообщений если они потенциально могут поменяться-дополниться при остановке данной станции.
- Архиваторы сообщений — содержит таблицу с перечнем архиваторов сообщений, доступных для резервирования, и текущее их состояние:
- Архиватор — полный идентификатор архиватора сообщений;
- Имя — имя архиватора;
- Запущен — признак исполнения архиватора локальной станцией;
- Резервирование — режим резервирования архиватора, включение;
- Предпочтение исполнения — конфигурация предпочтительного исполнения на указанной станции, может быть изменён; зарезервированные значения указывают на: <Высокий уровень> — исполнение на станции с наивысшим уровнем, <Низкий уровень> — исполнение на станции с самым низким уровнем, <Оптимально> — выбор для исполнения наименее нагруженной станции.
- Удалённый — признак, указывающий на исполнение архиватора удалённой станцией и работу локальной станции в режиме синхронизации данных с удалённой.
Рис. 4.6b. Вкладка "Резервирование" подсистемы "Архивы".
Вкладка "Архив сообщений" (рис.4.6c) содержит конфигурацию архива сообщений и форму запроса сообщений из архива.
Конфигурация архива сообщений представлена полями:
- Размер буфера сообщений — указывает на размерность области оперативной памяти зарезервированное на промежуточный буфер сообщений. Сообщения из буфера запрашиваются для просмотра и архивируются архиваторами сообщений.
- Период архивирования сообщений — периодичность, с которой архиваторы выбирают сообщения из буфера для их архивирования.
Форма запроса сообщений содержит конфигурационные поля запроса и таблицу результата. Конфигурационные поля запроса:
- Время, размер (сек.) и уровень — указывает время, размер или глубину (в секундах) и минимальный уровень сообщений (более или равный указанному) запроса.
- Шаблон категории — указывает категорию запрошенных сообщений. В категории можно указывать элементы выборки по шаблону, а именно символы "*" — для любой подстроки и "?" — для любого символа, а также регулярное выражение заключённое между символами '/' (/mod_(System|LogicLev)/).
- Архиваторы — указывает архиваторы сообщений (разделённые символом ';'), для которых обрабатывать запрос. Если значение отсутствует, то запрос будет обработан для буфера и всех архиваторов. Если указано "<buffer>", то запрос будет обработан для буфера сообщений.
Таблица результата содержит строки сообщений с колонками:
- Время — время сообщения.
- Категория — категория сообщения.
- Уровень — уровень сообщения.
- Сообщение — текст сообщения.
Рис. 4.6c. Вкладка "Архив сообщений" подсистемы "Архивы".
Вкладка "Архивы значений" (рис.4.6d) содержит общую конфигурацию архивирования значений и список архивов значений. В контекстном меню списка значений пользователю предоставляется возможность добавления, удаления и перехода к нужному архиву. Общая конфигурация архивирования представлена полями:
- Период получения данных (мс) — указывает периодичность задачи активного архивирования. Фактически, максимальная детализация или минимальный период, активных архивов определяется этим значением.
- Уровень приоритета задачи получения данных — устанавливает приоритетность задачи активного архивирования. Используется при планировании задач операционной системой. В случае наличия доступа это поле включает планирование задачи архивирования в режиме реального времени и указанным приоритетом иначе модифицирует параметр "nice" задачи.
- Принудительно устанавливать метку времени в текущее время — метка времени значений, полученных при активном архивировании, принудительно устанавливается в текущее время, заменяя время источника данных.
Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы "Архивы" и идентична для всех модульных подсистем.
Рис. 4.6d. Вкладка "Архивы значений" подсистемы "Архивы".
Архив значений подсистемы "Архивы" предоставляет конфигурационную страницу с вкладками "Архив", "Архиваторы" и "Значения".
Вкладка "Архив" (рис.4.6e) содержит основные настройки архива в составе:
- Раздел "Состояние" — Содержит свойства, характеризующие состояние архива:
- Выполняется — Состояние архива "Выполняется". Исполняющийся архив собирает данные в буфер и обслуживается архиваторами.
- Начало и конец буфера — Время начала и конца значений в буфере.
- БД архива — Адрес БД для хранения конфигурации архива.
- Раздел "Конфигурация" — Непосредственно содержит поля конфигурации:
- ID — Информация об идентификаторе архива.
- Имя — Указывает имя архива.
- Описание — Краткое описание архива и его назначения.
- Запускать — Указывает на состояние "Выполняется", в которое переводить архив при загрузке.
- Источник — Указывает на тип и адрес источника. Тип источника указывается из списка: "Пассивный", "Пассивный атрибут параметра" или "Активный атрибут параметра". Пассивный архив не имеет ассоциированного источника значений; данные в такой архив источник передаёт самостоятельно, например, из пользовательских вычислительных процедур посредством внутреннего языка программирования. Типы, с атрибутом параметра в поле адреса, указывают на параметр подсистемы "Сбор данных" как источник. Пассивный атрибут параметра направляет данные в архив самостоятельно с собственным периодом сбора данных. Активный атрибут параметра опрашивается задачей архивирования этой подсистемы. Фактически все источники реальных данных работают в пассивном режиме архивирования поскольку полученные данные сразу помещают в атрибут параметра, иногда по метке времени. А вот вычислители (DAQ.JavaLikeCalc, DAQ.LogicLev, DAQ.BlockCalc) могут работать только в активном режиме архивирования, поскольку данные в атрибуте параметра обновляются только при их непосредственном запросе и берутся из контекста вычисления. В случае с источниками реальных данных, разница между активным и пассивным режимом архивирования определяется тем, что в пассивном режиме источник может помещать данные в архив по метке времени, а в активном режиме метка времени всегда устанавливается в текущее системное время.
- Режим объединения данных — Устанавливает режим объединения данных при записи с буфера высокого разрешения (например, 1с) в архиватор низкого разрешения (например, 1мин.), когда в одну точку архиватора попадает несколько значений из буфера (например, 60). Реализованы режимы: "Скользящее среднее", "Один", "Минимум" и "Максимум".
- Тип значений — Указывает на тип значений, хранящихся в архиве, из списка: "Логический", "Целый", "Вещественный", "Строка", "Целое16", "Целое32", "Целое64", "Вещ.(Float)" и "Вещ.(Double).
- Период буфера (сек) — Указывает на периодичность значений в буфере архива.
- Размер буфера (единиц) — Указывает размерность или глубину буфера архива. Размерность обычно устанавливается в пересчёте на 60 сек периодичности задачи архивирования с запасом.
- Жесткая сетка времени буфера — Указывает на режим буфера. Режим жёсткой сетки подразумевает резервирование памяти под каждое значение, но без метки времени. Такой режим исключает возможность упаковки смежно-одинаковых значений, но экономит на хранении метки времени. Иначе буфер работает в режиме хранения значения и метки времени и поддерживает упаковку смежно-одинаковых значений.
- Высокое разрешение времени буфера — указывает на возможность хранения значений с периодичностью до 1 микросекунды, иначе значения могут храниться с периодичностью до 1 секунды.
- Заполнение проходных точек последним значением — в основном проходные значения заполняются EVAL однако иногда периодичность значений источника больше периодичности этого архива и это нормально.
Рис. 4.6e. Основная вкладка конфигурации архива значений подсистемы "Архивы".
Вкладка "Архиваторы" (рис.4.6f) содержит таблицу с конфигурацией процесса обработки данного архива доступными архиваторами. В строках расположены доступные архиваторы, а в колонках параметры:
- Архиватор — информация об адресе архиватора.
- Запущен — информация о состоянии "Запущен" архиватора.
- Обработка — признак обработки данного архива архиватором. Поле доступно для модификации пользователем.
- Период (c) — информация о периодичности архиватора.
- Начало — дата и время начала данных архива в архиваторе.
- Конец — дата и время конца данных архива в архиваторе.
Рис. 4.6f. Вкладка "Архиваторы" архива значений подсистемы "Архивы".
Вкладка "Значения" (рис.4.6g) содержит запрос значений в архиве и результат в виде таблицы значений или изображения тренда. Запрос значений содержит поля:
- Время — указывает время запроса. Содержит два поля: поле дата+время и микросекунды.
- Размер — указывает размер или глубину запроса в секундах.
- Архиватор — указывает архиватор значений для которого обрабатывать запрос. Если значение отсутствует, то запрос будет обработан для буфера и всех архиваторов. Если указано "<buffer>", то запрос будет обработан только для буфера архива.
- Показать график — указывает на необходимость представления данных архива в виде графика (тренда), иначе результат представляется в таблице, содержащей только время и значение. В случае установки этого поля формируется и отображается график, кроме того появляются дополнительные конфигурационные поля настройки изображения:
- Размер изображения — указывает ширину и высоту формируемого изображения в пикселах.
- Шкала значения — указывает нижнюю и верхнюю границу шкалы значения. Если оба значения установлены в 0 или равны, то шкала будет определяться автоматически в зависимости от значений.
Рис. 4.6g. Вкладка "Значения" архива значений подсистемы "Архивы".
Каждый модуль подсистемы "Архивы" предоставляет конфигурационную страницу с вкладками "Архиваторы" и "Модуль". Вкладка "Архиваторы" (рис.4.6h) содержит списки архиваторов сообщений и значений, зарегистрированных в модуле. В контекстном меню списков пользователю предоставляется возможность добавления, удаления и перехода к нужному контроллеру. Во вкладке "Модуль" содержится информация о модуле подсистемы "Архивы" (рис.4.1d), состав которой идентичен для всех модулей.
Рис. 4.6h. Вкладка "Архиваторы" модуля подсистемы "Архивы".
Архиваторы сообщений содержат собственную страницу конфигурации с вкладками "Архиватор" и "Сообщения".
Вкладка "Архиватор" (рис.4.6i) содержит основные настройки. Состав этих настроек может несколько отличаться от одного модуля этой подсистемы к другому о чём можно узнать в собственной документации модулей. В качестве примера рассмотрим настройки архиватора сообщений у модуля архива на файловую систему Arch.FSArch:
- Раздел "Состояние" — содержит свойства характеризующие состояние архиватора:
- Выполняется — состояние архиватора "Выполняется". Исполняющийся архиватор обрабатывает буфер архива сообщений и помещает его данные в своё хранилище, а также обслуживает запросы на доступ к данным в хранилище.
- БД архиватора — адрес БД для хранения данных архиватора.
- Конец — дата+время последних данных в хранилище архиватора.
- Начало — дата+время первых данных в хранилище архиватора.
- Размер файлов архиватора (кБ) — информация о суммарном размере файлов архиватора с данными.
- Время архивирования (мс) — время, затраченное на архивирование данных архива сообщений.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе архиватора.
- Имя — указывает имя архиватора.
- Описание — краткое описание архиватора и его назначения.
- Запускать — указывает на состояние "Выполняется", в которое переводить архиватор при загрузке.
- Категории сообщений — список категорий сообщений, разделённый символом ';'. Сообщения, попавшие под шаблоны или регулярные выражения категорий, будут обрабатываться архиватором. В категории можно указывать элементы выборки по шаблону, а именно символы '*' — для любой подстроки и '?' — для любого символа, а также регулярное выражение заключённое между символами '/' (/mod_(System|LogicLev)/).
- Уровень сообщений — указывает на уровень сообщений архиватора. Сообщения с уровнем более или равным указанному обрабатываются архиватором.
- Адрес — адрес хранилища в специфичном для типа архиватора (модуля) формате. Описание формата записи адреса архиватора, как правило, доступно во всплывающей подсказке этого поля. В примере это относительный путь к директории хранилища.
- Раздел "Дополнительные опции" — специализированный для модуля раздел, о содержимом которого, можно ознакомиться в документации на модуль.
Рис. 4.6i. Главная вкладка конфигурации архиватора сообщений подсистемы "Архивы".
Вкладка "Сообщения" (рис.4.6j) содержит форму запроса сообщений из архива данного архиватора:
- Время, размер (сек.) и уровень — указывает время, размер или глубину (в секундах) и минимальный уровень сообщений (более или равный указанному) запроса.
- Шаблон категории — указывает категорию запрошенных сообщений. В категории можно указывать элементы выборки по шаблону, а именно символы '*' — для любой подстроки и '?' — для любого символа, а также регулярное выражение заключённое между символами '/' (/mod_(System|LogicLev)/).
Таблица результата содержит строки сообщений с колонками:
- Время — время сообщения.
- Категория — категория сообщения.
- Уровень — уровень сообщения.
- Сообщение — текст сообщения.
Рис. 4.6j. Вкладка запроса сообщений "Сообщения" архиватора сообщений подсистемы "Архивы".
Архиваторы значений содержат собственную страницу конфигурации с вкладками "Архиватор" и "Архивы".
Вкладка "Архиватор" (рис.4.6k) содержит основные настройки. Состав этих настроек может несколько отличаться от одного модуля этой подсистемы к другому, о чём можно узнать в собственной документации модулей. В качестве примера рассмотрим настройки архиватора значений у модуля архива на файловую систему Arch.FSArch:
- Раздел "Состояние" — содержит свойства характеризующие состояние архиватора:
- Выполняется — состояние архиватора "Выполняется". Исполняющийся архиватор обрабатывает буфера архивов значений и помещает их данные в своё хранилище, а также обслуживает запросы на доступ к данным в хранилище.
- Время архивирования (мс) — информация о времени затраченном на архивирование данных буферов архивов. Периодичность архивирования указывается в поле "Период архивирования" раздела "Конфигурация" этой вкладки.
- БД архиватора — адрес БД для хранения данных архиватора.
- Раздел "Конфигурация" — непосредственно содержит поля конфигурации:
- ID — информация об идентификаторе архиватора.
- Имя — указывает имя архиватора.
- Описание — краткое описание архиватора и его назначения.
- Запускать — указывает на состояние "Выполняется", в которое переводить архиватор при загрузке.
- Адрес — адрес хранилища в специфичном для типа архиватора (модуля) формате. Описание формата записи адреса архиватора, как правило, доступно во всплывающей подсказке этого поля. В примере это относительный путь к директории хранилища.
- Периодичность значений (сек) — указывает периодичность значений, которые содержаться в хранилище архиватора.
- Период архивирования (сек) — указывает периодичность задачи архивирования данных буферов архивов. Размерность буферов архивов во временном выражении должна быть не менее, а лучше несколько больше, периодичности задачи архивирования. Установить нулевой период для отключения использования архиватора в обработке буфера, только прямая запись.
- Приоритет выбора — Приоритет выбора архиватора для режима использования источника "Все". Установить в нуль для полного исключения из выбора.
- Раздел "Дополнительные опции" — специализированный для модуля раздел, о содержимом которого можно ознакомиться в документации на модуль.
Рис. 4.6k. Главная вкладка конфигурации архиватора значений подсистемы "Архивы".
Вкладка "Архивы" (рис.4.6l) содержит таблицу с информацией об архивах, обрабатываемых архиватором. В строках таблица содержит архивы, а в колонках информацию:
- Архив — имя архива.
- Период — периодичность архива в секундах.
- Размер буфера — размерность буфера в единицах.
- Размер файлов (Мб) — специфичное для модуля Arch.FSArch поле с информацией о суммарной размерности файлов хранилища архиватора для архива.
В случае с модулем Arch.FSArch в этой вкладке ещё содержится форма экспорта данных архиватора.
Рис. 4.6l. Вкладка "Архивы" архиватора значений подсистемы "Архивы".
4.7. Подсистема "Пользовательские интерфейсы"
Подсистема является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Пользовательские интерфейсы", содержащая вкладку "Модули". Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы и идентична для всех модульных подсистем.
Каждый модуль подсистемы "Пользовательские интерфейсы" предоставляет конфигурационную страницу с вкладками "Пользовательский интерфейс" и "Модуль". Вкладка "Пользовательский интерфейс" (рис.4.7a) предоставляет параметр для контроля за состоянием "Выполняется" модуля, а также разделы конфигурации специализированные для модулей этой подсистемы. Во вкладке "Модуль" содержится информация о модуле подсистемы "Пользовательские интерфейсы" (рис.4.1d), состав которой идентичен для всех модулей.
Рис. 4.7a. Вкладка "Пользовательский интерфейс" модуля подсистемы "Пользовательские интерфейсы".
4.8. Подсистема "Специальные"
Подсистема является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы "Специальные", содержащая вкладку "Модули". Вкладка "Модули" (рис.4.1b) содержит список модулей подсистемы и идентична для всех модульных подсистем.
Каждый модуль подсистемы "Специальные" предоставляет конфигурационную страницу с вкладками "Специальный модуль" и "Модуль". Вкладка "Специальный модуль" (рис.4.8a) предоставляет параметр для контроля за состоянием "Выполняется" модуля, а также разделы конфигурации специализированные для модулей этой подсистемы. Во вкладке "Модуль" содержится информация о модуле подсистемы "Специальные" (рис.4.1d), состав которой идентичен для всех модулей.
Рис. 4.8a. Вкладка "Специальный модуль" модуля подсистемы "Специальные".
4.9. Подсистема "Управление модулями"
Подсистема не является модульной. Для конфигурации подсистемы предусмотрена страница подсистемы "Управление модулями", содержащая вкладку "Подсистема". Вкладка "Подсистема" (рис.4.9a) содержит основные настройки подсистемы. Состав вкладки "Подсистема":
- Путь к разделяемым библиотекам (модулям) — информация о расположении директории с модулями системы OpenSCADA. Устанавливается параметром <ModDir> станции, конфигурационного файла.
- Запрещённые модули — список, разделённый символом ';', модулей, запрещённых для автоматического подключения и обновления. Устанавливается параметром <ModDeny> раздела подсистемы "sub_ModSched" станции конфигурационного файла. Список запрещённых модулей имеет больший приоритет чем разрешённых.
- Разрешённые модули — список, разделённый символом ';', модулей, разрешённых для автоматического подключения и обновления. Значение '*' используется для разрешения всех модулей. Устанавливается параметром <ModAllow> раздела подсистемы, sub_ModSched, станции, конфигурационного файла.
- Период проверки модулей (сек) — указывает на периодичность проверки модулей на факт их обновления. Модули, допустимые для автоматического подключения и обновления, будут автоматически обновлены.
- Проверить модуль сейчас — команда выполнить проверку модулей на факт их обновления. Модули, допустимые для автоматического подключения и обновления, будут автоматически обновлены.
- Разделяемые библиотеки (модули) — таблица с перечнем разделяемых библиотек с модулями, обнаруженными OpenSCADA. В строках расположены модули, а в колонках информация о них:
- Путь — информация о полном пути к разделяемой библиотеке.
- Время — информация о времени последней модификации файла разделяемой библиотеки.
- Модули — информация о перечне модулей в разделяемой библиотеке.
- Включен — состояние "Включен" разделяемой библиотеки. Привилегированным пользователям предоставляется возможность ручного включения/выключения разделяемых библиотек путём изменения этого поля.
Рис. 4.9a. Главная вкладка конфигурации подсистемы "Управление модулями".
Action source page doesn't exist yet(/Doc / Program Manual / part 4 / part 10?)