Дополнительные примитивы

Материал из TekonWiki
Перейти к: навигация, поиск



Содержание

Введение

Начиная с версии 2.0.6 в программе АСУД.SCADA доступен ряд дополнительных примитивов (далее просто Примитивы).

Внимание! 
При размещении на карте большого количества доп. примитивов вам может потребоваться внести изменения в реестр windows 
в противном случае программа может на запускаться или завершаться с ошибкой при создании нового примитива(ов)
Следует изменить значение ключей реестра 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\USERProcessHandleQuota

изменив значение по-умолчанию 10000 на 20000 (или 30000), и перезапустив АРМ.

С версии 2.3.9 сняты все ограничения в работе Дополнительных примитивов.

В предыдущих версиях существуют некоторые особенности (ограничениями в работе).

Ограничения в работе в версиях SCADA до 2.3.9:

  • Не работает групповое выделение нескольких объектов путем выбора прямоугольной области мышкой.
  • Не работает трансформация объекта
  • В случае если примитив оказался вне видимой области экрана, Scada может его "потерять"
  • Не следует выделять "дополнительный" примитив одновременно со "стандартным" примитивом.
  • Плохо обрабатывается Scroll окна. Перед переключением в рабочий режим следует передвинуть scroll в левый верхний угол.

Работает функционал:

  • Одиночной настройки примитива
  • Копирования по Ctrl + движение мышкой
  • Копирование через главное меню между подвидами путем выбора объекта
  • Копирование нескольких объектов через главное меню, путем их последовательного выбора с нажатым Ctrl
  • Групповое позиционирование примитивов (по левому краю, по правому краю и т.п.)
Addprimcopy.PNG

Примитивы могут располагаться как на главном виде, так и на любом подвиде.

Если свойства примитива не отображаются или отображаются некорректно, выполните клик на пустом месте карты , затем повторный клик на примитиве.

Shift + левый клик на выделенном примитиве открывает окно выбора тэга. 

База данных 

Примитивы, позволяющие быстро визуализировать информацию из учетной БД original.gdb

 

Информация о подключении к БД

Примитивы работают с БД напрямую и не требуют предварительной настройки Tekon OPC-сервера. 

 По умолчанию предполагается, что БД находится в папке с ОРС-сервером на локальной машине.

Если вам необходимо подключаться к БД, находящейся на удаленной машине и/или в другой папке,  следует отредактировать файл ..\Scada\settings\tprim.conf и перезапустить SCADA.

Файл tprim.conf:

  • DBIP - IP-адрес машины, на которой располагается БД. Если БД находится на локальной машине - оставить пустым.
  • DBPath - путь к файлу БД. По умолчанию, считается что БД находится в папке C:\1Tekon\ASUD Scada\OPC Server\origina.gdb

Внимание! Если вы подключаетесь к БД на удаленной машине, предоставлять общий доступ к папке с БД на ней - нет необходимости.

В параметре DBPath символ \ следует указывать, как \\

Например: подключаться к БД на ПК 192.168.1.11, путь к файлу на удаленной машине C:\1Tekon\ASUD Scada\OPC Server\origina.gdb

Файл tprim.conf:

{
 "BadStatusDay": 2,
 "DBPath": "",
 "DBIP": "192.168.1.11"
}

Подключаться к БД на ПК 192.168.1.10, путь к файлу на удаленной машине C:\db\original.gdb

Файл tprim.conf:

{
 "BadStatusDay": 2,
 "DBPath": "C:\\db\\original.gdb",
 "DBIP": "192.168.1.10"
}

Если при подключении к БД возникнут проблемы, информация об этом будет отображена на Splash-скрине в момент запуска SCADA.

Сводный отчет

Доступен с версии АСУД.SCADA 2.3.1

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

Пример отображения данных

 

Не требуется предварительная настройка ОРС-сервера. Примитив работает напрямую с локальной учетной БД ..\OPC Server\original.gdb

Дополнительно позволяет:

  • отобразить статус опроса приборов учета
  • выполнить преобразовать единиц измерений

Отображаются:

  • Кварт. - номер квартиры (не отображается при указании в настройках диапазона квартир с 0 по 0)
  • Набор параметров измеряемых прибором учета
  • Дата - время последнего обмена данными с прибором учета

Дополнительно могут быть отображены:

  • Марка прибора учета
  • Серийный номер прибора учета
  • Комментарий - комментарий при регистрации в программе ASUDBase.

Период обновления информации в рабочем режиме - не чаще 1 раза в минуту.

После размещения примитива на карте следует выполнить предварительные настройки (в окне свойств примитива):

  • ID дома - идентификатор дома. Выбирается путем нажатия на кнопку "..."
  • Ресурс - тип учитываемого ресурса (ХВС, ГВС, Отопление, Электроэнергия)
  • ID параметра - идентификатор параметра в ASUDBase (или нескольких параметров через ";")
  • Название - название параметра (или нескольких параметров через ";") - отображается в шапке таблицы
  • Множитель - необязательный параметр. Коэффициент преобразования для параметра. Например, можно перевести кВт*ч из БД в ГКал.
  • Квартира с - отображать начиная с квартиры. При указании значения 0 будут отображаться данные общедомовых приборов учета.
  • Квартира по - отображать до квартиры
  • Название прибора - отображать ли столбец с типом прибора
  • Серийный номер - отображать ли столбец с идентификационным номером
  • Комментарий - отображать ли столбец комментарий

Внимание! Следует всегда отображать столбец Серийный номер, если:

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

Синий восклицательный знак отображается на примитиве если:

  • отсутствует подключение к БД ..OPC Server \ original.gdb или отсутствует файл БД.
  • произошла ошибка при выполнении запроса к БД
  • настройки примитива (параметры поиска) выдают нулевой результат запроса (в БД нет данных).

Для рисунка выше значения настроек могут быть следующими:

  • ID дома - 1
  • Ресурс - Отопление
  • ID параметра - 11054; 11001
  • Название - W (ГКал);V (куб. м)
  • Множитель - 0,00086;1
  • Квартира с - 2
  • Квартира по - 11
  • Название прибора - Нет
  • Серийный номер - Нет
  • Комментарий - Нет

Вы можете отображать в сводном отчете один или несколько параметров приборов учета.

Идентификаторы параметров следует посмотреть в программе ASUDBase, выбрав в Шаг 2 один из приборов, которые будут отображены в сводном отчете. Далее во вкладке Мгн. слева навести мышку в левую часть названия столбца Параметр и потянуть вправо. Откроется столбец PARAM с кодами параметров.

Пример отображения данных

В общем случае сводный отчет имеет смысл строить по мгновенным (текущим) параметрам: вкладка Мгн., однако можно выбрать и другие вкладки. Не следует в одном отчете использовать идентификаторы параметров из разных вкладок Мгн, Час, Сут, Мес.

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

Поле Дата будет окрашено в СИНИЙ цвет в случае, если:

  • оценка (параметр CODE во вкладке Мгн. программы ASUDBase) опрашиваемого прибора учета равна 0 (с прибором нет связи)
  • у прибора отсутствует понятие оценки (приборы учета, подключенные через TL-концентраторы КЦС, КЦС-М) и последние данные с прибора учета были получены более 2-х суток назад.
Пример отображения данных счетчиков ГВС мест общего пользования
Пример отображения данных
Пример отображения данных общедомовых приборов учета Отопления
Пример отображения данных

 

 


Прибор учета

 Обновления:
 02-10-2019
 * добавлена возможность указать ID вручную
 21-08-2019
 * добавлена возможность не отображать указанные ParamID
 * исправлена перерисовка примитива в процессе перемещения в режиме настройки
 29-03-2018
 * исправлена реакция на настройку отображать <> 0
 16-11-2018
 * Отображение столбца Ед.изм только в случае необходимости
 * Оптимизация перерисовки примитива
 * Поддержка LUA-функций
 * Поддержка Text-функций

Позволяет в несколько кликов отобразить текущие значения выбранного устройства (аналог окна Шаг 2 в программе ASUDBase):

Ключевое преимущество - не требуется предварительная настройка ОРС-сервера. Примитив работает напрямую с локальной учетной БД ..\OPC Server\original.gdb

Дополнительно позволяет:

  • отобразить статус опроса прибора учета
  • отобразить выход значений параметров за границы допустимых значений

Период обновления информации в рабочем режиме - не чаще 1 раза в 10 секунд.

Синий восклицательный знак отображается на примитиве если:

  • отсутствует подключение к БД ..OPC Server \ original.gdb или отсутствует файл БД.
  • произошла ошибка при выполнении запроса к БД

После размещения примитива на карте следует выполнить предварительные настройки (в окне свойств примитива):

  • ID прибора - идентификатор прибора учета в ASUDBase. Выбирается путем нажатия на кнопку "..."
  • Только <> 0 - отображать только не нулевые значения
  • Lua-функция - позволяет указать функцию замены значения выбранного параметра на строку - может применяться, например при отображении данных Modbus-устройства
  • Text-функция - выполняет действия аналогично Lua-функция
  • ParamID - временно отобразить идентификаторы параметров. Идентификаторы необходимы для настройки Lua (Text) - функций
  • Игнорировать - не отображать данные указанных ParamID
  • Ширина Значение - установить вручную ширину поля Значение. Следует указывать при использовании Lua (Text) - функций

Замечание! В окне выбора ID-прибора отображаются только общедомовые приборы учета (квартира = 0), зарегистрированные в ASUDBase до момента старта SCADA. В случае необходимости отображения данных квартирного прибора учета, следует ввести ID самостоятельно, посмотрев его в программе ASUDBase (окно Шаг2 с введенным паролем, выбрав прибор учета).

Text-функции удобно применять, когда необходима простая замена вида "Параметр = Значение".

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

Пример настройки параметр Lua-функции (Теxt-функция настраивается аналогично)

 10061=lua1 

Указываются идентификатор Параметра и функция.

Пример Lua-фунции

 function lua1 (val)
local RegToStr=
{
[0]="Зима",
[1]="Лето"
}
local s = RegToStr [val]
if s == nil 
   then return "Неизвестно: "..val
   else return "Режим: "..s 
end 
end

Пример аналогичной Text-функции, файл text1.txt

 0=Зима 
 1=Лето 
Окно выбора прибора учета

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

В общем случае примитив отображает мгновенные (текущие) параметры: вкладка Мгн. в ASUDBase, однако если мгновенные данные отсутствуют, будут отображаться часовые значения.

