Библиотека функций совместимости со SCADA Complex1.
Тип:
Специальные
Источник:
spec_FLibComplex1.so
Версия:
1.1
Автор:
Роман Савоченко
Описание:
Предоставляет библиотеку функций совместимых с SCADA Complex1 фирмы ООО НИП "ДІЯ".
Лицензия:
GPL
Введение
Специальный модуль FLibComplex1 предоставляет в систему OpenSCADA статическую библиотеку функций совместимости со SCADA Complex1 фирмы НИП "DIYA". Эти функции использовались в SCADA системе Complex1 в виде алгоблоков для создания внутрисистемных вычислений на основе виртуального контроллера. Предоставление библиотеки этих функций позволяет выполнять перенос вычислительных алгоритмов из системы Complex1.
Для адресации к функциям этой библиотеки можно использовать статический адрес вызова "Special.FLibComplex1.{Func}()" или динамический "SYS.Special.FLibComplex1["{Func}"].call()", "SYS.Special.FLibComplex1.{Func}()". Где {Func} — идентификатор функции в библиотеке.
Ниже приведено описание каждой функции библиотеки. Для каждой функции производилась оценка времени исполнения. Измерение производилось на системе со следующими параметрами: Athlon 64 3000+ (ALTLinux 3.0(32бит)) путём замера общего времени исполнения функции при вызове её 1000 раз. Выборка производилась по наименьшему значению из пяти вычислений. Время заключается в угловые скобки и измеряется в микросекундах.
1. Сигнал (alarm) <111>
Описание: Установка признака сигнализации в случае выхода значения переменной за указанную границу. Формула:
out = if(val>max || val<min) true; else false;
2. Условие '<' (cond_lt) <239>
Описание: Операция ветвления в соответствии с условием "<". Формула:
Описание: Полная проверка условия, включая больше, меньше и равно. Формула:
out = if(in1<(in2_1*in2_2*in2_3*in2_4)) in3_1*in3_2*in3_3*in3_4; else if( in1>(in4_1*in4_2*in4_3*in4_4) in5_1*in5_2*in5_3*in5_4; else in6_1*in6_2*in6_3*in6_4;
5. Дискретный блок (digitBlock) <252>
Описание: Функция содержит алгоритм управления сборками дискретных сигналов для задвижек и насосов, содержащих: признаки "Open", "Close" и команды "Open", "Close", "Stop". Функция поддерживает работу с импульсными командами, т.е. может снимать сигнал через указанный промежуток времени. Параметры:
ID
Параметр
Тип
Режим
cmdOpen
Команда "Открыть"
Bool
Выход
cmdClose
Команда "Закрыть"
Bool
Выход
cmdStop
Команда "Стоп"
Bool
Выход
stOpen
Сотояние "Открыт"
Bool
Вход
stClose
Состояние "Закрыт"
Bool
Вход
tCmd
Command hold time (s)
Целый
Вход
frq
Период обсчёта (мс)
Целый
Вход
6. Деление (div) <526>
Описание: Производит деление сборок переменных. Формула: