4. Structure and Modules Description

Version 6.2 by Lana on 2025/12/03 21:51

CONTENT

1. INTRODUCTION

CENTO is a multifunctional software platform for data collection, processing, and display.

CENTO can be used to build various automated systems, including dispatching, electricity and energy resource metering, emergency event registration, power quality control, monitoring, and diagnostics, etc.

This document describes the CENTO structure and lists the CENTO components, each with a brief description. 

2. CENTO STRUCTURE

The general structure of CENTO is shown in Fig.2.1.

Screenshot 2025-12-03 at 18.41.53.png

Fig. 2.1 – The general structure of CENTO

CENTO consists of two main blocks:

  1. web part;
  2. "core" of the system.

The web part provides data to the user and contains system configuration tools. Information is provided to users via a web browser.

The "core" of the system consists of a set of applications that run all CENTO components, collect, transmit, process, and store data.

3. COMPOSITION AND DESCRIPTION OF CENTO COMPONENTS

3.1. Web Part

The CENTO web interface is implemented on the basis of the nginx web server, web application modules (based on PHP and executable services) and a web browser installed on the client site.

3.2. The "core" of the system

Databases

MongoDB is a NoSQL database that stores system configuration, event logs, diagrams, and their parts and elements.

InfluxDB is a NoSQL database that stores information collected by the system.

Message broker

NATS is a message broker that exchanges information between CENTO components.

Polling and data transmission services

Polling services collect data from information sources and transmit data to external systems. Polling services use a message broker to transmit the collected data to services that process the data and/or write it to databases.

A few polling services contain additional binary files "sed_metrology_xxxx.bin", where XXX is the code of the polling service. Binary files "sed_metrology_XXX.bin" are a metrologically significant part of the polling modules and contain information about the mechanism for extracting data from device memory registers, which correspond to the configuration of the devices being polled, as well as recording the received values in the database.

When metrologically significant files change, their checksum changes. Information about checksums is displayed on the "Services" tab of the "System Information" page. Checksums are calculated by the sed_system service using the MD5 algorithm. To display up-to-date information about checksums, click the "Update Information" button in the upper-right corner of the System Information page (System - Settings) - see Fig.3.1.

Screenshot 2025-12-03 at 18.47.38.png

Fig. 3.1 – Updating information on checksums of metrologically significant files

Data processing services

The processing services receive the data coming from the message broker, process it, and write it to the database.

The data processing services contain a metrologically significant part the binary file "sed_metrology_YYY.bin" where YYY is the service identification name. Binary files "sed_metrology_YYY.bin" contains information about algorithms and mechanisms for calculating measured values and are used by the processing modules to directly perform their functions.

The Pre-calculated Parameter Calculation Service (sed_calc_arch service) additionally has a sed_metrology_formulas.bin file. The sed_metrology_formulas.bin file contains custom formulas for pre-calculations that have the "metrologically significant" attribute.

When metrologically significant files or formulas with a metrological significance attribute change, the checksum of the file changes. Information about checksums is displayed on the "Services" tab of the "System Information" page. Checksums are calculated by the sed_system service using the MD5 algorithm.

Auxiliary Services

Auxiliary services are designed to ensure that the main CENTO services perform their functions.

The list of CENTO services and their brief description is given in Table 1. The composition of CENTO services for a particular system depends on the functions performed and is displayed on the "System Information" tab.

Table 1 – CENTO software components