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

Материал из TekonWiki
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 2: Строка 2:
[[Category:ПрограммыСКАДА:SCADA]]
[[Category:ПрограммыСКАДА:SCADA]]


Версия документа: {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}
Начиная с версии 2.2.1 в программе АСУД.SCADA доступен ряд дополнительных функциональных возможностей по анализу состояния группы дискретных сигналов.  
 
Автор изменений : {{REVISIONUSER}}
 
Начиная с версии 2.1.1 в программе АСУД.SCADA доступен ряд дополнительных функциональных возможностей по анализу состояния группы дискретных сигналов.  


Данный функционал реализуется с помощью механизма "Переменных".
Данный функционал реализуется с помощью механизма "Переменных".
Строка 12: Строка 8:
Переменные - это некий аналог Item в понимании OPC-сервера, но реализованный на стороне Scada.  
Переменные - это некий аналог Item в понимании OPC-сервера, но реализованный на стороне Scada.  


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


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


Несмотря на то, что переменная может быть связана с любым типом Item, пока (в связи со спецификой реализации) имеет смысл сопоставлять ее с Item типа:
Несмотря на то, что переменная может быть связана с любым типом Item, пока (в связи со спецификой реализации) имеет смысл сопоставлять ее с Item типа:
* дискретный датчик
* дискретный датчик;
* канал ПГС
* канал ПГС;
* канал управления.


Значения, которые может принимать Переменная:
Значение, которые может принимать Переменная:
* 0 - состояние Норма
* 0 - состояние Норма
* 1 - состояние Активное (Сигнальное)
* 1 - состояние Активное (Сигнальное)


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


'''Что в итоге сейчас можно реализовать''':  
'''Что в итоге сейчас можно реализовать''':  
''Для Дискретного датчика''
Датчик будет срабатывать при одновременной сработке связанных дискретных сигналов или сработке любого из связанных дискретных сигналов.
''Для Изображения''
# Показать Изображение 1 в случае если любой из анализируемых сигналов находится в Активном (сигнальном) состоянии
# Показать Изображение 1 в случае если любой из анализируемых сигналов находится в Активном (сигнальном) состоянии
# Показать Изображение 2 иначе
# Показать Изображение 2 иначе
Строка 39: Строка 45:


Для использования примитивов в АСУД.SCADA следует добавить модуль variables.psm в папку ..\Scada\Modules
Для использования примитивов в АСУД.SCADA следует добавить модуль variables.psm в папку ..\Scada\Modules
Текущие ограничения в работе:
* Пока работают только с примитивом Изображение


== Настройка Scada ==
== Настройка Scada ==
Строка 58: Строка 61:
* Название - не изменяемое поле
* Название - не изменяемое поле
* Тип - реализуемая логическая функция OR или AND
* Тип - реализуемая логическая функция OR или AND
* Описание - любая текстовая информация
* Журнал - название типа неисправности (для Дискретного датчика будет отображаться в Журнале событий)
* Адрес - текстовое поле (пока не используется)
* Адрес - адрес (для Дискретного датчика будет отображаться в Журнале событий)


Далее следует добавить Item OPC-сервера, выполнив клик правой кнопкой мыши в списке Тэги / Переменные.
Далее следует добавить Item OPC-сервера, выполнив клик правой кнопкой мыши в списке Тэги / Переменные.
Строка 65: Строка 68:
Сохранить изменения, нажав на пиктограмму "Сохранить все" панели инструментов.  
Сохранить изменения, нажав на пиктограмму "Сохранить все" панели инструментов.  


Разместить на карте примитив [[Дополнительные_примитивы | Изображение]], указать в поле Тэг имя переменной, например, Var0.
=== Дискретный датчик ===
 
Разместить на карте примитив дискретный датчик, указать в поле Тэг имя переменной, например, Var0, нажать Enter.
 
=== Изображение ===
 
Разместить на карте примитив [[Дополнительные_примитивы | Изображение]], указать в поле Тэг имя переменной, например, Var0, нажать Enter.


Написать простой [[Скрипты | Lua-скрипт]] выбора изображения из перечня (название функции может быть любым).
Написать простой [[Скрипты | Lua-скрипт]] выбора изображения из перечня (название функции может быть любым).
Строка 83: Строка 92:
Указать в настройках примитива Изображение функцию img.
Указать в настройках примитива Изображение функцию img.


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


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

Версия от 15:04, 1 июля 2016


Начиная с версии 2.2.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, нажать Enter.

Изображение

Разместить на карте примитив Изображение, указать в поле Тэг имя переменной, например, 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.

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

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

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

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

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

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