Last modified by Iaroslav Platonov on 2026/06/08 10:08

From version 5.3
edited by Lana
on 2025/12/03 21:44
Change comment: There is no comment for this version
To version 6.3
edited by Lana
on 2025/12/03 21:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -32,4 +32,480 @@
32 32  
33 33  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.
34 34  
35 -3.2. The
35 +== 3.2. The "core" of the system ==
36 +
37 +**Databases**
38 +
39 +**MongoDB** is a NoSQL database that stores system configuration, event logs, diagrams, and their parts and elements.
40 +
41 +**InfluxDB** is a NoSQL database that stores information collected by the system.
42 +
43 +**Message broker**
44 +
45 +**NATS** is a message broker that exchanges information between CENTO components.
46 +
47 +**Polling and data transmission services**
48 +
49 +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.
50 +
51 +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.
52 +
53 +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.
54 +
55 +[[image:Screenshot 2025-12-03 at 18.47.38.png]]
56 +
57 +Fig. 3.1 – Updating information on checksums of metrologically significant files
58 +
59 +**Data processing services**
60 +
61 +The processing services receive the data coming from the message broker, process it, and write it to the database.
62 +
63 +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.
64 +
65 +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.
66 +
67 +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.
68 +
69 +**Auxiliary Services**
70 +
71 +Auxiliary services are designed to ensure that the main CENTO services perform their functions.
72 +
73 +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.
74 +
75 +Table 1 – CENTO software components
76 +
77 +|№|Service Name|Function|Metrologically significant part
78 +|(% colspan="4" %)**Data collection and transmission services**
79 +|(((
80 +~1.
81 +)))|sed_bus_dispatcher|Sequential Device Polling Management Service|
82 +|(((
83 +2.
84 +)))|sed_xml_reader|Service for processing received XML files 80020|
85 +|(((
86 +3.
87 +)))|sed_xml_send|XML file transfer Service 80020|
88 +|(((
89 +
90 +
91 +1.
92 +)))|sed_archive_webapi|Implementation of the web API for transmitting archived data according to the CENTO documentation|
93 +|(((
94 +1.
95 +)))|sed_s2s_configuration|Configuration transmission service between CENTO servers|
96 +|(% colspan="4" %)**Data collection and transmission services using standard protocols**
97 +|(((
98 +1.
99 +)))|sed_modbus_rtd|A service for reading real-time data from devices using Modbus protocol (Modbus TCP and Modbus RTU over TCP)|sed_metrology_001.bin
100 +|(((
101 +1.
102 +)))|sed_modbus_rtd_send|A service for sending real-time data to third-party devices using the Modbus TCP protocol|
103 +|(((
104 +1.
105 +)))|sed_modbus_sync|A device time synchronization service using Modbus protocol (Modbus TCP and Modbus RTU over TCP)|
106 +|(((
107 +1.
108 +)))|sed_snmp_rtd|A service for reading real-time data from devices using the SNMP (v1, v2c, v3), ICMP protocols|
109 +|(((
110 +1.
111 +)))|sed_iec103_waveform|A service for reading waveform files from devices using the IEC protocol-60870-5-103|sed_metrology_393.bin
112 +|(((
113 +1.
114 +)))|sed_iec104_rtd|A service for reading real-time data from devices using the IEC 60870-5-104 protocol|sed_metrology_011.bin
115 +|(((
116 +1.
117 +)))|sed_iec104_rtd_send|A service for sending real-time data to third-party devices using the IEC 60870-5-104 protocol|sed_metrology_012.bin
118 +|(((
119 +1.
120 +)))|sed_opcda_rtd|A service for receiving real-time data using the OPC DA protocol|
121 +|(((
122 +1.
123 +)))|sed_opcua_rtd|A service for receiving real-time data using the OPC UA protocol|
124 +|(((
125 +1.
126 +)))|sed_opcua_arch|A service for receiving archived data using the OPC UA protocol|sed_metrology_402.bin
127 +|(((
128 +1.
129 +)))|sed_opcua_server|A service for transmitting data using the OPC UA protocol|
130 +|(((
131 +1.
132 +)))|sed_dnp3_rtd|A service for reading real-time data from devices using the DNP3 protocol|
133 +|(((
134 +1.
135 +)))|sed_ftp_waveform|A service for receiving waveform files via FTP protocol|sed_metrology_380.bin
136 +|(((
137 +1.
138 +)))|sed_iec61107_rtd|A service for obtaining real-time data from devices using the IEC 62056-21 protocol|sed_metrology_61107.bin
139 +|(((
140 +1.
141 +)))|sed_iec61850_arch|A service for receiving archived data from devices using the IEC 61850 protocol|
142 +|(((
143 +1.
144 +)))|sed_iec61850_rtd|A service for receiving operational data from devices using the IEC 61850 protocol|
145 +|(% colspan="4" %)**Proprietary protocol data collection and transmission services**
146 +|(((
147 +1.
148 +)))|sed_satec_arch|A service for reading archived data (metering and event logs) from SATEC devices|sed_metrology_7_8.bin
149 +|(((
150 +1.
151 +)))|sed_satec_pq_journal|A service for obtaining event logs for monitoring the power quality from Satec devices|sed_metrology_106.bin
152 +|(((
153 +1.
154 +)))|sed_satec_pq_report|A service for receiving reports on the power quality control from Satec devices|sed_metrology_106.bin
155 +|(((
156 +1.
157 +)))|sed_satec_waveforms|A service for proofreading waveforms from SATEC devices using Modbus TCP and RTU over TCP protocols|sed_metrology_108_109.bin
158 +|(((
159 +1.
160 +)))|sed_iec103_rtd|A service for reading real-time data from TOR 200 terminals according to the IEC protocol-60870-5-103|sed_metrology_391.bin
161 +|(((
162 +1.
163 +)))|sed_sepam_waveform|A service for proofreading waveforms and time synchronization using the Modbus RTU over TCP protocol from Sepam devices|sed_metrology_298_299.bin
164 +|(((
165 +1.
166 +)))|sed_rtu_over_tcp_logikamp_rtd|A service for reading real-time data from devices using the LogicaMP RTU over TCP protocol|sed_metrology_121.bin
167 +|(((
168 +1.
169 +)))|sed_rtu_over_tcp_logikamp_arch|A service for reading archived data from devices using the LogicaMP RTU over TCP protocol|sed_metrology_122.bin
170 +|(((
171 +1.
172 +)))|sed_axis_video_journal|An AXIS camera recording service|sed_metrology_435.bin
173 +|(((
174 +1.
175 +)))|sed_vzlyotmb_arch|A service for reading archives and event logs of devices Vzlet TSRV-043, TSRV-027, IVK-TER|sed_metrology_25_133.bin
176 +|(((
177 +1.
178 +)))|sed_micom_waveforms|A service for reading waveform files from Micom devices using Modbus RTU over TCP protocol|sed_metrology_370.bin
179 +|(((
180 +1.
181 +)))|sed_pulsar_arch|A service for reading archives from Pulsar devices using the Modbus protocol|sed_metrology_342.bin
182 +|(((
183 +1.
184 +)))|sed_rtu_over_tcp_a1800_arch|A service for receiving archived data from A1800 meters using the Modbus RTU over TCP protocol|sed_metrology_232.bin
185 +|(((
186 +1.
187 +)))|sed_rtu_over_tcp_a1800_rtd|A service for receiving real-time data from A1800 meters using the Modbus RTU over TCP protocol|sed_metrology_231.bin
188 +|(((
189 +1.
190 +)))|sed_rtu_over_tcp_acron_arch|A service for receiving archived data from Acron meters using the Modbus RTU over TCP protocol|sed_metrology_142.bin
191 +|(((
192 +1.
193 +)))|sed_rtu_over_tcp_acron_rtd|A service for receiving real-time data from Acron meters using the Modbus RTU over TCP protocol|sed_metrology_141.bin
194 +|(((
195 +1.
196 +)))|sed_rtu_over_tcp_bmrz_waveform|A service for reading waveform files from BMRZ terminals using the Modbus RTU over TCP protocol|sed_metrology_110.bin
197 +|(((
198 +1.
199 +)))|sed_rtu_over_tcp_bzp03_waveform|A service for reading waveform files from BZP-03 terminals using Modbus RTU over TCP protocol|
200 +|(((
201 +1.
202 +)))|sed_rtu_over_tcp_kmp_rtd|A service for polling Multitical 601 device using the KMP protocol|sed_metrology_191.bin
203 +|(((
204 +1.
205 +)))|sed_rtu_over_tcp_majac_arch|A service for receiving archived data from devices using the Mayak protocol|sed_metrology_152.bin
206 +|(((
207 +1.
208 +)))|sed_rtu_over_tcp_mercury200_rtd|A service for receiving real-time data from devices using the Mercury 200 protocol|sed_metrology_251.bin
209 +|(((
210 +1.
211 +)))|sed_rtu_over_tcp_mercury_arch|A service for reading archives and event logs from Mercury-230 series devices using the Mercury-230 protocol|sed_metrology_202.bin
212 +|(((
213 +1.
214 +)))|sed_rtu_over_tcp_mercury_rtd|A service for receiving real-time data from devices using the Mercury 230 protocol|sed_metrology_201.bin
215 +|(((
216 +1.
217 +)))|sed_rtu_over_tcp_photon_rtd|A service for receiving real-time data from devices using the photon RTU over TCP protocol|sed_metrology_221.bin
218 +|(((
219 +1.
220 +)))|sed_rtu_over_tcp_ref542plus_waveform|Proofreading of waveforms and time synchronization via Modbus RTU over TCP protocol from ABB REF 542plus devices|
221 +|(((
222 +1.
223 +)))|sed_rtu_over_tcp_set4tm_arch|A service for polling SET-4TM, PSC meters’ archives|sed_metrology_112.bin
224 +|(((
225 +1.
226 +)))|sed_rtu_over_tcp_set4tm_rtd|A service for receiving real-time data from devices using the SET-4TM rtu over tcp protocol|sed_metrology_111.bin
227 +|(((
228 +1.
229 +)))|sed_rtu_over_tcp_tem104_arch|A service for receiving archived data from devices using the TEM104 protocol|sed_metrology_162.bin
230 +|(((
231 +1.
232 +)))|sed_rtu_over_tcp_tem104_rtd|A service for receiving real-tume data from devices using the TEM104 protocol|sed_metrology_161.bin
233 +|(((
234 +1.
235 +)))|sed_rtu_over_tcp_vist_arch|A service for receiving archived data from devices using the VIS.T protocol|sed_metrology_172.bin
236 +|(((
237 +1.
238 +)))|sed_rtu_over_tcp_vkt5_arch|A service for receiving archived data from VKT-5 devices|sed_metrology_312.bin
239 +|(((
240 +1.
241 +)))|sed_rtu_over_tcp_vkt5_rtd|A service for receiving real-time data from VKT-5 devices|sed_metrology_311.bin
242 +|(((
243 +1.
244 +)))|sed_vkt7_arch|A service for receiving archived data from VKT-7 devices|
245 +|(((
246 +1.
247 +)))|sed_vkt7_rtd|A service for receiving real-time data from VKT-7 devices|
248 +|(((
249 +1.
250 +)))|sed_rtu_over_tcp_vtd_arch|A service for receiving archived data of VTD devices|sed_metrology_182.bin
251 +|(((
252 +1.
253 +)))|sed_rtu_over_tcp_vtd_rtd|A service for receiving operational data from VTD devices|sed_metrology_181.bin
254 +|(((
255 +1.
256 +)))|sed_uvp_arch|A service for poling Promavtomatika's archive for devices of the UVP series|sed_metrology_352.bin
257 +|(((
258 +1.
259 +)))|sed_ce_arch|A service for receiving archived data from Energomera devices of the CE series according to the IEC61107 protocol|sed_metrology_362.bin
260 +|(((
261 +1.
262 +)))|sed_alpha_arch|A service for receiving archived data from Alfa-3 devices manufactured by Alfamera|sed_metrology_462_472.bin
263 +|(((
264 +1.
265 +)))|sed_bug01_rtd|A service for receiving archived data of BUG-01 devices|sed_metrology_491.bin
266 +|(((
267 +1.
268 +)))|sed_dymetic_arch|A service for receiving archived data from Dimetik|sed_metrology_552.bin
269 +|(((
270 +1.
271 +)))|sed_irvis_arch|A service for receiving archived data from devices using the Irvis protocol|sed_metrology_442.bin
272 +|(((
273 +1.
274 +)))|sed_karat_arch|A service for receiving archived data from Karat devices|sed_metrology_512.bin
275 +|(((
276 +1.
277 +)))|sed_lis200_arch|A service for receiving archived data from the EK-260 and EK-270 devices manufactured by Elster|sed_metrology_452.bin
278 +|(((
279 +1.
280 +)))|sed_rtu_over_tcp_sepam_waveform|A service for reading waveform files from Sepam devices using Modbus RTU over TCP protocol|sed_metrology_298.bin
281 +|(% colspan="4" %)**Data export and import services in SQL databases**
282 +|(((
283 +1.
284 +)))|sed_sql_rtd|A service for receiving tele-measurement data from MySQL|sed_metrology_211.bin
285 +|(((
286 +1.
287 +)))|sed_sql_arch|A service for archived data retrieval from Microsoft SQL Server|
288 +|(((
289 +1.
290 +)))|sed_sql_arch_send|A service for recording archived data in an external SQL database|
291 +|(% colspan="4" %)**Data processing services**
292 +|(((
293 +1.
294 +)))|sed_controller|A service for telemetry reception and processing (writes to the InfluxDB database)|sed_metrology_controller.bin
295 +|(((
296 +1.
297 +)))|sed_events_calc|A service for generating event based on the conditions specified in the configuration|
298 +|(((
299 +1.
300 +)))|sed_calc_arch|A service for calculating metering channels|(((
301 +sed_metrology_calc_arch.bin
302 +
303 +sed_metrology_formulas.bin
304 +)))
305 +|(((
306 +1.
307 +)))|sed_calc_rtd|A service for calculating pre-calculated tags|
308 +|(((
309 +1.
310 +)))|sed_round_arch|A service for calculating metering channels with rounding|sed_metrology_round_arch.bin
311 +|(((
312 +1.
313 +)))|sed_energy_calc|A service for server-level energy resource calculation|sed_metrology_411_421.bin
314 +|(((
315 +1.
316 +)))|sed_loadflow_calc|A service for calculating modes based on an information model|
317 +|(((
318 +1.
319 +)))|sed_storage_writer|A service for recording archived data (metering and event logs) in a data storage (InfluxDB and MongoDB)|
320 +|(% colspan="4" %)**Web Part Services**
321 +|(((
322 +1.
323 +)))|php5-cgi|A Web Query Service|
324 +|(((
325 +1.
326 +)))|nginx|A Web Server|
327 +|(((
328 +1.
329 +)))|sed_ui|A service for processing requests for web resources (js, css, html files)|
330 +|(((
331 +1.
332 +)))|sed_rtd_analysis|A service for analyzing real-time data|
333 +|(((
334 +1.
335 +)))|sed_auth|A service for authenticating and authorizing users in the system and configuring access rights|
336 +|(((
337 +1.
338 +)))|sed_auth_privileges|A User Privilege Management Service|
339 +|(((
340 +1.
341 +)))|sed_api_gateway|A service for proxying of web requests to other services within the system|
342 +|(((
343 +1.
344 +)))|sed_dataset_configurator|A service for working with datasets|
345 +|(((
346 +1.
347 +)))|sed_rtd|A real-time data subscription service|
348 +|(((
349 +1.
350 +)))|sed_rtd_archive|A service for generating archived data from real-time data|
351 +|(((
352 +1.
353 +)))|sed_system|A service that provides a user interface with information about the system|
354 +|(((
355 +1.
356 +)))|sed_archive|A service that provides user interfaces for analyzing electricity and energy accounting|
357 +|(((
358 +1.
359 +)))|sed_archive_integrity|A service that provides user interfaces for analyzing the completeness of electricity and energy resources data|
360 +|(((
361 +1.
362 +)))|sed_pq_reports|A service for working with power quality reports|
363 +|(((
364 +1.
365 +)))|sed_pq_journal|A service for working with power quality logs|
366 +|(((
367 +1.
368 +)))|sed_ras_configurator|A service for configuring emergency event loggers|
369 +|(((
370 +1.
371 +)))|sed_reports|A service for generating and managing reports, and maintaining user interfaces for reports|
372 +|(((
373 +1.
374 +)))|sed_widgets|A service for the user interfaces of drag'n'drop widgets|
375 +|(((
376 +1.
377 +)))|sed_menu|A service for displaying and configuring CENTO system menu|
378 +|(((
379 +1.
380 +)))|sed_mnemonic_diagrams|A service for the user interfaces of diagrams v2|
381 +|(((
382 +1.
383 +)))|sed_configuration|A service for user interfaces for system configuration (alerts, mail servers, formulas, device trees)|
384 +|(((
385 +1.
386 +)))|sed_devices_configurator|A service for editing device configurations, tags, and channels|
387 +|(((
388 +1.
389 +)))|sed_common_event_journal|A service for user interfaces for generalized configurable event logs|
390 +|(((
391 +1.
392 +)))|sed_device_event_journal|A Device Log Service|
393 +|(((
394 +1.
395 +)))|sed_operative_journal|A service for the user interface of the real-time event log|
396 +|(((
397 +1.
398 +)))|sed_video_journal|A Video Camera Log Service|
399 +|(((
400 +1.
401 +)))|sed_marking|A Dispatch Tag Management Service|
402 +|(((
403 +1.
404 +)))|sed_sounds|A service for the user interface for sound alerts management|
405 +|(((
406 +1.
407 +)))|sed_video_stream|A service for streaming video from cameras registered in the information model|
408 +|(% colspan="4" %)**System services**
409 +|(((
410 +1.
411 +)))|nats|A message broker and a service registry (service registry/service discovery)|
412 +|(((
413 +1.
414 +)))|influxdb|A time series database|
415 +|(((
416 +1.
417 +)))|mongod|A database of configuration and structured data (event logs, requests)|
418 +|(((
419 +1.
420 +)))|sed_signals|A signal reception and transmission service inside the system (remote control, configuration update, manual polling, parameter recalculation)|
421 +|(((
422 +1.
423 +)))|sed_debug|A service for providing access to debugging information of CENTO services|
424 +|(((
425 +1.
426 +)))|sed_graphql|A subscription service for device statuses|
427 +|(((
428 +1.
429 +)))|sed_energy_calc_configuration|A service for creating, changing, and deleting energy resource calculation configurations at the server level|
430 +|(((
431 +1.
432 +)))|sed_backup|A service for backing up data according to the cron rule.|
433 +|(((
434 +1.
435 +)))|sed_channels|A channel subscription service|
436 +|(((
437 +1.
438 +)))|sed_channels_data|A subscription service for protocol statuses and the latest channel data|
439 +|(((
440 +1.
441 +)))|sed_emission_archive|A service for providing emissions metering data|
442 +|(((
443 +1.
444 +)))|sed_profile_archive|A service for providing metering data from InfluxDB via gRPC.|
445 +|(((
446 +1.
447 +)))|sed_web_storage|A service for accessing archived metering data|
448 +|(((
449 +1.
450 +)))|sed_watchdog|A service for managing the launch of CENTO services|
451 +|(((
452 +1.
453 +)))|sed_scheduler|A service for launching scheduled tasks|
454 +|(((
455 +1.
456 +)))|sed_license|A licensing service|
457 +|(((
458 +1.
459 +)))|sed_monitor|A service for monitoring the operation of the system's services and applications|
460 +|(((
461 +1.
462 +)))|sed_telecontrol|A remote control service|
463 +|(((
464 +1.
465 +)))|sed_notificator|A service for notifying users about events by e-mail|
466 +|(((
467 +1.
468 +)))|sed_waveforms_journal|A waveform Log Service|
469 +|(((
470 +1.
471 +)))|sed_storage_configurator|An InfluxDB Database Configuration Service|
472 +|(((
473 +1.
474 +)))|sed_system_configuration|A CENTO System Configuration Editing Service|
475 +|(((
476 +1.
477 +)))|sed_user_settings|A User Settings Configuration Service|
478 +|(((
479 +1.
480 +)))|sed_system_event_journal|A service for registration and provision of system events (business logic and administration)|
481 +|(((
482 +1.
483 +)))|sed_tech_event_journal|A service for processing and managing technological events|
484 +|(((
485 +1.
486 +)))|sed_information_model|A System Information Model Management Service|
487 +|(((
488 +1.
489 +)))|sed_events_configurator|A System Event Configuration Service|
490 +|(((
491 +1.
492 +)))|sed_information_model_editor|A service for editing the information model|
493 +|(% colspan="4" %)**Server Backup Services**
494 +|(((
495 +1.
496 +)))|sed_coordinator|A service for selecting the cluster's host server using the Bully leader election algorithm|
497 +|(((
498 +1.
499 +)))|sed_reserve|A service for displaying a list of backup servers|
500 +|(((
501 +1.
502 +)))|sed_replicator|A log replication service between cluster servers|
503 +|(((
504 +1.
505 +)))|sed_influx_replicator|A data replication service (archives and telemetry) between cluster servers|
506 +|(((
507 +1.
508 +)))|sed_events_replicator|An event replication service between cluster servers|
509 +|(((
510 +1.
511 +)))|sed_fs_synch|A data replication service (gob files, reports, waveforms) between cluster servers|
Screenshot 2025-12-03 at 18.47.38.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Lana
Size
... ... @@ -1,0 +1,1 @@
1 +206.0 KB
Content