Переменные: различия между версиями

Материал из TekonWiki
Перейти к навигацииПерейти к поиску
Строка 60: Строка 60:
* Тип - реализуемая функция обработки значения  
* Тип - реализуемая функция обработки значения  
* Задержка - задержка срабатывания Переменной в секундах (max 600 секунд)
* Задержка - задержка срабатывания Переменной в секундах (max 600 секунд)


Далее следует добавить Item OPC-сервера, выполнив клик правой кнопкой мыши в списке Тэги / Переменные.
Далее следует добавить Item OPC-сервера, выполнив клик правой кнопкой мыши в списке Тэги / Переменные.


После добавления Item в окне отобразится их текущее состояние и вычисленное текущее состояние Переменной.
После добавления Item в окне отобразится их текущее состояние и вычисленное текущее состояние Переменной.
=== Тип (функции обработки значений) ===
В настоящее время реализованы следующие функции:
{| class="wikitable"
|-
! Тип функции !! Описание !! Число связанных Item !! Типы связанных Item
|-
| OR || Логическое ИЛИ (анализируется только младший бит Item)|| Любое || <br>
* дискретный сигнал;
* канал ПГС;
* канал управления.
|-
| AND || Логическое И (анализируется только младший бит Item)|| Любое|| <br>
* дискретный сигнал;
* канал ПГС;
* канал управления.
|-
| XOR || Логическое исключающее ИЛИ (анализируется только младший бит Item)|| 2|| <br>
* дискретный сигнал;
* канал ПГС;
* канал управления.
|-
| !=0 || Сравнение с 0 (авария - числовое значение <> 0) || 1 || Числовое значение
|-
| ВЫРАЖЕНИЕ|| Логическое выражение || Любое || Числовое значение
|-
|}
Последний  Тип удобно использовать при визуализации данных контроллеров сторонних производителей, например: [[Modbus-устройства|Modbus-устройств]].
Выражения - позволяют реализовать более сложную модель обработки значения одного или нескольких Item. При этом каждый добавленный Item в разделе Теги и/или Переменные получает условное буквенное обозначение X, Y, Z, K, L и т.д.
Примеры построения выражений:
{| class="wikitable"
|-
! Выражение !! Описание
|-
| BIT (X;1) || Проверить установленный 1-ый бит в значении Item-а. Нумерация бит 32..1  (1 - младший)
|-
| X > 10 || Проверить, что значение Item-a больше 10
|-
| X == 5 || Проверить, что значение Item-a равно 5
|-
| X != 2 || Проверить, что значение Item-a не равно 2
|-
| X !! Y || Логическое ИЛИ двух значений Item
|-
| X && Y || Логическое И двух значений Item
|-
| X % 2 || X mod 2
|-
| X div 2 || X div 2
|-
|}


После внесения изменений следует сохранить их, нажав на пиктограмму "Сохранить все" панели инструментов.  
После внесения изменений следует сохранить их, нажав на пиктограмму "Сохранить все" панели инструментов.  

Версия от 08:52, 29 марта 2019


Введение

Внимание!
Следует обновить SCADA до версии 2.3.8 или обновить модуль Variables

Начиная с версии 2.2.2 в программе АСУД.SCADA доступен ряд дополнительных функциональных возможностей по анализу состояния группы дискретных сигналов.

Данный функционал реализуется с помощью механизма "Переменных".

Переменные - это некий аналог Item в понимании OPC-сервера, но реализованный на стороне Scada.

Переменная в общем случае может быть связана с несколькими Item OPC-сервера. Значение Переменной при этом определяется, как функция от состояния связанных Item.

Значение, которые может принимать Переменная:

  • 0 - состояние Норма
  • 1 - состояние Активное (Сигнальное)
  • 3 - подтвержденное сигнальное состояние (желтый восклицательный знак).

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

В Scada можно привязать Переменную через свойство Тэг к примитивам

Настройка OPC-сервера

Внимание! Важно!

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

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

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

Настройка Scada

В режиме настройки выбрать меню Вид / Переменные

Настройка Переменных
Настройка Переменных

Слева указаны зарегистрированные Переменные.

Имя переменной всегда начинается с "Var.".

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

Элементы меню добавления переменной:

  • Добавить - добавить новую переменную
  • Копия (полная) - скопировать настройки текущей переменной (удобно при разбивке битовой маски одного Item, при настройке Modbus-устройства)
  • Копия (без тегов) - скопировать настройки текущей переменной без заполнения Тегов
  • Удалить - удалить переменную
  • Имя в буфер обмена - скопировать имя переменной в буфер обмена для последующей вставки в свойство Тег Примитива на карте

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

  • Название - имя переменной (без приставки Var.)
  • Журнал событие - название типа неисправности (для Дискретного датчика будет отображаться в Журнале событий)
  • Журнал адрес - адрес (для Дискретного датчика будет отображаться в Журнале событий)
  • Тип - реализуемая функция обработки значения
  • Задержка - задержка срабатывания Переменной в секундах (max 600 секунд)

Далее следует добавить Item OPC-сервера, выполнив клик правой кнопкой мыши в списке Тэги / Переменные.

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

Тип (функции обработки значений)

В настоящее время реализованы следующие функции:

Тип функции Описание Число связанных Item Типы связанных Item
OR Логическое ИЛИ (анализируется только младший бит Item) Любое
  • дискретный сигнал;
  • канал ПГС;
  • канал управления.
AND Логическое И (анализируется только младший бит Item) Любое
  • дискретный сигнал;
  • канал ПГС;
  • канал управления.