Поле Дата будет окрашено в СИНИЙ цвет в случае, если:

  • оценка (параметр CODE во вкладке Мгн. программы ASUDBase) опрашиваемого прибора учета равна 0 (с прибором нет связи)
  • у прибора отсутствует понятие оценки (приборы учета, подключенные через TL-концентраторы КЦС, КЦС-М) и последние данные с прибора учета были получены более 2-х суток назад.

Если для параметра в программе ASUDBase были указаны граничные значения (в окне Шаг 2, выбрать параметр, нажать правую кнопку мыши и выбрать Границы), то поле Значение может быть окрашено, в случае выхода параметра за границы указанного диапазона.

Если примитив отображает данные КИР-16 исп. TL-RS, подключенный по RS-интерфейсу, то вы можете использовать следующие Text-функции для отображения параметров:

  • Err32 - ошибка устройства
  • АКБ - состояние аккумулятора

Пример функции для Err32

# BITSTR(, )
0=Норма
1=Корпус открыт
3=Неиспр.АКБ
4=Нет питания

Пример функции для АКБ

0=Норма
1=Отсутствует
3=Замкнут
4=Заряжается
7=Питание от АКБ

3-х фазный электросчетчик

Обновления
02-10-2019
* возможность указать ID прибора вручную 
Доступен в обновлении от 17.06.2017 АСУД.SCADA 2.3.1, 2.3.4

Позволяет в несколько кликов отобразить некоторые текущие значения выбранного 3-х фазного электросчетчика.

Пример отображения данных

Не требуется предварительная настройка ОРС-сервера. Примитив работает напрямую с локальной учетной БД ..\OPC Server\original.gdb

Дополнительно позволяет:

  • отобразить статус опроса прибора учета
  • отобразить выход значений параметров за границы допустимых значений

Период обновления информации в рабочем режиме - не чаще 1 раза в минуту.

Синий восклицательный знак отображается на примитиве если:

  • примитив не настроен
  • отсутствует подключение к БД ..OPC Server \ original.gdb или отсутствует файл БД.
  • произошла ошибка при выполнении запроса к БД
  • оценка опроса прибора = 0
  • у прибора отсутствует понятие оценки (приборы учета, подключенные через TL-концентраторы КЦС, КЦС-М) и последние данные с прибора учета были получены более 2-х суток назад.

После размещения примитива на карте следует выполнить предварительные настройки (в окне свойств примитива):

  • ID прибора - идентификатор 3-х фазный электросчетчика в ASUDBase. Выбирается путем нажатия на кнопку "..." (см. примитив Прибор учета).

Замечание! В окне выбора ID-прибора отображаются только общедомовые приборы учета (квартира = 0), зарегистрированные в ASUDBase до момента старта SCADA. В случае необходимости отображения данных квартирного прибора учета, следует ввести ID самостоятельно, посмотрев его в программе ASUDBase (окно Шаг2 с введенным паролем, выбрав прибор учета).

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

Если для параметра в программе ASUDBase были указаны граничные значения (в окне Шаг 2, выбрать параметр, нажать правую кнопку мыши и выбрать Границы), то поле Значение может быть окрашено, в случае выхода параметра за границы указанного диапазона.

В правом нижнем углу таблицы отображается время последнего опроса электросчетчика.

Параметр Коэфф.мощности рассчитывается как отношение Активной и Полной мощностей.

 

Векторная диаграмма токов и напряжений

 Обновления
 02-10-2019
 * возможность указать ID прибора вручную

Позволяет в несколько кликов отобразить векторную диаграмму выбранного 3-х фазного электросчетчика.

Пример отображения данных

Не требуется предварительная настройка ОРС-сервера. Примитив работает напрямую с локальной учетной БД ..\OPC Server\original.gdb

Дополнительно позволяет:

  • отобразить статус опроса прибора учета

Период обновления информации в рабочем режиме - не чаще 1 раза в минуту.

Синий восклицательный знак отображается на примитиве если:

  • примитив не настроен
  • отсутствует подключение к БД ..OPC Server \ original.gdb или отсутствует файл БД.
  • произошла ошибка при выполнении запроса к БД
  • оценка опроса прибора = 0
  • у прибора отсутствует понятие оценки (приборы учета, подключенные через TL-концентраторы КЦС, КЦС-М) и последние данные с прибора учета были получены более 2-х суток назад.

После размещения примитива на карте следует выполнить предварительные настройки (в окне свойств примитива):

  • ID прибора - идентификатор 3-х фазный электросчетчика в ASUDBase. Выбирается путем нажатия на кнопку "..." (см. примитив Прибор учета).
  • Тип диаграммы
    • dtUI - диаграмма токов и напряжений
    • dtS - вектор полной мощности
  • Толщина линий - толщина линий стрелок
  • Толщина окружности - толщина окружности (0 - не отображать окружность)
  • Надпись - отображать ли надписи
  • Цвет фона - цвет заливки фона

Замечание! В окне выбора ID-прибора отображаются только общедомовые приборы учета (квартира = 0), зарегистрированные в ASUDBase до момента старта SCADA. В случае необходимости отображения данных квартирного прибора учета, следует ввести ID самостоятельно, посмотрев его в программе ASUDBase (окно Шаг2 с введенным паролем, выбрав прибор учета).

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

Компьютерная сеть 

Примитивы, получающие информацию от устройств (сервисов) по компьютерной сети. 

Отображение данных с IP-камер

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

Подробнее о настройке см. здесь

 

Состояние IP-устройств (КИО / КУН-IP)

Доступен с версии АСУД.SCADA 2.3.8

Позволяет для устройств КУН-IP, КИО:

  • визуализировать состояние доступности по сети: есть пинг, нет пинга;
  • схему питания: Основное, ИБП.
Kio kun.JPG

Начиная с версии 2.5.2 примитив выглядит следующим образом 

Kio kun2.PNG
Вы можете вернуть предыдущий вариант отображения данных, указав 1 в файле \settings\tprim.conf
 "KIOInfoOldStyle": 1,

Удобно использовать при большем числе КУН-IP, КИО в системе.

Примитив имеет смысл располагать на главном виде SCADA.

Внимание! 
Следует отметить, что учитываются только те КУН-IP, КИО ОРС-сервера, сигналы которых визуализируются на данном АРМ.
Т.е. на карте размещен примитив связанный с тегом:
* для КИО - канал переговорной связи
* для КУН-IP - канал переговорной связи или статус.

На примитиве отображается:

  • Общее число визуализируемых КУН-IP или КИО.
  • Красный - число устройств не доступных по сети (нет ответа на Ping-запрос)
  • Желтый - число устройств в режиме питания от ИБП
  • Зеленый - число устройств в нормальном режиме работы

При нажатии на примитив в рабочем режиме открывается окно, в котором в табличной форме отображается состояние подключенных КУН-IP или КИО.

Настройка примитива

Просто разместите примитив на карте, укажите тип источника данных: КИО или КУН-IP.



HTML-страница

Обновлние: 
08-05-2024
* по-умолчанию не выполнять обновление страницы
07-05-2019
* исправлена невозможность перетащить примитив в 2.4.х
* добавлена возможность отключить Scroll

Позволяет отобразить WEB (HTML) страницу.

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

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

Настройки примитива:

  • URL - адрес отображаемой страницы
  • Период - период обновления страницы в секундах, по-умолчанию 0 (не обновлять)
    Период обновления следует указывать только для страниц, которые не выполняет обновление самостоятельно.
  • Scroll - отображать ли Scroll для web-страницы


WEBView

Обновление:
03-09-2024 
* возможность игнорирования ошибки SSL-сертификата сайта
08-05-2024
* первая реализация

Позволяет отобразить WEB (HTML) страницу.

В отличие от примитива HTML-страница, позволяет корректно отображать сложный WEB-контент.

Поддержка примитива реализована в ОС Windows 10 и выше (для предыдущих версий Windows вы можете попробовать использовать примитив HTML-страница).

Привитив реализован на базеMicrosoft Edge WebView2.

Модуль не входит в базовый набор компонент SCADA. Следует скопировать из папки  .. \ Scada \ modules_addon  или загрузить файлы:

  •  webview.psm
  • WebView2Loader.dll 

в папку  .. \ Scada \ modules

Поддержка WebView2 по-умолчанию присутствует в Windows 11 и выше, для Windows 10 следует предварительно загрузить и установить среду выполнения WebView2
(выполните загрузку и установку актуальной х86 - версии, 
дополнительно, возможно, необходимо будет добавить разрешающее правило в брандмауэре Windows для исходящих подключений программы msedgewebview2.exe) 

После запуска SCADA разместите примитив на выбранном виде карте.

Webview prim.PNG

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

Настройки примитива:

  • URL - адрес отображаемой страницы
  • Период - период принудительного обновления страницы в секундах, по-умолчанию 0 (не обновлять)
    Период обновления следует указывать только для страниц, которые не выполняет обновление самостоятельно.

Общие

График

Позволяет в графической форме контролировать изменение состояния от 1 до 3 величин.

Примитив график

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

  • Заголовок - наименование графика
  • Цвет фона - цвет фона
  • Дискрет.(мин.) - дискретизация в минутах. При указании дискретизации = 0, новое значение добавляется на графике сразу после обновления. В противном случае добавляется одно среднее значение величины с указанной частой дискретизации.
  • Интервал (ч.) - число отображаемых часов назад с текущего момента на графике. Точки выходящие за указанный интервал будут автоматически удалены с графика.
  • Число графиков - 3 (значение не изменяется).

Настройки для каждого графика:

  • Тэг - тэг контролируемого параметра (обычно какого-то цифрового значения).
  • Цвет - цвет линии графика (не следует использовать серый цвет).

При нажатии на график правой кнопкой мыши доступно контекстное меню:

  • Метки - отображение меток на точках графика
  • Сохранить - сохранить точки графика в файл на диске.

В случае если при обновлении значения ОРС_статус <> OPC_Quality_good (потеря связи с устройством) цвет соответствующей линии станет серым.

При завершении работы программы SCADA текущие точки графиков будут сохранены в tmp файле в папке ..\Scada\settings и восстановлены впоследствии при старте программы.

 






Изображение

Обновления: 
15-12-2023
* Возможность указать состояние для анимированных GIF 
07-06-2022
* GIF-анимация
01-09-2021
* функция мерцания
01-12-2020
* примитив существенно обновлен
21-08-2019
* отслеживание изменений в коде Text-фунции (без необходимости перезапуска SCADA)

В АСУД.SCADA 2.6.4 данный примитив был существенно переработан.
Для предыдущих версий SCADA описание  смотри  здесь

В версии 2.6.4 функционал примитива был разделен на два примитива:

  • Изображение   -  отображает одно изображение, как классические примитивы АСУД.SCADA
  • Набор изображений - отображает то или иное изображение, в зависимости от значения входного сигнала.

