From OpenSCADAWiki
Jump to: navigation, search
(Marked this version for translation)
 
(94 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Constr|Final verification, [http://wiki.oscada.org/HomePageEn/Function original one]}}
 
 
<languages/>
 
<languages/>
 
<translate>
 
<translate>
 
<!--T:1-->
 
<!--T:1-->
The page contains information allowing to receive general representation about functions which OpenSCADA can carry out by the current moment. Functions are grouped on main spheres of application of OpenSCADA. For receiving a picture as a whole of functions planned or make now their are included also. The page also have demands of OpenSCADA for it building and execution.
+
The page contains information that allows you to get a general view of the features that OpenSCADA can perform at this time. The functions are grouped according to application areas. To get a general picture there also includes scheduled functions or functions that are currently being implemented. The page also contains the requirements of OpenSCADA for its execution and building.
 +
 
 
</translate>
 
</translate>
 
__TOC__
 
__TOC__
 
<translate>
 
<translate>
== The employment areas of OpenSCADA == <!--T:2-->
+
== Areas of application OpenSCADA == <!--T:2-->
Separating to the employment areas was made to simplify perception of the system functionality in light of traditional area for the project OpenSCADA — automation of technological processes. But also there possible mixed and specialized configuring systems for real-time data operation, for example into areas: ERP, Billing, Smart House and etc.
+
Separating to the employment areas was made to simplify perception of the program functionality in light of traditional area of the project OpenSCADA — automation of technological processes. But also there possible mixed and specialized configuring of the program for real-time data operation, for example into areas: ERP, Billing, Smart House and etc.
  
 
<!--T:3-->
 
<!--T:3-->
[[File:oscada_use.png|center|frame|Fig. 1. Roles of the OpenSCADA system.]]
+
[[File:oscada_use.png|center|frame|Fig.1. Roles of OpenSCADA.]]
 
+
 
-----------
 
-----------
=== System server of SCADA === <!--T:4-->
 
* Visual control and management by means of the interfaces:
 
** Remote visualization server grounded on visualization and control area (VCA) engine [http://wiki.oscada.org/HomePageEn/Doc/VCAEngine VCAEngine]. Module UI.Vision local starting and connecting to the visualization server.
 
** Remote WEB interface. By means of a Web-browser, a visualization module [http://wiki.oscada.org/HomePageEn/Doc/WebVision WebVision] and a module of the core of visual control area [http://wiki.oscada.org/HomePageEn/Doc/VCAEngine VCAEngine].
 
** Simple remote Web-interfaces of user. By means of a Web-browser and the UI-module [http://wiki.oscada.org/HomePageEn/Doc/WebUser WebUser].
 
* Data acquisition (DAQ) from sources:
 
** Information about a platform (hardware-software) on which the server works. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/System System].
 
** Data acquisition from sources which support protocol SNMP (Simple Network Management Protoсol). By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/SNMP SNMP].
 
** Data acquisition from controllers of firm Siemens of S7 series. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/Siemens Siemens].
 
** Data acquisition of industrial controllers under the protocol ModBus. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/ModBus ModBus].
 
** Data acquisition of industrial controllers under the protocol DCON. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DCON DCON].
 
** Formation of derivative structures of parameters on the basis of templates of parameters and data from other sources. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/LogicLev LogicLev].
 
** Data acquisition from other servers and PLC, based on OpenSCADA, possibly for duplication. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DAQGate DAQGate].
 
** Data acquisition from sound controller's input channels. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/SoundCard SoundCard].
 
** Data acquisition from hardware of firm [http://www.icpdas.com ICP DAS]. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/ICP_DAS ICP_DAS].
 
** Data acquisition from sources which support protocol OPC-UA. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA OPC-UA].
 
** Data acquisition from automation of "Big Dutchman" company. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/BFN BFN].
 
** Data acquisition from sources DAQ-boars on buses ISA, PCI, PCMCIA and USB by means library of the project [http://comedi.org Comedi] and the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/Comedi Comedi].
 
** Data acquisition from different sources, which have utilities for access to it data or it accessibly through simple special network protocols. Making by getting procedure writing on language of user programming by DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc JavaLikeCalc], and also transport-protocol-module [http://wiki.oscada.org/HomePageEn/Doc/UserProtocol User Protocol]. Most known protocols implementing on [http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs the Users Protocols]: SMS, SMTP, Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Heat counter computer VKT7, Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, OWEN, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, I2C Chips (PCF8591, PCF8574, DS3231, AT24CXX), 1Wire Chips by adapters DS9097 and DS9097U (DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438), Low level devices by GPIO (DHT, 1602A), etc.
 
* Providing data to upper-level systems:
 
** By means of interfaces:
 
*** Serial interface (RS232, RS485, Modem, ...), by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/Serial Serial].
 
*** IP-networks sockets and network level protocols TCP, UDP and Unix, by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/Sockets Sockets].
 
*** Security sockets layer (SSL), by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/SSL SSL].
 
** By means of protocols:
 
*** Self OpenSCADA protocol, by means of transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/SelfSystem SelfSystem].
 
*** ModBUS family protocols (TCP, RTU and ASCII), by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/ModBUS ModBUS].
 
*** "OPC-UA" protocol, by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA OPC-UA].
 
*** Simple special protocols, developed by users by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/UserProtocol User Protocol].
 
* Implementation of user calculations in languages:
 
** Language of block schemes. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/BlockCalc BlockCalc].
 
** With the help of Java-like language of a high level. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc JavaLikeCalc].
 
* Archiving of messages, conducting reports on various categories and levels by means of mechanisms:
 
** Files in a XML-format or the flat text with packing the out-of-date archives. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/FSArch FSArch].
 
** In tables of archival DB. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/DBArch DBArch].
 
** <span style="color: red">In plans.</span> On other server, it is possible for an allocated archiving server, based on OpenSCADA.
 
* Archiving values of the collected data by means of mechanisms:
 
** Files with double packing: consecutive and standard archiver gzip. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/FSArch FSArch].
 
** In tables of archival DB. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/DBArch DBArch].
 
* Configuration and management of a server through:
 
** The WEB-interface. By means of a Web-browser and the UI-module [http://wiki.oscada.org/HomePageEn/Doc/WebCfgD WebCfgD] and [http://wiki.oscada.org/HomePageEn/Doc/WebCfg WebCfg].
 
** From remote configuration station. By means of the UI-module at configuration station [http://wiki.oscada.org/HomePageEn/Doc/QTCfg QTCfg] and the interface of management OpenSCADA reflected in the protocol [http://wiki.oscada.org/HomePageEn/Doc/SelfSystem SelfSystem].
 
* Data storage of a server in a DB of types:
 
** MySQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/MySQL MySQL].
 
** SQLite. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/SQLite SQLite].
 
** PostgreSQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/PostgreSQL PostgreSQL].
 
** DBF. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/DBF DBF].
 
** FireBird. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/FireBird FireBird].
 
** <span style="color: red">In plans.</span> DB accessible on other server based on OpenSCADA.
 
** <span style="color: red">In plans.</span> LDAP.
 
  
 +
=== Server of the SCADA system === <!--T:4-->
 +
{| class="wikitable"
 +
|-
 +
! colspan="2" | Visual Control Area (VCA) of the end user
 +
|-
 +
| Remote visualization server grounded on the visual control engine of VCA — local starting of the module UI.Vision, connected to the visualization server. || Module of the VCA engine [[Special:MyLanguage/Modules/VCAEngine|VCAEngine]]
 +
|-
 +
| Remote WEB interface || Web-browser<br/>Module of the visualizer [[Special:MyLanguage/Modules/WebVision|WebVision]]<br/>Module of the VCA engine [[Special:MyLanguage/Modules/VCAEngine|VCAEngine]]
 +
|-
 +
| Simple remote Web-interfaces of the user || Web-browser<br/>Module [[Special:MyLanguage/Modules/WebUser|WebUser]]
 +
|-
 +
! colspan="2" | Providing data to higher level systems
 +
|-
 +
| colspan="2" align="center" | ''By interfaces''
 +
|-
 +
| Serial interface: RS232, RS485, Modem, ... || Module [[Special:MyLanguage/Modules/Serial|Serial]]
 +
|-
 +
| IP-networks sockets and network level protocols TCP, UDP and Unix || Module [[Special:MyLanguage/Modules/Sockets|Sockets]]
 +
|-
 +
| Security sockets layer (SSL) || Module [[Special:MyLanguage/Modules/SSL|SSL]]
 +
|-
 +
| colspan="2" align="center" | ''By protocols''
 +
|-
 +
| Self protocol of OpenSCADA || Module [[Special:MyLanguage/Modules/SelfSystem|SelfSystem]]
 +
|-
 +
| ModBus family protocols: TCP, RTU and ASCII || Module [[Special:MyLanguage/Modules/ModBus|ModBus]]
 +
|-
 +
| "OPC-UA" protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
|-
 +
| Simple specialized protocols developed by the user protocol || Module [[Special:MyLanguage/Modules/UserProtocol|UserProtocol]]
 +
|-
 +
| colspan="2" align="center" | ''Through DBMS''
 +
|-
 +
| MySQL || Module [[Special:MyLanguage/Modules/MySQL|MySQL]]
 +
|-
 +
| PostgreSQL || Module [[Special:MyLanguage/Modules/PostgreSQL|PostgreSQL]]
 +
|-
 +
| FireBird || Module [[Special:MyLanguage/Modules/FireBird|FireBird]]
 +
|-
 +
| DBGate — DB of the another OpenSCADA station || Module [[Special:MyLanguage/Modules/DBGate|DBGate]]
 +
|-
 +
| ODBC — DBMS for which there is an ODBC driver || Module [[Special:MyLanguage/Modules/FireBird|ODBC]] (<span style="color: red">not finished</span>)
 +
|-
 +
! colspan="2" | Configuration and development (SCADA programmer and administrator)
 +
|-
 +
| Remotely, through WEB-interface || Web-browser<br/>Module [[Special:MyLanguage/Modules/WebCfgD|WebCfgD]] or [[Special:MyLanguage/Modules/WebCfg|WebCfg]]
 +
|-
 +
| Remotely, from the configuration station by the control interface of OpenSCADA || Module [[Special:MyLanguage/Modules/SelfSystem|SelfSystem]]
 +
|-
 +
! colspan="2" | Languages of the user programming and calculation
 +
|-
 +
| JavaLikeCalc — a high level language similar to JavaScript and Java || Module [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]
 +
|-
 +
| Block Schemes || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
 +
|-
 +
! colspan="2" | Storing station data
 +
|-
 +
| Configuration file || Core of OpenSCADA
 +
|-
 +
| colspan="2" align="center" | DB
 +
|-
 +
| SQLite || Module [[Special:MyLanguage/Modules/SQLite|SQLite]]
 +
|-
 +
| MySQL || Module [[Special:MyLanguage/Modules/MySQL|MySQL]]
 +
|-
 +
| PostgreSQL || Module [[Special:MyLanguage/Modules/PostgreSQL|PostgreSQL]]
 +
|-
 +
| FireBird || Module [[Special:MyLanguage/Modules/FireBird|FireBird]]
 +
|-
 +
| DBGate — DB of the another OpenSCADA station || Module [[Special:MyLanguage/Modules/DBGate|DBGate]]
 +
|-
 +
| ODBC — DBMS for which there is an ODBC driver || Module [[Special:MyLanguage/Modules/FireBird|ODBC]] (<span style="color: red">not finished</span>)
 +
|-
 +
| DBF || Module [[Special:MyLanguage/Modules/DBF|DBF]]
 +
|-
 +
| Directories through LDAP || Module [[Special:MyLanguage/Modules/LDAP|LDAP]]
 +
|-
 +
! colspan="2" | Acquisition and control of internal and external data (DAQ)
 +
|-
 +
| Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of the user protocol in the user programming language. Most known protocols implementing on [[Special:MyLanguage/Documents/DAQ#UserPrt|the user protocols]]:
 +
* ''[[Special:MyLanguage/Libs/Devices|Industrial devices library]]''
 +
** ''Industrial automation'': Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (example), OWEN (example).
 +
** ''Counters of the resources'': Heat counter computer VKT7, Mercury 200, Mercury 230, Nik2303I.
 +
* ''[[Special:MyLanguage/Libs/LowLevelDevices|Low level sensors and chips library]]''
 +
** ''I2C'': PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX;
 +
** ''1Wire Chips by the adapters DS9097 and DS9097U'': DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438;
 +
** ''Low level devices by GPIO'': DHT11,22 (DHT), 1602A(HD44780).
 +
| Module of the user programming language [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]<br/>Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]<br/>Module of the user protocol [[Special:MyLanguage/Modules/UserProtocol|UserProtocol]]
 +
|-
 +
| Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources || Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]
 +
|-
 +
| Formation of logical sources using block diagrams || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
 +
|-
 +
| External servers and PLCs are built on OpenSCADA, possibly for duplication. || Module [[Special:MyLanguage/Modules/DAQGate|DAQGate]]
 +
|-
 +
| Information about hardware and software platform || Module [[Special:MyLanguage/Modules/System|System]]
 +
|-
 +
| Industrial controllers and other devices by the ModBus protocol || Module [[Special:MyLanguage/Modules/ModBus|ModBus]]
 +
|-
 +
| Industrial controllers by the DCON protocol || Module [[Special:MyLanguage/Modules/DCON|DCON]]
 +
|-
 +
| Industrial controllers and other devices by the OPC-UA protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
|-
 +
| Industrial controllers and other devices by the MMS(IEC-9506) protocol || Module [[Special:MyLanguage/Modules/MMS|MMS]]
 +
|-
 +
| Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) || Module [[Special:MyLanguage/Modules/SNMP|SNMP]]
 +
