From OpenSCADAWiki
< Modules
Revision as of 16:36, 20 October 2018 by RomanSavochenko (Talk | contribs)

Jump to: navigation, search
Other languages:
English • ‎mRussian • ‎Українська
Constr.png The translation checking and actualizing
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
SystemTests Тести OpenSCADA та її модулів 1.7 GPL2 spec_SystemTests.so en,uk,ru,de x86,x86_64,ARM Спеціальні Роман Савоченко Надає групу тестів для OpenSCADA та її модулів.

Модуль містить набір тестів, призначених для тестування різних підсистем та вузлів OpenSCADA. Тести виконано у вигляді функцій користувацького API, відтак їх можна запускати як одноразово, у вкладці "Виконати" сторінки об'єкту функції, так і з користувацьких процедур, передаючи до них потрібні аргументи.

Для адресації до тестів можна використовувати статичну адресу виклику Special.SystemTests.{Test}() або динамічну SYS.Special.SystemTests["{Test}"].call(), SYS.Special.SystemTests.{Test}(). Де Test — ідентифікатор функції у бібліотеці.

Окрім механізмів звичайного виконання функцій користувацького API, передбачено автономний механізм. Цей механізм представлено окремим завданням, що виконується з періодом у одну секунду, та у якому здійснюється виклик функцій тестів згідно до налаштувань у конфігураційному файлі.

Конфігураційні поля тестів поміщаються до секції модуля "SystemTests" підсистеми "Спеціальні". Формат конфігураційних полів <prm id="Test Id" on="1" per="10" />
Де:

  • id — ідентифікатор тесту;
  • on — ознака "Тест включено";
  • per — період повторення тесту (секунд).

Окрім основних атрибутів здійснюється віддзеркалення вхідних параметрів функцій тестів на однойменні атрибути тегу "prm". Наприклад, атрибут "name" функції "Param" можна вказати у тегу "prm".

Допускається визначення багатьох тегів "prm" для одного або різних тестів з однаковими або різними параметрами, вказуючи тим самим на окремий запуск тесту з визначеними параметрами. Наведемо приклад опису всіх доступних тестів:

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSCADA>
    <station id="DemoStation">
        <node id="sub_Special">
            <node id="mod_SystemTests">
                <prm id="Param" on="0" per="5" name="LogicLev.experiment.F3"/>
                <prm id="XML" on="0" per="10" file="/etc/oscada.xml"/>
                <prm id="Mess" on="0" per="10" categ="" arhtor="DBArch.test3" depth="10"/>
                <prm id="SOAttach" on="0" per="20" name="../../lib/openscada/daq_LogicLev.so" mode="0" full="1"/>
                <prm id="Val" on="0" per="1" name="LogicLev.experiment.F3.var" arch_len="5" arch_per="1000000"/>
                <prm id="Val" on="0" per="1" name="System.AutoDA.CPULoad.load" arch_len="10" arch_per="1000000"/>
                <prm id="DB" on="0" per="10" type="MySQL" addr="server.diya.org;roman;123456;oscadaTest" table="test" size="1000"/>
                <prm id="DB" on="0" per="10" type="DBF" addr="./DATA/DBF" table="test.dbf" size="1000"/>
                <prm id="DB" on="0" per="10" type="SQLite" addr="./DATA/test.db" table="test" size="1000"/>
                <prm id="DB" on="0" per="10" type="FireBird" addr="server.diya.org:/var/tmp/test.fdb;roman;123456" table="test" size="1000"/>
                <prm id="TrOut" on="0" per="1" addr="TCP:127.0.0.1:10001" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:10001" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UNIX:./oscada" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:daytime" type="Sockets" req="time"/>
                <prm id="SysContrLang" on="0" per="10" path="/Archive/FSArch/mess_StatErrors/%2fprm%2fst"/>
                <prm id="ValBuf" on="0" per="5"/>
                <prm id="Archive" on="0" per="30" arch="test1" period="1000000"/>
                <prm id="Base64Code" on="0" per="10"/>
            </node>
        </node>
  </station>