Примитив Изображение - отображает выбранную картинку с поддержкой механизма уведомлений. 
Т.е. фактически может работать так же, как и классический примитив из раздела Стандартные в SCADA. 

Примитив позволяет выполнить привязку к: 

  • обычному дискретному сигналу
    • Норма: младший бит значения равен 0
    • Сигнал: иначе
  • числовому сигналу, при этом:
    • Норма: значение = 0
    • Сигнал: значение <> 0

Внимание!
Примитив не умеет работать с битовыми масками. Если вам нужно анализировать состояние второго или более страших бит, следует воспользоваться примитивами

  • Набор изображений 
  • LED-индикатор

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

Scadasimplepic.PNG

Поддерживаемые форматы изображений:

  • JPG
  • PNG
  • BMP
  • GIF (статичный, анимированный)
    • до версии 2.7.15 анимированный GIF
      • неподвижен в состоянии сигнала - Норма
      • подвижен (анимация включена) - в состоянии сигнала - Авария, Ознакомлен
    • с версии 2.7.15 вы можете указать, в каком случае должна быть активна анимация 
  • WMF
  • EMF
  • TIFF
  • SVG

Вы можете использовать предустановленные файлы изображений из папки ..\Scada\Images или использовать свои файлы изображений, скопированные на АРМ-диспетчера.

В процессе настройки примитива, используемые файлы изображений будут скопированы в папку ..\Scada\settings\Images

В папке  ..\Scada\settings\Images допускается создавать вложенные папки.

Примитив способен отображать изображения любого размера.
Однако по умолчанию его размер соответствует размеру классического примитива SCADA (ПГУ, Канал управления и т.п.), при этом размер изображения составляет 80 px. Поэтому, для соответствия размеров примитивов и наилучшему отображению изображений используйте:

  • либо файлы SVG формата,
  • либо картинки разрешением 76 на 76 пикселей.  

Если соответствие классическим примитивам не нужно - используйте любой размер изображения.

Рассмотрим настройки примитива.


Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.
  • Тэг - тэг контролируемого параметра
  • Неисправность  - (только чтение) обновляется после привязки тэга и отображает название неисправности, указанное в настройках ОРС-сервера для выбранного канала, и  которое будет записано в журнал событий SCADA. Если нажать "...", название неисправности будет скопировано в буфер обмена, либо будет автоматическо создан объект Надпись на карте.
  • Текущее - (только чтение) текущее числовое/строковое  значения связанного Item

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

  • Звуковой файл - файл из папки Scada\Sounds, который будет воспроизведен при переходе в сигнальное состояние
  • Журнал - (по умолчанию - Да) фиксировать изменения сигнала в журнале событий и оперативном журнале
  • Уведомление - (по умолчанию - Да) отображать ли состояния "авария", "ознакомлен" в облаке уведомлений
    • При изменении значения настройки в Нет будет автоматически изменена настройка Автоподтверждение - Да.
  • Автоподтверждение - (по умолчанию - Нет) выполнять автоматическое квитирование сигнала

Замечание относительно настройки уведомлений.
Будьте внимательны при следующих настройках:

  • Уведомление - Нет
  • Автоподтверждение - Нет

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

Дополнительные настройки:

  • Погасить восклицательный знак  - (по умолчанию Нет)  не будет отображаться состояние авария/обработка на примитиве
    Может быть актуально для GIF-анимации
    Внимание! При этом должна быть включена настройка Автоподтверждение
  • ОЖ событие Сигнал  - (по умолчанию Нет) отображать в оперативном журнале сообщение Сигнал вместо Авария.
  • Скрыть фон - (по умолчанию Нет) отображать фон примитива 
  • Надпись - (по умолчанию Нет)  отображать ли название неисправности на примитиве
    • В текущей версии надпись корректно отображается для примитивов на одноцветном фоне.
      Если фон не одноцветный - используете дополнительно примитив Надпись.
  • Изображение - файл изображения
    • Выберите файл из  ..\Scada\settings\Images или любой другой папки (после выбора файл будет автоматически скопирован в  ..\Scada\settings\Images)
  • Анимация GIF в норме - (по умолчанию Да) - анимация активна, когда сигнал находится в состоянии Норма.
  • Исходный размер - в случае выбора примитив будет оптимизирован под исходный размер изображения (для svg-изображений никаких действий произведено не будет)
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинкинастройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона подложки - по необходимости измените цвет фона изображения.
  •  Прозрачность - режим прозрачности. Это дополнительная настройка изменять ее почти никогда не следует. 
    • sptDefault (по умолчанию) - базовый режим 
    • sptRectangle - изображение обрабатывается как прямоугольник
  • Прозрачность (цвет) - прозрачный цвет в изображении (в режиме прозрачности sptDefault).
    • Черный (по умолчанию) - почти всегда следует указывать черный.
      Если в изображении присутствует "рабочий" черный цвет, измените настройку.
  • Мерцание - примитив в сигнальном состоянии будет скрывать / отображать фон  


Набор изображений

История версий:
15-12-2023
* Возможность указать состояние для анимированных GIF
2.7.6
* корректировка и проверка поведения примитива в различных режимах
* GIF-анимация
* Поддержка работы с битовыми масками (аналогично LED)
2.6.6
* возможность записи значений
Доступен с верии 2.6.4

Примитив отображает то или иное изображение, в зависимости от значения входного сигнала.

Примитив более универсален чем примитив Изображение, однако, чуть более сложный в плане настройки.

Примитив может быть использован для визуализации:

  • Состояния контролируемого устройства или процесса, когда значение связанного числового Item определяет одно из его возможный состояний.
    Например:
    • 0 - останов, 
    • 1 - тихий ход,
    • 2 - 50 % мощности,
    • 3 - полная мощность.
      Или
    • 0 - норма,
    • 1 - авария 1,
    • 2 - авария 2 и т.п.
  • Состояния с возможностью переключения режимов по нажатию на примитив.
    Например: переключиться из режима Пуск в Стоп и обратно.
  • Числового значения являющегося битовой маской состояний
  • Дискретного сигнала
    Отобразить разные картинки в состояниях Авария / Норма
  • Канала управления
Scadamorepic.PNG
Поддерживаемые форматы изображений:
  • JPG
  • PNG
  • BMP
  • GIF (статичный, анимированный)
    • до версии 2.7.15 анимированный GIF
      • неподвижен в состоянии сигнала - Норма
      • подвижен (анимация включена) - в состоянии сигнала - Авария, Ознакомлен
    • с версии 2.7.15 вы можете указать, в каком случае должна быть активна анимация 
  • WMF
  • EMF
  • TIFF
  • SVG

Вы можете использовать предустановленные файлы изображений из папки..\Scada\Images или использовать свои файлы изображений, перенеся их предварительно в папку ..\Scada\settings\Images.

В папке  ..\Scada\settings\Images допускается создавать вложенные папки.

Примитив способен отображать изображения любого размера.
Однако по умолчанию его размер соответствует размеру классического примитива SCADA (ПГУ, Канал управления и т.п.), при этом размер изображения составляет 76 px. Поэтому, для соответствия размеру классических примитивов и наилучшему отображению изображений используйте:

  • либо файлы SVG формата,
  • либо картинки разрешением 76 на 76 пикселей.  

Если соответствие размерам классическим примитивам не нужно - используйте любой размер изображения.
Однако следует придерживаться правила, что все изображения одного примитива должны иметь одинаковый исходный размер (данное замечаение не относится к SVG-изображениям).

Отображаемые изображения задаются через Text-функцию или через LUA-функцию.

Рассмотрим настройки примитива.


Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.
  • Тэг - тэг контролируемого параметра
  • Неисправность  - (только чтение) обновляется после привязки тэга и отображает название неисправности, указанное в настройках ОРС-сервера для выбранного канала, и  которое будет записано в журнал событий SCADA. Если нажать "...", название неисправности будет скопировано в буфер обмена, либо будет автоматическо создан объект Надпись на карте.
  • Текущее - (только чтение) текущее числовое/строковое  значения связанного Item

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

  • Звуковой файл - файл из папки Scada\Sounds, который будет воспроизведен при переходе в сигнальное состояние
  • Журнал - (по умолчанию - Да) фиксировать изменения сигнала в журнале событий и оперативном журнале
  • Уведомление - (по умолчанию - Да) отображать ли состояния "авария", "ознакомлен" в облаке уведомлений
    • При изменении значения настройки в Нет будет автоматически изменена настройка Автоподтверждение - Да.
  • Автоподтверждение - (по умолчанию - Нет) выполнять автоматическое квитирование сигнала

Замечание относительно настройки уведомлений.
Будьте внимательны при следующих настройках:

  • Уведомление - Нет
  • Автоподтверждение - Нет

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

Дополнительные настройки:

  • Погасить восклицательный знак  - (по умолчанию Нет)  не будет отображаться состояние авария/обработка на примитиве
    Может быть актуально для GIF-анимации
    Внимание! При этом должна быть включена настройка Автоподтверждение
  • ОЖ событие Сигнал  - (по умолчанию Нет) отображать в оперативном журнале сообщение Сигнал вместо Авария.
  • Иконка - (по умолчанию Пусто) отображать указанную иконку в облаке уведомления.
    Если не указано, то в качестве иконки уведомления будет использовано изображение (сигнальное), отбображаемое на примитиве в настоящий момент.
    В некоторых случаях, например, когда примитив отображает большие картинки (соответствующие тому или иному состоянию контролируемого устройства) может быть удобно, чтобы в облаке уведомлений отображалось только одно определенное изображение - тогда следует указать это изображение в данной настройке.
  • Скрыть фон - (по умолчанию Нет) отображать фон примитива 
  • Надпись - (по умолчанию Нет)  отображать ли название неисправности на примитиве
    • В текущей версии надпись корректно отображается для примитивов на одноцветном фоне.
      Если фон не одноцветный - используете дополнительно примитив Надпись.
  • Функция - тип функции обработки входного сигнала (подробнее см. далее)
    • sfText (по умолчанию) - использовать Text-функция
    • sfLUA - использовать LUA
  • LUA-функция - имя функции, если используется LUA
  • Text-функция - имя функции, если используется Text-функции
  • Запись значения - в случае, если примитив должен иметь возможность записи нового значения Item на сервер, определяет каким образом должно браться это значение
    • wtFunction -  значение берется из поля "С:" функции  (Text или LUA)
    • wtWindows - будет открыто окно выбора нового значения. Данный функционал доступен только для Text-функкций 
  • Помощник ТФ - помощник создания Text-функции (подробнее см. далее)
  • Тестовая картинка - выберите одну из отображаемых картинок. Размер примитива будет изменен под размер выбранного изображения.
  • Анимация GIF в норме - (по умолчанию Да) - анимация активна, когда сигнал находится в состоянии Норма.
  • Исходный размер - в случае выбора примитив будет оптимизирован под размер отображаемого изображения (фактически делает тоже самое, что и Тестовая картинка) 
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинки настройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона карты - по необходимости измените цвет фона изображения.
  •  Прозрачность - режим прозрачности. Это дополнительная настройка изменять ее почти никогда не следует. 
    • sptDefault (по умолчанию) - базовый режим 
    • sptRectangle - изображение обрабатывается как прямоугольник
  • Прозрачность (цвет) - прозрачный цвет в изображении (в режиме прозрачности sptDefault).
    • Черный (по умолчанию) - почти всегда следует указывать черный.
      Если в изображении присутствует "рабочий" черный цвет, измените эту настройку.
  • Мерцание - примитив в сигнальном состоянии будет скрывать / отображать фон  

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

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

