Модуль | Ім'я | Версія | Ліцензія | Джерело | Мови | Платформи | Тип | Автор | Опис |
---|---|---|---|---|---|---|---|---|---|
FLibSYS | Системні функції | 1.8 | GPL2 | spec_FLibSYS.so | en,uk,ru,de | x86,x86_64,ARM | Спеціальні | Роман Савоченко | Надає бібліотеку системних функцій середовища програмування користувача OpenSCADA. |
Contents
- 1 Загальносистемні функції
- 2 Функції роботи з часом
- 3 Функції роботи з рядками
- 3.1 Рядок: Отримати розмір (strSize)
- 3.2 Рядок: Отримати частину рядка (strSubstr)
- 3.3 Рядок: Вставити рядок у інший (strInsert)
- 3.4 Рядок: Замінити частину рядка іншим (strReplace)
- 3.5 Рядок: Розібрати за роздільником (strParse)
- 3.6 Рядок: Розібрати шлях (strParsePath)
- 3.7 Рядок: Шлях у рядок з роздільником (strPath2Sep)
- 3.8 Рядок: Кодувати рядок у HTML (strEnc2HTML)
- 3.9 Рядок: Кодувати текст у бінарний вигляд (strEnc2Bin)
- 3.10 Рядок: Декодувати текст з бінарного вигляду (strDec4Bin)
- 3.11 Рядок: Реальне у рядок (real2str)
- 3.12 Рядок: Ціле у рядок (int2str)
- 3.13 Рядок: Рядок у реальне (str2real)
- 3.14 Рядок: Рядок у ціле (str2int)
- 3.15 Циклічний Надмірний Код (CRC)
- 3.16 Зліпок повідомлення 5 (MD5)
- 4 Функції роботи з реальним
- 5 Функції архівів
- 6 API користувацького програмування
Модуль надає до OpenSCADA статичну бібліотеку функцій для використання у середовищі користувацького програмування та організації неординарних алгоритмів взаємодії.
Для адресації до функцій цієї бібліотеки можна використовувати статичну адресу виклику Special.FLibSYS.{Func}() або динамічну SYS.Special.FLibSYS["{Func}"].call(), SYS.Special.FLibSYS.{Func}(). Де {Func} — ідентифікатор функції у бібліотеці.
1 Загальносистемні функції
1.1 SYS: Виклик (sysCall)
Опис: Здійснює виклик консольних команд ОС. Функція відкриває широкі можливості користувачу OpenSCADA, шляхом виклику будь-яких системних програм, утиліт та скриптів, а також отримання за посередництвом них доступу до величезного об'єму системних даних. Наприклад, команда "ls -l" поверне деталізований вміст робочої теки.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
com | Команда | Рядок | Вхід |
Приклад:
using Special.FLibSYS;
test=sysCall("ls -l");
messPut("Example",0,"Example: "+test);
1.2 SYS: Ввід/Вивід (IO)
Опис: Ввід/Вивід у: файл, строковий потік.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(IO) | Повернення | |
name | Ім'я файлу або дані (для строкового потоку) | Рядок | Вхід | |
accs | Доступ до файлу (""-строковий потік;"r[+]"-читання;"w[+]"-запис з нуля;"a[+]"-додання;...) | Рядок | Вхід | |
mFormat | Формат даних машини ('n'-сист. порядок;'b'-BigEndian;'l'-LittleEndian) | Ціле | Вхід | "n" |
enc | Кодування рядку у файлі/потоці | Логічний | Вхід |
1.2.1 IO об'єкт
Значення:
- valType — типи значень:
- "uchar", "unsigned char", "char", "schar", "signed char";
- "uint8";
- "uint16", "ushort";
- "uint32", "uint", "ulong";
- "uint64";
- "int8", "integer*1";
- "int16", "short", "integer*2";
- "int32", "int", "long", "integer*4", "integer";
- "int64", "integer*8";
- "float", "float32", "single", "real*4";
- "double", "float64", "real*8", "real";
- accs — режим доступу та тип:
- — строковий потік;
- 'r[+]' — читання;
- 'w[+]' — запис з нуля;
- 'a[+]' — додання.
- mFormat — формат даних машини:
- 'n' — рідний;
- 'l' — LittleEndian;
- 'b' — BigEndian.
Властивості:
- length — довжина потоку;
- pos (w) — позиція читання/запису потоку.
- string (w) — повне значення строкового потоку;
- mFormat (w) — формат даних машини;
- stringEncode (w) — кодування підрядків файлу/потоку.
Функції:
- bool open(string name = "", string accs = "", string mFormat = "n", string enc = ""); — відкрити новий поток для рядка або файлу name.
- bool close(); — закрити поток.
- {string|int|real|Array[int|real]} read(string valType = "char", int cnt = -1, string mFormatEnc = "n|NoEnc"); — читати значення типу valType у кількості cnt для формату машини або вхідного кодування рядка mFormatEnc.
- {int|IO} {write|wr}({string|int|real|Array} vals, string valType = "char", string mFormatEnc = "n|NoEnc", int cnt = 1); — записати значення vals для типу valType для формату машини або вхідного кодування рядка mFormatEnc, та повтору скалярних значень у кількості cnt.
1.3 DB: SQL запит (dbReqSQL)
Опис: Формування SQL-запиту req до БД addr, всередині (trans=true), назовні (trans=false) або без різниці (trans=EVAL) до транзакції. У випадку помилки її значення поміщається до властивості "err" результату.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(Масив) | Повернення | |
addr | Адреса БД, "{TypeDB}.{DB}" | Рядок | Вхід | |
req | SQL-запит | Рядок | Вхід | |
trans | Транзакція | Логічний | Вхід | EVAL |
1.4 XML: Вузол (xmlNode)
Опис: Створення об'єкту XML вузла.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(XMLNodeObj) | Повернення | |
name | Ім'я | Рядок | Вхід |
Приклад:
using Special.FLibSYS;
//Створення об'єкту "get" вузла XML.
req = xmlNode("get");
//Створення об'єкту "get" вузла XML із створенням атрибутів.
//sub_DAQ/mod_ModBus/cntr_1/prm_1 — шлях згідно структури проекту
req = xmlNode("get").setAttr("path","/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen");
1.5 XML: Запит інтерфейсу керування (xmlCntrReq)
Опис: Запит щодо контролю програми, за XML. Звичайний запит записується у вигляді "<get path="/OPath/%2felem"/>". За визначенням станції здійснюється запит до вказаної зовнішньої станції.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
req | Запит | Об'єкт(XMLNodeObj) | Вихід | |
stat | Станція | Рядок | Вхід |
Приклад (більше прикладів дивіться для аналогічної внутрішньої функції SYS.cntrReq()):
using Special.FLibSYS;
//Отримання ознаки "Ввімкнений/Вимкнений" параметру "1" контролеру "1" модуля "ModBus".
//sub_DAQ/mod_ModBus/cntr_1/prm_1 — шлях згідно до структури проекту
req = xmlNode("get").setAttr("path","/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen");
rez = xmlCntrReq(req);
messPut("test",0,"Значення: "+req.text());
//Встановлення ознаки "Ввімкнений" параметру "1" контролеру "1" модуля "ModBus".
req = xmlNode("set").setAttr("path","/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen").setText(1);
rez = xmlCntrReq(req);
//Встановлення ознаки "Вимкнений" параметру "1" контролеру "1" модуля "ModBus".
req = xmlNode("set").setAttr("path","/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen").setText(0);
rez = xmlCntrReq(req);
2 Функції роботи з часом
2.1 Time: Час (tmTime)
Опис: Повертає абсолютний час у секундах від епохи 1.1.1970 та мікросекунди у usec, якщо вказано таку зміну та її значення негативне.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
sec | Секунди | Цілий | Повернення | 0 |
usec | Мікросекунди | Цілий | Вихід | -1 |
2.2 Time: Дата та час (tmDate)
Опис: Повна дата та час у секундах, хвилинах, годинах та інше, виходячи з абсолютного часу в секундах від епохи 1.1.1970.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
fullsec | Повні секунди | Цілий | Вхід | 0 |
sec | Секунди [0...59] | Цілий | Вихід | 0 |
min | Хвилини [0...59] | Цілий | Вихід | 0 |
hour | Години [0...23] | Цілий | Вихід | 0 |
mday | День місяця [1...31] | Цілий | Вихід | 0 |
month | Місяць [0...11] | Цілий | Вихід | 0 |
year | Рік, від 1900 | Цілий | Вихід | 0 |
wday | День тижня [0...6] | Цілий | Вихід | 0 |
yday | День у року [0...365] | Цілий | Вихід | 0 |
isdst | Літній час | Цілий | Вихід | 0 |
Приклад:
using Special.FLibSYS;
curMin=curHour=curDay=curMonth=curYear=0;
tmDate(tmTime(),0,curMin,curHour,curDay,curMonth,curYear);
messPut("test",0,"Поточна хвилина: "+curMin);
messPut("test",0,"Поточна година: "+curHour);
messPut("test",0,"Поточний день: "+curDay);
messPut("test",0,"Поточний місяць: "+curMonth);
messPut("test",0,"Поточний рік: "+curYear);
2.3 Time: Рядок часу (tmFStr)
Опис: Отримання часу як форматований рядок. Запис формату відповідає POSIX-функції "strftime()".
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
val | Рядок дати та часу | Рядок | Повернення | |
sec | Секунди | Ціле | Вхід | 0 |
form | Формат дати та часу | Рядок | Вхід | %Y-%m-%d %H:%M:%S |
Приклад:
using Special.FLibSYS;
test = tmFStr(SYS.time(),"%d %m %Y");
messPut("Приклад",0,"tmFStr(): "+test);
2.4 Time: Рядок у час (tmStrPTime)
Опис: Перетворення строкового представлення дати та часу, за форматом form, у час в секундах з 01.01.1970. Наприклад, шаблону "%Y-%m-%d %H:%M:%S" відповідає час "2006-08-08 11:21:55". Опис формату шаблону можна отримати із документації на POSIX-функцію "strptime()".
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
sec | Секунди | Цілий | Повернення | 0 |
str | Рядок дати та часу | Рядок | Вхід | |
form | Формат дати та часу | Рядок | Вхід | %Y-%m-%d %H:%M:%S |
Приклад:
using Special.FLibSYS;
curMin=curHour=curDay=curMonth=curYear=0;
tmDate(tmTime(),0,curMin,curHour,curDay,curMonth,curYear);
test = tmStrPTime(""+curYear+"-"+(curMonth+1)+"-"+curDay+" 9:0:0","%Y-%m-%d %H:%M:%S");
messPut("Приклад",0,"tmStrPTime(): "+test);
2.5 Time: Планувати час за CRON (tmCron)
Опис: Планування часу за стандартом CRON, повертаючи спланований час починаючи від базового часу base або від поточного якщо базовий не вказаний.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
res | Результат, секунди | Цілий | Повернення | 0 |
str | CRON | Рядок | Вхід | * * * * * |
base | Базовий час, секунди | Цілий | Вхід | 0 |
2.6 Time: сон (tmSleep)
Опис: Короткий сон від наносекунд та до STD_INTERF_TM (5 секунд).
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
res | Результат | Цілий | Повернення | 0 |
tm | Час, секунди | Реальний | Вхід | 0 |
3 Функції роботи з рядками
3.1 Рядок: Отримати розмір (strSize)
Опис: Отримання розміру рядка.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Цілий | Повернення | |
str | Рядок | Рядок | Вхід |
Приклад:
using Special.FLibSYS;
messPut("Приклад",1,"ReturnString: "+strSize("Приклад"));
3.2 Рядок: Отримати частину рядка (strSubstr)
Опис: Отримання частини рядка.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
str | Рядок | Рядок | Вхід | |
pos | Позиція | Цілий | Вхід | 0 |
n | Кількість | Цілий | Вхід | -1 |
Приклад:
using Special.FLibSYS;
test = strSubstr("Приклад", 0, strSize("Приклад")-1);
messPut("Приклад", 1, "ReturnString: "+test);
3.3 Рядок: Вставити рядок у інший (strInsert)
Опис: Вставка рядку до іншого рядку.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
str | Рядок | Рядок | Вихід | |
pos | Позиція | Цілий | Вхід | 0 |
ins | Рядок для вставки | Рядок | Вхід |
3.4 Рядок: Замінити частину рядка іншим (strReplace)
Опис: Заміна частини рядку іншим рядком.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
str | Рядок | Рядок | Вихід | |
pos | Позиція | Цілий | Вхід | 0 |
n | Кількість | Цілий | Вхід | -1 |
repl | Рядок для заміни | Рядок | Вхід |
3.5 Рядок: Розібрати за роздільником (strParse)
Опис: Розбір рядка за роздільником.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
str | Рядок | Рядок | Вхід | |
lev | Рівень | Цілий | Вхід | |
sep | Роздільник | Рядок | Вхід | "." |
off | Зміщення | Цілий | Вихід |
Приклад:
using Special.FLibSYS;
ExapleString = "Приклад:123";
test = strParse(ExapleString, 1, ":");
messPut("Приклад", 0, "strParse(): "+test);
3.6 Рядок: Розібрати шлях (strParsePath)
Опис: Розбір шляху за елементами.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
path | Шлях | Рядок | Вхід | |
lev | Рівень | Цілий | Вхід | |
off | Зміщення | Цілий | Вихід |
Приклад:
using Special.FLibSYS;
test = strParsePath(path, 0, "/");
messPut("Приклад", 1, "strParsePath(): "+test);
3.7 Рядок: Шлях у рядок з роздільником (strPath2Sep)
Опис: Перетворення шляху у рядок за роздільником.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
src | Джерело | Рядок | Вхід | |
sep | Роздільник | Рядок | Вхід | "." |
Приклад:
//Перетворює значення "/ses_AGLKS/pg_so" атрибута "path" у значення "ses_AGLKS.pg_so"
using Special.FLibSYS;
test = strPath2Sep(path);
messPut("Приклад", 0, "path: "+path);
messPut("Приклад", 0, "strPath2Sep(): "+test);
3.8 Рядок: Кодувати рядок у HTML (strEnc2HTML)
Опис: Кодування рядку для використання у вихідних HTML.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
src | Джерело | Рядок | Вхід |
3.9 Рядок: Кодувати текст у бінарний вигляд (strEnc2Bin)
Опис: Кодування тексту у бінарний вигляд, для формату тексту <00 A0 FA DE>.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
src | Джерело | Рядок | Вхід |
3.10 Рядок: Декодувати текст з бінарного вигляду (strDec4Bin)
Опис: Декодування тексту з бінарного вигляду, для формату тексту <00 A0 FA DE>.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
src | Джерело | Рядок | Вхід |
3.11 Рядок: Реальне у рядок (real2str)
Опис: Перетворення реального значення у формат рядку.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
val | Значення | Реальне | Вхід | |
prc | Точність | Ціле | Вхід | 4 |
tp | Тип | Рядок | Вхід | "f" |
3.12 Рядок: Ціле у рядок (int2str)
Опис: Перетворення цілого значення у формат рядку.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
val | Значення | Ціле | Вхід | |
base | База (8, 10, 16) | Ціле | Вхід | 10 |
3.13 Рядок: Рядок у реальне (str2real)
Опис: Перетворення значення рядку у формат реального.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Реальне | Повернення | |
val | Значення | Рядок | Вхід |
3.14 Рядок: Рядок у ціле (str2int)
Опис: Перетворення значення рядку у формат цілого.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Ціле | Повернення | |
val | Значення | Рядок | Вхід | |
base | Основа (2...36) | Цілий | Вхід | 0 |
3.15 Циклічний Надмірний Код (CRC)
Опис: Уніфікована та повна реалізація Циклічного Надмірного Коду для ширини 1-64 біт з нормальним поліномом, початковим CRC, вхідною та вихідною послідовністю, та XOR для виходу.
Також підтримується попередня нотація цієї функції, де реверсивний поліном розміщується у позиції ширини width!
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Цілий | Повернення | |
data | Дані | Рядок | Вхід | |
width | Ширина | Цілий | Вхід | 16 |
poly | Поліном | Цілий | Вхід | 32773 (0x8005) |
init | Поч. значення | Цілий | Вхід | -1 (0xFFFFFFFFFFFFFFFF) |
RefIn | Послідовність входу | Логічний | Вхід | 1 |
RefOut | Послідовність виходу | Логічний | Вхід | 1 |
XorOut | XOR для виходу | Цілий | Вхід | 0 |
3.16 Зліпок повідомлення 5 (MD5)
Опис: Обчислення зліпка повідомлення 5 для даних data.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
data | Дані | Рядок | Вхід |
4 Функції роботи з реальним
4.1 Float: Поділити на слова (floatSplitWord)
Опис: Поділ значення float (4 байтів) на два слова (2 байти).
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
val | Значення | Реальне | Вхід | |
w1 | Слово 1 | Цілий | Вихід | |
w2 | Слово 2 | Цілий | Вихід |
4.2 Float: Поєднати слова (floatMergeWord)
Опис: Формування значення float (4 байтів) з двох слів (2 байти).
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Реальне | Повернення | |
w1 | Слово 1 | Цілий | Вхід | |
w2 | Слово 2 | Цілий | Вхід |
4.3 Float: Вилучити (floatExtract)
Опис: Вилучення мантиси та експоненти з реального значення.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
magn | Розмір | Реальний | Повернення | |
val | Значення | Реальний | Вхід | |
exp | Експонента | Цілий | Вихід |
5 Функції архівів
5.1 Mess: Отримання (messGet)
Опис: Отримати повідомлення програми.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(Масив) | Повернення | |
btm | Час початку, секунди | Ціле | Вхід | |
etm | Час кінця, секунди | Ціле | Вхід | |
cat | Категорія | Рядок | Вхід | |
lev | Рівень | Цілий | Вхід | |
arch | Архіватор | Рядок | Вхід |
5.2 Mess: Розмістити (messPut)
Опис: Розмістити повідомлення до програми.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
cat | Категорія | Рядок | Вхід | |
lev | Рівень | Цілий | Вхід | |
mess | Повідомлення | Рядок | Вхід |
Приклад:
rnd_sq_gr11_lineClr="red";
Special.FLibSYS.messPut("Приклад",1,"Event: "+rnd_sq_gr12_leniClr);
5.3 Val: Архів (vArh)
Опис: Отримання об'єкту архіву значень (VArchObj) через підключення до архіву за його адресою.
Параметри:
Ідентифікатор | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(VArchObj) | Повернення | |
name | Ім'я — адреса до атрибуту параметра з архівом (DAQ.{Module}.{Cntr}.{Prm}.{Attr}) або безпосередньо до архіву значень (Archive.va_{ValArchive}). | Рядок | Вхід |
5.3.1 Об'єкт VArchObj
Функції:
- bool isNull() — об'єкт не ініційовано.
- int begin( int usec = 0, string archiver = "" ) — час початку архіву, через повернення секунд та мікросекунд usec для архіватору archiver.
- int end( int usec = 0, string archiver = "" ) — час закінчення архіву, через повернення секунд та мікросекунд usec для архіватору archiver.
- int period( int usec = 0, string archiver = "" ) — період архіву, через повернення секунд та мікросекунд usec для архіватору archiver.
- ValObj get( int sec, int usec, bool upOrd = false, string archiver = "" ) — значення із архіву на час sec:usec з прив'язкою до гори upOrd та для архіватору archiver. Реальний час отриманого значення встановлюється у sec:usec.
- bool set( ValObj val, int sec, int usec, string archiver = "" ) [доступ до підсистеми Архіви-Історія для операцій з архівом] — записує значення val у архів на час sec:usec для архіватору archiver.
- bool copy( VArchObj src, int begSec, int begUSec, int endSec, int endUSec, string archiver = "" ) [доступ до підсистеми Архіви-Історія для операцій з архівом] — копіює частину вихідного src архіву, або його буферу, до поточного, починаючи з begSec:begUSec та закінчуючи endSec:endUSec для архіватору archiver.
- ArrayObj FFT( int tm, real size, string archiver = "", int tm_usec = 0 ) — розкласти у ряд Фур'є за допомогою FFT алгоритму. Повертається масив амплітуд частот для вікна значень із архіву з часом початку tm:tm_usec (секунди:мікросекунди), глибиною у історію архіву size (секунд) та для архіватору archiver.
Приклад:
using Special.FLibSYS;
val = vArh(strPath2Sep(addr)).get(time,uTime,0,archiver);
return val.isEval() ? "Порожньо" : real2str(val,prec);
5.4 Val: Буфер архіву (vArhBuf)
Опис: Отримання об'єкту буфера значень для тимчасового збереження значень та виконання проміжних операцій над кадрами даних.
Параметри:
Ідентифікатор | Параметр | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Об'єкт(VArchObj) | Повернення | |
tp | Тип значень архіву (0-Логічний, 1-Цілий, 4-Реальний, 5-Рядок) | Цілий | Вхід | 1 |
sz | Максимальний розмір буферу | Цілий | Вхід | 100 |
per | Період значень буферу, мікросекунди | Цілий | Вхід | 1000000 |
hgrd | Жорстка мережа часу | Логічний | Вхід | 0 |
hres | Висока роздільна здатність часу (мікросекунди)" | Логічний | Вхід | 0 |
6 API користувацького програмування
Модуль, як об'єкт, надає функції користувацького програмування.
Об'єкт "Бібліотека функцій" (SYS.Special.FLibSYS)
- ElTp {funcID}(ElTp prm1, ...) — виклик функції бібліотеки {funcID}. Повертає результат викликаної функції.
Об'єкт "Користувацька функція" (SYS.Special.FLibSYS["funcID"])
- ElTp call(ElTp prm1, ...) — виклик цієї функції з параметрами <prm{N}>. Повертає результат викликаної функції.