Cодержит описание системы OpenSCADA, её функций, назначения и применения.
Введение.
Данный документ является описанием 'open source' проекта системы именуемой 'OpenSCADA'. OpenSCADA представляет собой открытую SCADA систему построенную по принципам модульности, многоплатформенности и масштабируемости.
В качестве политики разработки данной системы выбраны 'open source' принципы. Выбор данной политики определяется необходимостью создания открытой, надёжной и общедоступной SCADA системы. Данная политика позволяет привлечь к разработке, тестированию, развитию, распространению и использованию продукта значительное количество разработчиков, энтузиастов и других заинтересованных лиц с минимизацией и распределением финансовых затрат.
Система OpenSCADA предназначена для сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также других родственных операций характерных для полнофункциональной SCADA системы. Благодаря высокому уровню абстракции и модульности, система может использоваться во многих смежных областях.
Система OpenSCADA может применяться:
на промышленных объектах, в качестве полнофункциональной SCADA системы;
во встраиваемых (embeded) системах, в качестве среды исполнения, в том числе внутри PLC (программируемых логических контроллерах);
для построения различных моделей (технологических, химических, физических, электрических процессов);
на персональных компьютерах, серверах и кластерах для сбора, обработки, представления и архивации информации о системе и её окружении.
В качестве базовой (хостовой) операционной системы, для разработки и использования, выбрана ОС Linux, которая является оптимальным компромиссом в вопросах:
надёжности (большая доля серверов и кластеров работает на GNU/Linux);
гибкости/масштабируемости (ввиду своей открытости и модульности позволяет строить решения под любые требования);
доступности (благодаря лицензии GPL является полностью свободной системой, а при высокой квалификации пользователя и бесплатной);
популярности, развитости, поддержке, распространённости (система активно развивается множеством энтузиастов, фирм и государственными учреждениями со всего мира, получает всё большую поддержку на пользовательском и корпоративном рынке, активно внедряется в государственные структуры различных стран).
Поскольку проект разрабатывается и реализуется по принципам многоплатформенности, то не составляет проблемы портировать его на другие ОС, что в дальнейшем и планируется.
Сердцем системы является модульное ядро. И в зависимости от того какие модули подключены система может выступать как в роли различных серверов, так и в роли разнообразных клиентов, а также совмещать эти функции в одной программе. Это позволяет реализовывать клиент-серверную архитектуру SCADA системы на базе одних и тех же компонентов/модулей, экономя при этом: машинную память, дисковое пространство, а также ценное время программистов.
Серверные конфигурации системы предназначены для сбора, обработки, выдачи воздействий, архивирования, протоколирования информации от различных источников, а также предоставления этой информации клиентам (UI, GUI, TUI ...). Модульная архитектура позволяет расширять функциональность сервера без его перегрузки.
Клиентские конфигурации могут строиться на основе различных графических библиотек (GUI/TUI ToolKits), как используя ядро программы и его модули (путём добавления к нему UI-user interface модуля), так и в качестве самостоятельного приложения, подключая ядро OpenSCADA как библиотеку.
Возможность гибкой конфигурации системы позволяет строить решения под конкретные требования надёжности, функциональности и размеры системы.
Action source page doesn't exist yet(/Doc / Program Manual / part 1?) Action source page doesn't exist yet(/Doc / Program Manual / part 2?) Action source page doesn't exist yet(/Doc / Program Manual / part 3?)
3. Варианты конфигурирования и использования.
3.1. Простое серверное подключение.
В простейшем случае систему OpenSCADA можно сконфигурировать в серверном режиме (рис. 3) для сбора и архивирования данных. Данная конфигурация позволяет выполнять следующие функции:
опрос контроллеров;
архивирование значений параметров;
обслуживание клиентских запросов на получение различных данных сервера;
предоставление конфигурационного WEB-интерфейса;
удалённая конфигурация из системы OpenSCADA посредством QT-интерфейса или другого локального интерфейса.
вторичное регулирование (регулирование в вычислительных контроллерах);
моделирующие, корректирующие и дополняющие вычисления в вычислительных контроллерах.
Для повышения надёжности и производительности система OpenSСADA допускает множественное резервирование (рис. 4), при котором контроллеры одного экземпляра отражаются в другом. При использовании подобной конфигурации возможно распределение нагрузки опроса/вычисления на различных станциях. Данная конфигурация позволяет выполнять функции:
опрос контроллеров;
архивирование значений параметров;
обслуживание клиентских запросов на получение различных данных сервера;
резервирование параметров;
резервирование архивов;
распределение нагрузки опроса по серверам;
предоставление конфигурационного WEB интерфейса;
вторичное регулирование (регулирование в вычислительных контроллерах);
моделирующие, корректирующие и дополняющие вычисления в вычислительных контроллерах с возможностью распределения нагрузки по серверам.
3.3. Дублированное серверное подключение на одном сервере.
Частным случаем дублированного соединения является дублированное соединение в рамках одного сервера (рис. 5), т. е запуск нескольких станций на одной машине с перекрещиванием параметров. Целью данной конфигурации является повышение надёжности и отказоустойчивости системы путём резервирования ПО.
file:oscadadsserver.png
Рис. 5. Дублированное серверное подключение на одном сервере.
3.4. Клиентский доступ посредством Web-интерфейса. Место руководителя.
Для визуализации данных содержащихся на сервере, хорошим решением является использование пользовательского WEB-интерфейса (рис. 6). Данное решение позволяет использовать стандартный WEB-браузер у клиента и следовательно является наиболее гибким, поскольку не привязано к одной платформе, т.е. является кроссплатформенным. Однако это решение имеет существенные недостатки – это невысокая производительность и надёжность. В связи с этим рекомендуется использовать данный метод для визуализации некритичных данных или данных имеющих резервный высоконадёжный способ визуализации. Например, хорошим решением будет использование этого метода у начальства промышленных установок, где всегда существует операторская с надёжным способом визуализации. Данная конфигурация позволяет выполнять следующие функции:
опрос сервера на предмет получения данных визуализации и конфигурации;
визуализация данных в доступном для понимания виде;
формирование протоколов, отчётов;
манипуляция параметрами допускающими изменение.
file:oscadawwwclient.png
Рис. 6. Клиентский доступ посредством Web-интерфейса. Место руководителя.
3.5. Автоматизированное рабочее место (место руководителя/оператора).
Для визуализации критических данных, а также в случае если требуется высокое качество и производительность, можно использовать визуализацию на основе системы OpenSCADA сконфигурированной с GUI модулем (рис. 7). Данная конфигурация позволяет выполнять следующие функции:
опрос сервера на предмет обновления текущих значений;
визуализация опрошенных данных в доступном для понимания виде;
формирование протоколов и отчётов;
манипуляция параметрами допускающими изменения.
file:oscadaclservsepar.png
Рис. 7. Автоматизированное рабочее место (место руководителя/оператора)
3.6. АРМ с сервером сбора и архивирования на одной машине (место оператора, модель ...).
Полнофункциональная клиент-серверная конфигурация на одной машине (рис. 8) может использоваться для повышения надёжности системы в целом путём запуска клиента и сервера в разных процессах. Данная конфигурация позволяет, без последствий для сервера, останавливать клиент и выполнять с ним различные профилактические работы. Рекомендуется для использования на станциях оператора путём установки двух машин совмещающих в себе станции оператора и резервированный сервер. Данная конфигурация позволяет выполнять следующие функции:
опрос контроллеров;
обслуживание клиентских запросов;
визуализация;
выдача управляющих воздействий;
генерация протоколов и отчётов;
вторичное регулирование;
моделирующие, корректирующие и дополнительные вычисления в вычислительных контроллерах;
сбор и визуализация информации о персональном компьютере, сервере ... .
file:oscadaclserv.png
Рис. 8. АРМ с сервером сбора и архивирования на одной машине (место оператора, модель ...)
Смешанное подключение совмещает функции сервера и клиента (рис. 9). Может использоваться для тестовых, демонстрационных функций, а также для предоставления моделей технологических процессов как единое целое. В этом режиме могут выполняться следующие функции:
опрос контроллеров;
обслуживание клиентских запросов;
визуализация;
выдача управляющих воздействий;
генерация протоколов и отчётов;
вторичное регулирование;
моделирующие, корректирующие и дополняющие вычисления в вычислительных контроллерах;
сбор и визуализация текущей информации о персональном компьютере, сервере, модели ... ;
Сервер опроса, конфигурируется на основе системы OpenSCADA и представляет собой задачу (группу задач) занимающихся опросом контроллера (группы контроллеров одного типа). Полученные значения доступны центральному серверу через любой транспорт, поддержка которого добавляется путём подключения соответствующего модуля транспорта. Для снижения частоты опроса и величины сетевого трафика, сервер опроса может оснащаться небольшим архивом значений. Конфигурация сервера опроса хранится в одной из доступных БД.
Центральный сервер архивирования и обслуживания клиентских запросов выполняет функцию централизованного сбора и обработки параметров серверов опроса и их значений. Доступ к серверам опроса выполняется посредством одного из доступных в OpenSCADA транспортов+протоколов (на примере это SGA). Для предоставления единого интерфейса доступа к параметрам и контроллерам используется модуль Transporter, который отражает данные серверов опроса на структуру локальных параметров.
Для выполнения внутренних вычислений и дополнительного анализа параметров используются вычислительные контроллеры.
Для разностороннего и глубокого архивирования используются различные модули архивов.
Для доступа клиентов к серверу используются доступные для OpenSCADA сетевые транспорты, на примере это Sockets, и транспортные протоколы, на примере это протокол OpenSCADA 'SelfSystem'.
Конфигурация центрального сервера хранится в одной из доступных БД (на примере это сетевая СУБД MySQL).
Для предоставления пользовательского WEB-интерфейса используется модуль WebCfg посредством транспортного протокола 'HTTP'.
Различные клиенты, в их числе АРМ и WEB-клиенты, выполняются на отдельных машинах в необходимом количестве. АРМ реализуется на основе системы OpenSCADA. В его функции входит опрос значений параметров из центрального сервера и их визуализация на GUI интерфейсе(ах). Для получения параметров в АРМ, также, используется модуль отражения удалённых параметров Transporter. Для предоставления доступа к архивам может использоваться модуль архива сетевого типа. Конфигурация АРМ может храниться в одной из доступных БД (в примере это сетевая СУБД MySQL, расположенная на машине центрального сервера архивирования).
4. Конфигурация и настройка системы.
Как можно видеть в разделе выше, OpenSCADA предоставляет возможность конфигурации для выполнения в различных ролях. Поддержка этой возможности обеспечивается развитыми механизмами конфигурации и хранения конфигурационных данных. Данный раздел содержит описание этих механизмов, призваное дать представление о гибкости и разнообразии и позволив тем самым использовать OpenSCADA на 100%.
При описании механизмов конфигурации и способов её хранения, в этом разделе, будет делаться упор на описание общесистемных механизмов. Особенности конфигурации и использования модулей подсистем OpenSCADA предоставляются в собственной документации модулей.
В OpenSCADA используется формализованный подход к описанию конфигурационных интерфейсов, основанный на языке XML. Фактически, особенности конфигурации компонента системы предоставляется самим компонентом, пронизывая тем самым всю систему, как нервная система организма. В терминах OpenSCADA это называется интерфейсом контроля OpenSCADA (Control interface). На основе интерфейса контроля формируются графические интерфейсы конфигурации пользователя посредством модулей OpenSCADA. Такой подход имеет следующие важные преимущества:
Масштабируемость. Можно подключать только нужные модули конфигурации или вообще использовать только удалённые механизмы.
Исключение необходимости обновления конфигураторов с добавлением нового модуля/функции, а также исключение 'распухания' конфигуратора обеспечивающего поддержку всей истории уже ненужных и устаревших модулей/функций.
Простота создания графических интерфейсов конфигурации на различной основе за счёт чёткой формализованости.
Предоставляется возможность динамической конфигурации, т.е. конфигурацию можно выполнять непосредственно при работе системы как локально, так и удалённо, непосредственно контролируя результат.
Простая и целевая расширяемость конфигурационного интерфейса, путём добавления полей конфигурации на языке описания интерфейса управления только в компонентах этого требующих.
В OpenSCADA уже предоставляется три модуля конфигурации на разной основе визуализации. Отметим их и их возможности конфигурации:
Модуль конфигурации на библиотеке графического интерфейса QT(http://www.trolltech.com/qt) - UI.QTCfg. Предоставляет развитый интерфейс конфигурации позволяющий управлять как локальной станцией, так и удалёнными станциями в локальной сети и глобальной сети, включая безопасное соединение.
Модуль конфигурации на основе динамических WEB-технологий (DHTML) - UI.WebCfgD. Предоставляет развитый интерфейс конфигурации позволяющий управлять как локальной станцией сервера, так и удалёнными станциями в локальной сети и глобальной сети, включая работу по безопасному соединению. Клиентское подключение осуществляется посредством обычного Web-браузера.
Модуль конфигурации на основе статических WEB-технологий (XHTML) - UI.WebCfg. Предоставляет достаточный интерфейс конфигурации позволяющий управлять локальной станцией сервера посредством обычного Web-браузера.
Значения конфигурации, изменённые в конфигураторах, а также большинство данных, сохраняются в базах данных (БД). Учитывая модульность подсистемы 'БД' ими могут быть различные БД. Причём предоставляется возможность хранения разных частей OpenSCADA как в разных БД одного типа, так и БД разных типов.
Кроме БД, данные о конфигурации могут содержаться в конфигурационном файле OpenSCADA, а также передаваться посредством параметров командной строки при вызове OpenSCADA. Однако сохранение изменений конфигурации в конфигураторах доступно только в БД. Типовым именем конфигурационного файла OpenSCADA является /etc/oscada.xml. Формат конфигурационного файла и параметры командной строки рассмотрим в отдельном разделе.
Дальнейшее рассмотрение конфигурации OpenSCADA будет производиться на основе интерфейса конфигуратора UI.QTCfg, однако принципы работы будут полностью соответствовать и остальным конфигураторам благодаря общности в используемом интерфейсе контроля OpenSCADA.
Рассмотрение начнём с конфигурации системных параметров OpenSCADA, которая размещается в трёх вкладках корневой страницы станции:
Вкладка 'Станция' содержит основные информационные и конфигурационные поля станции, рис.11. Перечислим предоставляемые поля и прокомментируем их:
Имя станции -- содержит информацию о имени станции. Устанавливается параметром коммандной строки --Station, при загрузке ищет соответствующий станции раздел в конфигурационном файле и если не находит то использует первый доступный.
Программа -- содержит информацию о имени программы. Обычно это OpenSCADA или имя основанного на OpenSCADA решения.
Версия -- содержит информацию о текущей версии программы.
Имя хоста -- содержит информацию о имени машины на которой запущена станция.
Системный пользователь -- содержит информацию о пользователе от имени которого выполняется программа в системе (ОС).
Операционная система -- содержит информацию о имени и версии ОС, ядре ОС, на которой исполняется программа.
Частота (МГц) -- содержит информацию о частоте центрального процессора которым исполняется программа. Значение частоты проверяется раз в 10 секунд и позволяет отслеживать её изменение, например механизмами управления питанием.
Разрешение часов реального времени (мс) -- содержит информацию о возможности или разрешение часов реального времени ОС. Позволяет сориентироваться с минимальным интервалом времени периодических задач, например для задач сбора данных.
Внутренняя кодировка -- содержит информацию о кодировке в которой хранятся текстовые сообщения внутри программы.
Конфигурационный файл -- содержит информацию о конфигурационном файле используемом программой. Устанавливается параметром коммандной строки --Config.
Рабочая директория -- указывает на рабочую директорию станции. Используется в относительной адресации объектов на файловой системе, например файлов БД. Допускает изменение пользователем.
Директория иконок -- указывает на директорию содержащую иконки программы. Если в дереве навигации конфигуратора отсутствуют иконки то Вы неправильно указали значение этого поля.
Директория модулей -- указывает на директорию модулей для OpenSCADA. Если значение этого поля некорректно то при запуске Вы не увидите никакого графического интерфейса, а только информацию в консоли о корректном запуске ядра OpenSCADA.
Рабочая БД -- указывает на рабочую базу данных (БД), а именно БД используемую для хранения основных данных программы. Изменение этого поля отмечает все объекты программы как модифицированные, что позволяет сохранить или загрузить данные станции из указанной основной БД.
Сохранять систему при выходе -- указывает на необходимость сохранения изменённых данных при завершении работы.
Период сохранения системы -- указывает на периодичность, в секундах, с которой сохранять изменённые данные станции.
Язык -- указывает на язык сообщений программы. Изменение этого поля допустимо, однако приводит к изменению языка сообщений только для интерфейса и динамических сообщений!
Сообщения: -- раздел группы параметров управляющих работой с сообщениями станции:
Наименьший уровень: -- указывает на уровень сообщений начиная с которого необходимо их обрабатывать. Сообщения ниже этого уровня будут игнорироваться. Необходимо например, для исключения из обработки отладочных сообщений, уровень 0.
В системный логер(syslog) -- указывает на необходимость направления сообщений в системный логер, механизм ОС для работы с сообщениями системы и ПО. При включения этого параметра появляется возможность управлять и контроллировать сообщения OpenSCADA механизмами ОС.
На стандартный выход(stdout) -- указывает на ипользование в качестве вывода сообщения стандартного механизмы вывода в консоль. Выключение этого свойства исключит весь вывод в консоль, если не указан следующий параметр.
На стандартный выход ошибок(stderr) -- указывает на ипользование в качестве вывода сообщения стандартного механизмы вывода ошибок, обычно тоже направляется в консоль.
В архив -- указывает на необходимость вывода сообщений в архив сообщений OpenSCADA. Этот параметр обычно включен, а его выключение приводит к фактическому отключению архивирования сообщений на станции.
Вкладка 'Подсистемы' содержит список подсистем (рис.12) и позволяет выполнять прямые переходы к ним с помощью контекстного меню.
Вкладка 'Помощь' содержит краткую помощь для данной страницы, рис.13. В данном случае это доступные параметры командной строки и поля конфигурационного файла для данной страницы.
Для модификации полей этой страницы могут потребоваться права привилегированного пользователя. Получить такие права можно включив вашего пользователя в группу суперпользователя 'root' или войдя на станцию от имени суперпользователя 'root'.
Нужно отметить ещё один важный момент - поля идентификаторов всех объектов OpenSCADA недопустимы для прямого редактирования, поскольку являются ключом для хранения данных объектов в БД. Однако поменять идентификатор объекта можно с помощью команды переноса и последующей вставки объекта (Cut->Paste) в конфигураторе.
file:sys_st.png
Рис. 11. Вкладка 'Станция' корневой страницы конфигурации системы.
file:sys_sub.png
Рис. 12. Вкладка 'Подсистемы' корневой страницы конфигурации системы.
file:sys_help.png
Рис. 13. Вкладка 'Помощь' корневой страницы конфигурации системы.
При рассмотрении страниц конфигурации модульных подсистем будет описаны общие для всех модулей свойства. Однако нужно отметить, что каждый модуль может предоставлять как дополнительные вкладки так и отдельные поля для конфигурации собственных особенностей функционирования для страниц объекты которых наследуются модулями. Об особенностях и дополнениях модулей можно ознакомиться в отдельной документации на них.
4.1. Подсистема 'БД'
Подсистема является модульной и содержит иерархию объектов изображённую на рис.14. Для конфигурации подсистемы предусмотрена корневая страница подсистемы 'БД', содержащая вкладки 'Модули' и 'Помощь'. Вкладка 'Модули' (рис.15) содержит список модулей подсистемы 'БД' доступных на станции. Вкладка 'Помощь' содержит краткую помощь для данной страницы.
Для модификации полей страниц этой подсистемы могут потребоваться права привилегированного пользователя или включение вашего пользователя в группу 'БД'.
file:subsys_db_str.png
Рис. 14. Иерархическая структура подсистемы 'БД'.
Каждый модуль подсистемы 'БД' предоставляет конфигурационную страницу с вкладкам 'БД' и 'Помощь'. Вкладка 'БД' (рис.16) содержит список БД, зарегистрированных в модуле и флажёк признака полного удаления БД при выполнении команды удаления. В контекстном меню списка БД предоставляется пользователю возможность добавления, удаления и перехода к нужной БД. Во вкладке 'Помощь' содержится информация о модуле подсистемы 'БД' (рис.17):
Модуль -- идентификатор модуля.
Имя -- имя модуля.
Тип -- тип модуля, идентификатор подсистемы к которой модуль принадлежит.
Источник -- разделяемая библиотека - источник данного модуля.
Версия -- версия модуля.
Автор -- автор модуля.
Описание -- краткое описание модуля.
Лицензия -- лицензионное соглашение распространения модуля.
Каждая БД содержит собственную страницу конфигурации с вкладками 'База данных' и 'Таблицы'. Кроме основных операций можно выполнять копирование содержимого БД стандартной функцией копирования объектов в конфигураторе. Операция копирования содержимого БД подразумевает копирования исходной БД в БД назначения, при этом содержимое БД назначения не очищается перед операцией копирования. Копирование содержимого БД производится при условии включения обоих БД, иначе будет выполняться простое копирования объекта БД.
Вкладка 'База данных' (рис.18) содержит основные настройки БД в составе:
Раздел 'Состояние' -- содержит свойства характеризующие состояние БД:
Включен -- состояние БД 'Включен'.
Доступные БД -- перечень таблиц которые содержит БД. Контекстным меню данного свойства предоставляется возможность физического удаления таблиц из БД.
Загрузить систему из БД -- команда для выполнения загрузки из данной БД. Может использоваться при переносе данных в БД между станциями. Например, можно сохранить участок одной станции в экспортную БД, перенести БД на другую, подключить её в этой подсистеме и вызвать данную команду.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе БД.
Имя -- указывает имя БД.
Описание -- краткое описание БД и её назначения.
Адрес -- адрес БД в специфичном для типа БД (модуля) формате. Описание формата записи адреса БД, как правило, доступно во всплывающей подсказке этого поля.
Кодовая страница -- указывает на кодовую страницу в которой хранятся и предоставляются текстовые значения БД. Значение кодовой страницы БД, в связке с внутренней кодировкой станции, используется для прозрачного перекодирования текстовых сообщений при обмене между станцией и БД.
Включать -- указывает на состояние 'Включен' в которое переводить БД при загрузке.
Вкладка 'Таблицы' (рис.19) содержит список открытых таблиц. При нормальной работе программы эта вкладка пуста, поскольку после завершения работы с таблицами программа их закрывает. Наличие открытых таблиц говорит о том, что программа сейчас с таблицей работает или таблица открыта пользователем для ручного изучения её содержимого. В контекстном меню перечня открытых таблиц можно открыть таблицу для изучения (команда 'Добавить'), закрыть открытую страницу (команда 'Удалить') и перейти к ручному изучению содержимого таблицы.
Страница ручного изучения содержимого таблицы содержит только одну вкладку 'Таблица'. Вкладка 'Таблица' (рис.20) содержит поле имени таблицы и таблицу с содержимым. Таблицей содержимого предоставляются функции:
Подсистема не является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы 'Безопасность', содержащая вкладки 'Пользователи и группы пользователей' и 'Помощь'. Вкладка 'Пользователи и группы пользователей' (рис.21) содержит списки пользователей и групп пользователей. Пользователь с привилегированными правами может добавить, удалить пользователя или группу пользователей. Все остальные пользователи могут перейти к странице пользователя или группы пользователя. Вкладка 'Помощь' содержит краткую помощь для данной страницы.
file:subsys_sec.png
Рис. 21. Вкладка 'Пользователи и группы пользователей' корневой страницы подсистемы 'Безопасность'.
Для конфигурации пользователя предоставляется страница, содержащая только вкладку 'Пользователь' (рис.22). Вкладка содержит конфигурационные данные профиля пользователя, которые может изменять только сам пользователь или привилегированный пользователь:
Имя -- информация о имени (идентификаторе) пользователя.
Полное имя -- указывает на полное имя пользователя.
Изображение пользователя -- указывает изображение пользователя. Изображение может быть загружено или выгружено.
БД пользователя -- адрес БД для хранения данных пользователя.
Пароль -- поле для изменения пароля пользователя. Всегда отображает '******'.
Группы пользователей -- таблица с перечнем групп пользователей станции и признаком принадлежности пользователя к группам.
Для конфигурации группы пользователей предоставляется страница, содержащая только вкладку 'Группа' (рис.23). Вкладка содержит конфигурационные данные профиля группы пользователей, которые может изменять только привилегированный пользователь:
Имя -- информация о имени (идентификаторе) группы пользователей.
Полное имя -- указывает на полное имя группы пользователей.
БД группы пользователей -- адрес БД для хранения данных группы пользователей.
Пользователи -- список пользователей включенных в данную группу. С помощью контекстного меню списка можно добавить или удалить пользователя в группе.
file:subsys_sec_grp.png
Рис. 23. Вкладка 'Группа' страницы группы пользователей подсистемы 'Безопасность'.
4.3. Подсистема 'Транспорты'
Подсистема является модульной и содержит иерархию объектов изображённую на рис.24. Для конфигурации подсистемы предусмотрена корневая страница подсистемы 'Транспорты', содержащая вкладки 'Подсистема', 'Модули' и 'Помощь'.
file:subsys_tr_str.png
Рис. 24. Иерархическая структура подсистемы 'Транспорты'.
Вкладка 'Подсистема' (рис.25) содержит таблицу конфигурации внешних, для данной, Внешние станции могут быть системными и пользовательскими, что выбирается соответствующим параметром. Системные внешние станции доступны только привилегированному пользователю и используются компонентами системного назначения, например модулем DAQ.Transporter. Пользовательские внешние станции привязаны к пользователю, который их создавал, а значит список пользовательских внешних станций индивидуален для каждого пользователя. Пользовательские внешние станции используются компонентами графического интерфейса, например UI.QTCfg, UI.WebCfgD и UI.Vision. В таблице внешних станций возможно добавление и удаление записей про станцию, а также их модификация. Каждая запись содержит поля:
Id -- идентификатор внешней станции.
Имя -- имя внешней станции.
Транспорт -- выбор из списка модуля подсистемы 'Транспорты' для использования его в доступе к внешней станции.
Адрес -- адрес внешней станции в формате специфичном для выбранного в предыдущем поле модуля подсистемы 'Транспорты'.
Пользователь -- имя/идентификатор пользователя удалённой станции от имени которого выполнять подключение.
Пароль -- пароль пользователя удалённой станции.
Вкладка 'Модули' (рис.15) содержит список модулей подсистемы 'Транспорты' и идентична для всех модульных подсистем. Вкладка 'Помощь' содержит краткую помощь для данной страницы.
Каждый модуль подсистемы 'Транспорты' предоставляет конфигурационную страницу с вкладками 'Транспорты' и 'Помощь'. Вкладка 'Транспоты' (рис.26) содержит список входящих и исходящих транспортов, зарегистрированных в модуле. В контекстном меню списков транспортов пользователю предоставляется возможность добавления, удаления и перехода к нужному транспорту. Во вкладке 'Помощь' содержится информация о модуле подсистемы 'Транспорты' (рис.17), состав которой идентичен для всех модулей.
Каждый транспорт содержит собственную страницу конфигурации с одной вкладкой 'Транспорт'. Эта вкладка содержит основные настройки транспорта. Входящий транспорт (рис.27) содержит:
Раздел 'Состояние' -- содержит свойства характеризующие состояние транспорта:
Статус -- содержит информацию о текущем состоянии транспорта и статистику его работы.
Выполняется -- состояние транспорта 'Выполняется'.
БД транспорта -- адрес БД для хранения данных транспорта.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе транспорта.
Имя -- указывает имя транспорта.
Описание -- краткое описание транспорта и его назначения.
Адрес -- адрес транспорта в специфичном для типа транспорта (модуля) формате. Описание формата записи адреса транспорта, как правило, доступно во всплывающей подсказке этого поля.
Транспортный протокол -- указывает на модуль транспортного протокола (подсистема 'Транспортные протоколы'), который должен работать в связке с данным входным транспортом. Т.е. полученные неструктурированные данные этот модуль будет направлять на структуризацию и обработку указанному модулю транспортного протокола.
Запускать -- указывает на состояние 'Выполняется' в которое переводить транспорт при загрузке.
Раздел 'Состояние' -- содержит свойства характеризующие состояние транспорта:
Статус -- содержит информацию о текущем состоянии транспорта и статистику его работы.
Выполняется -- состояние транспорта 'Выполняется'.
БД транспорта -- адрес БД для хранения данных транспорта.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе транспорта.
Имя -- указывает имя транспорта.
Описание -- краткое описание транспорта и его назначения.
Адрес -- адрес транспорта в специфичном для типа транспорта (модуля) формате. Описание формата записи адреса транспорта, как правило, доступно во всплывающей подсказке этого поля.
Запускать -- указывает на состояние 'Выполняется' в которое переводить транспорт при загрузке.
Подсистема является модульной. Для конфигурации подсистемы предусмотрена корневая страница подсистемы 'Транспортные протоколы', содержащая вкладки 'Модули' и 'Помощь'. Вкладка 'Модули' (рис.15) содержит список модулей подсистемы 'Транспортные протоколы' и идентична для всех модульных подсистем. Вкладка 'Помощь' содержит краткую помощь для данной страницы.
Каждый модуль подсистемы 'Транспортные протоколы' предоставляет конфигурационную страницу с одной вкладкой 'Помощь'. Во вкладке 'Помощь' содержится информация о модуле подсистемы 'Транспортные протоколы' (рис.17), состав которой идентичен для всех модулей.
4.5. Подсистема 'Сбор данных'
Подсистема является модульной и содержит иерархию объектов изображённую на рис.29. Для конфигурации подсистемы предусмотрена корневая страница подсистемы 'Сбор данных', содержащая вкладки 'Библиотеки шаблонов', 'Модули' и 'Помощь'.
Для получения доступа на модификацию объектов этой подсистемы необходимы права пользователя в группе "DAQ" или права привилегированного пользователя.
file:subsys_daq_str.png
Рис. 29. Иерархическая структура подсистемы 'Сбор данных'.
Вкладка 'Библиотеки шаблонов' (рис.30) содержит список библиотек шаблонов для параметров этой подсистемы. В контекстном меню списка библиотек шаблонов пользователю предоставляется возможность добавления, удаления и перехода к нужной библиотеке. Вкладка 'Модули' (рис.15) содержит список модулей подсистемы 'Транспорты' и идентична для всех модульных подсистем. Вкладка 'Помощь' содержит краткую помощь для данной страницы.
Каждая библиотека шаблонов подсистемы 'Сбор данных' предоставляет конфигурационную страницу с вкладками 'Библиотека' и 'Шаблоны параметров'. Вкладка 'Библиотека' (рис.31) содержит основные настройки библиотеки в составе:
Раздел 'Состояние' -- содержит свойства характеризующие состояние библиотеки:
Доступен -- состояние библиотеки 'Доступен'.
БД библиотеки -- адрес БД для хранения данных библиотеки и шаблонов.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе библиотеки.
Имя -- указывает имя библиотеки.
Описание -- краткое описание библиотеки и её назначения.
Вкладка 'Шаблоны параметров' (рис.32) содержит список шаблонов в библиотеке. В контекстном меню списка пользователю предоставляется возможность добавления, удаления и перехода к нужному шаблону.
file:subsys_daq_tmpl_lib.png
Рис. 31. Основная вкладка конфигурации библиотеки шаблонов подсистемы 'Сбор данных'.
Каждый шаблон библиотеки шаблонов предоставляет конфигурационную страницу с вкладками 'Шаблон' и 'IO'. Вкладка 'Шаблон' (рис.33) содержит основные настройки шаблона в составе:
Раздел 'Состояние' -- содержит свойства характеризующие состояние шаблона:
Доступен -- состояние шаблона 'Доступен'.
Использовано -- количество использования шаблона. Позволяет определить факт использования и как следствие возможность редактирования шаблона.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе шаблона.
Имя -- указывает имя шаблона.
Описание -- краткое описание шаблона и его назначения.
Вкладка 'IO' (рис.34) содержит конфигурацию атрибутов (IO) шаблонов и программу шаблона на одном из языков пользовательского программирования OpenSCADA, например DAQ.JavaLikeCalc.JavaScript. В таблицу атрибутов шаблона пользователь может, посредством контекстного меню: добавить, вставить, удалить, передвинуть вверх или вниз запись атрибута, а также отредактировать поля атрибута:
Id -- идентификатор атрибута.
Имя -- имя атрибута.
Тип -- выбор типа значения атрибута из списка: 'Вещественный', 'Целый', 'Логический', 'Строка'.
Режим -- выбор режима атрибута из списка: 'Вход', 'Выход'.
Атрибут -- режим атрибута параметра, реализованного на основе шаблона из списка: 'Не атрибут', 'Только для чтения', 'Полный доступ'. Для атрибутов шаблона у которых это поле установлено будет создаваться соответствующий атрибут у параметра контроллера этой подсистемы.
Доступ -- режим доступа к атрибуту во вкладке конфигурации шаблона у параметра контроллера этой подсистемы, из списка: 'Константа', 'Публичная константа', 'Связь'. В режимах 'Публичная константа' и 'Связь' во вкладке конфигурации шаблона будут добавлены эти атрибуты для установки константы или указания внешней связи параметра.
Значение -- значение атрибута по умолчанию. Или шаблон ссылки для доступа по ссылке. Формат шаблона ссылки зависит от компонента, который его использует. Обычно, для модуля DAQ.LogicLev шаблон ссылки записывается в виде: {Параметр}|{атрибут}. Поле {Параметр} - указывает имя параметра как контейнера атрибутов. Атрибуты с одинаковым значением {Параметр} будут группироваться и позволят назначаться только указанием контейнера атрибутов, а отдельные атрибуты будут связаны с атрибутами контейнера в соответствии с полем {атрибут}.
С синтаксисом языка программы шаблона можно ознакомиться в документации модуля предоставляющего интерпретатор выбранного языка. Например, типичным языком пользовательского программирования OpenSCADA является DAQ.JavaLikeCalc.JavaScript
file:subsys_daq_tmpl_tmpl_io.png
Рис. 34. Вкладка конфигурации атрибутов и программы шаблона подсистемы 'Сбор данных'.
Каждый модуль подсистемы 'Сбор данных' предоставляет конфигурационную страницу с вкладками 'Контроллеры' и 'Помощь'. Вкладка 'Контроллеры' (рис.35) содержит список контроллеров зарегистрированных в модуле. В контекстном меню списка пользователю предоставляется возможность добавления, удаления и перехода к нужному контроллеру. Во вкладке 'Помощь' содержится информация о модуле подсистемы 'Сбор данных' (рис.17), состав которой идентичен для всех модулей.
Каждый контроллер содержит собственную страницу конфигурации с вкладками 'Контроллер' и 'Параметры'.
Вкладка 'Контроллер' (рис.36) содержит основные настройки. Состав этих настроек может несколько отличаться от одного модуля этой подсистемы к другому, о чём можно узнать в собственной документации модулей. В качестве примера рассмотрим настройки контроллера у модуля контроллера логического DAQ.LogicLev:
Раздел 'Состояние' -- содержит свойства характеризующие состояние контроллера:
Включен -- состояние контроллера 'Включен'. Включенный контроллер предоставляет возможность создания параметров и их конфигурации.
Запущен -- состояние контроллера 'Запущен'. Исполняющийся контроллер выполняет физический сбор данных и/или включает механизмы доступа к этим данным.
БД контроллера -- адрес БД для хранения данных контроллера и его параметров.
Время вычисления функции шаблона (мс) -- предоставляет информацию о времени затраченном на один цикл сбора данных. В данном примере сбор это вычисление функции шаблона.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе контроллера.
Имя -- указывает имя контроллера.
Описание -- краткое описание контроллера и его назначения.
Включать -- указывает на состояние 'Включать' в которое переводить контроллер при загрузке.
Запускать -- указывает на состояние 'Запущен' в которое переводить контроллер при загрузке.
Таблица параметров -- имя таблицы в которой сохранять параметры (имеются в виду объекты параметров сбора данных) контроллера.
Период получения данных (мс) -- периодичность задачи сбора данных. В нашем примере это периодичность вычисления шаблона.
Уровень приоритета задачи получения данных -- устанавливает приоритетность задачи сбора данных этого контроллера. Используется при планировании задач операционной системой. В случае исполнения станции от имени суперпользователя 'root' это поле включает планирования задачи контроллера в режиме реального времени и указанным приоритетом.
file:subsys_daq_mod_cntr_main.png
Рис. 36. Главная вкладка конфигурации контроллера подсистемы 'Сбор данных'.
Вкладка 'Параметры' (рис.37) содержит список параметров в контроллере, а также информацию об общем количестве и количестве включенных параметров. В контекстном меню списка пользователю предоставляется возможность добавления, удаления и перехода к нужному параметру.
Параметры контроллеров подсистемы 'Сбор данных' предоставляет конфигурационную страницу с вкладками 'Параметр', 'Атрибуты', 'Архивация' и 'Конфигурация шаблона'. Вкладка 'Конфигурация шаблона' не является стандартной, а присутствует только в модулях подсистемы 'Сбор данных', которые реализуют механизмы работы по шаблону в контексте источника данных ими обслуживаемого. В данный обзор эта вкладка включена для обеспечения логической завершённости обзора конфигурации шаблонов параметров подсистемы 'Сбор данных' как финальный этап - использования.
Вкладка 'Параметр' (рис.38) содержит основные настройки в составе:
Раздел 'Состояние' -- содержит свойства характеризующие состояние параметра:
Тип -- информация о типе параметра.
Включен -- состояние параметра 'Включен'. Включенный параметр используется контроллером для сбора данных.
Раздел 'Конфигурация' -- непосредственно содержит поля конфигурации:
ID -- содержит информацию об идентификаторе параметра.
Имя -- указывает имя параметра.
Описание -- краткое описание параметра и его назначения.
Включать -- указывает на состояние 'Включать' в которое переводить параметр при загрузке.
Режим -- содержит два поля: непосредственно режим и его конфигурацию. В случае с параметром контроллера модуля данного типа это режим работы 'по шаблону' и адрес ранее нами рассмотренного шаблона.
Вкладка 'Атрибуты' (рис.39) содержит атрибуты параметра и их значения в соответствии с конфигурацией используемого шаблона и вычисления его программы.
Вкладка 'Архивация' (рис.40) содержит таблицу с атрибутами параметра, в колонках, и архиваторами, в строках. Пользователь имеет возможность установить архивацию нужного атрибута требуемым архиватором просто изменив ячейку на пересечении.
Вкладка 'Конфигурация шаблона' (рис.41) содержит конфигурационные поля в соответствии с шаблоном. В примере это групповая связь на внешний параметр. Эту связь можно установить просто указав путь к параметру если флаг 'Показывать только атрибуты' не установлен. Или-же установить адреса атрибутов по отдельности если флаг установлен.