Почти всегда, вам подойдет использование простых Text-функций.

Функции обработки входного значения

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

imagename; [S:soundfile;] [N:название события;] [A:0;] [C:0]

где,

  • параметры, указанный в скобках являются необязательными и могут быть пропущены
  • imagename - имя файла изображения (регистр не важен) из папки ..\Scada\settings\Images
  • S:soundfile - имя звукового файла из папки ..\Scada\Sounds, если указано, то файл будет воспроизведен. 
    Если нет - то будет воспроизведен файл из общих настроек примитива.
  • N:название события  - дополнительное название события, которое будет добавлено к основному названию, полученному из свойства Item, в журналах событий
    Если название событие начинается с !, например: !Затопление пом.121, то будет использоваться только это название, без анализа свойства Item
  • A:0 - дополнительный флаг
    • 0 - значение является нормой
    • 1 - значение является сигнальным (аварией)
  • C:0 - команда для записи значения в связанный Item по нажатию на примитив.
    Имеет смысл только для примитива, все состояния которого являются нормальным (не сигнальными).
    Т.е. для всех вариаций значений в функции указан флагA:0.
    Это позволяет реализовать с помощью примитива возможность переключения режимов работы устройства (например: Пуск / Останов), или аналог примитива Канал управления.
  • буквы S, N, A, C - латинские заглавные

В случае, если соответствующий значению сигнала файл изображения не найден, примитив продолжит работу с изображением по-умолчанию
(то, которое отображается на примитиве при размещении на карте).

Рассмотрим несколько примеров  возможных Text-функций.

Рассмотрим поведение примитива, который например связан с Тэгом, название неисправности которого с настройках OPC-сервера указано, как "Насос ИТП".

Отметим также следующий момент, что в Журнал событий SCADA может записываться значение сигнала, если он 

  • переходит в сигнальное состояние
  • переходит из сигнального в нормальное состояние

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

Пример1 - Краткая запись. Простая функция обработки числового значения

0=norma.jpg
1=alert1.jpg
2=alert2.jpg

Таблица 1 - Поведение примитива

Значение сигнала Отображаемое изображение Состояние  Проигрываемый звуковой файл Сообщение в журналы Комментарий
0 norma.jpg Норма никакой Норма Для Text-функции значение 0 - всегда по умолчанию = Норма
1 alert1.jpg Авария из настройки примитива Звуковой файл Насос ИТП  
2 alert2.jpg Авария из настройки примитива Звуковой файл Насос ИТП  
любое другое изображение примитива по умолчанию Авария из настройки примитива Звуковой файл Насос ИТП : Неопределенное значение Х Неопределенное значение расценивается как Авария

Пример 2 - Полная запись функции обработки числового значения

0=norma.jpg
1=regim1.jpg; N:Переход в режим1; A:0
2=regim2.jpg; S:_vnimanie.wav; N:Переход в режим2; A:0
3=alert1.jpg; N:Ошибка 1
4=alert2.jpg; S:_sound.wav; N:Ошибка 2
Таблица 2 - Поведение примитива
Значение сигнала Отображаемое изображение Состояние  Проигрываемый файл Сообщение в журналы Комментарий
0 norma.jpg Норма никакой Норма Для Text-функции значение 0 - всегда по умолчанию = Норма
1 regim1.jpg Норма никакой

В оперативном журнале 
Норма 
Насос ИТП : Переход в режим 1

Норма - потому что указан флаг A:0
2 regim2.jpg Норма _vnimanie.wav В оперативном журнале 
Норма 
Насос ИТП : Переход в режим 2
Норма - потому что указан флаг A:0
3 alert1.jpg Авария из настройки примитива Звуковой файл

Насос ИТП : Ошибка 1

Журнал событий + Оперативных журнал

 
4 alert2.jpg Авария _sound.wav

Насос ИТП : Ошибка 2

Журнал событий + Оперативных журнал

 
любое другое изображение примитива по умолчанию Авария из настройки примитива Звуковой файл

Насос ИТП : Неопределенное значение Х

Журнал событий + Оперативных журнал

Неопределенное значение расценивается как Авария

Пример 3. Функция отображает два изображения при этом любые состояния входного сигнала являются нормой. 

0=norma.jpg
else=regim1.jpg; A:0

Таблица 3 - Поведение примитива

Значение сигнала Отображаемое изображение Состояние  Проигрываемый файл Сообщение в Оперативный журнал Комментарий
0 norma.jpg Норма -- -- Для Text-функции значение 0 - всегда норма
любое другое regim1.jpg Норма -- -- Норма - потому что указан флаг A:0

Пример 4. Функция отображает два изображения при этом любые состояния входного сигнала являются нормой. 

0=norma.jpg;N:Состояние 0
else=regim1.jpg;N:Состояние 1; A:0

Таблица 4 - Поведение примитива

Значение сигнала Отображаемое изображение Состояние  Проигрываемый файл Сообщение в Оперативный журнал Комментарий
0 norma.jpg Норма --

Насос ИТП : Состояние 0

Для Text-функции значение 0 - всегда норма
любое другое regim1.jpg Норма -- Насос ИТП : Состояние 1 Норма - потому что указан флаг A:0

LUA-функции имеет смысл использовать, если вам необходимо реализовать логику, например:

  • отобразить картинку 1, если значение меньше 15
  • отобразить картинку 2  иначе

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

function img (x)
 local xi = math.floor(x)
 if (xi < 15)  
  then
    return "norma.jpg; A:0"
  else 
    return "battary.jpg"
 end
end

Внимание! 
Для LUA-функция для всех нормальных значений обязательно указывать A:0
Функция должна быть сохранена в скрипте в папке ..\Scada\scripts\lvm\custom


Порядок настройки

Перечислим еще раз кратко последовательность по базовой настройке примитива

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

См. также примеры: 

https://vk.com/@asud248-universalnye-primitivy-izobrazhenie-nabor-izobrazhenii-chast

https://vk.com/@asud248-universalnye-primitivy-izobrazhenie-nabor-izobrazhenii-2

Помощник Теxt-функций

Для удобства создания новой Text-функции (или редактирования существующей)  вы можете использовать специальный помощник.

Для его запуска следует выбрать на карте примитив Набор изображений и далее нажать "..." в свойстве Помощник ТФ.

Если с примитивом ранее была связана, какая-то Text-функция, то ее значения будут перечислены в таблице. Если функция связана не была - таблице будет пустой.

PictPrim TF1.PNG
Далее вам следует последовательно заполнить поля таблицы, указав все возможные значения входного сигнала.

После этого следует нажать кнопку В Текст - для создания тела функции в правильном формате.

PictPrim TF2.PNG
Кнопка: 
  • В таблицу - снова перенесет значения в таблицу для редактирования
  • В буфер - скопирует тело функции в буфер обмена

Здесь, вы также, по необходимости, можете добавить комментарий в первой строке после символа '?' или специальную функцию обработки значения после символа '#' (подробнее см. Text-функция)

Далее следует скопировать тело функции в буфер обмена. Закрыть окно и в открывшемся окне Text-функций создать новую функция или отредактировать существующую, вставив тело функции из буфера обмена.

Использование примитива с Item типа DiscretChannel (дискретный сигнал)

Имеет смысл, если необходимо показывать два разных изображения в состояниях Норма / Сигнал. Иначе проще использовать примитив Изображение.

Теxt-функция обработки значения должа иметь следующий вид

? Пример1 функции для работы с дискретным сигналом
# BIT(X;1)
0=norma.svg; A:0
1=alert.svg

где, вместо norma.svg, alert.svg - следует указать свои файлы изображений.

В принципе вы можете использовать и два одинаковых файла, например если это динамическое изображение GIF

? Пример2 функции для работы с дискретным сигналом
# BIT(X;1)
0=fun.gif; A:0
1=fun.gif

При значении норма - изображение будет статично, иначе - будет включена динамика.

Внимание!

  • При связке с DiscretChannel функция может выглядеть только так. как указано в примерах 1 и 2.
  • Всегда одно из значений должно быть сигнальным
  • При использовании функции BIT, следует всегда указывать A:0 для всех значений Норма (в том числе, для значения 0).

Использование примитива с Item типа DiscretChannel (дискретный сигнал). Длительное открытие двери

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

Использование примитива с Item содержащим битовую маску состояний (ошибок)

Если Item представляет собой битовую маску, то необходимо по аналогии с примитивом LED, разместить такое же количество примитивов, как и число анализируемых состояний

Теxt-функция обработки значения должа иметь следующий вид

? Пример функции для работы с битовой маской
# BIT(X;2)
0=norma.svg; N:Название сигнала; A:0
1=alert.svg; N:Название сигнала

В описании функции в разделе # BIT(X;2) следует указать номер анализируемого бита (в данном случае анализаируется 2-ой бит).

Также следует конкретизировать название битового сигнала 

  • N:Название сигнала   - тогда в журнал будет писаться "Общее название : Название сигнала", или
  • N:!Название сигнала   - тогда в журнал будет писаться "Название сигнала"

Использование примитива с Item типа ControlChannel (канал управления)

Настройку "Запись значения" установить в wtFunсtion.

Теxt-функция обработки значения должа иметь следующий вид

? Пример функции для работы с каналом управления
# BIT(X;16)
0=off.svg; A:0; C:1
1=on.svg; A:0; C:0

где, вместо on.svg, off.svg - следует указать свои файлы изображений.

Функция может также иметь следующий вид, 

? Пример функции для работы с каналом управления
# BIT(X;1)
0=off.svg; A:0; C:1
1=on.svg; A:0; C:0