|-
 +
| Industrial equipment of the firm [http://www.icpdas.com ICP DAS], modules of the series: I7k, I8k, I87K and other on the ISA bus || Module [[Special:MyLanguage/Modules/ICP_DAS|ICP_DAS]]
 +
|-
 +
| Industrial controllers of the firm Siemens of the series S7 || Module [[Special:MyLanguage/Modules/Siemens|Siemens]]
 +
|-
 +
| DAQ-boars on the buses ISA, PCI, PCMCIA and USB || Library [http://comedi.org Comedi]<br/>Module [[Special:MyLanguage/Modules/Comedi|Comedi]]
 +
|-
 +
| Input channels of the sound controllers || Module [[Special:MyLanguage/Modules/SoundCard|SoundCard]]
 +
|-
 +
| Automation of the "Big Dutchman" company || Module [[Special:MyLanguage/Modules/BFN|BFN]]
 +
|-
 +
! colspan="2" | Archiving-History
 +
|-
 +
| colspan="2" align="center" | Message archives by various categories and levels
 +
|-
 +
| Files in the format of XML or plain text with packing the out-of-date archives || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|-
 +
| colspan="2" align="center" | Value archives of the gathered data
 +
|-
 +
| Buffers in memory of a certain length || Core of OpenSCADA
 +
|-
 +
| Files with double packing: consecutive and the standard archiver gzip || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|}
 
-----------
 
-----------
=== Station of the operator of technological process, the board of the dispatcher, the panel of monitoring, etc. === <!--T:5-->
 
* Visual control and management by means of the interfaces:
 
** Local (fast) interface based on Qt library. By means of the visualization module [http://wiki.oscada.org/HomePageEn/Doc/Vision Vision] and the module of a core of the visual control area [http://wiki.oscada.org/HomePageEn/Doc/VCAEngine VCAEngine] include ability of visualization from remote engine of VCA, visualization server.
 
** Remote WEB interface. By means of a Web-browser, the visualization module [http://wiki.oscada.org/HomePageEn/Doc/WebVision WebVision] and the module of a core of visual control area [http://wiki.oscada.org/HomePageEn/Doc/VCAEngine VCAEngine].
 
** Simple remote Web-interfaces of user. By means of a Web-browser and the UI-module [http://wiki.oscada.org/HomePageEn/Doc/WebUser WebUser].
 
* Data acquisition (DAQ) from sources:
 
** Data acquisition from other servers and PLC, based on OpenSCADA, for data transportation and for duplication. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DAQGate DAQGate].
 
** Data acquisition from sources which support protocol SNMP (Simple Network Management Protoсol). By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/SNMP SNMP].
 
** Data acquisition from sources which support protocol OPC-UA. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA OPC-UA].
 
* Implementation of user calculations in languages:
 
** Language of block schemes. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/BlockCalc BlockCalc].
 
** With the help of Java-like language of a high level. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc JavaLikeCalc].
 
* Archiving messages, conducting reports on various categories and levels by means of mechanisms:
 
** Files in a XML-format or the flat text with packing the out-of-date archives. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/FSArch FSArch].
 
** In tables of archival DB. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/DBArch DBArch].
 
** <span style="color: red">In plans.</span> On other server, it is possible to an allocated archiving server, based on OpenSCADA.
 
* Configuration and management of a station through:
 
** WEB-interface. By means of a Web-browser and the UI-module [http://wiki.oscada.org/HomePageEn/Doc/WebCfgD WebCfgD] or [http://wiki.oscada.org/HomePageEn/Doc/WebCfg WebCfg].
 
** Qt-interface. By means of the UI-module [http://wiki.oscada.org/HomePageEn/Doc/QTCfg QTCfg].
 
** From remote configuration station. By means of the UI-module at configuration station [http://wiki.oscada.org/HomePageEn/Doc/QTCfg QTCfg] and the interface of management OpenSCADA reflected in the protocol [http://wiki.oscada.org/HomePageEn/Doc/SelfSystem SelfSystem].
 
* Data storage of a station in a DB of types:
 
** MySQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/MySQL MySQL].
 
** SQLite. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/SQLite SQLite].
 
** PostgreSQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/PostgreSQL PostgreSQL].
 
** DBF. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/DBF DBF].
 
** FireBird. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/FireBird FireBird].
 
** <span style="color: red">In plans.</span> DB accessible on other server based on OpenSCADA.
 
** <span style="color: red">In plans.</span> LDAP.
 
  
 +
=== Station of the operator of technological process, the dispatcher board, the monitoring panel, etc. === <!--T:5-->
 +
[[File:FPC-1701_img.png|thumb|200px|link=Special:MyLanguage/Using/Avalue_FPC-1701|FPC-1701]]
 +
[[File:Advantech_PPC-L126.jpg|thumb|200px|link=Special:MyLanguage/Using/Advantech|PPC-L126]]
 +
[[File:AsusNexus7.png|thumb|200px|link=Special:MyLanguage/Using/Asus_Nexus_7|Asus Nexus 7 II]]
 +
{| class="wikitable"
 +
|-
 +
! colspan="2" | Visual Control Area (VCA) of the end user
 +
|-
 +
| Local (fast) interface, based on the Qt library, with the ability to visualize the remote VCA engine — the visualization server || Module of the visualizer [[Special:MyLanguage/Modules/Vision|Vision]]<br/>Module of the VCA engine [[Special:MyLanguage/Modules/VCAEngine|VCAEngine]]
 +
|-
 +
| Remote WEB interface || Web-browser<br/>Module of the visualizer [[Special:MyLanguage/Modules/WebVision|WebVision]]<br/>Module of the VCA engine [[Special:MyLanguage/Modules/VCAEngine|VCAEngine]]
 +
|-
 +
| Simple remote Web-interfaces of the user || Web-browser<br/>Module [[Special:MyLanguage/Modules/WebUser|WebUser]]
 +
|-
 +
! colspan="2" | Configuration and development (SCADA programmer and administrator)
 +
|-
 +
| Local, via Qt-interface || Module [[Special:MyLanguage/Modules/QTCfg|QTCfg]]<br/>Module [[Special:MyLanguage/Modules/Vision|Vision]]
 +
|-
 +
| Remotely, through WEB-interface || Web-browser<br/>Module [[Special:MyLanguage/Modules/WebCfgD|WebCfgD]] or [[Special:MyLanguage/Modules/WebCfg|WebCfg]]
 +
|-
 +
| Remotely, from the configuration station by the control interface of OpenSCADA || Module [[Special:MyLanguage/Modules/SelfSystem|SelfSystem]]
 +
|-
 +
! colspan="2" | Languages of the user programming and calculation
 +
|-
 +
| JavaLikeCalc — a high level language similar to JavaScript and Java || Module [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]
 +
|-
 +
| Block Schemes || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
 +
|-
 +
! colspan="2" | Storing station data
 +
|-
 +
| Configuration file || Core of OpenSCADA
 +
|-
 +
| colspan="2" align="center" | DB
 +
|-
 +
| SQLite || Module [[Special:MyLanguage/Modules/SQLite|SQLite]]
 +
|-
 +
| MySQL || Module [[Special:MyLanguage/Modules/MySQL|MySQL]]
 +
|-
 +
| PostgreSQL || Module [[Special:MyLanguage/Modules/PostgreSQL|PostgreSQL]]
 +
|-
 +
| FireBird || Module [[Special:MyLanguage/Modules/FireBird|FireBird]]
 +
|-
 +
| DBGate — DB of the another OpenSCADA station || Module [[Special:MyLanguage/Modules/DBGate|DBGate]]
 +
|-
 +
| ODBC — DBMS for which there is an ODBC driver || Module [[Special:MyLanguage/Modules/FireBird|ODBC]] (<span style="color: red">not finished</span>)
 +
|-
 +
| DBF || Module [[Special:MyLanguage/Modules/DBF|DBF]]
 +
|-
 +
| Directories through LDAP || Module [[Special:MyLanguage/Modules/LDAP|LDAP]]
 +
|-
 +
! colspan="2" | Acquisition and control of internal and external data (DAQ)
 +
|-
 +
| External servers and PLCs are built on OpenSCADA, possibly for duplication. || Module [[Special:MyLanguage/Modules/DAQGate|DAQGate]]
 +
|-
 +
| Industrial controllers and other devices by the OPC-UA protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
|-
 +
| Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) || Module [[Special:MyLanguage/Modules/SNMP|SNMP]]
 +
