1. User Manual

Version 241.1 by Iaroslav Platonov on 2026/06/07 18:30

#rn-prog { position:fixed;top:0;left:0;height:3px;width:0;background:#005AB4;z-index:9999;pointer-events:none; }

/* Layout: relative container, content fills width minus TOC margin */
.doc-wrap {
  position:relative;
}
.doc-content {
  margin-right:224px;          /* TOC width 200px + 24px gap — never changes */
  border-left:1px solid #E8E8E8;
  border-right:1px solid #E8E8E8;
  padding:0 32px;
}

/* TOC: absolute by default, fixed via JS when scrolled */
.doc-toc {
  position:absolute;
  top:0; right:0;
  width:200px;
  font-size:12.5px;line-height:1.55;
  padding:20px 0 20px 16px;
}
.doc-toc.is-fixed {
  position:fixed;
  width:200px;
  overflow-y:auto;
  /* Below XWiki navbar (~1000) and action bars (~100) */
  z-index:10;
}
.toc-header {
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;
}
.toc-header strong {
  font-size:13px;font-weight:700;color:#222222;
  text-transform:none;letter-spacing:0;
}
.toc-toggle {
  background:none;border:none;cursor:pointer;
  color:#555555;font-size:14px;padding:0 2px;line-height:1;
}
.toc-toggle:hover { color:#222222; }
.doc-toc ul { list-style:none;margin:0;padding:0; }
.doc-toc li { margin:0; }
.doc-toc a {
  display:block;padding:3px 0;
  color:#555555;text-decoration:none;
  border-left:2px solid transparent;
  transition:color .12s;
}
.doc-toc a:hover { color:#222222;text-decoration:underline; }
.doc-toc a.toc-on {
  color:#222222;font-weight:700;
  border-left:2px solid #005AB4;padding-left:5px;
}
.tl1 > a { font-weight:600; color:#222222; }
.tl2 > a { padding-left:14px; }
.tl3 > a { padding-left:26px;font-size:12px; }

/* Typography */
.doc-content h1 {
  font-size:1.6em;font-weight:700;color:#222222;
  margin:0 0 6px 0;border:none;
}
.rn-meta { font-size:.8em;color:#555555;margin:0 0 28px 0; }
.doc-content h2 {
  font-size:1.15em;font-weight:700;color:#222222;
  margin:36px 0 10px 0;
  display:flex;align-items:baseline;gap:7px;
  scroll-margin-top:16px;
}
.doc-content h3 {
  font-size:1em;font-weight:700;color:#222222;
  margin:22px 0 8px 0;
  display:flex;align-items:baseline;gap:6px;
  scroll-margin-top:16px;
}
.doc-content h4 {
  font-size:.93em;font-weight:700;color:#222222;
  margin:14px 0 6px 0;
  display:flex;align-items:baseline;gap:5px;
  scroll-margin-top:16px;
}
.doc-content p { font-size:.93em;color:#333;line-height:1.75;margin:0 0 12px 0; }
.doc-content strong { color:#222222; }
code { background:#f5f5f5;border:1px solid #E8E8E8;border-radius:3px;padding:1px 5px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:.82em;color:#222222; }

/* Anchor icon */
.anchor-icon {
  color:#E8E8E8;text-decoration:none;opacity:0;
  transition:opacity .15s;vertical-align:middle;margin-left:4px;
  display:inline-flex;align-items:center;
}
h2:hover .anchor-icon,h3:hover .anchor-icon,h4:hover .anchor-icon { opacity:1; }
.anchor-icon:hover { color:#005AB4; }

/* Oracle-style Note box: border only, no fill */
.note {
  border:1px solid #E8E8E8;border-radius:6px;
  padding:12px 16px;margin:14px 0;
}
.note-hd {
  font-weight:700;font-size:.875em;
  display:flex;align-items:center;gap:5px;
  margin-bottom:6px;
}
.note-body { font-size:.875em;color:#333;line-height:1.65; }

/* Oracle-style section index list */
.section-index {
  list-style:disc;padding-left:20px;margin:0 0 20px 0;
}
.section-index li { margin-bottom:12px; }
.section-index li a {
  color:#005AB4;font-weight:600;font-size:.93em;
  text-decoration:underline;
}
.section-index li p {
  margin:3px 0 0 0;font-size:.875em;color:#333;line-height:1.6;
}

/* Parent topic */
.parent-topic {
  font-size:.82em;color:#555555;margin:18px 0 24px 0;
  border-top:1px solid #E8E8E8;padding-top:10px;
}
.parent-topic a { color:#005AB4; }

/* Accordion — Oracle subsection feel */
details.acc {
  border:1px solid #E8E8E8;border-radius:4px;
  margin-bottom:5px;
}
details.acc summary {
  display:flex;align-items:center;gap:8px;
  padding:9px 12px;cursor:pointer;list-style:none;
  background:none;user-select:none;
}
details.acc summary::-webkit-details-marker { display:none; }
details.acc summary::before {
  content:'▶';font-size:.58em;color:#555555;
  transition:transform .18s;flex-shrink:0;
}
details.acc[open] summary::before { transform:rotate(90deg); }
details.acc summary:hover { background:#f5f5f5; }
.acc-num { font-size:.8em;color:#555555;min-width:28px;font-weight:600; }
.acc-title { font-size:.9em;font-weight:700;color:#222222;flex:1; }
.acc-body { padding:10px 14px 12px 14px;font-size:.88em;color:#333;line-height:1.7; }

/* Images */
.fig { margin:12px 0 22px 0; }
.fig img {
  border-radius:4px;border:1px solid #E8E8E8;display:block;
  cursor:zoom-in;transition:box-shadow .15s;max-width:100%;
}
.fig img:hover { box-shadow:0 2px 10px rgba(0,90,180,.15); }
.fig-cap { font-size:.78em;color:#555555;font-style:italic;margin:4px 0 0 0; }

/* Lightbox */
#rn-lb { display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.8);cursor:zoom-out;align-items:center;justify-content:center; }
#rn-lb.open { display:flex; }
#rn-lb-wrap { position:relative;cursor:default;max-width:92vw;max-height:90vh; }
#rn-lb-wrap img { max-width:100%;max-height:90vh;border-radius:5px;display:block; }
#rn-lb-x { position:absolute;top:-13px;right:-13px;background:#005AB4;color:#fff;width:26px;height:26px;border-radius:50%;border:none;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center; }
#rn-lb-cap { position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:#ddd;font-size:.78em;background:rgba(0,0,0,.55);padding:3px 12px;border-radius:14px;pointer-events:none; }

/* Back to top */
#rn-top { position:fixed;bottom:24px;right:24px;z-index:9997;width:36px;height:36px;border-radius:50%;background:#005AB4;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s;pointer-events:none;box-shadow:0 2px 8px rgba(0,90,180,.3); }
#rn-top.on { opacity:1;transform:translateY(0);pointer-events:auto; }
#rn-top:hover { background:#0066cc; }

/* Toast */
.rn-toast { position:fixed;bottom:66px;right:24px;z-index:9999;background:#222222;color:#fff;font-size:.74em;padding:4px 11px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .18s; }
.rn-toast.on { opacity:1; }

/* Tables */
.rn-table { width:100%;border-collapse:collapse;margin:8px 0 18px 0;font-size:.875em; }
.rn-table th { background:#f5f5f5;text-align:left;padding:7px 12px;font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#555555;border-bottom:2px solid #E8E8E8; }
.rn-table td { padding:7px 12px;border-bottom:1px solid #E8E8E8;color:#333;vertical-align:top; }
.rn-table tr:last-child td { border-bottom:none; }
.rn-table tr:hover td { background:#f5f5f5; }
.sc { display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#deeaf7;color:#005AB4;border-radius:3px;font-size:.8em;font-weight:700; }

Link copied ✓

1. System Login

Users log in to CENTO through a web interface. Supported browsers: Google Chrome, Microsoft Edge, etc.

Enter the server IP or DNS address — for example http://192.168.80.10/ or https://demotest.centosoftware.com/. When working directly on the server, use http://127.0.0.1.

Figure 1.1. Authorization page

Figure 1.1. Authorization page

Note
Enter username and password and click Login. If credentials are incorrect, the message User with the entered parameters not found! appears.
Figure 1.2. Main panel

Figure 1.2. Main panel

To switch users, open the drop-down menu in the upper right corner and select Logout.

Figure 1.3. System logout

Figure 1.3. System logout

Figure 1.4. Access is denied

Figure 1.4. Access is denied

Parent topic: CENTO Manuals

2. User Interface

The pinned main menu switches between sections; the status bar on the right displays current events and system time.

  • 2.1 Main Menu

    Navigation bar layout, status bar, drop-down menus.

  • 2.2 Diagrams

    Mimic diagram types, object menus, dispatch marks, video streams, object log.

  • 2.3 Analysis

    Real-time data tables and charts, metering data, receipt forms, device diagnostics.

  • 2.4 Logs

    Nine log types — availability depends on license and access rights.

  • 2.5 Reports

    Flexible reports, power quality reports, short-circuit reports.

  • 2.6 Operative Journal

    Shift-based logbook with templates and electronic signatures.

  • 2.7 Widgets

    Configurable KPI dashboard panels, personalised per user.

  • 2.8 Sound Alerts

    Browser-based audible alerts for configured event conditions.

  • 2.9 Pop-up Messages

    Critical event banners with operator acknowledgement and log.

2.1 Main Menu

Provides access to: Diagrams, Maps, Analysis, Reports, Logs, and Settings. The interface scales automatically to fit the browser window.

Figure 2.1. Main menu (left side)

Figure 2.1. Main menu (left side)

Figure 2.2. Main menu (right part)

Figure 2.2. Main menu (right part)

Figure 2.3. Drop-down menu

Figure 2.3. Drop-down menu

2.2 Diagrams

Interactive mimic diagrams (SCADA screens) represent equipment state and process flows in real time. For diagram creation and configuration, see the Diagrams Development Manual.

Figure 2.4. Power industry

Figure 2.4. Power industry

Figure 2.5. Engineering infrastructure

Figure 2.5. Engineering infrastructure

Figure 2.6. Diagnostics

Figure 2.6. Diagnostics

Figure 2.7. Technology

Figure 2.7. Technology

Figure 2.8. Portable grounding

Figure 2.8. Portable grounding

Figure 2.9. Dispatch marks log

Figure 2.9. Dispatch marks log

Figure 2.10. Diagrams player interface

Figure 2.10. Diagrams player interface

Figure 2.11. Diagram viewing window with diagram tree

Figure 2.11. Diagram viewing window with diagram tree

Figure 2.12. Object menu (left click)

Figure 2.12. Object menu (left click)

Figure 2.13. Object context menu (right click)

Figure 2.13. Object context menu (right click)

Figure 2.14. Object passport — Measurements

Figure 2.14. Object passport — Measurements

Figure 2.15. Viewing video stream

Figure 2.15. Viewing video stream

Figure 2.16. Dispatch marks interface

Figure 2.16. Dispatch marks interface

Figure 2.17. Reference information

Figure 2.17. Reference information

Figure 2.18. Object log

Figure 2.18. Object log

2.2.1 Control

Warning
Control actions affect live equipment. Confirm the correct object is selected before executing any command.

Remote switching, setpoint changes, and group commands are executed directly from mimic diagrams. Access is governed by user permissions in the Information Model.

Figure 2.19. Remote control

Figure 2.19. Remote control

Figure 2.20. Control schedule

Figure 2.20. Control schedule

Figure 2.21. Entering password on diagram

Figure 2.21. Entering password on diagram

Figure 2.22. Value entry field

Figure 2.22. Value entry field

Figure 2.23. Named command selection (1)

Figure 2.23. Named command selection (1)

Figure 2.24. Named command selection (2)

Figure 2.24. Named command selection (2)

Figure 2.25. TC command selection

Figure 2.25. TC command selection

Figure 2.26. Action confirmation

Figure 2.26. Action confirmation

Figure 2.27. Action confirmation

Figure 2.27. Action confirmation

2.3 Analysis

Displays CENTO data in tabular and chart form with filtering, aggregation, and Excel export.

2.3.1 Real-time data analysis

Displays current tag values, filterable by device/object, status code, or last-update timestamp.

Figure 2.28. Real-time data analysis

Figure 2.28. Real-time data analysis

Figure 2.29. Device tree

Figure 2.29. Device tree

Figure 2.30. Object tree

Figure 2.30. Object tree

Figure 2.31. Tag table

Figure 2.31. Tag table

Figure 2.32. Real-time data charts

Figure 2.32. Real-time data charts

Figure 2.33. Data aggregation options

Figure 2.33. Data aggregation options

Figure 2.34. Chart settings menu

Figure 2.34. Chart settings menu

Figure 2.35. Calendar — data display depth

Figure 2.35. Calendar — data display depth

Figure 2.36. User message on chart

Figure 2.36. User message on chart

Figure 2.37. Table tab

Figure 2.37. Table tab

2.3.2 Metering data analysis

Metering data (electricity, energy, hours, emissions) in tabular and chart formats. Supports aggregation by hour/day/month/year and Excel export.

2.3.3 Receipt of metering data form

Structured form for reviewing and confirming receipt of interval metering data. Allows marking data as received and adding operator comments.

2.3.4 Device diagnostic

Communication quality and polling stats: last poll time, response rate, error counts, protocol-level diagnostics.

2.4 Logs

Set of logs available depending on license and access rights.

2.4.1Technology events

Records all process-level events: status changes, threshold crossings, control commands, with timestamps and operator attribution.

2.4.2Camcoders

Log of disturbance recorder trigger events linked to oscillogram captures. Each entry links to the corresponding waveform file.

2.4.3Power quality

PQ events from connected analyzers: voltage dips, swells, harmonics, flicker. Requires PQA license.

2.4.4Waveforms

List of captured oscillogram files. Click any entry to open the waveform viewer. See the Waveform Viewing Manual.

2.4.5Device events

Events reported by field devices via native protocols (IEC 61850 GOOSE, IEC-104). Includes device-side timestamps where available.

2.4.6System events

Server start/stop, configuration changes, licence updates, communication link state changes.

2.4.7User comments log

Chronological record of operator comments. Searchable by author, date, and text.

2.4.8All events log

Consolidated view of all log types in a single timeline. Supports cross-type filtering and Excel export.

2.4.9Custom logs

User-defined log views combining selected event types, devices, and filters. Saved per user.

2.5 Reports

2.5.1Flexible reports

Included in CENTO basic. Configurable tabular reports based on metering channels. See the Flexible Reports Guide.

2.5.2Power quality reports

Automated PQ compliance reports (EN 50160 and similar). Requires Power Quality license.

2.5.3Short circuit currents

Max and min short-circuit currents at network nodes. Requires Short Circuit module license.

2.6 Operative Journal

Shift-based logbook organised by shift, unit, and equipment type. Supports templates, attachments, and electronic signatures.

2.7 Widgets

Configurable dashboard panels displaying KPIs, charts, or tag values. Personalised per user with drag-and-drop layout adjustment.

2.8 Sound Alerts

Audible browser alerts for events matching configured conditions. Enabled per user in personal settings.

Warning
Requires the browser tab to remain active. Backgrounded tabs may experience delayed alerts.

2.9 Pop-up Messages

Critical events trigger pop-up banners, acknowledged by the operator and logged with timestamp and user ID.

Basic Abbreviations

Abbr.Meaning
IMInformation Model
PQAPower Quality Analyser
SCADASupervisory Control and Data Acquisition
S2SServer-to-Server data exchange
HAHigh Availability / Redundancy

Reference: Status Codes

Table 2.1 — Device Statuses

CodeStatus
0Disabled
1Normal
2Data in device with errors
3Device unavailable
4Manual input data present
9Status not available

Table 2.2 — Tag Statuses

CodeStatus
0Disabled
1Normal
2Processing error
3Receiving error
4Manual input of tag value
5Manual input in arguments
6Disabled device or protocol
8Bad tag quality
9Status unknown
(function(){
  var bar = document.getElementById('rn-prog');
  var top = document.getElementById('rn-top');
  window.addEventListener('scroll', function(){
    var d = document.documentElement;
    var pct = d.scrollTop / (d.scrollHeight - d.clientHeight);
    bar.style.width = (pct*100)+'%';
    d.scrollTop > 280 ? top.classList.add('on') : top.classList.remove('on');
  }, {passive:true});

  /* TOC active via IntersectionObserver */
  var links = Array.from(document.querySelectorAll('[data-toc]'));
  var secs = links.map(function(a){
    return {el: document.getElementById(a.getAttribute('href').slice(1)), a:a};
  }).filter(function(s){return s.el;});

  var busy = false;
  var obs = new IntersectionObserver(function(entries){
    if (busy) return;
    entries.forEach(function(e){
      if (!e.isIntersecting) return;
      var i = secs.findIndex(function(s){return s.el===e.target;});
      if (i<0) return;
      secs.forEach(function(s){s.a.classList.remove('toc-on');});
      secs[i].a.classList.add('toc-on');
      var toc = document.querySelector('.doc-toc');
      var link = secs[i].a;
      toc.scrollTop = link.offsetTop - toc.offsetTop - toc.clientHeight/2 + link.clientHeight/2;
    });
  }, {rootMargin:'-8% 0px -60% 0px', threshold:0});
  secs.forEach(function(s){obs.observe(s.el);});

  links.forEach(function(a){
    a.addEventListener('click', function(e){
      var id = a.getAttribute('href').slice(1);
      var el = document.getElementById(id);
      if (!el) return;
      e.preventDefault();
      busy = true;
      secs.forEach(function(s){s.a.classList.remove('toc-on');});
      a.classList.add('toc-on');
      el.scrollIntoView({behavior:'smooth',block:'start'});
      setTimeout(function(){busy=false;}, 900);
    });
  });

  /* TOC collapse */
  var tocList = document.getElementById('toc-list');
  var togBtn  = document.getElementById('toc-tog');
  var collapsed = false;
  togBtn && togBtn.addEventListener('click', function(){
    collapsed = !collapsed;
    tocList.style.display = collapsed ? 'none' : '';
    togBtn.textContent = collapsed ? '»' : '«';
  });

  /* Lightbox */
  var lb = document.getElementById('rn-lb');
  var lbI = document.getElementById('rn-lb-img');
  var lbC = document.getElementById('rn-lb-cap');
  window.openLightbox = function(img){
    lbI.src = img.src; lbI.alt = img.alt; lbC.textContent = img.alt;
    lb.classList.add('open'); document.body.style.overflow='hidden';
  };
  window.closeLightbox = function(){
    lb.classList.remove('open'); document.body.style.overflow='';
  };
  lb.addEventListener('click', function(e){if(e.target===lb)closeLightbox();});
  document.addEventListener('keydown', function(e){if(e.key==='Escape')closeLightbox();});

  /* Copy anchor */
  var toast = document.getElementById('rn-toast');
  var t;
  window.copyAnchor = function(id){
    var url = location.href.split('#')[0]+'#'+id;
    if(navigator.clipboard) navigator.clipboard.writeText(url).catch(function(){});
    else { var x=document.createElement('textarea');x.value=url;document.body.appendChild(x);x.select();document.execCommand('copy');document.body.removeChild(x); }
    toast.classList.add('on');
    clearTimeout(t);
    t = setTimeout(function(){toast.classList.remove('on');}, 1600);
  };

  /* ── Sticky TOC via JS ──
     Uses position:absolute→fixed switch. No placeholder needed because
     .doc-content has a fixed margin-right — content width never changes. */
  (function(){
    var toc  = document.querySelector('.doc-toc');
    var wrap = document.querySelector('.doc-wrap');
    if (!toc || !wrap) return;

    var navbar  = document.querySelector('.navbar, nav.navbar, #topBar, header');
    var navH    = navbar ? navbar.offsetHeight : 0;
    var footer  = document.querySelector('footer, .xwikifooter, #xwikifooter, .bottombar, .sticky-container');

    function update() {
      var wr = wrap.getBoundingClientRect();

      if (wr.top <= navH) {
        /* Doc-wrap has scrolled above navbar — fix the TOC */
        var footerTop = footer ? footer.getBoundingClientRect().top : window.innerHeight;
        var h = Math.max(0, Math.min(window.innerHeight, footerTop) - navH);

        toc.classList.add('is-fixed');
        toc.style.top    = navH + 'px';
        toc.style.left   = (wr.right - 200) + 'px'; /* right edge of wrap minus TOC width */
        toc.style.height = h + 'px';
      } else {
        /* Still in natural position */
        toc.classList.remove('is-fixed');
        toc.style.top = toc.style.left = toc.style.height = '';
      }
    }

    requestAnimationFrame(function(){ requestAnimationFrame(function(){
      update();
      window.addEventListener('scroll', update, {passive:true});
      window.addEventListener('resize', update, {passive:true});
    }); });
  })();
})();