однако в этом случае, чуть позже исчезает значок признака выполнения команды.

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

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

PictPrim Control.PNG

 

Использование примитива для переключения режима работы устройства

Если необходимо включать/выключать какое-то устройство, но тип Item является простым числовым значением, где:

  • 0 - выключено,
  • 1 - включено,

то следует использовать функцию следующего вида.

? Пример функции управления с числовым Item 
0=off.svg; C:1
1=on.svg; A:0; C:0

где, вместо on.svg, off.svg - следует указать свои файлы изображений.

Настройку "Запись значения" установить в wtFuntion.

Внимание!
Для всех не нулевых значений Item должен быть указан флаг "А:0"

Использование для выбора режима работы устройства

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

  • 0 - останов, 
  • 1 - тихий ход,
  • 2 - 50 % мощности,
  • 3 - полная мощность,

(значения не обязательно должны идти подряд, допускаются пропуски)

то следует использовать  Text-функцию следующего вида.

? Пример функции выбора нового значения Item
0=0.svg; N:останов; A:0
1=1.svg; N:тихий ход; A:0
2=2.svg; N:50 % мощности; A:0
3=3.svg; N:полная мощность; A:0

где вместо 1.svg, 2.svg - указать свои файлы изображений.

Внимание!

  • Для всех значений Item должен быть указан флаг "А:0"
  • Не использовать флаг команд "С:".
  • Для каждого значения должен быть указан параметр "N:" -  будут отображаться в списке выбора.
  • Настройку "Запись значения" для примитива установить в wtWindow.

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

PictPrim Combo.PNG

Анимированное изображение

Устаревший примитив.
С версии 2.7.6 следует использовать примитив: Изображение или Набор изображений

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

Поддерживаемые форматы изображений:

  • GIF (анимированный)

Все изображения должны быть предварительно скопированы в папку ..\Scada\settings\Gif

Настройки примитива:

  • Тэг - тэг контролируемого параметра. Допускается указывать:
    • Дискретное значение
    • Цифровое значение
  • Обработка данных - правило определения скорости анимации от значения тега.
    • Bit - анализируется состояние 1-ого (младшего) бита.
      • 1 - 100%
      • 0 - 0%
    • BitInv - аналогично
      • 1 - 0%
      • 0 - 100%
    • MinMax - сравнивать значение с Минимум/Максимум.
      • Скорость анимации = 100 * (Значение_Тега - Минимум) / (Максимум - Минимум).
    • Lua - вызывать Lua-функцию (почти любую задачу можно решить не прибегая к Lua).
  • Минимум - минимальное значение
  • Максимум - максимальное значение
  • Lua-функция - имя функции (функцию следует написать самостоятельно).
  • Изображение GIF - изображение.
  • Прозрачность - включить прозрачность (GIF-изображение должно быть со свойством transparent).
  • Отображать значение - отображать скорость анимации (под изображением)

Внимание! Важное замечание для правил Bit, BitInv

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

Примитив - масштабируется под размер изображения.

Предположим, что контролируемый параметр изменяется в пределах [0..10], тогда пример Lua-функции, указания скорости анимации, может быть следующим (название функции может быть любым)

Функция должна быть сохранена в скрипте в файле ..\Scada\scripts\lvm\custom\entry.lua

 

function imgspd (x)
  return x*10
end

function main_custom()

end

Скорость анимации должна быть указана в процентах %.

Допускается значение скорости 0% ..400%

  • 0% - отсутствие анимации
  • 100% - нормальная скорость анимации



Индикатор

07-06-2022
* поддержка механизма уведомлений
* поддержка граничных значений

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

Примитив индикатор
Примитив индикатор

Примитив имеет смысл связывать только с числовыми Item.

Формула вычисления процента (текущего значения):

Процент выполнения = 100 * (Значение_параметра - Минимум) *  / (Максимум - Минимум).

, где

  • Значение параметра - текущее значение Item
  • Максимум - настройка Максимум
  • Минимум - настройка Минимум

Настройки примитива:


Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.
  • Тэг - тэг контролируемого параметра
  • Неисправность  - (только чтение) обновляется после привязки тэга и отображает название неисправности, указанное в настройках ОРС-сервера для выбранного канала, и  которое будет записано в журнал событий SCADA. Если нажать "...", название неисправности будет скопировано в буфер обмена, либо будет автоматическо создан объект Надпись на карте.
  • Текущее - (только чтение) текущее числовое/строковое  значения связанного Item

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

  • Звуковой файл - файл из папки Scada\Sounds, который будет воспроизведен при переходе в сигнальное состояние
  • Журнал - (по умолчанию - Да) фиксировать изменения сигнала в журнале событий и оперативном журнале
  • Уведомление - (по умолчанию - Да) отображать ли состояния "авария", "ознакомлен" в облаке уведомлений
    • При изменении значения настройки в Нет будет автоматически изменена настройка Автоподтверждение - Да.
  • Автоподтверждение - (по умолчанию - Нет) выполнять автоматическое квитирование сигнала

Замечание относительно настройки уведомлений.
Будьте внимательны при следующих настройках:

  • Уведомление - Нет
  • Автоподтверждение - Нет

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

Дополнительные настройки:

  • Минимум - минимальное исходное значение параметра 
  • Максимум - максимальное исходное значение параметра
  • Сигнальное (%) - значение верхней или нижней границы в % (0 - не анализировать)
    Граничное значение будет отображено на примитиве вертикальной линией (только для типа примитива 0, 1 и 2).
  • Норма меньше  - при указании сигнального значения, определяет как относительного него рассматривать нормальные значения
    Если Норма меньше границы - то граница на примитиве отображается красным (черным) цветом.
    Если Норма больше границы - то граница на примитиве отображается синим (черным) цветом. 
  • Динамичное уведомление - отображать ли в облаке уведомлений текущее значение индикатора или только файт перехода в сигнальное состояние
  • Цвет заливки - цвет заполнения индикатора.
  • Цвет фона - цвет заполняемого фона
  • Отображать значение - отображать значение в процентах на примитиве
  • Вид индикатора - один из 5 вариантов отображения Индикатора (по умолчанию 1).

В случае если при обновлении значения параметра его ОРС_статус <> OPC_Quality_good (потеря связи с устройством), отобразится Синий восклицательный знак.






Индикатор LED

2.7.18
 + расширена поддержка Text-функций
2.7.15
 + изменена настройка обработчика значения, 
   теперь используется выражение, аналогично Переменным
2.7.10
 + типы обработки данных 2Bit<>0, 3Bit<>0
 + изменено входное значение для Text-функции (надписи на примитиве)
2.7.7
 + возможность отобразить надпись на примитиве
2.7.5 update 1 
 существенное обновление функционала примитива
 + полноценная работа с сигналом в виде битовой маской: 
    для каждого битового значения Item создается отдельное событие в Журналах событий
 + возможность конкретизировать аварию для Журналов событий
 + для вида прямоуголник отображается сплошной прямоугольник
2.7.2
 + примитив существенно переработан
   убраны "лишние" свойства
2.6.6 
 + восстановлена работа облака уведомалений (не работало в 2.6.5 - 2.6.4)
Индикатор LED

Индикатор LED позволяет визуализировать числовой или дискретный параметр.

Примитив позволяет выполнить привязку к: 

  • обычному дискретному сигналу
    • Норма: младший бит значения равен 0
    • Сигнал: иначе
  • числовому сигналу, при этом возможны различные варианты анализа:
    • Анализ битовой маски
    • Сравнение с  0
    • Сравнение с min, max
    • и т.д.

Будьте внимательны при обновлении с версий ниже 2.6.6, когда в примитиве не было поддержки облаков уведомлений. 
После обновления, например: 2.6.2 на новые версии, активные LED-индикаторы отобразятся в облаках уведомлений.
Если отображение в облаке не жалательно, следует после обновления на новую версию, закрыть SCADA и воспользоваться утилитой \ tools-scada \ led_notification.exe для отключения уведомлений.

Рассмотрим настройки примитива.


Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.
  • Тэг - тэг контролируемого параметра
  • Неисправность  - (только чтение) обновляется после привязки тэга и отображает название неисправности, указанное в настройках ОРС-сервера для выбранного канала, и  которое будет записано в журнал событий SCADA. Если нажать "...", название неисправности будет скопировано в буфер обмена, либо будет автоматическо создан объект Надпись на карте.
  • Текущее - (только чтение) текущее числовое/строковое  значения связанного Item

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

  • Звуковой файл - файл из папки Scada\Sounds, который будет воспроизведен при переходе в сигнальное состояние
  • Журнал - (по умолчанию - Да) фиксировать изменения сигнала в журнале событий и оперативном журнале
  • Уведомление - (по умолчанию - Да) отображать ли состояния "авария", "ознакомлен" в облаке уведомлений
    • При изменении значения настройки в Нет будет автоматически изменена настройка Автоподтверждение - Да.
  • Автоподтверждение - (по умолчанию - Нет) выполнять автоматическое квитирование сигнала

Замечание относительно настройки уведомлений.
Будьте внимательны при следующих настройках:

  • Уведомление - Нет
  • Автоподтверждение - Нет

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

Дополнительные настройки:

  • Цвет вкл. - цвет активного состояния
  • Мерцание - осуществлять ли мерцание в сигнальном состоянии
  • Стиль - Эллипс / Прямоугольник
  • Обработчик - правило анализа контролируемого параметра.
    Правило - это выражение, аналогичное используемому в Переменных или Text-функция,
    определяющее активное состояние LED-индикатора, где:
    • если выражение Истина, или значение выражения > 0 - LED активен
    • если выражение Ложно, или значение выражения = 0 - LED не активен
  • Неисправность - конкретизация названия неисправности для отображаемого сигнала (по умолчанию = пусто)
    В журналах событий сигнал будет отображаться, как 
    Название события из настроек ОРС-сервера : Неисправность
    Если указать название неисправности начинается с !, то будет указываться только Неисправность
    Может быть использовано, например: при отображении сигнала битовой маски (подробнее см. далее)
  • ОЖ Вкл - сообщение отображаемое в оперативном журнале при активном сигнале (если не указано, отображается Авария).
  • ОЖ Выкл - сообщение отображаемое в оперативном журнале при переходе сигнала в норму (если не указано, отображается Норма).
  • Текст [Да \ Нет] - отображать текст на примитиве (по-умолчанию: название неисправности)
  • Text-функция - использовать функцию для преобразования число-значение
  • Реальное значение [Да \ Нет] - передавать ли в функцию значение Item, а не только сигнальное состояние (0 / 1).

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