|-
 +
! colspan="2" | Archiving-History
 +
|-
 +
| colspan="2" align="center" | Message archives by various categories and levels
 +
|-
 +
| Files in the format of XML or plain text with packing the out-of-date archives || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|-
 +
| colspan="2" align="center" | Value archives of the gathered data
 +
|-
 +
| Buffers in memory of a certain length || Core of OpenSCADA
 +
|-
 +
| Files with double packing: consecutive and the standard archiver gzip || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|}
 
-----------
 
-----------
 +
 
=== Environment of execution of the controllers (PLC) === <!--T:6-->
 
=== Environment of execution of the controllers (PLC) === <!--T:6-->
* Data acquisition (DAQ) from sources:
+
[[File:LP781_img.png|thumb|200px|link=Special:MyLanguage/Using/ICPDAS_LP8x81|LP-8781]] [[File:LP5xxx_img.png|thumb|100px|link=Special:MyLanguage/Using/ICPDAS_LP5xxx|LP-5141]]
** Cards of data acquisition of firm [http://diamondsystems.com/ Diamond Systems]. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DiamondBoards DiamondBoards].
+
[[File:Segnetics_SMH2Gi.png|thumb|120px|link=Special:MyLanguage/Using/Segnetics_SMH2Gi|SMH2Gi]]
** Information about a platform (hardware-software) on which the server works. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/System System].
+
[[File:Advantech_PCA-6753.png|thumb|200px|link=Special:MyLanguage/Using/Advantech|PCA-6753]]
** Data acquisition from sources which support protocol SNMP (Simple Network Management Protoсol). By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/SNMP SNMP].
+
[[File:RaspberryPi.png|thumb|200px|link=Special:MyLanguage/Using/Raspberry_Pi|Raspberry Pi]]
** Data acquisition of industrial controllers under the protocol ModBus. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/ModBus ModBus].
+
[[File:OrangePi.png|thumb|100px|link=Special:MyLanguage/Using/Orange_Pi|Orange Pi]]
** Data acquisition of industrial controllers under the protocol DCON. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DCON DCON].
+
{| class="wikitable"
** Formation of derivative structures of parameters on the basis of templates of parameters and data from other sources. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/LogicLev LogicLev].
+
|-
** Data acquisition from other servers and PLC, based on OpenSCADA, possibly for duplication. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/DAQGate DAQGate].
+
! colspan="2" | Providing data to higher level systems
** Data acquisition from sound controller's input channels. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/SoundCard SoundCard].
+
|-
** Data acquisition from hardware of firm [http://www.icpdas.com ICP DAS]. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/ICP_DAS ICP_DAS].
+
| colspan="2" align="center" | ''By interfaces''
** Data acquisition from sources which support protocol OPC-UA. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA OPC-UA].
+
|-
** Data acquisition from sources DAQ-boars on buses ISA, PCI, PCMCIA and USB by means library of the project [http://comedi.org Comedi] and the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/Comedi Comedi].
+
| Serial interface: RS232, RS485, Modem, ... || Module [[Special:MyLanguage/Modules/Serial|Serial]]
** Data acquisition from different sources, which have utilities for access to it data or it accessibly through simple special network protocols. Making by getting procedure writing on language of user programming by DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc JavaLikeCalc], and also transport-protocol-module [http://wiki.oscada.org/HomePageEn/Doc/UserProtocol User Protocol]. Most known protocols implementing on [http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs the Users Protocols]: SMS, SMTP, Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Heat counter computer VKT7, Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, OWEN, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, I2C Chips (PCF8591, PCF8574, DS3231, AT24CXX), 1Wire Chips by adapters DS9097 and DS9097U (DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438), Low level devices by GPIO (DHT, 1602A), etc.
+
|-
* Providing data to upper-level systems:
+
| IP-networks sockets and network level protocols TCP, UDP and Unix || Module [[Special:MyLanguage/Modules/Sockets|Sockets]]
** By means of interfaces:
+
|-
*** Serial interface (RS232, RS485, Modem, ...), by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/Serial Serial].
+
| Security sockets layer (SSL) || Module [[Special:MyLanguage/Modules/SSL|SSL]]
*** IP-networks sockets and network level protocols TCP, UDP and Unix, by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/Sockets Sockets].
+
|-
*** Security sockets layer (SSL), by means of the transport module [http://wiki.oscada.org/HomePageEn/Doc/SSL SSL].
+
| colspan="2" align="center" | ''By protocols''
** By means of protocols:
+
|-
*** Self OpenSCADA protocol, by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/SelfSystem SelfSystem].
+
| Self protocol of OpenSCADA || Module [[Special:MyLanguage/Modules/SelfSystem|SelfSystem]]
*** ModBUS family protocols (TCP, RTU and ASCII), by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/ModBUS ModBUS].
+
|-
*** "OPC-UA" protocol, by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA OPC-UA].
+
| ModBus family protocols: TCP, RTU and ASCII || Module [[Special:MyLanguage/Modules/ModBus|ModBus]]
*** Simple special protocols, developed by users by means of the transport's protocol module [http://wiki.oscada.org/HomePageEn/Doc/UserProtocol User Protocol].
+
|-
* Management, regulation and performance of other user calculations in languages:
+
| "OPC-UA" protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
** Language of block schemes. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/BlockCalc BlockCalc].
+
|-
** With the help of Java-like language of a high level. By means of the DAQ-module [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc JavaLikeCalc].
+
| Simple specialized protocols developed by the user protocol || Module [[Special:MyLanguage/Modules/UserProtocol|UserProtocol]]
* Archiving messages, conducting reports on various categories and levels by means of mechanisms:
+
|-
** Files in a XML-format or the flat text with packing the out-of-date archives. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/FSArch FSArch].
+
| colspan="2" align="center" | ''Through DBMS''
** In tables of archival DB. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/DBArch DBArch].
+
|-
** <span style="color: red">In plans.</span> On other server, it is possible to the allocated archiving server, based on OpenSCADA.
+
| MySQL || Module [[Special:MyLanguage/Modules/MySQL|MySQL]]
* Archiving of values of the collected data by means of mechanisms:
+
|-
** Buffers in memory of the setting depth. By means of the built in archiving mechanism of the values of core OpenSCADA.
+
| PostgreSQL || Module [[Special:MyLanguage/Modules/PostgreSQL|PostgreSQL]]
** Files with double packing: consecutive and standard archiver gzip. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/FSArch FSArch].
+
|-
** In tables of archival DB. By means of the archiving module [http://wiki.oscada.org/HomePageEn/Doc/DBArch DBArch].
+
| FireBird || Module [[Special:MyLanguage/Modules/FireBird|FireBird]]
* Configuration and management PLC through:
+
|-
** The WEB-interface. By means of a Web-browser and the UI-module [http://wiki.oscada.org/HomePageEn/Doc/WebCfgD WebCfgD] or [http://wiki.oscada.org/HomePageEn/Doc/WebCfg WebCfg].
+
| DBGate — DB of the another OpenSCADA station || Module [[Special:MyLanguage/Modules/DBGate|DBGate]]
** From the remote configuration station. By means of the UI-module at configuration station [http://wiki.oscada.org/HomePageEn/Doc/QTCfg QTCfg] and the interface of management OpenSCADA reflected in the protocol [http://wiki.oscada.org/HomePageEn/Doc/SelfSystem SelfSystem].
+
|-
* Data storage PLC in a DB of types:
+
| ODBC — DBMS for which there is an ODBC driver || Module [[Special:MyLanguage/Modules/FireBird|ODBC]] (<span style="color: red">not finished</span>)
** All data in a configuration file (fixed).
+
|-
** MySQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/MySQL MySQL].
+
! colspan="2" | Configuration and development (SCADA programmer and administrator)
** SQLite. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/SQLite SQLite].
+
|-
** PostgreSQL. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/PostgreSQL PostgreSQL].
+
| Remotely, through WEB-interface || Web-browser<br/>Module [[Special:MyLanguage/Modules/WebCfgD|WebCfgD]] or [[Special:MyLanguage/Modules/WebCfg|WebCfg]]
** DBF. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/DBF DBF.
+
|-
** FireBird. By means of the DB-module [http://wiki.oscada.org/HomePageEn/Doc/FireBird FireBird].
+
| Remotely, from the configuration station by the control interface of OpenSCADA || Module [[Special:MyLanguage/Modules/SelfSystem|SelfSystem]]
** <span style="color: red">In plans.</span> DB accessible on other server based on OpenSCADA.
+
|-
** <span style="color: red">In plans.</span> LDAP.
+
! colspan="2" | Languages of the user programming and calculation
 +
|-
 +
| JavaLikeCalc — a high level language similar to JavaScript and Java || Module [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]
 +
|-
 +
| Block Schemes || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
 +
|-
 +
! colspan="2" | Storing station data
 +
|-
 +
| Configuration file || Core of OpenSCADA
 +
|-
 +
| colspan="2" align="center" | DB
 +
|-
 +
| SQLite || Module [[Special:MyLanguage/Modules/SQLite|SQLite]]
 +
|-
 +
| MySQL || Module [[Special:MyLanguage/Modules/MySQL|MySQL]]
 +
|-
 +
| PostgreSQL || Module [[Special:MyLanguage/Modules/PostgreSQL|PostgreSQL]]
 +
|-
 +
| FireBird || Module [[Special:MyLanguage/Modules/FireBird|FireBird]]
 +
|-
 +
| DBGate — DB of the another OpenSCADA station || Module [[Special:MyLanguage/Modules/DBGate|DBGate]]
 +
|-
 +
| ODBC — DBMS for which there is an ODBC driver || Module [[Special:MyLanguage/Modules/FireBird|ODBC]] (<span style="color: red">not finished</span>)
 +
|-
 +
| DBF || Module [[Special:MyLanguage/Modules/DBF|DBF]]
 +
|-
 +
| Directories through LDAP || Module [[Special:MyLanguage/Modules/LDAP|LDAP]]
 +
|-
 +
! colspan="2" | Acquisition and control of internal and external data (DAQ)
 +
|-
 +
| Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of the user protocol in the user programming language. Most known protocols implementing on [[Special:MyLanguage/Documents/DAQ#UserPrt|the user protocols]]:
 +
* ''[[Special:MyLanguage/Libs/Devices|Industrial devices library]]''
 +
** ''Industrial automation'': Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (example), OWEN (example).
 +
** ''Counters of the resources'': Heat counter computer VKT7, Mercury 200, Mercury 230, Nik2303I.
 +
* ''[[Special:MyLanguage/Libs/LowLevelDevices|Low level sensors and chips library]]''
 +
** ''I2C'': PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX;
 +
** ''1Wire Chips by the adapters DS9097 and DS9097U'': DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438;
 +
** ''Low level devices by GPIO'': DHT11,22 (DHT), 1602A(HD44780).
 +
| Module of the user programming language [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]<br/>Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]<br/>Module of the user protocol [[Special:MyLanguage/Modules/UserProtocol|UserProtocol]]
 +
|-
 +
| Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources || Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]
 +
|-
 +
| Formation of logical sources using block diagrams || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
 +
|-
 +
| External servers and PLCs are built on OpenSCADA, possibly for duplication. || Module [[Special:MyLanguage/Modules/DAQGate|DAQGate]]
 +
|-
 +
| Information about hardware and software platform || Module [[Special:MyLanguage/Modules/System|System]]
 +
|-
 +
| Industrial controllers and other devices by the ModBus protocol || Module [[Special:MyLanguage/Modules/ModBus|ModBus]]
 +
|-
 +
| Industrial controllers by the DCON protocol || Module [[Special:MyLanguage/Modules/DCON|DCON]]
 +
|-
 +
| Industrial controllers and other devices by the OPC-UA protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
|-
 +
| Industrial controllers and other devices by the MMS(IEC-9506) protocol || Module [[Special:MyLanguage/Modules/MMS|MMS]]
 +
|-
 +
| Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) || Module [[Special:MyLanguage/Modules/SNMP|SNMP]]
 +