XOR Логическое исключающее ИЛИ (анализируется только младший бит Item) 2
  • дискретный сигнал;
  • канал ПГС;
  • канал управления.
!=0 Сравнение с 0 (авария - числовое значение <> 0) 1 Числовое значение
ВЫРАЖЕНИЕ Логическое выражение Любое Числовое значение

Последний Тип удобно использовать при визуализации данных контроллеров сторонних производителей, например: Modbus-устройств.

Выражения - позволяют реализовать более сложную модель обработки значения одного или нескольких Item. При этом каждый добавленный Item в разделе Теги и/или Переменные получает условное буквенное обозначение X, Y, Z, K, L и т.д.

Примеры построения выражений:

Выражение Описание
BIT (X;1) Проверить установленный 1-ый бит в значении Item-а. Нумерация бит 32..1 (1 - младший)
X > 10 Проверить, что значение Item-a больше 10
X == 5 Проверить, что значение Item-a равно 5
X != 2 Проверить, что значение Item-a не равно 2
X !! Y Логическое ИЛИ двух значений Item
X && Y Логическое И двух значений Item
X % 2 X mod 2
X div 2 X div 2

После внесения изменений следует сохранить их, нажав на пиктограмму "Сохранить все" панели инструментов.

Дискретный датчик

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

Размещать (визуализировать) на карте все связанные с переменной дискретные сигналы необходимости нет. Однако, если они будут размещены, то при переходе Примитива, связанного с переменной в сигнальное состояние, его подтверждение (с помощью мыши или трубки) будет приводить к авто-подтверждению связанных с переменной Item-ов.

Изображение

Разместить на карте примитив Изображение, указать в поле Тэг имя переменной, например, Var0, нажать Enter.

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

function img (x)
 local xi = math.floor(x)
 if (xi == 0)  then
    return "norma.jpg"
 end
 if (xi == 1) then  
    return "alert.jpg"
 end
end

Указать в настройках примитива Изображение функцию img.

Пример работы

  • два дискретных датчика связанны с Переменными Var1 и Var2
  • Переменная Var1 - тип AND
  • Переменная Var2 - тип OR

1. Ни один из дискретных сигналов не находится в Активном состоянии.

Переменные Норма
Переменные Норма

2. Один из дискретных сигналов находится в Активном состоянии.

Это приводит к переводу в сигнальное состояние переменной Var2 (OR) - тип ИЛИ.

Переменные Норма
Переменные Норма

3. Оба дискретных сигнала находятся в Активном состоянии.

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

Переменные Норма
Переменные Норма

Пример решения типовых задач

Выделить битовое состояние из числа (Modbus-устройства)

Пусть есть Modbus-устройство, в одном из регистров которого записано целочисленное значение, являющееся битовым набором состояний датчиков и, например: установленный (в 1) 3-й бит является признаком ошибки Насоса1, которую необходимо визуализировать.

Решение

1. Настройка ASUDBase

Выполнить регистрацию Modbus-устройства. Добавить настройку регистра, указав тип в виде целочисленного значения. При этом нет необходимости дополнительно указывать регистр с типом BIT и использовать настройку Виртуальный КДД-RS (как это было ранее).

Далее, запустить KCSLogger и прочитать состояние устройства.

2. Настройка OPC-сервера

Добавить Контейнер оборудования \ Прибор учета

3. Настройка Scada

Открываем меню Вид / Переменные

Добавляем переменную Var0, переименовываем имя в VarPump1

VarPump1

  • Журнал событие - Насос 1
  • Журнал адрес - адрес установки устройства
  • Тэги
    • Контейнер.Прибор.PumpState (ваше название Тэга)
  • Тип - ВЫРАЖЕНИЕ
  • Выражение - BIT(X;3)

Отобразить на ситуационном плане любой примитив Дискретный датчик и в свойстве Тэг указать вручную VarPump1 (нажать Enter).

Логическая группировка сигналов

Пусть есть устройство, подключенное к концентратору КУН, которое выдает 5 дискретных сигналов.
При этом считается, что:

  • одновременная сработка сигналов 1-3 с двухминутной задержкой является переходом устройства в состояние Неисправность
  • cработка любого из сигналов 4,5 без задержки является признаком состояния Выше нормы.

Необходимо отобразить в Scada 2-а дискретных датчика, отражающих состояния устройства:

  • Неисправность.
  • Выше нормы.

Решение

1. Настройка OPC-сервера

Настраиваем концентратор КУН-2Д.1, к которому подключено устройство.

Настраиваем 5 дискретных сигналов (например, 1 сигнал устройства подключен к входу 3 КУН, 2 - к 4, и т.д.):

  • для каждого из входов КУН 3 - 5 указываем задержку 2 мин.

Закрываем Конфигуратор

2. Настройка Scada

Открываем меню Вид / Переменные

Добавляем 2 переменные Var0, Var1

Var0

  • Тип - AND
  • Журнал - Неисправность
  • Адрес - адрес установки устройства
  • Тэги
    • КУН.DiscretChannel1 (это 3 вход на плате КУН-2Д.1)
    • КУН.DiscretChannel2
    • КУН.DiscretChannel3

Var1

  • Тип - OR
  • Журнал - Выше нормы
  • Адрес - адрес установки устройства
  • Тэги
    • КУН.DiscretChannel4 (это 6 вход на плате КУН-2Д.1)
    • КУН.DiscretChannel5

Отобразить на ситуационном плане любой примитив Дискретный датчик и в свойстве Тэг указать вручную Var0 (нажать Enter)

Повторить тоже самое для переменной Var1.