Библиотеки/Сервисные процедуры - OpenSCADAWiki

# Библиотеки/Сервисные процедуры

This page is a translated version of the page Libs/Service procedures and the translation is 38% complete.

English • ‎mRussian • ‎Українська

Название | Версия | Лицензия | Источник | Языки | Автор | Описание
--- | --- | --- | --- | --- | --- | ---
Библиотека сервисных процедур | 1.2 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.servProc | en, uk, ru | Роман Савоченко | Библиотека сервисных процедур различного применения. Основано: Ноябрь 2017 Изначально создано: в старой Wiki Использовано: различными процессами OpenSCADA

Библиотека создаётся для предоставления сервисных функций исполнения служебных задач около окружения OpenSCADA. Библиотека не является статической, а строится на основе модуля JavaLikeCalc, позволяющего создавать вычисления на Java-подобном языке. Названия функций и их параметров доступны на языках: Английский, Украинский и mRussian.

Для адресации к функции этой библиотеки можно использовать статический адрес вызова DAQ.JavaLikeCalc.lib_servProc.{Func}() или динамический SYS.DAQ.JavaLikeCalc["lib_servProc"]["{Func}"].call(), SYS.DAQ.JavaLikeCalc["lib_servProc"].{Func}(). Где {Func} — идентификатор функции в библиотеке.

Для подключения библиотеки к проекту станции OpenSCADA Вы можете получить файл БД как:

- такой что поставляется с готовым и соответствующим пакетом дистрибутива Linux вроде "openscada-libdb-main", "openscada-LibDB.Main";
- наиболее актуальный и непосредственно полученный из репозитория subversion, преобразованный в файл БД SQLite путём:

    wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql
    sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit

- загрузка прикреплённого тут.

Этот загруженный файл вы далее можете разместить в каталоге проекта станции и создать объект базы данных модуля БД "SQLite", зарегистрировав файл базы данных в конфигурации.

### 1 TEST: Packing of the archiver on FS (archPackFStests) | 1.0 | GPLv2 | * | en | Roman Savochenko

Tests set for packing of the value archives to File System, to check the optimization algorithm. The stages are provided:

- Stage 0: Filling the main values: "1,1,10,10,100,100,1000,1000,10000,10000,EVAL"
- Stage 1: Changing to different value 20: "1,1,20,10,100,100,1000,1000,10000,10000,EVAL"
- Stage 2: Setting a value for merging (equal) to the up (10): "1,1,20,10,10,100,1000,1000,10000,10000,EVAL"
- Stage 3: Setting a value for merging (equal) to the down (1000): "1,1,20,10,10,1000,1000,1000,10000,10000,EVAL"
- Stage 4: Setting a different value to the end 20000: "1,1,20,10,10,1000,1000,1000,10000,10000,20000,EVAL"
- Stage 5: Changing the end value for merging to the up (10000): "1,1,20,10,10,1000,1000,1000,10000,10000,10000,EVAL"
- Stage 6: Setting a value to the end for merging to the up (10000): "1,1,20,10,10,1000,1000,1000,10000,10000,10000,10000,EVAL"
- Stage 7: Setting the end value to EVAL: "1,1,20,10,10,1000,1000,1000,10000,10000,10000,EVAL"
- Stage 8: Setting an equal value for inserting 10000: "1,1,20,10,10,1000,1000,1000,10000,10000,10000,EVAL"

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
tm | Start time (14.03.2015 21:37) | Integer | Input | 1426361839
per | Period, seconds | Integer | Input | 60
addr | Archive address | String | Input | test123
archiver | Archiver address | String | Input | FSArch.1m
step | Step (0-8), -1 for all | Integer | Input | -1

### 2 TEST: Release (releaseTests) | 2.0 | GPLv2 | * | en | Roman Savochenko

Set of formal tests of the OpenSCADA releases:
0: System
1: Security User/Group tests
2: Transport subsystem tests

- Data transferring through output and input transports by the test "TrOut":

  means presence of the input transports with the name "testRelease[{N}]" and the connected output transport adress into description or address field (if equal one).

3: Protocol subsystem tests

- Execution of the test controller object DAQ.ModBUS.testTCP:

  means presence of the controller object DAQ.ModBUS.testTCP.

