integration of software applications, middleware, soft real time system, soft PLC
Current version overview:
OpcDbGateway enables integration of software applications to collect process and visualize data from different devices and data sources.
It is used in manufacturing plants, building management systems, power stations, waste-water processing facilities, for connecting corporate and control systems, for integrating data from various sources in office applications, for providing plant floor data to MES / ERP systems.
It consists of configuring and runtime applications.
The configuring application provides high productivity by creating of applications preferably by configuring, instead of more laborious programming. The productivity is enhanced also by using of various debugging tools and wizards for most used functionalities as e.g. historical trends or import of address spaces of external OPC servers. There is also possibility to create own program modules (using standard development tools e.g. MS Visual Studio). When a defined API is respected, these modules become an enhancement of standard configurable functionality. This way, high flexibility of OpcDbGateway is provided as well.
The runtime application consists of three main parts (Figure 1):
- OPC client to communicate with external OPC servers
- OPC server to provide processed data for external applications over OPC, web services or for graphical user interface
- soft controller for data and tasks handling
OpcDbGateway can work with one or more process databases using either easily configurable database commands or commands in SQL language.
OpcDbGateway is delivered together with visualization application SAEAUT OPC WebView. It can be used as a full featured HMI SCADA.
The concept of configurable functionality widening using program modules implemented as DLL is important, both for users who prefer programming of applications (using programming languages like Visual C++, C#, Visual Basic) instead of configuring, and for the gradual replenishment of OpcDbGateway functionality (without changing the basic functionality) by us. The OpcDbGateway installation package contains examples of enhancing DLL implementations with source codes and projects for MS Visual Studio. With their use, programmers can create software modules that become a part of configurable functionality. An example of the functionality enhancement delivered by us is a DDE client for OpcDbGateway and SAEAUT UNIVERSAL OPC Server (licensed separately).
Figure 1: Data processing with OpcDbGateway.
Figure 2: OpcDbGateway - Functionality, Runtime and Integration of Applications. /click on individual figures/
The system uses three basic software technologies of data transfer: OPC (Open Process Control), various database drivers (Figure 3) and web services. Using of web services allows applaying it within service oriented architecture (SOA). Other communication technologies can be added using the enhancing DLL modules.
The review of OpcDbGateway was published by 3d2f.com software directory. It was rated as the best product in its class.
Editors has evaluated it following way: OpcDbGateway is an advanced data management, processing and storage solution that is a perfect choice for all situations where various types of hardware and software systems output data to a single gateway that processes them and saves them to corresponding databases. The product supports the most popular technologies of data transfer and exchange, such as OPC, web services and database drivers, to collect data from multiple sources.
Please see the whole OpcDbGateway evaluation on 3d2f.com
OpcDbGateway has also gained many awards on different software portals.
Where OpcDbGateway can be used:
- Industrial company unit/plant with more technological units controlled by own programmable logical controllers (PLC) from various vendors from that it is necessary to transfer acquired data into a corporate information system, store in database, visualize on intranet or internet, store information about alarms, call maintenance in case of a malfunction, store processed data in log files, analyze measured data trends for maintenance planning with the help of algorithms configured directly in OpcDbGateway or by launching an external program, monitor and log maintenance incidences, monitor and control the communication infrastructure (switches, routers, computers, Wi-Fi devices) that means data transfer between technological units and the corporate information system...
- A building in that many sensors (temperature, humidity, ...) are installed, where is needed to control the air conditioning, fire alarm system, analyze access to particular rooms...
- A machine or technological device that is necessary to monitor and control and where sensors and actuators of various vendors are used.
- Testing of complex algorithms programmed with the help of specialized software utilities for modeling and simulation of dynamic systems and their interconnection with real data from/to a technological process.
- Data cross connection of different applications that have an OPC client interface.
It is possible to launch OpcDbGateway on any device that can run MS Windows, that means not only standard but also industrial computers and embedded systems. Interoperability of this system with many other platforms and operating systems is ensured by utilizing web services(according to OPC XML DA and OPC UA specifications or a custom - implemented in enhancing DLL).
Figure 3: OpcDbGateway is compatible with various database systems. /click on this figure/
OpcDbGateway implements two alarm systems – basic, based on the implementation of OPC AE 1.1. standard and enhanced that allows many operations to be performed based on various events, for example logical operations above multiple input variables, alarm status logging, database operations, etc. It is possible to deliver a web application to visualize this alarming functionality. Alarm log files archive, creation of new log files in defined time or with defined time period can be configured.
OpcDbGateway ensures the data persistency – that means, after a restart, if required, it uses data stored before application shutdown.
It watches the usage of own resources such as virtual memory, disk space for logs, reports, database, power source.
Messages stored in a log file or in database can be saved in multiple languages. It is possible to define what values of OPC items should be contained in a message. It is possible to configure also messaging over e-mail and SMS. The application SAEAUT SMS Service is used by that to define message distribution lists and to provide SMS/e-mail messaging itself. Choosing the message that has to be sent also as the SMS/e-mail is made easily by check box in a message configuration dialog box in the configuring application of OpcDbGateway.
To configure OpCDbGateway, it is necessary to perform four steps as follows:
- definition of external OPC servers and data processed by them
- definition of particular process databases, ways of accessing them and their structure
- definition of operations that should be executed in synchronous controller (soft PLC)
- definition of internal OPC server’s address space
The configuration of external OPC server that provides data to/from a device can have a great number of variables. To transfer these variables into OpcDbGateway configuration, it is possible to use the in-built external OPC server configuration mapping function (Figure 4) and this way to save lot of work.
Figure 4: Mapping of external OPC servers to address space OpcDbGateway. /click on this figure/
Acquiring data from external OPC servers can be done by scheduled reading or based on notifications. In the latter case, the transfer takes place only in case of a relevant data change. The data from external OPC servers are mapped to so called memory operands (Figure 5) for further processing in synchronous controller (Soft PLC) and also, if a transfer is requested without previous processing, directly into the address space of the internal OPC server. Soft PLC works also with database operands matching particular process database values, entire columns in the table or even entire tables. Commands are executed over memory and database operands. Such command can have at the most two input and one output operand. The output operand can be again a memory or database operand. (This is not limiting, because one of operands can be e.g. adress for the first variable in an array or column in a database table.)
Figure 5: Software PLC (Soft PLC) uses memory and database operands. /click on this figure/
The commands are grouped in functional blocks. A functional block named main is executed in each Soft PLC cycle. It can have many nested finction blocks. There are some function blocks executed only one time: after start, restart and by application shutdown. Function blocks can be also called within events (one time or periodically) which are triggered by a timer or by a value of variable. A special type of event is used for SQL commands that work directly with process databases without using database operands (Figure 5). The configuration structure consisting of individual functional blocks can be displayed in graphics (Figure 6) directly in the configurator. By clicking on a particular block, it is possible to enter the edit mode of the functional block.
Figure 6: OpcDbGateway - Graphical viewer built-in OpcDbGateway Configurator. /click on this figure/
Functional blocks can be nested and can have a defined priority of processing. It is possible to execute number of database arithmetic, trigonometric, logical and statistical operations over operands. To the database commands belong, for example, generating of current trends, statistical functions, extrapolation and database search functions. The structure of process databases, their individual tables are created in the configurator as well. It is possible to execute functional blocks either synchronously with Soft PLC period, or asynchronously - immediately, when it is trigerred by a trigger. In the graphical viewer, the synchronous functional blocks executed within main Soft PLC period are distinguished by placing between horizontal double lines representing this period.
Testing OpcDbGateway configuration
After project configuration with the help of OpcDbGateway configurator, a syntax check of entire configuration can be performed (Figure 7). It is possible to jump to related dialog box to remove an configuration error directly from the list of detected errors.
Figure 7: Configuration checking. /click on this figure/
Figure 8: Displaying of system variables in the OPC client built into the configuration application. /click on this figure/
Figure 9: Log file viewer. /click on this figure/
Usage of OpcDbGateway - summary
- monitoring, management, control, processing and data archiving
- alarm processing and management
- reports generating and management
- starting external programs
- data provider between more OPC servers
- interface between external OPC servers and a database system
- executing of SQL commands or stored procedures for data manipulation in process databases
- multiple database connections to process databases at the same time
- sending of status information about monitored processes via e-mail
OpcDbGateway components and related services provided by our company
- OpcDbGateway license shipments
- unpaid and enhanced paid support for OpcDbGateway users
- implementation of control systems and monitoring of technological processes by using OpcDbGateway
- development of customer functional blocks for OpcDbGateway, for example: regulation algorithms, number filters, message transport modules (e.g.. SMS, e-mail, ...)
- development of OPC client applications
- training courses for new or experienced users
- development of OPC servers for various devices using of OpcDbGateway or SAEAUT UNIVERSAL OPC Server
With the use of other our applications OPC Adapter for visualization, SAEAUT SNMP OPC Server for control and monitoring of communication network infrastructure and together with other OPC servers of other vendors, it is possible to create a really complex applications for control, monitoring, alarming, visualization, logging, data backup, database replication, printed reports management.