</OpenSCADA>

1 Параметр (Param)

Опис: Тест DAQ параметрів. Вичитує атрибути та конфігураційні поля параметру.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
name Адреса DAQ параметру Рядок Вхід System.AutoDA.CPULoad

2 Розбір XML (XML)

Опис: Тест розбору XML файлу. Розбирає та відображає структуру вказаного файлу.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
file XML файл Рядок Вхід

3 Повідомлення (Mess)

Опис: Тест архіву повідомлень. Періодично вичитує нові повідомлення з архіву, для вказаного архіватору.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
arhtor Архіватор Рядок Вхід FSArch.StatErrors
categ Шаблон категорії повідомлення Рядок Вхід
depth Глибина повідомлень, секунд Цілий Вхід 10

4 Підключення SO (SOAttach)

Опис: Тест підключення/виключення модуля.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
name Шлях до модулю Рядок Вхід
mode Режим (1-підключити;-1-виключити;0-змінити) Цілий Вхід 0
full Повне підключення (на старті) Логічний Вхід 1

5 Атрибут параметру (Val)

Опис: Тест значень атрибуту параметра. Виконує періодичне опитування останнього значення вказаного атрибуту, а також опитування архіву на потрібну глибину.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
name Шлях до атрибуту параметру Рядок Вхід System.AutoDA.CPULoad.load
arch_len Глибина отримання архівних значень, секунд Цілий Вхід 10
arch_per Період отримання архівних значень, мікросекунди Цілий Вхід 1000000

6 Тест БД (DB)

Опис: Повний тест БД. Здійснює:

  • створення/відкриття БД;
  • створення/відкриття таблиці;
  • створення множини записів визначеної структури;
  • оновлення множини записів;
  • оновлення множини записів за ключем запиту;
  • отримання та перевірка значень множини записів;
  • сканування записів;
  • сканування записів предзавантаженням;
  • модифікація структури запису та таблиці;
  • видалення записів;
  • закриття/видалення таблиці;
  • закриття/видалення БД.

Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
type Тип БД Рядок Вхід SQLite
addr Адреса БД Рядок Вхід ./DATA/test.db
table Таблиця БД Рядок Вхід test
size Кількість записів Цілий Вхід 1000

7 Транспорт (TrOut)

Опис: Тест вихідного та/або вхідного транспорту. Виконує тестування вихідного транспорту шляхом надсилання запиту до вказаного вхідного транспорту.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
addr Адреса Рядок Вхід TCP:127.0.0.1:10001
type Модуль транспорту Рядок Вхід Sockets
req Текст запиту Рядок Вхід

8 Мова контролю програми (SysContrLang)

Опис: Тест мови контролю програми. Виконує запит елементів мови за посередництвом повного шляху. Повний шлях до елемента мови має вигляд "/Archive/%2fbd%2fm_per". Повний шлях складається з двох вкладених шляхів. Перший "/Archive/" це шлях до вузла дерева контролю. Другий "/bd/m_per" це шлях до конкретного елементу вузла.
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
path Шлях до елементу мови Рядок Вхід /Archive/BaseArh/mess_StatErrors/%2fprm%2fst

9 Буфер значень (ValBuf)

Опис: Тести буферу значень. Містить 13 тестів всіх аспектів буферу значень (підсистема "Архіви-Історія").
Параметри:

Ідентифікатор Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення

10 Архів значень (Archive)

Опис: Тести розташування у архіві значень. Містить 7(8) тестів архіватору значень на перевірку коректності функціювання послідовного механізму упаковки.
Параметри:

ID Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення
arch Архів значень Рядок Вхід
period Період значень, мкс Цілий Вхід 1000000
archtor Архіватор Рядок Вхід

11 Base64 кодування (Base64Code)

Опис: Тести кодування Mime Base64 алгоритмом.
Параметри:

ID Ім'я Тип Режим По замовченню
rez Результат Рядок Повернення