- Execution of the test controller object DAQ.OPC_UA.test:

  means presence of the controller object DAQ.OPC_UA.test.

- Send requests to a test-echo protocol from a transport:

  means presence of the user protocol object Protocol.UserProtocol.up_test.

4: Archive subsystem tests

- Using the test "Mess" of the module "SystemTests" for archiving messages:

  means presence the message archivers "test";

- Assign/Clear archiving from the parameter attribute:

  means presence "/DAQ/LogicLev/experiment/F3" with the attribute "ed", and the value archivers "1s"

- The tests "Archive" of the value archiver to verify the correctness of the functioning of the sequential mechanism for packaging by "SystemTests":

  means presence the archive "testArch_cntr" with the data period 1s and processed by the archiver FSArch.1s.

5: DB subsystem tests

- The tests "BD" of the module "SystemTests":

  means presence of the test DB with the name "testRelease".

6: DAQ subsystem tests

- Test "Param" from the module "SystemTests":

  presence of the DAQ parameter LogicLev.experiment.F3.

- Test "Val" of the module "SystemTests" for the parameter attribute:

  presence of the DAQ parameter LogicLev.experiment.F3.var.

- Blocks create/remove, change, load, save and load from config and copy, set link:

  presence the DAQ controller object "KM102cntr" for copy the block scheme.
  presence the DAQ parameter LogicLev.experiment.F3.var.