Внимание!
1. При связке примитива LED с обычными дискретным сигналом OPC-сервера будет автоматически выбран  тип Обработка  BIT (X;1)  
2. Если вы заметили, что в облаке уведомлений отображается пустая картинка вместо LED-индиктатора, следует удалить файлы  \ Scada \ Settings \ Images \ led_*.png и перезапустить SCADA

Работа с битовыми масками 

Если числовое значение сигнала Item представляет собой битовую маску, то для отображения  состояния каждого требуемого бита следует использовать отдельный LED-примитив.

Обычно сигнал в виде битовой маски встречается при диспетчеризации Modbus-устройства или других контроллеров сторонних производителей.

Например: пусть значение сигнал представляет собой битовую маску трех состояний:

Бит:

  1.  Пуск насоса 1
  2.  Пуск насоса 2
  3.  Пуск насоса 3 

Т.е если значение сигнала = 5, то это значит что запущены насосы 1 и 3 (уставлены 1 и 3 биты).

Название неисправности для данного сигнала в ОРС - сервере указано, как "Насосы ИТП".

Размещаем на карте три LED индикатора (LED1, LED2, LED3), для каждого в настройках указываем

  • Обработчик - BIT (X;1) - для первого, BIT (X;2) - для второго, и т.д.
  • Неисправность - "Пуск насоса 1"  - для первого индикатора, "Пуск насоса 2" - для второго индикатора  и т.д.

При включении первого насоса у нас будет загораться Led1 и в журналах отображаться событие: "Насосы ИТП : Пуск насоса 1" .

При включении третьего насоса будет загораться Led3 и в журналах отображаться событие: "Насосы ИТП : Пуск насоса 3" .

Если в свойстве Неисправность для Led1 указать "!Пуск насоса 1", то при включении насоса 1, в журналах будет отображаться просто   "Пуск насоса 1"

Дополнительная раскраска примитива 

В базовом варианте, вы указываете цвет активного состояния индикатора, и он либо погашен, либо зажжен.

Однако, с помощью Text-функция вы можете указывать разные цвета активного состояния индикатора

Пример такой функции приведен ниже 

21=Несанкционированное снятие 1-ой колодки --color:#808080
31=Несанкционированное снятие 2-ой колодки --color:#FF8080
35=Несанкционированное открытие шкафа

для изменения цвета следует после описания события добавить --color и код цвета.

Стрелочный индикатор

 Обновления:
 2.6.6
  * восстановлена работа уведомлений (не работало в 2.6.5-2.6.4)
 2.6.3
  * поддержка уведомлений, звуковых файлов 
 24-07-2020
  * исправлена настройка границ Min, Max

Позволяет визуализировать любой числовой параметр.

Стрелочный индикатор

Настройки:

  • Тэг - контролируемый параметр
  • Звуковой файл - воспроизводить звуковой файл при выходе за границы Min, Max
  • Уведомления - отображать ли уведомления в облаке уведомлений
  • Журнал - записывать ли события в оперативный журнал и журнал событий
  • Угол - угол разворота шкалы (от 30 до 90 для стиля Левый, Правый; до 360 для стиля Центр)
  • Шкала - максимальной значение шкалы (минимум всегда 0)
  • Число отсчетов - число основных отчетов от минимума до максимума шкалы
  • Толщина стрелки - толщина стрелки (от 1 до 5)
  • Надпись
  • Цвет фона
  • Стиль индикатора
    • Левый
    • Правый
    • Центр
  • Рамка - рисовать ли рамку вокруг примитива
  • Максимум - отображать ли границу максимума (если Да, то привитив будет анализировать выход за границы)
  • Цвет max - цвет границы
  • Значение max - значение max
  • Среднее - аналогично Максимум
  • Минимум - аналогично Максимум  (если Да, то привитив будет анализировать выход за границы)

После изменения Стиля индикатора может потребоваться изменить размер примитива.

 


Часы

Доступен с версии АСУД.SCADA 2.4.1
В версии 2.6.2 вызывает ошибку на закрытии SCADA (исправлено в версии 2.6.3)

Позволяет отобразить часы на ситуационном плане.

Clock wiki.JPG

Настройка примитива

Разместите примитив на карте, выберите стиль часов.

Часы сегментные

Доступен с версии АСУД.SCADA 2.7.16

Позволяет отобразить на ситуационном плане сегментные часы

.
Clock wiki.JPG

Источник вызова УПСЛ-М

Доступен с версии АСУД.SCADA 2.6.4

Позволяет отобразить источник вызова УПЛС-М при подключении выходов Д1, Д2 ПУ-М к концентратору КУН.

Подключение Д1, Д2 имеет смысл только при работе УПСЛ-М с TL-концентраторами  
(поскольку передача информации  об источнике вызова по RS-485 при таком подключении может занимать значительное время).

Upslm-prim.PNG

Настройка примитива

Разместите примитив на карте, укажите:

  • Тег ПГС - тег канала ПГС концентратора КУН, к которому подключен ПУ-М
  • Тег Д1 - тег дискретного входа КУН, к которому подключен выход Д1 ПУ-М
  • Тег Д2 - тег дискретного входа КУН, к которому подключен выход Д2 ПУ-М
  • Цвет фона  - цвет фона 
  • Тext-функция  - необязательный параметр, который следует указать, если используется нестандартное название источников вызова.

Вы можете добавить рядом  примитив Надпись, указав текст "Источник вызова".

По умолчанию в примитиве  отображается одно из значений:

  • 0 - Кабина
  • 1 - Крыша/Приямок
  • 2 - ОПЭ (основной посадочный этаж)
  • 3 - Машинное

Если вам необходимо использовать нестандартные имена, то следует создать текстовую функцию, задав соответствие числам от 0 до 3.

Принцип работы примитива

Данные об источнике вызова отображаются, только если связанный Тег примитива ПГС находится в состоянии "вызов", иначе отображается "---".



Входящие SIP

Доступен с версии АСУД.SCADA 2.7.3

Примитив позволяет настроить обработку входящих SIP звонков в SCADA.

Данная возможность используется, например при диспетчеризации IP-домофонов Comelit, или при необходимости подключения к SCADA любого друго SIP-оборудования.

Scada sip1.PNG
Один примитив следует разместить для каждого удаленного SIP-устройства, с которого необходимо принимать входяшие звонки.

Звонки по умолчанию принимаются на порт tcp/udp 5065  (порт отображаются в настройке Справка, подробнее см. ниже).
Если необходимо изменить номер порта, следует отредактировать поле SIPPort  в файле  ..\ Scada \ settings \  tprim.conf и перезапустить Scada.

Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.

Дополнительные настройки:

  • Скрыть фон - (по умолчанию Нет) отображать фон примитива 
  • Надпись - (по умолчанию Нет)  отображать имя Абонента на примитиве
    • В текущей версии надпись корректно отображается для примитивов на одноцветном фоне.
      Если фон не одноцветный - используете дополнительно примитив Надпись.
  • Изображение - файл изображения (по-умолчанию изображение домофона)
    • Выберите файл из  ..\Scada\settings\Images или любой другой папки (после выбора файл будет автоматически скопирован в  ..\Scada\settings\Images)
  • Исходный размер - в случае выбора примитив будет оптимизирован под исходный размер изображения (для svg-изображений никаких действий произведено не будет)
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинки настройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона подложки - по необходимости измените цвет фона изображения.
  •  Прозрачность - режим прозрачности. Это дополнительная настройка изменять ее почти никогда не следует. 
    • sptDefault (по умолчанию) - базовый режим 
    • sptRectangle - изображение обрабатывается как прямоугольник
  • Прозрачность (цвет) - прозрачный цвет в изображении (в режиме прозрачности sptDefault).
    • Черный (по умолчанию) - почти всегда следует указывать черный.
      Если в изображении присутствует "рабочий" черный цвет, измените настройку.
  • Мерцание - при активном вызове фон примитива будет мерцать
  • Адрес - адрес установки SIP-устройства для отображении в журналах
  • Абонент - имя абонента для отображения в журнале ПГС
  • SIP-хост - IP-адрес удаленного SIP-устройства
  • SIP-порт  - порт удаленного SIP-устройства
  • Видео-поток - URL-потока, который будет отображен после ответа на звонок 
  • DTMF - набор DTMF-сигналов для передачи SIP-устройству во время звонка
  • Нет связи в облаке - отображать ли примитив без связи в облаке уведомлений
  • SIP-монитор  - открыть окно монитора входящих SIP-подключений.

Принцип работы примитива

Примитив позволяет ответить на входящий SIP звонок, если параметры звонка: IP, Порт идентичны настройкам примитива.

Принцип обработки входящего SIP звонка в SCADA смотри здесь.

Если в настройках примитива указать Видео-поток, то после ответа на звонок, будет открыто окно с видео-данными.

Если указаны DTMF-команды, то после ответа на звонок можно отправить DTMF-сигнал, нажав на примитив правой кнопкой мыши.

 Примитив отображается с синим восклицательным знаком если:

  • программа перешла в Demo-режим
  • свойство SIP-хост не настроено
  • удаленное SIP-устройство не ответило на ping-запрос
    (программа примерно раз в минуту выполняет отправку ping-запросов на указанный SIP-хост).


Состояние таймера

Доступен с версии АСУД.SCADA 2.7.6

Примитив позволяет отобразить текущее состояние внутрипрограммного таймера

Dop timer.PNG

Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.

Дополнительные настройки:

  • Скрыть фон - (по умолчанию Нет) отображать фон примитива 
  • Надпись - (по умолчанию Да)  отображать имя выбранного Таймера на примитиве
  • Изображение - файл изображения (по-умолчанию изображение Планировщика)
    • Выберите файл из  ..\Scada\settings\Images или любой другой папки (после выбора файл будет автоматически скопирован в  ..\Scada\settings\Images)
  • Исходный размер - в случае выбора примитив будет оптимизирован под исходный размер изображения (для svg-изображений никаких действий произведено не будет)
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинки настройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона подложки - по необходимости измените цвет фона изображения.
  •  Прозрачность - режим прозрачности. Это дополнительная настройка изменять ее почти никогда не следует. 
    • sptDefault (по умолчанию) - базовый режим 
    • sptRectangle - изображение обрабатывается как прямоугольник
  • Прозрачность (цвет) - прозрачный цвет в изображении (в режиме прозрачности sptDefault).
    • Черный (по умолчанию) - почти всегда следует указывать черный.
      Если в изображении присутствует "рабочий" черный цвет, измените настройку.
  • Мерцание - при активном вызове фон примитива будет мерцать.
  • Таймер - следует выбрать один из настроенных таймеров.

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

  • имя выбранного таймера 
  • статус таймера: активирован - ON /деактивирован - OFF
  • последнее значение сработки таймера  после запуска Scada
    (активное - изображение звоночка / пассивное - нет изображения)