|-
 +
| Industrial equipment of the firm [http://www.icpdas.com ICP DAS], modules of the series: I7k, I8k, I87K and other on the ISA bus || Module [[Special:MyLanguage/Modules/ICP_DAS|ICP_DAS]]
 +
|-
 +
| Industrial controllers of the firm Siemens of the series S7 || Module [[Special:MyLanguage/Modules/Siemens|Siemens]]
 +
|-
 +
| DAQ-boars of [http://diamondsystems.com/ Diamond Systems] || Module [[Special:MyLanguage/Modules/DiamondBoards|DiamondBoards]]
 +
|-
 +
| DAQ-boars on the buses ISA, PCI, PCMCIA and USB || Library [http://comedi.org Comedi]<br/>Module [[Special:MyLanguage/Modules/Comedi|Comedi]]
 +
|-
 +
| Input channels of the sound controllers || Module [[Special:MyLanguage/Modules/SoundCard|SoundCard]]
 +
|-
 +
| Automation of the "Big Dutchman" company || Module [[Special:MyLanguage/Modules/BFN|BFN]]
 +
|-
 +
| Discrete inputs/outputs of general purpose of different single-board computers || Module [[Special:MyLanguage/Modules/GPIO|GPIO]]
 +
|-
 +
! colspan="2" | Archiving-History
 +
|-
 +
| colspan="2" align="center" | Message archives by various categories and levels
 +
|-
 +
| Files in the format of XML or plain text with packing the out-of-date archives || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|-
 +
| colspan="2" align="center" | Value archives of the gathered data
 +
|-
 +
| Buffers in memory of a certain length || Core of OpenSCADA
 +
|-
 +
| Files with double packing: consecutive and the standard archiver gzip || Module [[Special:MyLanguage/Modules/FSArch|FSArch]]
 +
|-
 +
| On tables of the archival DB of OpenSCADA || Module [[Special:MyLanguage/Modules/DBArch|DBArch]]
 +
|-
 +
| On the other, based on OpenSCADA, archiving server, may be remote || <span style="color: red">scheduled</span>
 +
|}
  
 
=== Universal OPC-UA server === <!--T:7-->
 
=== Universal OPC-UA server === <!--T:7-->
Due implementation of the protocol OPC-UA into agent mode, OpenSCADA can provide a popular function of the OPC-server to client's protocols, which supports and direct implemented into OpenSCADA. The function common uses on platform MS Windows®, and many SCADA-systems on the platform work exclusively with OPC—servers, as the data sources. Thus OpenSCADA can act as an universal OPC-server on Linux platform (Fig.2).
+
Due implementation of the protocol OPC-UA into agent mode, OpenSCADA can provide a popular function of the OPC-server to client's protocols, which supports and direct implemented into OpenSCADA. The function common uses on platform MS Windows®, and many SCADA-systems on the platform work exclusively with OPC—servers, as the data sources. Thus, OpenSCADA can act as an universal OPC-server on Linux platform (Fig.2).
  
 
<!--T:8-->
 
<!--T:8-->
<span style="color: red">In plans.</span> With adapting OpenSCADA for work on MS Windows® platform and implementing work with OPC-DA by system DCOM, there will appear possibility for applying OpenSCADA into gate OPC-DA -> OPC-UA role, which means free integration of old systems to the new or accumulation systems.
+
<span style="color: red">In plans.</span> With adapting OpenSCADA to work on MS Windows® platform and implementing the work with OPC-DA by system DCOM, there will appear possibility for applying OpenSCADA into the gate OPC-DA -> OPC-UA role, which means free integration of old systems to the new or accumulation systems.
  
 
<!--T:9-->
 
<!--T:9-->
[[File:Oscada use opcua.png|center|frame|Fig. 2. OpenSCADA system role as "OPC-UA Server".]]
+
[[File:Oscada use opcua.png|center|frame|Fig.2. OpenSCADA role as OPC-UA server.]]
  
 
<!--T:10-->
 
<!--T:10-->
The data sources and protocols, which accessible by the unified OPC-UA server:
+
{| class="wikitable"
* Industrial controllers of firm [http://s7automation.com Siemens GMBH] series S7, [http://wiki.oscada.org/HomePageEn/Doc/Siemens DAQ.Siemens].
+
|-
* Hardware of firm [http://www.icpdas.com ICP DAS], [http://wiki.oscada.org/HomePageEn/Doc/ICP_DAS DAQ.ICP_DAS].
+
! colspan="2" | Acquisition and control of internal and external data (DAQ)
* Data acquisition boards of firm [http://diamondsystems.com/ Diamond Systems], [http://wiki.oscada.org/HomePageEn/Doc/DiamondBoards DAQ.DiamondBoards].
+
|-
* Wide range of DAQ-boards Devices Object Interface (DOI) of different producers at buses ISA, PCI, PCMCIA and USB by a library of project [http://comedi.org Comedi], [http://wiki.oscada.org/HomePageEn/Doc/Comedi DAQ.Comedi].
+
| Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of [[Special:MyLanguage/Documents/DAQ#UserPrt|the user protocol]] in the user programming language
* Wide range of industrial controllers and other data sources by protocol ModBus, [http://wiki.oscada.org/HomePageEn/Doc/ModBus DAQ.ModBus].
+
| Module of the user programming language [[Special:MyLanguage/Modules/JavaLikeCalc|JavaLikeCalc]]<br/>Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]<br/>Module of the user protocol [[Special:MyLanguage/Modules/UserProtocol|UserProtocol]]
* Wide range of industrial controllers and other data sources by protocol DCON, [http://wiki.oscada.org/HomePageEn/Doc/DCON DAQ.DCON].
+
|-
* Wide range of data of the network hardware by protocol "Simple Network Management Protocol (SNMP)", [http://wiki.oscada.org/HomePageEn/Doc/SNMP DAQ.SNMP].
+
| Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources || Module [[Special:MyLanguage/Modules/LogicLev|LogicLev]]
* Data sources which supports protocol OPC_UA (gating "OPC-UA") or wide range of data sources accessible for all sort OPC, by proper gate to OPC-UA, [http://wiki.oscada.org/HomePageEn/Doc/OPC_UA DAQ.OPC_UA].
+
|-
* Wide range of industrial controllers and other data sources by protocol MMS(IEC-9506), DAQ.MMS.
+
| Formation of logical sources using block diagrams || Module [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]]
* Data of other servers and PLC based at OpenSCADA, [http://wiki.oscada.org/HomePageEn/Doc/DAQGate DAQ.DAQGate].
+
|-
* Working into the PLC SMH 2Gi of firm [http://segnetics.com Segnetics], with its DOI, [http://wiki.oscada.org/HomePageEn/Doc/SMH2Gi DAQ.SMH2Gi].
+
| External servers and PLCs are built on OpenSCADA, possibly for duplication. || Module [[Special:MyLanguage/Modules/DAQGate|DAQGate]]
* Automatic of poultry farming by [http://bigdutchman.com Big Dutchman], [http://wiki.oscada.org/HomePageEn/Doc/BFN DAQ.BFN].
+
|-
* Data of commercial counting and simple resources counting with the complex enough interaction protocol, [http://wiki.oscada.org/HomePageEn/Doc/AMRDevs DAQ.AMRDevs].
+
| Information about hardware and software platform || Module [[Special:MyLanguage/Modules/System|System]]
* Sensors of platform (software-hardware) on that the server running, [http://wiki.oscada.org/HomePageEn/Doc/System DAQ.System].
+
|-
* Data of inputs of sound controllers of PC, [http://wiki.oscada.org/HomePageEn/Doc/SoundCard DAQ.SoundCard].
+
| Industrial controllers and other devices by the ModBus protocol || Module [[Special:MyLanguage/Modules/ModBus|ModBus]]
* Calculated, internal or intermediate data by [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc high level internal programming language (DAQ.JavaLikeCalc)] and [http://wiki.oscada.org/HomePageEn/Doc/BlockCalc language of blocks schemes (DAQ.BlockCalc)].
+
|-
* Derivative structures of parameters-objects based at the parameter's templates and other sources data, [http://wiki.oscada.org/HomePageEn/Doc/LogicLev DAQ.LogicLev].
+
| Industrial controllers by the DCON protocol || Module [[Special:MyLanguage/Modules/DCON|DCON]]
* Data sources of different types, which have console utilities for the data access or accessible by simple specialized network protocols. Performed by writing some procedure of getting the data at [http://wiki.oscada.org/HomePageEn/Doc/JavaLikeCalc the language of user-level programming (DAQ.JavaLikeCalc)], and also [http://wiki.oscada.org/HomePageEn/Doc/UserProtocol the module of transport protocols (Protocol.UserProtocol)], see [http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs the library].
+
|-
 +
| Industrial controllers and other devices by the OPC-UA protocol || Module [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
|-
 +
| Industrial controllers and other devices by the MMS(IEC-9506) protocol || Module [[Special:MyLanguage/Modules/MMS|MMS]]
 +
|-
 +
| Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) || Module [[Special:MyLanguage/Modules/SNMP|SNMP]]
 +
|-
 +
| Industrial equipment of the firm [http://www.icpdas.com ICP DAS], modules of the series: I7k, I8k, I87K and other on the ISA bus || Module [[Special:MyLanguage/Modules/ICP_DAS|ICP_DAS]]
 +
|-
 +
| Industrial controllers of the firm Siemens of the series S7 || Module [[Special:MyLanguage/Modules/Siemens|Siemens]]
 +
|-
 +
| DAQ-boars of [http://diamondsystems.com/ Diamond Systems] || Module [[Special:MyLanguage/Modules/DiamondBoards|DiamondBoards]]
 +
|-
 +
| DAQ-boars on the buses ISA, PCI, PCMCIA and USB || Library [http://comedi.org Comedi]<br/>Module [[Special:MyLanguage/Modules/Comedi|Comedi]]
 +
|-
 +
| Input channels of the sound controllers || Module [[Special:MyLanguage/Modules/SoundCard|SoundCard]]
 +
|-
 +
| Automation of the "Big Dutchman" company || Module [[Special:MyLanguage/Modules/BFN|BFN]]
 +
|-
 +
| Discrete inputs/outputs of general purpose of different single-board computers || Module [[Special:MyLanguage/Modules/GPIO|GPIO]]
 +
|}
  
== Requirements for OpenSCADA == <!--T:11-->
+
== {{Anch|Demands|Requirements for OpenSCADA}} == <!--T:11-->
  
 
=== Execution === <!--T:12-->
 
=== Execution === <!--T:12-->
The demands to apparatus for OpenSCADA system execution at different roles viewed into table 1. The demands to programs for OpenSCADA system execution and it modules allow into table 2.
+
The hardware requirements of OpenSCADA for its execution in different roles are given in Table 1. The software requirements for execution OpenSCADA and its modules are presented in Table 2.
  
 
<!--T:13-->
 
<!--T:13-->
'''Table 1.''' The demands to apparatus for OpenSCADA system and it modules.
+
'''Table 1.''' The hardware requirements of OpenSCADA and it modules.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Role || Demands
 
! Role || Demands
 
|-
 
|-
| Server of the SCADA system ||
+
| SCADA server ||
'''CPU:''' x86_32 (more than i586), x86_64 or ARM, with frequency more to 500 MHz<br/>
+
'''CPU:''' x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 500 MHz<br/>
 
'''MEM:''' 128 MB<br/>
 
'''MEM:''' 128 MB<br/>
 
'''HDD:''' 10 GB include OS and space for archives
 
'''HDD:''' 10 GB include OS and space for archives
 
|-
 
|-
| Station of the operator of technological process, the board of the dispatcher, the panel of monitoring, etc. ||
+
| Station of the operator of the technological process, the dispatcher board, the monitoring panel, etc. ||
'''CPU:''' x86_32 (more than i586), x86_64 or ARM, with frequency more to 1 GHz<br/>
+
'''CPU:''' x86 (i586 and above), x86_64 or ARM, with frequency more to 1 GHz<br/>
 
'''MEM:''' 512 MB<br/>
 
'''MEM:''' 512 MB<br/>
 
'''HDD:''' 4 GB include OS without any archive space
 
'''HDD:''' 4 GB include OS without any archive space
 
|-
 
|-
 
| Environment of execution of controllers (PLC) ||
 
| Environment of execution of controllers (PLC) ||
'''CPU:''' x86_32 (more than i586), x86_64 or ARM, with frequency more to 133 MHz<br/>
+
'''CPU:''' x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 133 MHz<br/>
'''MEM:''' 32 MB<br/>
+
'''MEM:''' 32 MB (from 2 MB for OpenSCADA)<br/>
'''HDD:''' 32 MB include OS without any archive space.
+
'''HDD:''' 32 MB include OS without any archive space (from 8 MB for OpenSCADA)
 
|}
 
|}
  
 
<!--T:14-->
 
<!--T:14-->
'''Table 2.''' Dependencies of execution of OpenSCADA system and its modules.
+
'''Table 2.''' Software requirements for running OpenSCADA and its modules.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Component !! Description
 
! Component !! Description
 
|-
 
|-
|colspan="2"| ''Dependencies of OpenSCADA system's core''
+
|colspan="2"| ''Dependencies of the OpenSCADA core''
 
|-
 
|-
| OS Linux || Distribution kit of operating system Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...)
+
| OS Linux || Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
 
|-
 
|-
| "Standard libraries" || Standard set of libraries: GLibC (>= 2.3) or uCLibC (>= 0.9.32) and libstdc++ (>= 3.3). Certainly this already allowed into the installed distribution. A special demand is using native thread library NPTL, already used for all modern distributions of Linux. ||
+
| "Standard libraries" || Standard set of libraries: GLibC (>= 2.3) or uCLibC (>= 0.9.32) and libstdc++ (>= 3.3). Certainly this already allowed into the installed distribution. A special demand is using native thread library NPTL, already used for all modern distributions of Linux.
 
|-
 
|-
 
| zlib || Compression library.
 
| zlib || Compression library.
 
|-
 
|-
| libpcre || Library for use regular expressions, compatible with Perl.
+
| libpcre || Library of work with regular expressions, compatible with Perl.
 
|-
 
|-
| libgd (opt: --enable-LibGD) || Graphic library GD version 2, it is desirable that it will be without XPM support (a dependence on library of X-server is excluded) and support for FontConfig.
+
| libgd (opt: --enable-LibGD) || Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
 
|-
 
|-
 
|colspan="2"| ''DB.SQLite module''
 
|colspan="2"| ''DB.SQLite module''
Line 225: Line 473:
 
|colspan="2"| ''DB.MySQL module''
 
|colspan="2"| ''DB.MySQL module''
 
|-
 
|-
| libMySQL || Library for access to MySQL DBMS.
+
| libMySQL or libMariaDB || Library for access to MySQL related DBMS.
 
|-
 
|-
 
|colspan="2"| ''DB.PostgreSQL module''
 
|colspan="2"| ''DB.PostgreSQL module''
Line 233: Line 481:
 
|colspan="2"| ''DB.FireBird module''
 
|colspan="2"| ''DB.FireBird module''
 
|-
 
|-
| FirebirdSS || FireBird DBMS version 2. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
+
| firebird || FireBird DBMS version 2 or 3. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
 
|-
 
|-
 
|colspan="2"| ''DB.ODBC module''
 
|colspan="2"| ''DB.ODBC module''
 
|-
 
|-
 
| iodbc || iODBC Driver Manager library.
 
| iodbc || iODBC Driver Manager library.
 +
|-
 +
|colspan="2"| ''DB.LDAP module''
 +
|-
 +
| libldap || OpenLDAP library.
 
|-
 
|-
 
|colspan="2"| ''DAQ.System module''
 
|colspan="2"| ''DAQ.System module''
Line 263: Line 515:
 
| libssl || Library for codifying OpenSSL.
 
| libssl || Library for codifying OpenSSL.
 
|-
 
|-
|colspan="2"| ''Modules: UI.QTStarter, UI.QTCfg''
+
|colspan="2"| ''UI.QTStarter module''
 
|-
 
|-
| libQt4 (libQtGui) or<br/>libQt5 (libQt5Widgets,libQt5PrintSupport) || Library Qt version 4.3 and higher or 5.1 and higher for construction of user graphical interfaces.
+
| libQt4 (libQtGui) or<br/>libQt5 (libQt5Widgets,libQt5PrintSupport) or<br/>libQt6 (libQt6Widgets,libQt6PrintSupport) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
 
|-
 
|-
|colspan="2"| ''Module: UI.Vision''
+
| libQtSensors or libQt5Sensors or libQt6Sensors<br/>(opt: auto) || Library of the Qt sensors.
 
|-
 
|-
| libQt4 (libQtGui) or<br/>libQt5 (libQt5Widgets,libQt5PrintSupport) || Library Qt version 4.3 and higher or 5.1 and higher for construction of user graphical interfaces.
+
|colspan="2"| ''UI.QTCfg module''
 
|-
 
|-
| libQtWebKit or libqt5webkit5 (opt: auto) || Library of Web-rendering engine WebKit.
+
| libQt4 (libQtGui) or<br/>libQt5 (libQt5Widgets,libQt5PrintSupport) or<br/>libQt6 (libQt6Widgets,libQt6PrintSupport) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
 
|-
 
|-
| libfftw3 (opt: auto) || Library for fast Fourie transfer of signals.
+
|colspan="2"| ''UI.Vision module''
 
|-
 
|-
| libphonon or libphonon4qt5 (opt: auto) || Library for full formatted video and audio playing.
+
| libQt4 (libQtGui) or<br/>libQt5 (libQt5Widgets,libQt5PrintSupport) or<br/>libQt6 (libQt6Widgets,libQt6PrintSupport) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
 
|-
 
|-
|colspan="2"| ''Modules: UI.WebCfgD''
+
| libQtWebKit (Qt4) or<br/>qtwebengine5, libqt5webkit5 (Qt5) or<br/>qtwebengine6 (Qt6)<br/>(opt: auto) || Library of the Web-rendering engine.
 
|-
 
|-
| libgd (opt: --enable-LibGD) || Graphic library GD version 2, it is desirable that it will be without XPM support (a dependence on library of X-server is excluded) and support for FontConfig.
+
| libphonon (Qt4) or<br/>qtmultimedia5, libphonon4qt5 (Qt5) or<br/>qtmultimedia6 (Qt6)<br/>(opt: auto) || Library of playing the full formatted video and audio.
 
|-
 
|-
|colspan="2"| ''Modules: UI.WebVision''
+
| libfftw3 (opt: auto) || Library for fast Fourie transfer of signals.
 +
|-
 +
|colspan="2"| ''UI.WebCfgD module''
 +
|-
 +
| libgd (opt: --enable-LibGD) || Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
 +
|-
 +
|colspan="2"| ''UI.WebVision module''
 
|-
 
|-
| libgd || Graphic library GD version 2, it is desirable that it will be without XPM support (a dependence on library of X-server is excluded) and support for FontConfig.
+
| libgd || Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
 
|-
 
|-
 
| libfftw3 (opt: auto) || Library for fast Fourie transfer of signals.
 
| libfftw3 (opt: auto) || Library for fast Fourie transfer of signals.
 
|-
 
|-
|colspan="2"| ''Modules: Special.FLibSYS''
+
|colspan="2"| ''Special.FLibSYS module''
 
|-
 
|-
 
| libssl (opt: auto) || Library for codifying OpenSSL.
 
| libssl (opt: auto) || Library for codifying OpenSSL.
Line 295: Line 553:
  
 
<!--T:15-->
 
<!--T:15-->
<nowiki>* "opt: auto" — provides for disable of using the library at building time on it absence.</nowiki>
+
<nowiki>* "opt: auto" — involves disabling the use of the library during building if it is not present.</nowiki>
  
=== Building === <!--T:16-->
+
=== {{Anch|Building|Building}} === <!--T:16-->
Dependencies of the system OpenSCADA for OpenSCADA core and its modules building are tabulated bellow.
+
The dependencies of OpenSCADA to build its core and modules are summarized in the table below.
  
 
<!--T:17-->
 
<!--T:17-->
Line 308: Line 566:
 
|colspan="2"| ''The general requirements of OpenSCADA building''
 
|colspan="2"| ''The general requirements of OpenSCADA building''
 
|-
 
|-
| OS Linux || Distribution kit of operating system Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...)
+
| OS Linux || Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
 
|-
 
|-
 
| g++ || Compiler of language C++ version 3.3 and more from a collection of compilers GCC, including library GLibC (>=2.3), uCLibC (>= 0.9.32) or Android BioniC.
 
| g++ || Compiler of language C++ version 3.3 and more from a collection of compilers GCC, including library GLibC (>=2.3), uCLibC (>= 0.9.32) or Android BioniC.
Line 320: Line 578:
 
| zlib (devel) || Compression library, a package for development.
 
| zlib (devel) || Compression library, a package for development.
 
|-
 
|-
| libpcre (devel) || Library for use regular expressions, compatible with Perl, a package for development.
+
| libpcre (devel) || Library of work with regular expressions, compatible with Perl, a package for development.
 
|-
 
|-
| libgd (devel, opt: --enable-LibGD) || Graphic library GD version 2, a package for development, it is desirable that it will be without XPM support (dependence on library of a X-server is excluded) and support of FontConfig. It is used for construction of trends and other images in PNG format.
+
| libgd (devel, opt: --enable-LibGD) || Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
 
|-
 
|-
 
|colspan="2"| ''DB.SQLite module''
 
|colspan="2"| ''DB.SQLite module''
Line 330: Line 588:
 
|colspan="2"| ''DB.MySQL module''
 
|colspan="2"| ''DB.MySQL module''
 
|-
 
|-
| libMySQL (devel) || Library for access to MySQL DBMS, a package for development on language C.
+
| libMySQL or libMariaDB (devel) || Library for access to MySQL related DBMS, a package for development on language C.
 
|-
 
|-
 
|colspan="2"| ''DB.PostgreSQL module''
 
|colspan="2"| ''DB.PostgreSQL module''
 
|-
 
|-
| libpq || Library for access to PostgreSQL DBMS version more 8.3.0, a package for development.
+
| libpq (devel) || Library for access to PostgreSQL DBMS version more 8.3.0, a package for development.
 
|-
 
|-
 
|colspan="2"| ''DB.FireBird module''
 
|colspan="2"| ''DB.FireBird module''
 
|-
 
|-
| FirebirdSS || FireBird DBMS version 2, a package for development. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
+
| firebird (devel) || FireBird DBMS version 2 or 3, a package for development. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
 
|-
 
|-
 
|colspan="2"| ''DB.ODBC module''
 
|colspan="2"| ''DB.ODBC module''
 
|-
 
|-
| iodbc || iODBC Driver Manager library, a package for development.
+
| iodbc (devel) || iODBC Driver Manager library, a package for development.
 +
|-
 +
|colspan="2"| ''DB.LDAP module''
 +
|-
 +
| libldap (devel) || OpenLDAP library, a package for development.
 
|-
 
|-
 
|colspan="2"| ''DAQ.JavaLikeCalc module''
 
|colspan="2"| ''DAQ.JavaLikeCalc module''
Line 372: Line 634:
 
| libssl (devel) || Library for codifying OpenSSL, a package for development.
 
| libssl (devel) || Library for codifying OpenSSL, a package for development.
 
|-
 
|-
|colspan="2"| ''Modules: UI.QTStarter, UI.QTCfg''
+
|colspan="2"| ''UI.QTStarter module''
 
|-
 
|-
| libQt4 or libQt5 (devel) || Library Qt version 4.3 and higher or 5.1 and higher for construction of user graphic interfaces, a package for development.
+
| libQt4 or libQt5 or libQt6<br/>(devel) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
 
|-
 
|-
|colspan="2"| ''Module: UI.Vision''
+
| libQtSensors or libQt5Sensors or libQt6Sensors<br/>(devel, opt: auto) || Library of the Qt sensors, a package for development.
 
|-
 
|-
| libQt4 or libQt5 (devel) || Library Qt version 4.3 and higher or 5.1 and higher for construction of user graphic interfaces, a package for development.
+
|colspan="2"| ''UI.QTCfg module''
 
|-
 
|-
| libQtWebKit or libqt5webkit5 (devel, opt: auto) || Library of Web-rendering engine WebKit, a package for development.
+
| libQt4 or libQt5 or libQt6<br/>(devel) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
 
|-
 
|-
| libfftw3 (devel, opt: auto) || Library for fast Fourie transfer of signals, a package for development.
+
|colspan="2"| ''UI.Vision module''
 
|-
 
|-
| libphonon or libphonon4qt5 (devel, opt: auto) || Library for full formatted video and audio playing, a package for development.
+
| libQt4 or libQt5 or libQt6<br/>(devel) || Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
 
|-
 
|-
|colspan="2"| ''Modules: UI.WebCfgD''
+
| libQtWebKit (Qt4) or<br/>qtwebengine5, libqt5webkit5 (Qt5) or<br/>qtwebengine6 (Qt6)<br/>(devel, opt: auto) || Library of the Web-rendering engine, a package for development.
 
|-
 
|-
| libgd (devel, opt: --enable-LibGD) || Graphic library GD version 2, a package for development, it is desirable that it will be without XPM support (dependence on library of a X-server is excluded) and support of FontConfig. It is used for construction of trends and other images in PNG format.
+
| libphonon (Qt4) or<br/>qtmultimedia5, libphonon4qt5 (Qt5) or<br/>qtmultimedia6 (Qt6)<br/>(devel, opt: auto) || Library of playing the full formatted video and audio, a package for development.
 
|-
 
|-
|colspan="2"| ''Modules: UI.WebVision''
+
| libfftw3 (devel, opt: auto) || Library for fast Fourie transfer of signals, a package for development.
 
|-
 
|-
| libgd (devel) || Graphic library GD version 2, a package for development, it is desirable that it will be without XPM support (dependence on library of a X-server is excluded) and support of FontConfig. It is used for construction of trends and other images in PNG format.
+
|colspan="2"| ''UI.WebCfgD module''
 +
|-
 +
| libgd (devel, opt: --enable-LibGD) || Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
 +
|-
 +
|colspan="2"| ''UI.WebVision module''
 +
|-
 +
| libgd (devel) || Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
 
|-
 
|-
 
| libfftw3 (devel, opt: auto) || Library for fast Fourie transfer of signals, package for development.
 
| libfftw3 (devel, opt: auto) || Library for fast Fourie transfer of signals, package for development.
 
|-
 
|-
|colspan="2"| ''Modules: Special.FLibSYS''
+
|colspan="2"| ''Special.FLibSYS module''
 
|-
 
|-
 
| libssl (devel, opt: auto) || Library for codifying OpenSSL, a package for development.
 
| libssl (devel, opt: auto) || Library for codifying OpenSSL, a package for development.
Line 405: Line 673:
 
<!--T:18-->
 
<!--T:18-->
 
<nowiki>* "opt: auto" — provides for disable of using the library at build time on it absence.</nowiki>
 
<nowiki>* "opt: auto" — provides for disable of using the library at build time on it absence.</nowiki>
 +
 +
== {{Anch|Scalability|Scalability}} == <!--T:21-->
 +
[[Special:MyLanguage/Sub-projects/Embedding_and_PLC#PerfSystems|Common productivity]] of the direct calculations, calculations in [[Special:MyLanguage/Modules/JavaLikeCalc|the Java-like language]] and complex calculations of the simulators on different hardware and software platforms.
 +
 +
<!--T:22-->
 +
Memory consumption, generic parameters on [[Special:MyLanguage/Using/Model_AGLKS|the project "AGLKS"]]:
 +
{| class="wikitable"
 +
|-
 +
! Levels of the measuring !! Debian 9 X86_64, MB !! Debian 9 686, MB !! Debian 8 ARMHF (ARMv7), MB
 +
|-
 +
| colspan='4' | ''2019.02.01: OpenSCADA 1+r2600''
 +
|-
 +
| 1. Executing of the simulator and archiving || 96 || 71 || 64
 +
|-
 +
| 2. Loading for the VCA projects || 147 || 104 || 95
 +
|-
 +
| 3. Starting a session of the project "AGLKS" (as a server of visualization) || 152 || 108 || 97
 +
|-
 +
| 3.1. Starting a session of the project "AGLKS" from UI.Vision, and for the first mnemonic > graph cadre || 168 > 175 || 121 > 126 || 106 > 109
 +
|-
 +
| 3.2. Starting a session of the project "AGLKS" from UI.WebVision, and for the first mnemonic > graph cadre || 159 > 167 || 113 > 125 || 100 > 106
 +
|}
 +
 +
<!--T:23-->
 +
Big and complex projects:
 +
* ''2019.01.12:'' Debian 9 686, OpenSCADA 1+r2595, An aviaries project for: ModBus DAQ of 38 Controller objects, with 75 complex parameters and ~900 signals in each, summary it have 2850 complex parameters and 34200 signals; a VCA project of 39 signal objects, with 19 pages in each, summary it have 741 pages:
 +
:: => Optimized in UI.VCAEngine for implementing links to pages, what allowed to remove 703 pages, moving the typical pages in the completely dynamic mode.
 +
:: => Expanded in UI.WebVision for support of working in the operative mode, limiting the pages cache.
 +
:* Executing for DAQ, processing and archiving: '''102 MB'''
 +
:* Loading for the VCA projects: '''271 MB''', after the optimization: '''148 MB'''
 +
:* Starting a session of the project (as a server of visualization): '''437 MB''', after the optimization: '''174 MB'''
 +
:* Starting a session of the project from UI.WebVision: '''460 MB''' (one session), after the optimization: '''198 MB'''
 +
 +
=== Tests === <!--T:24-->
 +
Of OpenSCADA components:
 +
* Core:
 +
** [http://wiki.oscada.org/Works/Tests/ARM OpenSCADA core and its modules testing on the hardware platform ARM]
 +
** [[Special:MyLanguage/Sub-projects/Adaption_to_Android#Tests|Extended performance tests for Android on Asus Nexus7 II with different options of the compilation, especially for Hard and Soft float.]]
 +
* DB: [[Special:MyLanguage/Modules/DBGate#Tests|DBGate]], [[Special:MyLanguage/Modules/SQLite#Tests|SQLite]], [[Special:MyLanguage/Modules/MySQL#Tests|MySQL]], [[Special:MyLanguage/Modules/PostgreSQL#Tests|PostgreSQL]], [[Special:MyLanguage/Modules/FireBird#Tests|FireBird]]
 +
* DAQ: [[Special:MyLanguage/Modules/JavaLikeCalc#Productivity|Calculator on the Java-like language (JavaLikeCalc)]]
 +
* Archives-History: [[Special:MyLanguage/Modules/FSArch#Efficiency|FSArch]]
 +
* UI: [http://wiki.oscada.org/Works/Tests/VCA Vision], [[Special:MyLanguage/Modules/WebVision#Efficiency|WebVision]]
 +
 +
<!--T:25-->
 +
Acceptation tests of the OpenSCADA releases (LTS):
 +
* [[Documents/Release_0.9/Tests|0.9]]
 +
* [[Documents/Release_0.8.0/Tests|0.8.0]]
 +
* [http://wiki.oscada.org/Works/Tests/release070 0.7.0]
 +
* [http://wiki.oscada.org/Works/Tests/release060 0.6.0]
 +
* [http://wiki.oscada.org/Works/Tests/release050 0.5.0]
 +
* [http://wiki.oscada.org/Works/Tests/release040 0.4.0]
 +
 +
== Links == <!--T:19-->
 +
* [[:File:Oscada use.odg|Diagram: Roles of OpenSCADA.]]
 +
* [[:File:Oscada use opcua.odg|Diagram: OpenSCADA roles as a "OPC-UA Server".]]
 
</translate>
 
</translate>

Latest revision as of 12:11, 15 September 2024

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

The page contains information that allows you to get a general view of the features that OpenSCADA can perform at this time. The functions are grouped according to application areas. To get a general picture there also includes scheduled functions or functions that are currently being implemented. The page also contains the requirements of OpenSCADA for its execution and building.

1 Areas of application OpenSCADA

Separating to the employment areas was made to simplify perception of the program functionality in light of traditional area of the project OpenSCADA — automation of technological processes. But also there possible mixed and specialized configuring of the program for real-time data operation, for example into areas: ERP, Billing, Smart House and etc.

Fig.1. Roles of OpenSCADA.

1.1 Server of the SCADA system

Visual Control Area (VCA) of the end user
Remote visualization server grounded on the visual control engine of VCA — local starting of the module UI.Vision, connected to the visualization server. Module of the VCA engine VCAEngine
Remote WEB interface Web-browser
Module of the visualizer WebVision
Module of the VCA engine VCAEngine
Simple remote Web-interfaces of the user Web-browser
Module WebUser
Providing data to higher level systems
By interfaces
Serial interface: RS232, RS485, Modem, ... Module Serial
IP-networks sockets and network level protocols TCP, UDP and Unix Module Sockets
Security sockets layer (SSL) Module SSL
By protocols
Self protocol of OpenSCADA Module SelfSystem
ModBus family protocols: TCP, RTU and ASCII Module ModBus
"OPC-UA" protocol Module OPC-UA
Simple specialized protocols developed by the user protocol Module UserProtocol
Through DBMS
MySQL Module MySQL
PostgreSQL Module PostgreSQL
FireBird Module FireBird
DBGate — DB of the another OpenSCADA station Module DBGate
ODBC — DBMS for which there is an ODBC driver Module ODBC (not finished)
Configuration and development (SCADA programmer and administrator)
Remotely, through WEB-interface Web-browser
Module WebCfgD or WebCfg
Remotely, from the configuration station by the control interface of OpenSCADA Module SelfSystem
Languages of the user programming and calculation
JavaLikeCalc — a high level language similar to JavaScript and Java Module JavaLikeCalc
Block Schemes Module BlockCalc
Storing station data
Configuration file Core of OpenSCADA
DB
SQLite Module SQLite
MySQL Module MySQL
PostgreSQL Module PostgreSQL
FireBird Module FireBird
DBGate — DB of the another OpenSCADA station Module DBGate
ODBC — DBMS for which there is an ODBC driver Module ODBC (not finished)
DBF Module DBF
Directories through LDAP Module LDAP
Acquisition and control of internal and external data (DAQ)
Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of the user protocol in the user programming language. Most known protocols implementing on the user protocols:
  • Industrial devices library
    • Industrial automation: Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (example), OWEN (example).
    • Counters of the resources: Heat counter computer VKT7, Mercury 200, Mercury 230, Nik2303I.
  • Low level sensors and chips library
    • I2C: PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX;
    • 1Wire Chips by the adapters DS9097 and DS9097U: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438;
    • Low level devices by GPIO: DHT11,22 (DHT), 1602A(HD44780).
Module of the user programming language JavaLikeCalc
Module LogicLev
Module of the user protocol UserProtocol
Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources Module LogicLev
Formation of logical sources using block diagrams Module BlockCalc
External servers and PLCs are built on OpenSCADA, possibly for duplication. Module DAQGate
Information about hardware and software platform Module System
Industrial controllers and other devices by the ModBus protocol Module ModBus
Industrial controllers by the DCON protocol Module DCON
Industrial controllers and other devices by the OPC-UA protocol Module OPC-UA
Industrial controllers and other devices by the MMS(IEC-9506) protocol Module MMS
Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) Module SNMP
Industrial equipment of the firm ICP DAS, modules of the series: I7k, I8k, I87K and other on the ISA bus Module ICP_DAS
Industrial controllers of the firm Siemens of the series S7 Module Siemens
DAQ-boars on the buses ISA, PCI, PCMCIA and USB Library Comedi
Module Comedi
Input channels of the sound controllers Module SoundCard
Automation of the "Big Dutchman" company Module BFN
Archiving-History
Message archives by various categories and levels
Files in the format of XML or plain text with packing the out-of-date archives Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled
Value archives of the gathered data
Buffers in memory of a certain length Core of OpenSCADA
Files with double packing: consecutive and the standard archiver gzip Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled

1.2 Station of the operator of technological process, the dispatcher board, the monitoring panel, etc.

FPC-1701
PPC-L126
Asus Nexus 7 II
Visual Control Area (VCA) of the end user
Local (fast) interface, based on the Qt library, with the ability to visualize the remote VCA engine — the visualization server Module of the visualizer Vision
Module of the VCA engine VCAEngine
Remote WEB interface Web-browser
Module of the visualizer WebVision
Module of the VCA engine VCAEngine
Simple remote Web-interfaces of the user Web-browser
Module WebUser
Configuration and development (SCADA programmer and administrator)
Local, via Qt-interface Module QTCfg
Module Vision
Remotely, through WEB-interface Web-browser
Module WebCfgD or WebCfg
Remotely, from the configuration station by the control interface of OpenSCADA Module SelfSystem
Languages of the user programming and calculation
JavaLikeCalc — a high level language similar to JavaScript and Java Module JavaLikeCalc
Block Schemes Module BlockCalc
Storing station data
Configuration file Core of OpenSCADA
DB
SQLite Module SQLite
MySQL Module MySQL
PostgreSQL Module PostgreSQL
FireBird Module FireBird
DBGate — DB of the another OpenSCADA station Module DBGate
ODBC — DBMS for which there is an ODBC driver Module ODBC (not finished)
DBF Module DBF
Directories through LDAP Module LDAP
Acquisition and control of internal and external data (DAQ)
External servers and PLCs are built on OpenSCADA, possibly for duplication. Module DAQGate
Industrial controllers and other devices by the OPC-UA protocol Module OPC-UA
Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) Module SNMP
Archiving-History
Message archives by various categories and levels
Files in the format of XML or plain text with packing the out-of-date archives Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled
Value archives of the gathered data
Buffers in memory of a certain length Core of OpenSCADA
Files with double packing: consecutive and the standard archiver gzip Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled

1.3 Environment of execution of the controllers (PLC)

LP-8781
LP-5141
SMH2Gi
PCA-6753
Raspberry Pi
Orange Pi
Providing data to higher level systems
By interfaces
Serial interface: RS232, RS485, Modem, ... Module Serial
IP-networks sockets and network level protocols TCP, UDP and Unix Module Sockets
Security sockets layer (SSL) Module SSL
By protocols
Self protocol of OpenSCADA Module SelfSystem
ModBus family protocols: TCP, RTU and ASCII Module ModBus
"OPC-UA" protocol Module OPC-UA
Simple specialized protocols developed by the user protocol Module UserProtocol
Through DBMS
MySQL Module MySQL
PostgreSQL Module PostgreSQL
FireBird Module FireBird
DBGate — DB of the another OpenSCADA station Module DBGate
ODBC — DBMS for which there is an ODBC driver Module ODBC (not finished)
Configuration and development (SCADA programmer and administrator)
Remotely, through WEB-interface Web-browser
Module WebCfgD or WebCfg
Remotely, from the configuration station by the control interface of OpenSCADA Module SelfSystem
Languages of the user programming and calculation
JavaLikeCalc — a high level language similar to JavaScript and Java Module JavaLikeCalc
Block Schemes Module BlockCalc
Storing station data
Configuration file Core of OpenSCADA
DB
SQLite Module SQLite
MySQL Module MySQL
PostgreSQL Module PostgreSQL
FireBird Module FireBird
DBGate — DB of the another OpenSCADA station Module DBGate
ODBC — DBMS for which there is an ODBC driver Module ODBC (not finished)
DBF Module DBF
Directories through LDAP Module LDAP
Acquisition and control of internal and external data (DAQ)
Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of the user protocol in the user programming language. Most known protocols implementing on the user protocols:
  • Industrial devices library
    • Industrial automation: Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Power supply for turbomolecular pumps (TMP-xx03), Temperature measurement IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (example), OWEN (example).
    • Counters of the resources: Heat counter computer VKT7, Mercury 200, Mercury 230, Nik2303I.
  • Low level sensors and chips library
    • I2C: PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX;
    • 1Wire Chips by the adapters DS9097 and DS9097U: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438;
    • Low level devices by GPIO: DHT11,22 (DHT), 1602A(HD44780).
Module of the user programming language JavaLikeCalc
Module LogicLev
Module of the user protocol UserProtocol
Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources Module LogicLev
Formation of logical sources using block diagrams Module BlockCalc
External servers and PLCs are built on OpenSCADA, possibly for duplication. Module DAQGate
Information about hardware and software platform Module System
Industrial controllers and other devices by the ModBus protocol Module ModBus
Industrial controllers by the DCON protocol Module DCON
Industrial controllers and other devices by the OPC-UA protocol Module OPC-UA
Industrial controllers and other devices by the MMS(IEC-9506) protocol Module MMS
Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) Module SNMP
Industrial equipment of the firm ICP DAS, modules of the series: I7k, I8k, I87K and other on the ISA bus Module ICP_DAS
Industrial controllers of the firm Siemens of the series S7 Module Siemens
DAQ-boars of Diamond Systems Module DiamondBoards
DAQ-boars on the buses ISA, PCI, PCMCIA and USB Library Comedi
Module Comedi
Input channels of the sound controllers Module SoundCard
Automation of the "Big Dutchman" company Module BFN
Discrete inputs/outputs of general purpose of different single-board computers Module GPIO
Archiving-History
Message archives by various categories and levels
Files in the format of XML or plain text with packing the out-of-date archives Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled
Value archives of the gathered data
Buffers in memory of a certain length Core of OpenSCADA
Files with double packing: consecutive and the standard archiver gzip Module FSArch
On tables of the archival DB of OpenSCADA Module DBArch
On the other, based on OpenSCADA, archiving server, may be remote scheduled

1.4 Universal OPC-UA server

Due implementation of the protocol OPC-UA into agent mode, OpenSCADA can provide a popular function of the OPC-server to client's protocols, which supports and direct implemented into OpenSCADA. The function common uses on platform MS Windows®, and many SCADA-systems on the platform work exclusively with OPC—servers, as the data sources. Thus, OpenSCADA can act as an universal OPC-server on Linux platform (Fig.2).

In plans. With adapting OpenSCADA to work on MS Windows® platform and implementing the work with OPC-DA by system DCOM, there will appear possibility for applying OpenSCADA into the gate OPC-DA -> OPC-UA role, which means free integration of old systems to the new or accumulation systems.

Fig.2. OpenSCADA role as OPC-UA server.
Acquisition and control of internal and external data (DAQ)
Different types of logical and physical sources that have data access utilities or accessible through simple and specialized network protocols. This is accomplished by writing a data acquisition procedure of the user protocol in the user programming language Module of the user programming language JavaLikeCalc
Module LogicLev
Module of the user protocol UserProtocol
Formation of logical sources and derivative parameters structures, based on templates of parameters and data of other sources Module LogicLev
Formation of logical sources using block diagrams Module BlockCalc
External servers and PLCs are built on OpenSCADA, possibly for duplication. Module DAQGate
Information about hardware and software platform Module System
Industrial controllers and other devices by the ModBus protocol Module ModBus
Industrial controllers by the DCON protocol Module DCON
Industrial controllers and other devices by the OPC-UA protocol Module OPC-UA
Industrial controllers and other devices by the MMS(IEC-9506) protocol Module MMS
Network devices and other sources by the SNMP protocol (Simple Network Management Protocol) Module SNMP
Industrial equipment of the firm ICP DAS, modules of the series: I7k, I8k, I87K and other on the ISA bus Module ICP_DAS
Industrial controllers of the firm Siemens of the series S7 Module Siemens
DAQ-boars of Diamond Systems Module DiamondBoards
DAQ-boars on the buses ISA, PCI, PCMCIA and USB Library Comedi
Module Comedi
Input channels of the sound controllers Module SoundCard
Automation of the "Big Dutchman" company Module BFN
Discrete inputs/outputs of general purpose of different single-board computers Module GPIO

2 Requirements for OpenSCADA

2.1 Execution

The hardware requirements of OpenSCADA for its execution in different roles are given in Table 1. The software requirements for execution OpenSCADA and its modules are presented in Table 2.

Table 1. The hardware requirements of OpenSCADA and it modules.

Role Demands
SCADA server

CPU: x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 500 MHz
MEM: 128 MB
HDD: 10 GB include OS and space for archives

Station of the operator of the technological process, the dispatcher board, the monitoring panel, etc.

CPU: x86 (i586 and above), x86_64 or ARM, with frequency more to 1 GHz
MEM: 512 MB
HDD: 4 GB include OS without any archive space

Environment of execution of controllers (PLC)

CPU: x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 133 MHz
MEM: 32 MB (from 2 MB for OpenSCADA)
HDD: 32 MB include OS without any archive space (from 8 MB for OpenSCADA)

Table 2. Software requirements for running OpenSCADA and its modules.

Component Description
Dependencies of the OpenSCADA core
OS Linux Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
"Standard libraries" Standard set of libraries: GLibC (>= 2.3) or uCLibC (>= 0.9.32) and libstdc++ (>= 3.3). Certainly this already allowed into the installed distribution. A special demand is using native thread library NPTL, already used for all modern distributions of Linux.
zlib Compression library.
libpcre Library of work with regular expressions, compatible with Perl.
libgd (opt: --enable-LibGD) Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
DB.SQLite module
libsqlite3 Library for access to embedded DB SQLite version 3.
DB.MySQL module
libMySQL or libMariaDB Library for access to MySQL related DBMS.
DB.PostgreSQL module
libpq Library for access to PostgreSQL DBMS version more 8.3.0.
DB.FireBird module
firebird FireBird DBMS version 2 or 3. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
DB.ODBC module
iodbc iODBC Driver Manager library.
DB.LDAP module
libldap OpenLDAP library.
DAQ.System module
libsensors (opt: auto) Hardware sensors' library versions 2 and 3.
DAQ.OPC_UA module
libssl Library for codifying OpenSSL.
DAQ.SNMP module
libsnmp Library for access to data of network devices under SNMP protocol.
DAQ.Comedi module
libcomedi Library of realizing support for DAQ-boards different manufacturer on boards ISA, PCI, PCMCIA and USB.
DAQ.SoundCard module
libportaudio Multiplatform library for access to sound controller version 19 and higher (not 18).
Transport.SSL module
libssl Library for codifying OpenSSL.
UI.QTStarter module
libQt4 (libQtGui) or
libQt5 (libQt5Widgets,libQt5PrintSupport) or
libQt6 (libQt6Widgets,libQt6PrintSupport)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
libQtSensors or libQt5Sensors or libQt6Sensors
(opt: auto)
Library of the Qt sensors.
UI.QTCfg module
libQt4 (libQtGui) or
libQt5 (libQt5Widgets,libQt5PrintSupport) or
libQt6 (libQt6Widgets,libQt6PrintSupport)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
UI.Vision module
libQt4 (libQtGui) or
libQt5 (libQt5Widgets,libQt5PrintSupport) or
libQt6 (libQt6Widgets,libQt6PrintSupport)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
libQtWebKit (Qt4) or
qtwebengine5, libqt5webkit5 (Qt5) or
qtwebengine6 (Qt6)
(opt: auto)
Library of the Web-rendering engine.
libphonon (Qt4) or
qtmultimedia5, libphonon4qt5 (Qt5) or
qtmultimedia6 (Qt6)
(opt: auto)
Library of playing the full formatted video and audio.
libfftw3 (opt: auto) Library for fast Fourie transfer of signals.
UI.WebCfgD module
libgd (opt: --enable-LibGD) Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
UI.WebVision module
libgd Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
libfftw3 (opt: auto) Library for fast Fourie transfer of signals.
Special.FLibSYS module
libssl (opt: auto) Library for codifying OpenSSL.
libfftw3 (opt: auto) Library for fast Fourie transfer of signals.

* "opt: auto" — involves disabling the use of the library during building if it is not present.

2.2 Building

The dependencies of OpenSCADA to build its core and modules are summarized in the table below.

Table 3. Dependencies to build OpenSCADA and its modules.

Component Description
The general requirements of OpenSCADA building
OS Linux Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
g++ Compiler of language C++ version 3.3 and more from a collection of compilers GCC, including library GLibC (>=2.3), uCLibC (>= 0.9.32) or Android BioniC.
autotools (autoconf, automake, libtool, pkg-config) Tools to form a building environment of OpenSCADA. They are necessary only in the case of changing the building environment of OpenSCADA, for example at addition a new module or changing fixed parameters of the building. Automake >= 1.9.
gettext A group of utilities for preparation and compilations of translations of the interface of programs on various languages in conformity with the internationalization standard I18N.
sqlite3 Control utility for DB SQLite3 files management.
zlib (devel) Compression library, a package for development.
libpcre (devel) Library of work with regular expressions, compatible with Perl, a package for development.
libgd (devel, opt: --enable-LibGD) Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
DB.SQLite module
libsqlite3 (devel) Library for access to built in DB SQLite version 3, a package for development.
DB.MySQL module
libMySQL or libMariaDB (devel) Library for access to MySQL related DBMS, a package for development on language C.
DB.PostgreSQL module
libpq (devel) Library for access to PostgreSQL DBMS version more 8.3.0, a package for development.
DB.FireBird module
firebird (devel) FireBird DBMS version 2 or 3, a package for development. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
DB.ODBC module
iodbc (devel) iODBC Driver Manager library, a package for development.
DB.LDAP module
libldap (devel) OpenLDAP library, a package for development.
DAQ.JavaLikeCalc module
bison The program for generation parsers on the basis of grammar of the language.
DAQ.System module
libsensors (devel, opt: auto) Hardware sensors' library versions 2 and 3, a package for development.
DAQ.OPC_UA module
libssl (devel) Library for codifying OpenSSL, a package for development.
DAQ.SNMP module
libsnmp (devel) Library for access to data of network devices under SNMP protocol, a package for development.
DAQ.Comedi module
libcomedi (devel) Library of realizing support for DAQ-boards different manufacturer on buses ISA, PCI, PCMCIA and USB, a package for development.
DAQ.SoundCard module
libportaudio (devel) Multiplatform library for access to sound controller, a package for development version 19 and higher (not 18).
Transport.SSL module
libssl (devel) Library for codifying OpenSSL, a package for development.
UI.QTStarter module
libQt4 or libQt5 or libQt6
(devel)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
libQtSensors or libQt5Sensors or libQt6Sensors
(devel, opt: auto)
Library of the Qt sensors, a package for development.
UI.QTCfg module
libQt4 or libQt5 or libQt6
(devel)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
UI.Vision module
libQt4 or libQt5 or libQt6
(devel)
Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
libQtWebKit (Qt4) or
qtwebengine5, libqt5webkit5 (Qt5) or
qtwebengine6 (Qt6)
(devel, opt: auto)
Library of the Web-rendering engine, a package for development.
libphonon (Qt4) or
qtmultimedia5, libphonon4qt5 (Qt5) or
qtmultimedia6 (Qt6)
(devel, opt: auto)
Library of playing the full formatted video and audio, a package for development.
libfftw3 (devel, opt: auto) Library for fast Fourie transfer of signals, a package for development.
UI.WebCfgD module
libgd (devel, opt: --enable-LibGD) Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
UI.WebVision module
libgd (devel) Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
libfftw3 (devel, opt: auto) Library for fast Fourie transfer of signals, package for development.
Special.FLibSYS module
libssl (devel, opt: auto) Library for codifying OpenSSL, a package for development.
libfftw3 (devel, opt: auto) Library for fast Fourie transfer of signals, package for development.

* "opt: auto" — provides for disable of using the library at build time on it absence.

3 Scalability

Common productivity of the direct calculations, calculations in the Java-like language and complex calculations of the simulators on different hardware and software platforms.

Memory consumption, generic parameters on the project "AGLKS":

Levels of the measuring Debian 9 X86_64, MB Debian 9 686, MB Debian 8 ARMHF (ARMv7), MB
2019.02.01: OpenSCADA 1+r2600
1. Executing of the simulator and archiving 96 71 64
2. Loading for the VCA projects 147 104 95
3. Starting a session of the project "AGLKS" (as a server of visualization) 152 108 97
3.1. Starting a session of the project "AGLKS" from UI.Vision, and for the first mnemonic > graph cadre 168 > 175 121 > 126 106 > 109
3.2. Starting a session of the project "AGLKS" from UI.WebVision, and for the first mnemonic > graph cadre 159 > 167 113 > 125 100 > 106

Big and complex projects:

  • 2019.01.12: Debian 9 686, OpenSCADA 1+r2595, An aviaries project for: ModBus DAQ of 38 Controller objects, with 75 complex parameters and ~900 signals in each, summary it have 2850 complex parameters and 34200 signals; a VCA project of 39 signal objects, with 19 pages in each, summary it have 741 pages:
=> Optimized in UI.VCAEngine for implementing links to pages, what allowed to remove 703 pages, moving the typical pages in the completely dynamic mode.
=> Expanded in UI.WebVision for support of working in the operative mode, limiting the pages cache.
  • Executing for DAQ, processing and archiving: 102 MB
  • Loading for the VCA projects: 271 MB, after the optimization: 148 MB
  • Starting a session of the project (as a server of visualization): 437 MB, after the optimization: 174 MB
  • Starting a session of the project from UI.WebVision: 460 MB (one session), after the optimization: 198 MB

3.1 Tests

Of OpenSCADA components:

Acceptation tests of the OpenSCADA releases (LTS):

4 Links