Libs/Service procedures - OpenSCADAWiki

# Libs/Service procedures

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

Name | Version | License | Source | Languages | Author | Description
--- | --- | --- | --- | --- | --- | ---
Service procedures library | 1.2 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.servProc | en, uk, ru | Roman Savochenko | Library of the service procedures of different application. Founded: November 2017 Initially created: in the old Wiki Used by: different OpenSCADA processes

The library is created to provide service functions of performing service tasks about the OpenSCADA environment. The library is not static, but based on the module JavaLikeCalc, allowing to create calculations on the Java-like language. The functions' names and their parameters are available in languages: English, Ukrainian and mRussian.

To addressing the library functions you can use the static call address DAQ.JavaLikeCalc.lib_servProc.{Func}() or dynamic SYS.DAQ.JavaLikeCalc["lib_servProc"]["{Func}"].call(), SYS.DAQ.JavaLikeCalc["lib_servProc"].{Func}()". Where {Func} — function identifier in the library.

For connection the library to a project of the OpenSCADA station you can obtain the database file as:

- supplied with a ready and proper package of the Linux distribution like to "openscada-libdb-main", "openscada-LibDB.Main";
- directly taken for most actual one from the subversion repository and converted to the DB SQLite file in way:

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

- downloaded for the one attached here.

This obtained file next you can place into the project's database directory of the station and create the database object for the DB module "SQLite", registering the database file in the configuration.

### 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/en - GFDL | May 2026 | OpenSCADA 0.9.9