7: UI subsystem tests
8: Special subsystem tests

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
sub | Subsystem (-1:All;0:SYS;1:Security;2:Transport;... | Integer | Input | -1
rez | Result | Text | Output |
rezF | Result for HTML file | Text | Output |

### 3 CRC 16 (crc16) | 1.0 | GPLv2 | * | en | Roman Savochenko

Standard Cyclic Redundancy Check (CRC) with free setting the polynomial, by default 0x8005. It isn't actual more by the common common CRC implementing.

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
in | Input | String | Input |
out | Result | Integer | Output |
poly | Polynomial (reversion) | Integer | Input | 40961

### 4 Archives recalculation (procArh) | 1.0 | GPLv2 | * | en | Roman Savochenko

Value archives recalculation.

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
fromarch | From archive | String | Input | Archive.va_ai3_code
toarch | To archive | String | Input | Archive.va_ai3_dP
begs | Begin time | String | Input | 2006-08-08 9:21:56
ends | End time | String | Input | 2006-08-08 11:21:55

### 5 EXT: WackoWiki to MediaWiki (wacko2media) | 1.1 | GPLv2 | * | en | Roman Savochenko

Procedure of conversion Wiki-dialect from WackoWiki to MediaWiki. Used and using to move OpenSCADA Wiki to MediaWiki.

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
ndb | MySQL DB id | String | Input | wiki
wpg | Wiki page | String | Input | HomePageUk/Doc/SQLite
rez | Result | Text | Return |

### 6 EXT: Off-line documentation (docOffLine) | 1.3 | GPLv2 | * | en | Roman Savochenko

Procedure of forming the offline documentation of OpenSCADA from Wiki by reading and processing the specified Wiki pages on different languages, currently it is: English, Ukrainian, mRussian.

Function parameters

Identifier | Name | Type | Mode | Default
--- | --- | --- | --- | ---
res | Result | String | Output |
reqTr | Tries of requests | Integer | Output | 3
resDir | Results directory | String | Input | /home/roman/roman/work/Проекти/OpenSCADA/doc/
pages | Pages list Rows in the form "{wiki}:{langs}:{dest}". | Text | Input |
    Documents:en,uk,ru:index.html
    Documents/Release_0.9:en,uk,ru:Release_0.9.html
    About:en,uk,ru:About.html
    Documents/Terms:en,uk,ru:Terms.html
    Functions_and_demands:en,uk,ru:Functions_and_demands.html
    Works/To_do:en:To_do.html
    Documents/FAQ:en,uk,ru:FAQ.html
    Documents/Quick_start:en,uk,ru:Quick_start.html
    Documents/Program_manual:en,uk,ru:Program_manual.html
    Documents/How_to:en,ru,uk:How_to.html
    Documents/How_to/Install:en,ru,uk:How_to_Install.html
    Documents/How_to/Live_disk:en,ru,uk:How_to_Live_disk.html
    Documents/How_to/Violations,_alarms_and_notifications:en,ru,uk:How_to_Violations.html
    Documents/How_to/Cyclic_programming:en,ru,uk:How_to_Cyclic_programming.html
    Documents/How_to/Debug:en,ru,uk:How_to_Debug.html
    Documents/How_to/Transferring_project_configuration:en,ru,uk:How_to_Transferring_project_configuration.html
    Documents/How_to/Build_from_source:en,ru,uk:How_to_Build_from_source.html
    Documents/How_to/Crash_report:en,ru,uk:How_to_Crash_report.html
    Documents/How_to/Create_module:en,ru,uk:How_to_Create_module.html
    Documents/DAQ:en,uk,ru:DAQ.html
    Documents/User_API:en,uk,ru:User_API.html
    Documents/API:en:API.html
    Modules/SQLite:en,uk,ru:Modules/SQLite.html
    Modules/MySQL:en,uk,ru:Modules/MySQL.html
    Modules/FireBird:en,uk,ru:Modules/FireBird.html
    Modules/DBF:en,uk,ru:Modules/DBF.html
    Modules/PostgreSQL:en,uk,ru:Modules/PostgreSQL.html
    Modules/Sockets:en,uk,ru:Modules/Sockets.html
    Modules/Serial:en,uk,ru:Modules/Serial.html
    Modules/SSL:en,uk,ru:Modules/SSL.html
    Modules/SelfSystem:en,uk,ru:Modules/SelfSystem.html
    Modules/UserProtocol:en,uk,ru:Modules/UserProtocol.html
    Modules/HTTP:en,uk,ru:Modules/HTTP.html
    Modules/JavaLikeCalc:en,uk,ru:Modules/JavaLikeCalc.html
    Modules/LogicLev:en,uk,ru:Modules/LogicLev.html
    Modules/BlockCalc:en,uk,ru:Modules/BlockCalc.html
    Modules/DAQGate:en,uk,ru:Modules/DAQGate.html
    Modules/System:en,uk,ru:Modules/System.html
    Modules/ModBus:en,uk,ru:Modules/ModBus.html
    Modules/DCON:en,uk,ru:Modules/DCON.html
    Modules/OPC_UA:en,uk,ru:Modules/OPC_UA.html
    Modules/SNMP:en,uk,ru:Modules/SNMP.html
    Modules/ICP_DAS:en,uk,ru:Modules/ICP_DAS.html
    Modules/Siemens:en,uk,ru:Modules/Siemens.html
    Modules/DiamondBoards:en,uk,ru:Modules/DiamondBoards.html
    Modules/Comedi:en,uk,ru:Modules/Comedi.html
    Modules/SoundCard:en,uk,ru:Modules/SoundCard.html
    Modules/BFN:en,uk,ru:Modules/BFN.html
    Modules/SMH2Gi:en,uk,ru:Modules/SMH2Gi.html
    Modules/GPIO:en,uk,ru:Modules/GPIO.html
    Modules/FSArch:en,uk,ru:Modules/FSArch.html
    Modules/DBArch:en,uk,ru:Modules/DBArch.html
    Modules/VCAEngine:en,uk,ru:Modules/VCAEngine.html
    Modules/QTStarter:en,uk,ru:Modules/QTStarter.html
    Modules/QTCfg:en,uk,ru:Modules/QTCfg.html
    Modules/Vision:en,uk,ru:Modules/Vision.html
    Modules/WebCfgD:en,uk,ru:Modules/WebCfgD.html
    Modules/WebCfg:en,uk,ru:Modules/WebCfg.html
    Modules/WebVision:en,uk,ru:Modules/WebVision.html
    Modules/WebUser:en,uk,ru:Modules/WebUser.html
    Modules/FLibSYS:en,uk,ru:Modules/FLibSYS.html
    Modules/SystemTests:en,uk,ru:Modules/SystemTests.html
    Modules/FLibMath:en,uk,ru:Modules/FLibMath.html
    Modules/FLibComplex1:en,uk,ru:Modules/FLibComplex1.html
pagesCur | Current pages list Rows in the form "{wiki}:{langs}:{dest}", for empty here used "pages". | Text | Input |

Libs/Service_procedures/ru - GFDL | July 2026 | OpenSCADA 1+r3070