Configuration file of the OpenSCADA system is provided to store the system and general configuration of OpenSCADA-station. Only in the configuration file and through the command-line options you can specify the part of the key system parameters of the station, so familiarity with the structure of the configuration file is necessary for professionals who make solutions based on OpenSCADA.
The configuration file of the OpenSCADA system can be called somehow, but the oscada.xml name and derived from it are accepted. The configuration file is usually indicated when you start the station by the command-line option --Config=/home/roman/roman/work/OScadaD/etc/oscada_demo.xml. For the convenience of the calling the startup scripts of the station are created with the correct configuration file, for example script (openscada_demo) of the demo station execution:
#!/bin/sh
openscada --Config=/etc/oscada_demo.xml $@
If the configuration file is not specified then the standard configuration file: /etc/oscada.xml is used.
Structure of the configuration file based on the extensible markup language XML. Therefore the strict adherence to the rules of XML syntax is required. An example of the configuration file of the OpenSCADA, with configuration nodes of most of the OpenASCADA components, is given below:
<?xml version="1.0" encoding="UTF-8" ?> <OpenSCADA> <!-- This is the OpenSCADA configuration file. --> <station id="DemoStation"> <!-- Discribe internal parameter for station. Station this only OpenSCADA programm. --> <prm id="StName">Demo station</prm> <prm id="StName_ru">Демо станция</prm> <prm id="StName_uk">Демо станція</prm> <prm id="WorkDB">SQLite.GenDB</prm> <prm id="Workdir">~/.openscada</prm> <prm id="IcoDir">./icons</prm> <prm id="ModDir">/usr/lib/openscada</prm> <prm id="LogTarget">10</prm> <prm id="MessLev">0</prm> <prm id="Lang2CodeBase">en</prm> <prm id="SaveAtExit">0</prm> <prm id="SavePeriod">0</prm> <node id="sub_BD"> <tbl id="DB"> <fld ID="GenDB" TYPE="SQLite" NAME="Generic DB" NAME_ru="Основная БД" NAME_uk="Основна БД" ADDR="./DEMO/DemoSt.db" CODEPAGE="UTF-8"/> </tbl> </node> <node id="sub_Security"> <!-- <tbl id="Security_user"> <fld NAME="root" DESCR="Super user" DESCR_ru="Супер пользователь" DESCR_uk="Супер користувач" PASS="openscada"/> <fld NAME="user" DESCR="System user" DESCR_ru="Системный пользователь" DESCR_uk="Системний користувач" PASS=""/> </tbl> <tbl id="Security_grp"> <fld NAME="root" DESCR="Super users groups" DESCR_ru="Группа суперпользователей" DESCR_uk="Група суперкористувачів" USERS="root;user"/> </tbl>--> </node> <node id="sub_ModSched"> <prm id="ModAllow">*</prm> <prm id="ModDeny"></prm> <prm id="ChkPer">0</prm> </node> <node id="sub_Transport"> <!-- <tbl id="Transport_in"> <fld ID="WEB_1" MODULE="Sockets" NAME="Generic WEB interface" NAME_ru="Основной WEB интерфейс" NAME_uk="Основний WEB інтерфейс" DESCRIPT="Generic transport for WEB interface." DESCRIPT_ru="Основной транспорт для WEB интерфейса." DESCRIPT_uk="Основний транспорт для WEB інтерфейсу." ADDR="TCP::10002:0" PROT="HTTP" START="1"/> <fld ID="WEB_2" MODULE="Sockets" NAME="Reserve WEB interface" NAME_ru="Резервный WEB интерфейс" NAME_uk="Резервний WEB інтерфейс" DESCRIPT="Reserve transport for WEB interface." DESCRIPT_ru="Резервный транспорт для WEB интерфейса." DESCRIPT_uk="Резервний транспорт для WEB інтерфейсу." ADDR="TCP::10004:0" PROT="HTTP" START="1"/> </tbl> <tbl id="Transport_out"> <fld ID="testModBus" MODULE="Sockets" NAME="Test ModBus" NAME_ru="Тест ModBus" NAME_uk="Тест ModBus" DESCRIPT="Data exchange by protocol ModBus test." DESCRIPT_ru="Тест обмена по протоколу ModBus." DESCRIPT_uk="Тест обміну за протоколом ModBus." ADDR="TCP:localhost:10502" START="1"/> </tbl>--> </node> <node id="sub_DAQ"> <!-- <tbl id="tmplib"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" DB="tmplib_test2"/> </tbl> <tbl id="tmplib_test2"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" DB="test2" PROGRAM="JavaLikeCalc.JavaScript
cnt=5*i"/> </tbl> <tbl id="tmplib_test2_io"> <fld TMPL_ID="test2" ID="i" NAME="I" NAME_ru="I" NAME_uk="I" TYPE="4" FLAGS="160" VALUE="" POS="0"/> <fld TMPL_ID="test2" ID="cnt" NAME="Cnt" NAME_ru="Cnt" NAME_uk="Cnt" TYPE="4" FLAGS="32" VALUE="" POS="0"/> </tbl>--> <node id="mod_LogicLev"> <!-- <tbl id="DAQ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0"/> </tbl> <tbl id="test2prm"> <fld SHIFR="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" MODE="2" PRM="test2.test2"/> </tbl>--> </node> <node id="mod_System"> <!-- <tbl id="DAQ"> <fld ID="DataOS" NAME="Data OS" NAME_ru="Даные ОС" NAME_uk="Дані ОС" DESCR="Data of services and subsystems OS." DESCR_ru="Данные сервисов и подсистем ОС." DESCR_uk="Дані сервісів та підсистем ОС." ENABLE="1" START="1" AUTO_FILL="0" PRM_BD="DataOSprm" PERIOD="1000" PRIOR="0"/> </tbl> <tbl id="DataOSprm"> <fld SHIFR="CPU" NAME="CPU load" NAME_ru="Нагрузка CPU" NAME_uk="Навантаження CPU" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" TYPE="CPU" SUBT="gen"/> <fld SHIFR="MEM" NAME="Memory" NAME_ru="Память" NAME_uk="Пам\'ять" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" TYPE="MEM"/> </tbl> --> </node> <node id="mod_DiamondBoards"> <!-- <tbl id="DAQ"> <fld ID="Athena" NAME="Athena board" NAME_ru="Плата Athena" NAME_uk="Плата Athena" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="0" BOARD="25" PRM_BD_A="AthenaAnPrm" PRM_BD_D="AthenaDigPrm" ADDR="640" INT="5" DIO_CFG="0" ADMODE="0" ADRANGE="0" ADPOLAR="0" ADGAIN="0" ADCONVRATE="1000"/> </tbl> <tbl id="AthenaAnPrm"> <fld SHIFR="ai0" NAME="AI 0" NAME_ru="AI 0" NAME_uk="AI 0" DESCR="" DESCR_ru="" DESCR_uk="" EN="0" TYPE="0" CNL="0" GAIN="0"/> </tbl> <tbl id="AthenaDigPrm"> <fld SHIFR="di0" NAME="DI 0" NAME_ru="DI 0" NAME_uk="DI 0" DESCR="" DESCR_ru="" DESCR_uk="" EN="0" TYPE="0" PORT="0" CNL="0"/> </tbl> --> </node> <node id="mod_BlockCalc"> <!-- <tbl id="DAQ"> <fld ID="Model" NAME="Model" NAME_ru="Модель" NAME_uk="Модель" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="Model_prm" BLOCK_SH="Model_blcks" PERIOD="1000" PRIOR="0" PER_DB="0" ITER="1"/> </tbl> <tbl id="Model_blcks"> <fld ID="Klap" NAME="Klapan" NAME_ru="Клапан" NAME_uk="Клапан" DESCR="" DESCR_ru="" DESCR_uk="" FUNC="DAQ.JavaLikeCalc.lib_techApp.klap" EN="1" PROC="1"/> </tbl> <tbl id="Model_blcks_io"> <fld BLK_ID="Klap" ID="l_kl1" TLNK="0" LNK="" VAL="50"/> <fld BLK_ID="Klap" ID="l_kl2" TLNK="0" LNK="" VAL="20"/> </tbl> <tbl id="Model_prm"> <fld SHIFR="l_kl" NAME="Klap lev" NAME_ru="Полож. клапана" NAME_uk="Полож. клапана" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" BLK="Klap" IO="l_kl1"/> </tbl> --> </node> <node id="mod_JavaLikeCalc"> <!-- <tbl id="DAQ"> <fld ID="CalcTest" NAME="Calc Test" NAME_ru="Тест вычисл." NAME_uk="Тест обчисл." DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="CalcTest_prm" FUNC="TemplFunc.d_alarm" PERIOD="1000" PRIOR="0" PER_DB="0" ITER="1"/> </tbl> <tbl id="CalcTest_val"> <fld ID="in" VAL="0"/> <fld ID="alrm" VAL=""/> <fld ID="alrm_md" VAL="1"/> <fld ID="alrm_mess" VAL="Error present."/> </tbl> <tbl id="CalcTest_prm"> <fld SHIFR="alrm" NAME="Alarm" NAME_ru="Авария" NAME_uk="Аварія" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" FLD="alrm"/> </tbl> <tbl id="lib"> <fld ID="TemplFunc" NAME="" NAME_ru="" NAME_uk="" DESCR="" ESCR_ru="" DESCR_uk="" DB="lib_TemplFunc"/> </tbl> <tbl id="lib_TemplFunc"> <fld ID="d_alarm" NAME="Digit alarm" NAME_ru="Авария по дискр." NAME_uk="Аварія за дискр" DESCR="" FORMULA="alrm=(in==alrm_md)?"1:"+alrm_mess:"0";"/> </tbl> <tbl id="lib_TemplFunc_io"> <fld F_ID="d_alarm" ID="in" NAME="Input" NAME_ru="Вход" NAME_uk="Вхід" TYPE="3" MODE="0" DEF="" HIDE="0" POS="0"/> <fld F_ID="d_alarm" ID="alrm" NAME="Alarm" NAME_ru="Авария" NAME_uk="Аварія" TYPE="0" MODE="1" DEF="" HIDE="0" POS="1"/> <fld F_ID="d_alarm" ID="alrm_md" NAME="Alarm mode" NAME_ru="Режим аварии" NAME_uk="Режим аварії" TYPE="3" MODE="0" DEF="" HIDE="0" POS="2"/> <fld F_ID="d_alarm" ID="alrm_mess" NAME="Alarm message" NAME_ru="Сообщ. аварии" NAME_uk="Повід. аварії" TYPE="0" MODE="0" DEF="" HIDE="0" POS="3"/> </tbl>--> </node> <node id="mod_Siemens"> <!-- <tbl id="DAQ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" CIF_DEV="0" ADDR="5" ASINC_WR="0"/> </tbl> <tbl id="test2prm"> <fld SHIFR="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" TMPL="S7.ai_man"/> </tbl>--> </node> <node id="mod_SNMP"> <!-- <tbl id="DAQ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" ADDR="localhost" COMM="public" PATTR_LIM="20"/> </tbl> <tbl id="test2prm"> <fld SHIFR="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" OID_LS="system"/> </tbl>--> </node> <node id="mod_ModBus"> <!-- <tbl id="DAQ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" TRANSP="Sockets" ADDR="exlar.diya.org" NODE="1"/> </tbl> <tbl id="test2prm"> <fld SHIFR="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" EN="1" ATTR_LS="321:0:tst:Test"/> </tbl>--> </node> <node id="mod_Transporter"> <!-- <tbl id="DAQ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" SYNCPER="60" STATIONS="loop" CNTRPRM="System.AutoDA"/> </tbl>--> </node> </node> <node id="sub_Archive"> <prm id="MessBufSize">1000</prm> <prm id="MessPeriod">5</prm> <prm id="ValPeriod">1000</prm> <prm id="ValPriority">10</prm> <!-- <tbl id="Archive_mess_proc"> <fld ID="StatErrors" MODUL="FSArch" NAME="Errors" NAME_ru="Ошибки" NAME_uk="Помилки" DESCR="Local errors\' archive" DESCR_ru="Архив локальных ощибок" DESCR_uk="Архів локальних помилок" START="1" CATEG="/DemoStation*" LEVEL="4" ADDR="ARCHIVES/MESS/stError/" FSArchMSize="300" FSArchNFiles="10" FSArchTmSize="30" FSArchXML="1" FSArchPackTm="10" FSArchTm="60"/> <fld ID="NetRequsts" MODUL="FSArch" NAME="Net requests" NAME_ru="Сетевые запросы" NAME_uk="Мережеві запити" DESCR="Requests to server through transport Sockets." DESCR_ru="Запросы к серверу через транспорт Sockets." DESCR_uk="Запити до сервера через транспорт Sockets." START="1" CATEG="/DemoStation/Transport/Sockets*" LEVEL="1" ADDR="ARCHIVES/MESS/Net/" FSArchMSize="300" FSArchNFiles="10" FSArchTmSize="30" FSArchXML="1" FSArchPackTm="10" FSArchTm="60"/> </tbl> <tbl id="Archive_val_proc"> <fld ID="1h" MODUL="FSArch" NAME="1hour" NAME_ru="1час" NAME_uk="1год" DESCR="Averaging for hour" DESCR_ru="Усреднение за час" DESCR_uk="Усереднення за годину" START="1" ADDR="ARCHIVES/VAL/1h/" V_PER="360" A_PER="60" FSArchTmSize="8640" FSArchNFiles="10" FSArchRound="0.1" FSArchPackTm="10" FSArchTm="60"/> </tbl> <tbl id="Archive_val"> <fld ID="test1" NAME="Test 1" NAME_ru="Тест 1" NAME_uk="Тест 1" DESCR="Test 1" DESCR_ru="Тест 1" DESCR_uk="Тест 1" START="1" VTYPE="1" BPER="1" BSIZE="200" BHGRD="1" BHRES="0" SrcMode="0" Source="" ArchS=""/> </tbl>--> </node> <node id="sub_Protocol"> </node> <node id="sub_UI"> <node id="mod_QTStarter"> <prm id="StartMod">QTCfg</prm> </node> <node id="mod_WebCfg"> <prm id="SessTimeLife">20</prm> </node> <node id="mod_VCAEngine"> <!-- <tbl id="LIB"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" DB_TBL="wlib_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/> </tbl> <tbl id="wlib_test2"> <fld ID="test2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_ru="" PROC_uk="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436"/> </tbl> <tbl id="wlib_test2_io"> <fld IDW="test2" ID="name" IO_VAL="Test 2" IO_VAL_ru="Тест 2" IO_VAL_uk="Тест 2" SELF_FLG="" CFG_TMPL="" CFG_TMPL_ru="" CFG_TMPL_uk="" CFG_VAL=""/> <fld IDW="test2" ID="dscr" IO_VAL="Test module 2" IO_VAL_ru="Тест модуля 2" IO_VAL_uk="Тест модуля 2" SELF_FLG="" CFG_TMPL="" CFG_TMPL_ru="" CFG_TMPL_uk="" CFG_VAL=""/> </tbl> <tbl id="PRJ"> <fld ID="test2" NAME="Test 2" NAME_ru="Тест 2" NAME_uk="Тест 2" DESCR="" DESCR_ru="" DESCR_uk="" DB_TBL="prj_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/> </tbl> <tbl id="prj_test2"> <fld OWNER="/test2" ID="pg1" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_ru="" PROC_uk="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="1"/> <fld OWNER="/test2/pg1" ID="pg2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_ru="" PROC_uk="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="0"/> </tbl> <tbl id="prj_test2_incl"> <fld IDW="/prj_test2/pg_pg1" ID="wdg1" PARENT="/wlb_originals/wdg_Box"/> </tbl>--> </node> </node> <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"/> <prm id="SOAttDet" on="0" per="20" name="../../lib/openscada/daq_LogicLev.so" 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="BD" on="0" per="10" type="MySQL" bd="server.diya.org;roman;123456;oscadaTest" table="test" size="1000"/> <prm id="BD" on="0" per="10" type="DBF" bd="./DATA/DBF" table="test.dbf" size="1000"/> <prm id="BD" on="0" per="10" type="SQLite" bd="./DATA/test.db" table="test" size="1000"/> <prm id="BD" on="0" per="10" type="FireBird" bd="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="Func" on="0" per="10"/> <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>
Lets examine in details the structure of the configuration file. A configuration file can contain a configuration of several stations in the sections <station id="DemoStation" name="Demo station"/>. Attributes of the section are the identifier and the name of the station. Using one or another section of the station at startup is specified by the command-line option --Station=DemoStation. Section of the station directly contains parameters of the station and subsystems' sections. Configuration options of the section are written in the form <prm id="SYSOptCfg">1</prm>. Where in the attribute <id> the ID of the attribute is specified, and in the tag's body the value of parameter '1' is specified. The list of available options and their description for the station and all other sections can be obtained from the console by calling OpenSCADA with parameter --help or in the "Help" tabs of the pages of the components of the configuration files of OpenSCADA (Fig.58).
The result of the command: # ./openscada_demo --help
***************************************************************************
********** OpenSCADA v0.6.4.1 (Linux-2.6.30-std-def-alt15). *********
***************************************************************************
===========================================================================
========================= The general system options ======================
===========================================================================
-h, --help Info message about system options.
--Config=<path> Config file path.
--Station=<id> Station identifier.
--demon Start into demon mode.
--MessLev=<level> Process messages <level> (0-7).
--log=<direct> Direct messages to:
<direct> & 1 - syslogd;
<direct> & 2 - stdout;
<direct> & 4 - stderr;
<direct> & 8 - archive.
----------- The config file station </EmptySt/> parameters -----------
StName <nm> Station name.
WorkDB <Type.Name> Work DB (type and name).
Workdir <path> Work directory.
IcoDir <path> Icons directory.
ModDir <path> Modules directory.
MessLev <level> Messages <level> (0-7).
LogTarget <direction> Direct messages to:
<direct> & 1 - syslogd;
<direct> & 2 - stdout;
<direct> & 4 - stderr;
<direct> & 8 - archive.
Lang2CodeBase <lang> Base language for variable texts translation, two symbols code.
SaveAtExit <true> Save system at exit.
SavePeriod <sec> Save system period.
=================== Subsystem "Module sheduler" options =================
--ModPath=<path> Modules <path> (/var/os/modules/).
------------ Parameters of section </DemoStation/sub_ModSched/> in config file -----------
ModPath <path> Path to shared libraries(modules).
ModAllow <list> List of shared libraries allowed for automatic loading, attaching and starting (bd_DBF.so;daq_JavaLikeCalc.so).
Use '*' value for allow all modules.
ModDeny <list> List of shared libraries deny for automatic loading, attaching and starting (bd_DBF.so;daq_JavaLikeCalc.so).
ChkPer <sec> Period of checking at new shared libraries(modules).
You must run this software as root
No log handling enabled - turning on stderr logging
Cannot find module (HOST-RESOURCES-MIB): At line 0 in (none)
Cannot find module (HOST-RESOURCES-TYPES): At line 0 in (none)
Cannot find module (IP-MIB): At line 0 in (none)
Cannot find module (IF-MIB): At line 0 in (none)
Cannot find module (TCP-MIB): At line 0 in (none)
Cannot find module (UDP-MIB): At line 0 in (none)
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (NOTIFICATION-LOG-MIB): At line 0 in (none)
Cannot find module (DISMAN-EVENT-MIB): At line 0 in (none)
Cannot find module (DISMAN-SCHEDULE-MIB): At line 0 in (none)
Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
Cannot find module (NET-SNMP-AGENT-MIB): At line 0 in (none)
Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
Cannot find module (IP-FORWARD-MIB): At line 0 in (none)
Cannot find module (NET-SNMP-EXTEND-MIB): At line 0 in (none)
Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
Cannot find module (SNMPv2-TM): At line 0 in (none)
Cannot find module (NET-SNMP-VACM-MIB): At line 0 in (none)
========================= Subsystem "DB" options ========================
------------ Parameters of section </DemoStation/sub_BD/> in config file -----------
======================= The module <BD:SQLite> options =======================
---------- Parameters of the module section </DemoStation/sub_BD/mod_SQLite/> in config file ----------
======================= The module <BD:DBF> options =======================
---------- Parameters of the module section </DemoStation/sub_BD/mod_DBF/> in config file ----------
======================= The module <BD:FireBird> options =======================
---------- Parameters of the module section </DemoStation/sub_BD/mod_FireBird/> in config file ----------
======================= The module <BD:MySQL> options =======================
---------- Parameters of the module section </DemoStation/sub_BD/mod_MySQL/> in config file ----------
======================= Subsystem "Security" options ====================
------------ Parameters of section </DemoStation/sub_Security/> in config file -----------
======================= Subsystem "Transports" options ==================
------------ Parameters of section </DemoStation/sub_Transport/> in config file -----------
======================= The module <Transport:SSL> options =======================
---------- Parameters of the module section </DemoStation/sub_Transport/mod_SSL/> in config file ----------
======================= The module <Transport:Sockets> options =======================
---------- Parameters of the module section </DemoStation/sub_Transport/mod_Sockets/> in config file ----------
======================= The module <Transport:Serial> options =======================
---------- Parameters of the module section </DemoStation/sub_Transport/mod_Serial/> in config file ----------
=============== Subsystem "Transport protocols" options =================
======================= The module <Protocol:HTTP> options =======================
---------- Parameters of the module section </DemoStation/sub_Protocol/mod_HTTP/> in config file ----------
AuthTime <min> Life time of the authentication, minutes (default 10).
======================= The module <Protocol:SelfSystem> options =======================
---------- Parameters of the module section </DemoStation/sub_Protocol/mod_SelfSystem/> in config file ----------
======================= The module <Protocol:ModBus> options =======================
---------- Parameters of the module section </DemoStation/sub_Protocol/mod_ModBus/> in config file ----------
======================= The module <Protocol:OPC_UA> options =======================
---------- Parameters of the module section </DemoStation/sub_Protocol/mod_OPC_UA/> in config file ----------
=================== Subsystem "Data acquisition" options ================
------------ Parameters of section </DemoStation/sub_DAQ/> in config file -----------
RdStLevel <lev> The curent station redundant level.
RdTaskPer <s> The redundant task call period.
RdRestConnTm <s> Restore connection timeout to dead reserve stations.
RdRestDtTm <hour> Restore data archive depth from a reserve station after deadline.
RdStList <list> Redundant stations list, separated symbol ';' (st1;st2).
======================= The module <DAQ:DAQGate> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_DAQGate/> in config file ----------
======================= The module <DAQ:ModBus> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_ModBus/> in config file ----------
======================= The module <DAQ:DCON> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_DCON/> in config file ----------
======================= The module <DAQ:SNMP> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_SNMP/> in config file ----------
======================= The module <DAQ:ICP_DAS> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_ICP_DAS/> in config file ----------
======================= The module <DAQ:BlockCalc> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_BlockCalc/> in config file ----------
======================= The module <DAQ:System> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_System/> in config file ----------
======================= The module <DAQ:OPC_UA> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_OPC_UA/> in config file ----------
======================= The module <DAQ:LogicLev> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_LogicLev/> in config file ----------
======================= The module <DAQ:JavaLikeCalc> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_JavaLikeCalc/> in config file ----------
======================= The module <DAQ:Siemens> options =======================
---------- Parameters of the module section </DemoStation/sub_DAQ/mod_Siemens/> in config file ----------
======================== Subsystem "Archives" options ===================
------------ Parameters of section </DemoStation/sub_Archive/> in config file -----------
MessBufSize <items> Messages buffer size.
MessPeriod <sec> Message arhiving period.
ValPeriod <msec> Values arhiving period.
ValPriority <level> Values task priority level.
MaxReqMess <items> Maximum request messages.
MaxReqVals <items> Maximum request values.
======================= The module <Archive:FSArch> options =======================
---------- Parameters of the module section </DemoStation/sub_Archive/mod_FSArch/> in config file ----------
======================= The module <Archive:DBArch> options =======================
---------- Parameters of the module section </DemoStation/sub_Archive/mod_DBArch/> in config file ----------
======================= Subsystem "Special" options =====================
======================= The module <Special:SystemTests> options =======================
---------- Parameters of the module section </DemoStation/sub_Special/mod_SystemTests/> in config file ----------
All tests main options:
id test's id;
on on test's flag;
per repeat period (sek).
*** Test's options ***
PARAM Parameter test:
name paremeter full name (OperationSystem.AutoDA.CPULoad).
XML XML parsing test:
file file for XML parsing.
MESS Messages archive test:
arhtor archivator name (StatErrors.BaseArh);
categ messages category pattern.
SOAttDet Attach/Detach module test:
name name modul (path to module);
full full attach(to start).
Val Parameter atributes value test:
name parameter attribute (OperationSystem.AutoDA.CPULoad.load);
arch_len archive value getting depth;
arch_per archive value getting period.
BD Full database test:
type type BD;
bd name BD;
table table;
size fields number.
TrOut Output transport test:
addr input transport address;
type transport type;
req request to a input transport.
Func Function API test;
SysContrLang System control language test:
path path to language element (/Archive/BaseArh/mess_StatErrors/%2fprm%2fst).
ValBuf Value buffer tests;
Archive Value archive allocation tests:
arch value archive;
period values period (us).
Base64Code Mime Base64 algorithm tests.
===================== Subsystem "User interfaces" options ===============
======================= The module <UI:Vision> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_Vision/> in config file ----------
StartUser <user> No password requested start user.
RunPrjs <list> Run projects list on the module start.
RunTimeUpdt <mode> RunTime update mode (0 - all widgets periodic adaptive update,
1 - update only changed widgets).
VCAstation <id> VCA station id ('.' - local).
======================= The module <UI:WebCfg> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_WebCfg/> in config file ----------
======================= The module <UI:VCAEngine> options =======================
--VCADBClearForce Force clear VCA DB from data of API 1.
---------- Parameters of the module section </DemoStation/sub_UI/mod_VCAEngine/> in config file ----------
======================= The module <UI:QTCfg> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_QTCfg/> in config file ----------
StartPath <path> Configurator start path.
StartUser <user> No password requested start user.
======================= The module <UI:QTStarter> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_QTStarter/> in config file ----------
StartMod <moduls> Start modules list (sep - ';').
======================= The module <UI:WebCfgD> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_WebCfgD/> in config file ----------
======================= The module <UI:WebVision> options =======================
---------- Parameters of the module section </DemoStation/sub_UI/mod_WebVision/> in config file ----------
SessTimeLife <time> Time of the session life, minutes (default 10).
Sections of subsystem (<node id="sub_DAQ" />) contains parameters of subsystem, sections of modules and sections of tables of reflections of the data of databases in the configuration file. Sections of modules (<node id="mod_DiamondBoards" />) contain the individual parameters of modules and sections of tables of reflection of the data of databases in the configuration file.
Sections of the tables of reflection of the data of databases are provided for placement in the configuration file records of DB tables for the OpenSCADA components. Lets examine the table of incoming transports "Transport_in" of subsystem transports (<node id="sub_Transport">) from the example of configuration file above. The table contains two records with fields: ID, MODULE, NAME, DESCRIPT, ADDR, PROT, START, BufLen, MaxClients, SocketsMaxQueue. After booting with this section and in general without the DB in the subsystem "Transports" of the "Sockets" module you'll see two input transports. Formats of the table's structures of the main components are included in the demo configuration files. For the details of the database's structure you should read the relevant documentation of modules.