Переменные

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


Версия документа: 05.04.2016

Автор изменений : Alex

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

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

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

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

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

  • OR - логическое ИЛИ
  • AND - логическое И.

Несмотря на то, что переменная может быть связана с любым типом Item, пока (в связи со спецификой реализации) имеет смысл сопоставлять ее с Item типа:

  • дискретный датчик
  • канал ПГС

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

  • 0 - состояние Норма
  • 1 - состояние Активное (Сигнальное)

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

Что в итоге сейчас можно реализовать:

  1. Показать Изображение 1 в случае если любой из анализируемых сигналов находится в Активном (сигнальном) состоянии
  2. Показать Изображение 2 иначе

или

  1. Показать Изображение 1 в случае если все из анализируемых сигналов находится в Активном (сигнальном) состоянии
  2. Показать Изображение 2 иначе


Для использования примитивов в АСУД.SCADA следует добавить модуль variables.psm в папку ..\Scada\Modules

Текущие ограничения в работе:

  • Пока работают только с примитивом Изображение

Настройка Scada

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

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

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

Имя переменной имеет вид "Var..". Изменить имя нельзя, оно присваивается автоматически при создании переменной.

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

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

  • Название - не изменяемое поле
  • Тип - реализуемая логическая функция OR или AND
  • Описание - любая текстовая информация
  • Адрес - текстовое поле (пока не используется)

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

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

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

Написать простой 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.

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

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

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

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

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

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