Dop timer2.PNG

Диспетчеры

Доступен с версии АСУД.SCADA 2.7.14

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

Disp scada 1.PNG
Имеет смысл разместить один примитив на главном виде программы.

 Настройка примитива:

Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.

Дополнительные настройки:

  • Диспетчеры - (только чтение), нажмите "..." для редактирования списка диспетчеров
  • Дежурства - (только чтение), нажмите "..." для отображения журнала принятия смен 
  • Шрифт - выбор шрифта надписи имени диспетчера
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинки настройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона подложки - по необходимости измените цвет фона изображения.

Первоначально следует создать список диспетчеров. Для этого в режиме настройки разместите примитив на карте и нажмите свойство Диспетчеры / Редактировать.

Disp scada 1.PNG
, где:
  • Идентификатор - сквозная нумерация диспетчеров
  • ФИО - имя диспетчера
  • Пароль - (скрытое поле)  пароль диспетчера

Пароль должен быть обязательно задан.
Если вы изменяете значение полей Идентификато / ФИО Диспетчера, вы также должны повторно ввести Пароль.

Для просмотра журнала дежурств в режиме настройки нажмите на свойство примитива Держурства / Просмотреть или в рабочем режиме нажмите на примитив.

Disp scada 1.PNG
, где
  • Обновить - обновить отчет с учетом выбранных дат
  • >> CSV - сохранить отчет в формате .csv

В рабочем режиме в примитиве отображается текущий дежурный диспетчер.

Disp scada 1.PNG
Для смены диспетчера следует выполнить клик на примитиве и в открывшемся окне 
Disp scada 1.PNG
указать имя диспетчера и пароль. Нажать кнопку Взять дежурство.
Disp scada 1.PNG
Информация о дежурившем диспетчере отображается в журналах событий и ПГС  
Disp scada 1.PNG




Автоподтверждение

До версии 2.7.18 upd2 возможна ошибка
в случае если других доп примитивов на карте нет, и настраивается Тэг обработки значения
Доступен с версии АСУД.SCADA 2.7.16

Позволяет реализовать автоподтверждение (авто квитирование  - переход сигнала в состояние "ознакомлен") для указанного перечня дискретных сигналов по таймеру.

Auto confirm.PNG

Примитив может быть удобен при:

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

 Настройка примитива:

Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.
  • Скрыть фон - отображить фон примитива
  • Надпись - отображать название Таймера, связанного с примитивом
  • Шрифт - выбор шрифта надписи
  • Цвет фона - цвет фона определяется автоматически при создании изображения. Для наилучшего отображения картинки настройка должна всегда соответствовать цвету фона карты. Если вы меняете цвет фона подложки - по необходимости измените цвет фона изображения.

Дополнительные настройки:

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

Примеры использования примитива.

Вариант 1. Необходимо автоически квитировать все дискертные сигналы.

Следует просто разместить примитив на карте.

Вариант 2. Необходимо квитировать все дискертные сигналы в определенное время.

Следует разместить примитив на карте и настроить Таймер.

Вариант 3. Необходимо всегда квитировать определенные сигналы.

Следует разместить примитив на карте и настроить перечень квитируемых тэгов.

Вариант 4. Необходимо квитировать определенные сигналы в определенное время.

Следует разместить примитив на карте, настроить перечень квитируемых тэгов, настроить Таймер.

Стороннее приложение

Доступен с версии АСУД.SCADA 2.7.16 (в тестовом режиме)

Позволяет отобразить в окне SCADA окно стороннего "простого" приложения (блокнот, калькулятор, ....) .
(Тяжелые приложения, такие как, например: браузеры - не заработают)

Auto confirm.PNG

 Настройка примитива:

Базовые настройки:

  • Справка - (только чтение) краткая справка. Нажмите "..."  для отображения справки.

Дополнительные настройки:

  • Приложение - имя запускаемой программы (приложения), например: calc.exe 

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

Таблицы

Простая таблица

Доступен с версии АСУД.SCADA 2.4.0

Позволяет отобразить на виде табличные данные из файла:

  • xls (Excel 97, 2000), установка Excel на ПК не требуется
  • csv (текстовые данные, разделенные точкой с запятой)
Prim simple table 1.JPG

Удобно использовать при необходимости разместить различные справочные данные.

Таблицы в формате CSV можно создать в Блокноте, например: файл test.csv

 

 

  Заголовок1;Заголовок2 Данные1;Данные2 Данные1;Данные2 Данные1;Данные2 Данные1;Данные2

Настройка примитива

Просто разместите примитив на карте, укажите файл с табличными данными, выбрав тип XLS или CSV.

Таблица данных OPC

Доступен с версии 2.5.2

Позволяет отобразить табличные данные, получаемые с ОРС-сервера.

Gridopc.PNG

Разместите примитив на карте и свяжите со строковым Тегом ОРС-сервера, например: с тегами устройства DBMonitoring

Примитив позволяет отобразить данные, передаваемые в формате CSV-таблицы.

Пример табличных данных:

Заголовок1;Заголовок2
Данные1;Данные2

Дополнительно могут быть указаны Header и Footer

:Header: Заголовок
:Footer: Комментарий
Заголовок1;Заголовок2
Данные1;Данные2

 

 

Таблица данных Тегов

Обновления: 
15-05-2020
* в окне выбора тега добавлены оба скрола, иначе мог возникать нежелательный перенос строки при выборе тега
Доступен с версии 2.5.2

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

Удобен при отображении набора  данных сторонних ОРС-серверов или Modbus-устройств.

Gridtag.PNG
Разместите примитив на карте. Укажите в настройках перечень тегов, которые необходимо отобразить в таблице. 

Теги выбираеются в окне настройки  с помощью контекстного меню, появляющегося при нажатии правой кнопкой мыши. 

Gridtag2.PNG
В таблице примитива отображаются:
  • № - сквозная нумерация строк 
  • Тег - выбранный тег
  • Название - свойство "название неисправновти" Item  (отображаемое в журнале событий)
  • Значение  - текущее значение
  • Дата - дата последнего изменения значения 
    • Синий цвет - нет связи, неисправность датчика
    • Черный цвет - норма.

Если в Названии отображается '--' , то Item не передает свойство  "название неисправности"

Если в Значении отображается '--', то значение Item не является числом или строкой (отображение значения не поддерживается).

Настройки примитива:

  • Теги - окно выбора тегов для отображения в таблице, для каждого тега может быть указана Text-функция обработки значения
  • Нумерация [Да / Нет] - отобразить столбец с номерами строк
  • Имя тега [Да / Нет ] - отобразить столбец Тег
  • Уровень тега - какое количество элементов тега отобразить (например:  1   - Status,  2 - КУН-IP8.Status  и т.п.)
  • Центрирование [Да / Нет ] - выполнять ли центрирование данных в столбцах Тег, Название
  • Ширина Значение - если для визуализации данных используется Text-функция можно указать размер колонки Значение в ручном режиме.

Управление

Кнопка

Обновления:
16-09-2024 2.7.17 
* возможность отображения картинки
* ожидание на check 20 с.
* корректировка обработки check при одновременном нажатии нескольких кнопок
* возможность нажатия по таймеру
22-02-2024 2.7.15
* поиск окна запущенного приложения перед выполнением команды
20-09-2023 2.7.14
* прямое выполнение http(s):// запросов
* tlreset
19-07-2022
* исправлена работа функции CHECK
07-06-2022
* запрос пароля на подтверждения действия
15-05-2020
* окне выбора тегов добавлены оба скрола,иначе мог возникать нежелательный перенос строки при длинном имени тега
05-11-2019
* изменена пиктограмма
* добавлена возможность ввода комментария в окне команд, имитация сработы таймера
* факт записи значения в Item OPC-сервера отображается в оперативном журнале
* добавлена возможность требовать подтверждения записи
05-09-2019
* добавлена возможность выбора цвета кнопки 
21-11-2018
До версии 2.6.0
Начиная с версии 2.6.0

Кнопка - предназначена для:

  • запуска любой сторонней задачи (приложения)
  • или выбора элемента главного меню в рабочем режиме
  • или записи значения в один или несколько Item OPC-сервера и имитации сработки Таймера
  • или отображения файлов документации в формате pdf

Настройки примитива:

  • Команда - команда, выполняемая команда при нажатии на кнопку
  • Надпись - надпись на примитиве
  • Цвет фона - цвет кнопки
  • Подтверждение нажатия (Да/Нет) - требовать ли от диспетчера  подтверждения выполнения операции (имеет смысл при записи значений Item OPC-сервера и/или имитации сработки Таймера)
  • Сообщение - текст подтверждающего сообщения 
    • не указано - будет отображено 'Подтвердить нажатие кнопки?'
    • указано - будет отображено 'Вы действительно хотите выполнить: Сообщение?' 
  • Запрашивать пароль - при нажатии на кнопку будет запрошен пароль. - 
    Запрос пароля может потребоваться например для изменения каких-либо уставочных параметров подключенных устройств.
  • Задать пароль - задать пароль. Пароль является общим для всех кнопок.
  • Изображение - отобразить картинку на кнопке
  • Позиция  - позиция изображения
    • ipLeft - слева от надписи
      (для центровки надписи исп. доп пробелы в начале надписи)
    • ipCenter - в центре 
  • Таймер - имя таймера, при сработке которого произойдет нажатие кнопки
    Кнопка будет нажата при значениях таймера [0, 1] 
    В случае, если кнопка нажимается по таймеру не будет отображено инфо сообщение и/или запрошен пароль. 

Внимание! Нажатие на кнопку обрабатывается только в рабочем режиме.

Запуск сторонней задачи

Примеры одиночных команд:

  • cmd.exe /c start ping 192.168.1.1 - выполнить команду ping
  • notepad.exe "settings\заметки.txt" - открыть файл в программе notepad.exe
  • calc.exe - запустить калькулятор
  • cmd /c start http://www.mail.ru- открыть WEB-страницу
  • cmd /c start doc\test.pdf - открыть в Acrobat Reader файл test.pdf из папки ..\Scada\doc (требуется установленный Acrobat Reader)
  • cmd /c start doc\test.jpg - открыть изображение из папки ..\Scada\doc
  • doc\test.pdf - открыть pdf-файл из папки ..\Scada\doc во внутреннем окне просмотра (требуется установленный Acrobat Reader XI или выше).

