OpenSCADA

Модули/Блоковый вычислитель

This page is a translated version of the page Modules/BlockCalc and the translation is 100% complete.

English • ‎российский • ‎українська
Constr.png The translation checking and actualizing
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор Описание
BlockCalc Блочный вычислитель 1.12 GPL2 daq_BlockCalc.so en,uk,ru,de x86,x86_64,ARM DAQ Роман Савоченко Предоставляет блочный вычислитель.

Модуль подсистемы "DAQ" BlockCalc предоставляет в систему OpenSCADA механизм создания пользовательских вычислений. Механизм вычислений основывается на формальном языке блочных схем(функциональных блоков).

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

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

С формальной точки зрения блок это элемент (функция), который имеет входы, выходы и алгоритм вычисления. Исходя из концепции среды программирования, блок — это кадр значений, ассоциированный с объектом функции.

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

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

Рис. 1. Общие связи между блоками блочной схемы.
Рис. 2. Детализированные связи между блоками.

Contents

1 Контроллер модуля

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

Рис. 3. Вкладка конфигурации контроллера.

С помощью этой вкладки можно установить:

2 Блочная схема контроллера

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

Блоки блочной схемы могут связываться как между собой, так и подключаться к атрибутам параметров. Сами блоки при этом не содержат структуры входов/выходов(IO), а содержат значения, исходя из структуры IO связанной функции. Функции для связывания с блоком используются из объектной модели системы OpenSCADA.

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

С помощью вкладки блоков можно:

Рис. 4. Вкладка конфигурации блока блочной схемы.

С помощью формы конфигурации блока можно установить:

Рис. 5. Вкладка конфигурации связей блока блочной схемы.

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

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

Для установки значений параметров блока предназначена соответствующая вкладка (Рис.6).

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

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

Модулем предусмотрена особая обработка ряда входов/выходов блока:

3 Параметры контроллера

Модуль предоставляет только один тип параметров “Стандартный”. Параметр служит для отражения вычисленных в блоках данных на атрибуты параметров контроллера. Пример вкладки конфигурации параметра приведен на Рис.7.

Рис. 7. Вкладка конфигурации значений параметров контроллера.

С помощью этой вкладки можно установить:

{BLK} — идентификатор блока, блочной схемы; для постоянной значение устанавливается:
'*s' — строковый тип;
'*i' — целочисленный тип;
'*r' — вещественный тип;
'*b' — логический тип.
{BLK_IO} — параметр блока, блочной схемы; для постоянной значений устанавливается в значение атрибута;
{AID} — идентификатор атрибута параметра;
{ANM} — имя атрибута параметра.

4 Копирование блочных схем

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

5 API пользовательского программирования

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

Объектная модель пользователя модуля BlockCalc.

Объект "Блок" (SYS.DAQ.BlockCalc["cntr"]["blk_block"])


6 Ссылки

Modules/BlockCalc/ru - GFDLFebruary 2022OpenSCADA 1+r2802