Integration of software applications, middleware, soft real time systems and 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 both configuration and runtime applications.
The configuration application provides high productivity when creating applications through configuration instead of more laborious programming. Productivity is also enhanced by using various debugging tools and wizards for most functionalities, e.g. historical trends or importation of address spaces of external OP tandard configurable functionality. This way, high flexibility of OpcDbGateway is provided as well.
The runtime application consists of three main parts (Figure 1):
- An OPC client to communicate with external OPC servers
- AN OPC server to provide processed data for external applications over OPC, web services or for graphical user interface
- A 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 a 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. Using them, programmers can create software modules that become a part of the configurable functionality. An example of the functionality enhancement we can deliver 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 for data transfer: OPC (Open Process Control), various database drivers (Figure 3) and web services. Using web services allows it to be applied within service oriented architectures (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 have 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.
You can read the full review here OpcDbGateway evaluation on 3d2f.com
OpcDbGateway has also gained many awards on different software portals.
Where OpcDbGateway can be used:
- Industrial company units/plants with more technological units controlled by their own programmable logical controllers (PLC) from various vendors so that it is necessary to transfer acquired data into corporate information systems, store in databases, visualize on intranet or internet, store information about alarms, call maintenance in the event 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 etc.
- Buildings in which many sensors (temperature, humidity, ...) are installed, where you need to control the air conditioning, fire alarm system, analyze access to particular rooms etc.
- Machines or technological devices where you need to monitor and control 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 byutilizing 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 the functionality of these alarmsand alarm log files archive. Creation of new log files during a defined time or within a defined time period can be configured.
OpcDbGateway ensures data persistency – that means, after a restart, if required, it uses data stored before application shutdown.
It monitors the usage of it's own resources such as virtual memory, disk space for logs, reports, database and 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's also possible to configure messaging over e-mail and SMS. The application SAEAUT SMS Service is used 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 checking a box in a message configuration dialog box in the configuration application of OpcDbGateway.
To configure OpCDbGateway, it is necessary to perform the following four steps:
- 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 a synchronous controller (soft PLC)
- Definition of internal OPC server’s address space
The configuration of an external OPC server that provides data to/from a device can have a great number of variables. To transfer these variables into the OpcDbGateway configuration, it is possible to use the in-built external OPC server configuration mapping function (Figure 4)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 a synchronous controller (Soft PLC) and also, if a transfer is requested without previous processing it is mapped 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 commands 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 the operands can be e.g. address 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 function blocks. There are some function blocks executed only one time: after start, restart and during application shutdown. Function blocks can be also called within events (once 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 works 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 that 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 a number of database, arithmetic, trigonometric, logical and statistical operations over operands. Some of the database commands include, for example, generation of current trends, statistical functions, extrapolation and database search functions. The structure of process databases and 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's trigerred by a trigger). In the graphical viewer, the synchronous functional blocks executed within the main Soft PLC period are distinguished by being placed between horizontal double lines representing this period.
Testing OpcDbGateway configuration
After a project is configured with the help of OpcDbGateway configurator, a syntax check of the entire configuration can be performed (Figure 7). It is possible to jump to the related dialog box to remove a 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
- Report generating and management
- Starting external programs
- Data provider between more OPC servers
- Interface between external OPC servers and a database system
- Executing SQL commands or stored procedures for data manipulation in process databases
- Multiple database connections to process databases at the same time
- Sending 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 OpcDbGateway or SAEAUT UNIVERSAL OPC Server
With the use of our other applications OPC Adapter for visualization, SAEAUT SNMP OPC Server for control and monitoring of communication network infrastructure and together with other OPC servers from other vendors, it is possible to create really complex applications for control, monitoring, alarming, visualization, logging, data backup, database replication, and printed report management.