При открытии PDF-файла, его расширение в настройке должно быть указано маленькими буквами: pdf 

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

  • window "Блокнот" notepad.exe
  • window "HMI a06f" cmd /c start vcnviewer.exe 192.168.1.1

Вы можете ввести команду вручную, заполнив свойство "Команда", или с помощью контекстного меню, нажав кнопку "...".

С одной кнопкой может быть связана только одна команда.

Измение цвета себя или другой кнопки

Примеры команды:

  • set --color:#FF0000 [--id:"ID"] [--msg:Включено]
    • --color - изменить цвет на указанный 
    • --id - необязательный параметр, идентификатор объекта для изменения цвета, если не указан, кнопка изменит свой цвет
    • --msg - необязательный параметр, изменить надпись кнопки на указанную
  • set --color:#FF0000
    • изменить свой цвет на красный
  • set --color:#FF0000 --id:"{180C224C-BF1D-47FE-A437-D917673EB0C2}"
    • изменить на красный цвет объекта с указанным ID

HTTP(S) GET-запрос

Примеры команды:

  • http://192.168.1.100/cgi-bin/test.cgi - выполнить HTTP(S) GET-запрос, возможные параметры ([ ] - не обязательные параметры):
    • [--u] - UserName
    • [--p] - UserPassword  
    • [--show] - отобразить результат выполнения запроса

С одной кнопкой может быть связана только одна команда.

Сброс TL-линии КИО

Сброс линии выполняется либо специальной командой, либо путем перезапуска, как в случае КИО-2М.

Сброс линии USB-пультов, работающих в режиме ретрансляции, поддерживается для версий 2.7.16 и выше. 

Примеры команды:

  • tlreset  - выполнить сброс TL-линии связи для устройств типа КИО (кроме КИО-Windows).
    возможные параметры ([ ] - не обязательные параметры):
    • --ip:192.168.1.100 - IP-адрес устройства
    • [--u] - UserName (если отличается от значения по-умолчанию)
    • [--p] - UserPassword   (если отличается от значения по-умолчанию)
    • [--show] - отобразить результат выполнения команды

С одной кнопкой может быть связана только одна команда.

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

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

Примеры внутрисистемных команд:

  • 150 - Включить/Отключить рабочее освещение
  • 151 - Включить/Отключить дежурное освещение
  • 153 - Включить/Отключить наружное освещение
  • 152 - Отключить все
  • 1001 - Открыть телефонную книгу

Коды элементов меню можно уточнить в службе технической поддержки.

Специальные команды:

  • 10 - Общий сброс ПГС
  • 11 - Конвертирование карты (преобразование надписей на Примитивах в статический текст: свойство Примитива "Из Названия" -> "По умолчанию")

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

 

Запись значения в Item OPC-сервера

Вы можете выполнить запись одного или нескольких значений Item OPC-сервера.

Для этого следует перейти в режим ввода команд нажав на кнопку "..." в свойстве Команда.

N=Desc - добавить описание значения N для Оперативного Журнала
DA.{}...ControlChannel=N Msg - вкл (N=1), выкл (N=0) канал управления
DA.{}...TagName=N Msg - записать значение N (N >= 0) в Item
check - дождаться подтверждения записи значения (max 60c), иначе выход из дальнейшей обработки команд
VAR.Name=N Msg - записать значение (N >= 0) в Переменную
TIMER.Name=M - имитация таймера, сигнал M (M =[0,1])
sleep=M - пауза в M (M > 0) с
\\ Комментарий  - любой комментарий

где, 

  • N, M - целое число
  • Msg - необязательный комментарий, отображаемый в Оперативном Журнале

Например:

 0=Выключить
1=Включить
DA.[localhost{...}].КУН-IP8 - 0.ControlChannel01=1 
sleep=1 
DA.[localhost{...}].КУН-IP8 - 0.ControlChannel02=1 
sleep=3 
DA.[localhost{...}].КУН-IP8 - 0.ControlChannel02=0 
sleep=1 
DA.[localhost{...}].КУН-IP8 - 0.ControlChannel01=0 

Где,

  • 0=Выключить - описание значения 0, для отображения в Оперативном журнале
  • DA.[localhost{...}]... =1 - включить канал (записать в Item значение 1)
  • DA.[localhost{...}]... =0 - выключить канал (записать в Item значение 0)
  • sleep=1 - подождать 1 секунду
  • sleep=3 - подождать 3 секунды

Факт действительного выполнения команды (записи) не проверяется (значение просто записывается в ОРС-сервер), если не указана команда check.

check - проверяет, значение Item изменилось на указанное при записи (т.е. указали записать 1 и значение Item изменилось на 1, подразумевается что ОРС-сервер меняет значение Item, толкьо после фактической записи запсиси значения в устройство / контроллер). Если этого не происходит в течение 20 секунд, дальнейшая обработка команд прекращается и информация об ошибке отображается в оперативном журнале.
Внимание! Функция check работает корректно только с версии АСУД.SCADA 2.7.7 (в более ранних версиях использовать не следует)

Факт нажатия на кнопку отображается в Оперативном журнале SCADA.

Вы можете выполнять запись значения в любой Item OPC-сервера (в который разрешена запись) будь-то канал управления или Item Modbus-устройства.

Команды вводятся с помощью меню (при нажатии правой кнопки мыши).

Пример см. здесь

Имитация сработки Таймера

Начиная с версии 2.5.3 примитив может быть использован для имитации сработки Таймеров.

Для этого следует перейти в режим ввода команд нажав на кнопку "..." в свойстве Команда. Выбрать контекстное меню "Имитация сработки таймера"

 TIMER.Таймер=1

Где,

  • TIMER.Таймер=1 - имитировать сработку таймера "Таймер" со значением сигнала 1.

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

Подробнее о таймерах см. описание АСУД.SCADA

Активация / деактивация Таймера

Начиная с версии 2.7.6 примитив может быть использован для перевода  Таймеров в ручное управление

Для этого следует перейти в режим ввода команд нажав на кнопку "..." в свойстве Команда. Выбрать контекстное меню "Активировать таймер"

 TIMER.Таймер=1001

Где,

  • TIMER.Таймер=1001 - активировать таймер "Таймер" - т.е. перевести в рабочее состояние.
TIMER.Таймер=1000

Где,

  • TIMER.Таймер=1000 - деактивировать таймер "Таймер" - т.е. перевести в состояние отключен.

Подробнее о таймерах см. описание АСУД.SCADA

 

Агрегатор каналов управления

Обновления:
2.7.15
 - примитив существенно доработан
 - добавлена возможность указать каналы обратной связи (ОС)
 - добавлена поддержка Журнала событий
Доступен с версии 2.6.4

Описание работы примитива для версий до 2.7.15 смотри здесь 

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

Это может быть полезно, например: при управлении большим числом задвижек (клапанов), подключенных к управляющим концентраторам КУП-4RS и т.п.

 
Prim control aggregator.PNG
Примитив позволяет:
  • Настроить связку имя Группы - Набор каналов управления
  • Удобно переключаться между группами
  • Отобразить текущее состояние каналов управления и каналов обратной связи, входящих в выбранную группу
  • Включить / Выключить выбранный канал
  • Включить / Выключить все каналы выбранной группы
  • Включить / Выключить все настроенные каналы управления
  • Отобразить статистику по каналам управления
    • Общее количество каналов
    • Находящихся в состоянии Включен \ Выключен
    • Количество неисправных каналов управления  (концентраторы без связи)
  • Отобразить список групп, в которых присутствуют Включенные \ Выключенные каналы
  • Отобразить список групп, в которых присутствуют неисправные каналы (концентраторы без связи)

Настройки примитива:

  • Теги - настройка связки  имя Группа - Набор каналов управления и обратной связи
  • Отображать ВЫКЛ - [Да \ Нет] отображать в отдельном окне примитива группы, в которых присутствуют каналы управления в состоянии выключен. Иначе отображать группы с примитивами включен.
  • Подтверждать ВКЛ - требовать дополнительное  подтверждение оператора на включение канала
  • Подтверждать ВЫКЛ -  - требовать дополнительное  подтверждение оператора на выключение канала

В настройке Теги следует указать привязку каналов управления к группе 

Prim control aggregator tag.PNG

Общий формат настройки 

#Группа 1
DA.[...].xxx.ControlChannel1=Название канала 1.1
DA.[...].xxx.Sensor1
DA.[...].xxx.ControlChannel2=Название канала 1.2
DA.[...].xxx.Sensor4 
#Группа 2
DA.[...].xxx.ControlChannel1=Название канала 2.1
DA.[...].xxx.ControlChannel2=Название канала 2.2

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

Sensor  - это канал обратной связи (ОС) для предыдущего канала управления.

Если в группе используются каналы ОС, то они должны быть указаны для каждого канала группы. Например: в Группа 1 - присуствуют каналы ОС, а в группе 2 - нет.

Если канал ОС один на несколько каналов управления - он указывается (дублируется) для каждого из этих каналов, например:

#Название группы 1
DA.[...].xxx.ControlChannel1=Название канала 1.1
DA.[...].xxx.Sensor1
DA.[...].xxx.ControlChannel2=Название канала 1.2
DA.[...].xxx.Sensor1

Sensor1 - это общий канал обратной связи для каналов ControlChannel1 и ControlChannel2

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

Автоматическая настройка возможна, если наименование каналов управление и каналов обратной связи в ОРС-сервере производилось по-правилу:

Название группы ; Название канала

Т.е., например, окне настройки концентратора КУП-4RS  в Tekon OPC-сервер для каналов управления вы указывали настройку "Журнал  \ Название", как 

Prim control aggregator nastr.PNG
В этом случае примитив перенесет настройки сервера молниеносно. 

Пример отображения данных примитивом в рабочем состоянии без настройка каналов ОС.

Prim control aggregator work.PNG

Текущее состояние канала отображает

  • Дату \ Время последнего изменения состояния
  • Подсвечивается
    • Желтым - для каналов в состоянии включен
    • Белым - выключенных
    • Бирюзовым - включаемых / выключаемых в настоящий момент
    • Синим - неисправных

Если вы настроили в группе каналы ОС, то примитив в рабочем режиме будет выглядеть следующим образом 

Prim control aggregator work.PNG
При этом логика подсчета выключенных / включенных каналов меняется.  Канал считается включеным только, если пришло подтвержедение от канала обратной связи.
Например, для канала ГВС  - канал включен, но подтверждения от датчика ОС - нет.

Для отображения  в рабочем режиме Тега, с которым связан канал, выполните двойной клик на "Названии" канала. 

Для отображения архивных значений сигнала следует выполнить Shift-клик по требуемой ячейке в 1 или 2 столбце.