Wiki source code of 1. User Manual

Last modified by Iaroslav Platonov on 2026/06/08 09:26

Hide last authors
Iaroslav Platonov 240.2 1 {{html clean="false"}}
Iaroslav Platonov 242.2 2 <style>
Iaroslav Platonov 242.3 3 /* ── Disable XWiki automatic heading counters inside our content ── */
4 .doc-content h1::before,.doc-content h2::before,
5 .doc-content h3::before,.doc-content h4::before,
6 .doc-content h5::before,.doc-content h6::before {
7 content:none !important; display:none !important;
8 }
9 .doc-content { counter-reset:none !important; }
10
Iaroslav Platonov 242.2 11 /* ── Reading progress bar ── */
12 #rn-prog { position:fixed;top:0;left:0;height:3px;width:0;background:#005AB4;z-index:9999;pointer-events:none; }
Lana 3.2 13
Iaroslav Platonov 242.2 14 /* ── Page content wrapper ── */
15 .doc-wrap { position:relative; }
16 .doc-content {
17 margin-right:224px;
18 border-left:1px solid #E8E8E8;
19 border-right:1px solid #E8E8E8;
20 padding:0 32px;
21 }
22
23 /* ── Right "On This Page" TOC ── */
24 .doc-toc {
25 position:absolute;top:0;right:0;width:200px;
26 font-size:12.5px;line-height:1.55;
27 padding:20px 0 20px 16px;
28 }
29 .doc-toc.is-fixed { position:fixed;width:200px;overflow-y:auto;z-index:10; }
30 .toc-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }
31 .toc-header strong { font-size:13px;font-weight:700;color:#222; }
32 .toc-toggle { background:none;border:none;cursor:pointer;color:#555;font-size:14px;padding:0 2px;line-height:1; }
33 .toc-toggle:hover { color:#222; }
34 .doc-toc ul { list-style:none;margin:0;padding:0; }
35 .doc-toc li { margin:0; }
36 .doc-toc a { display:block;padding:3px 0;color:#555;text-decoration:none;border-left:2px solid transparent;transition:color .12s; }
37 .doc-toc a:hover { color:#222;text-decoration:underline; }
38 .doc-toc a.toc-on { color:#222;font-weight:700;border-left:2px solid #005AB4;padding-left:5px; }
39 .tl1 > a { font-weight:600;color:#222; }
40 .tl2 > a { padding-left:14px; }
41 .tl3 > a { padding-left:26px;font-size:12px; }
42
43 /* ── Typography ── */
44 .doc-content h1 { font-size:1.6em;font-weight:700;color:#222;margin:0 0 6px 0;border:none; }
45 .rn-meta { font-size:.8em;color:#555;margin:0 0 28px 0; }
46 .doc-content h2 { font-size:1.15em;font-weight:700;color:#222;margin:36px 0 10px 0;display:flex;align-items:baseline;gap:7px;scroll-margin-top:16px; }
47 .doc-content h3 { font-size:1em;font-weight:700;color:#222;margin:22px 0 8px 0;display:flex;align-items:baseline;gap:6px;scroll-margin-top:16px; }
48 .doc-content h4 { font-size:.93em;font-weight:700;color:#222;margin:14px 0 6px 0;display:flex;align-items:baseline;gap:5px;scroll-margin-top:16px; }
49 .doc-content p { font-size:.93em;color:#333;line-height:1.75;margin:0 0 12px 0; }
50 .doc-content strong { color:#222; }
51 .doc-content 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:#222;line-height:1; }
52
53 /* ── Anchor icon ── */
54 .anchor-icon { color:#E8E8E8;text-decoration:none;opacity:0;transition:opacity .15s;vertical-align:middle;margin-left:4px;display:inline-flex;align-items:center; }
55 h2:hover .anchor-icon,h3:hover .anchor-icon,h4:hover .anchor-icon { opacity:1; }
56 .anchor-icon:hover { color:#005AB4; }
57
58 /* ── Callout notes ── */
59 .note { border-radius:6px;padding:12px 16px;margin:14px 0;border:1px solid transparent; }
60 .note-info { background:#e1f1f9 !important;border-color:#b3d4ee !important;border-left:4px solid #005AB4 !important; }
61 .note-warning { background:#fff4ec !important;border-color:#f5cba7 !important;border-left:4px solid #DD5600 !important; }
62 .note-tip { background:#e5f3df !important;border-color:#b7dba5 !important;border-left:4px solid #73A839 !important; }
63 .note-hd { font-weight:700;font-size:.85em;display:flex;align-items:center;gap:5px;margin-bottom:5px; }
64 .note-info .note-hd { color:#003d80 !important; }
65 .note-warning .note-hd { color:#a03d00 !important; }
66 .note-tip .note-hd { color:#3d6b1a !important; }
67 .note-body { font-size:.875em;color:#222 !important;line-height:1.65; }
68
69 /* ── Section index list ── */
70 .section-index { list-style:disc;padding-left:20px;margin:0 0 20px 0; }
71 .section-index li { margin-bottom:12px; }
72 .section-index li a { color:#005AB4;font-weight:600;font-size:.93em;text-decoration:underline; }
73 .section-index li p { margin:3px 0 0 0;font-size:.875em;color:#333;line-height:1.6; }
74
75 /* ── Parent topic ── */
76 .parent-topic { font-size:.82em;color:#555;margin:18px 0 24px 0;border-top:1px solid #E8E8E8;padding-top:10px; }
77 .parent-topic a { color:#005AB4; }
78
79 /* ── Accordion ── */
80 details.acc { border:1px solid #E8E8E8;border-radius:4px;margin-bottom:5px; }
81 details.acc summary { display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;background:none;user-select:none; }
82 details.acc summary::-webkit-details-marker { display:none; }
83 details.acc summary::before { content:'▶';font-size:.58em;color:#555;transition:transform .18s;flex-shrink:0; }
84 details.acc[open] summary::before { transform:rotate(90deg); }
85 details.acc summary:hover { background:#f5f5f5; }
86 .acc-num { font-size:.8em;color:#555;min-width:28px;font-weight:600; }
87 .acc-title { font-size:.9em;font-weight:700;color:#222;flex:1; }
88 .acc-body { padding:10px 14px 12px 14px;font-size:.88em;color:#333;line-height:1.7; }
89
90 /* ── Images ── */
91 .fig { margin:12px auto 24px auto;width:fit-content;max-width:100%; }
92 .fig img { border-radius:4px 4px 0 0;border:1px solid #E8E8E8;display:block;cursor:zoom-in;max-width:100%;box-shadow:0 1px 4px rgba(0,0,0,.10);transition:box-shadow .15s; }
93 .fig img:hover { box-shadow:0 3px 12px rgba(0,90,180,.18); }
94 .fig-cap { font-size:.78em;color:#555;margin:0;padding:5px 8px;background:#f5f5f5;border:1px solid #E8E8E8;border-top:none;border-radius:0 0 4px 4px;display:block;width:100%;box-sizing:border-box; }
95
96 /* ── Lightbox ── */
97 #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; }
98 #rn-lb.open { display:flex; }
99 #rn-lb-wrap { position:relative;cursor:default;max-width:92vw;max-height:90vh; }
100 #rn-lb-wrap img { max-width:100%;max-height:90vh;border-radius:5px;display:block; }
101 #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; }
102 #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; }
103
104 /* ── Back to top ── */
Iaroslav Platonov 242.3 105 #rn-top { position:fixed;bottom:60px;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); }
Iaroslav Platonov 242.2 106 #rn-top.on { opacity:1;transform:translateY(0);pointer-events:auto; }
107 #rn-top:hover { background:#0066cc; }
108
109 /* ── Toast ── */
110 .rn-toast { position:fixed;bottom:66px;right:24px;z-index:9999;background:#222;color:#fff;font-size:.74em;padding:4px 11px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .18s; }
111 .rn-toast.on { opacity:1; }
112
113 /* ── Tables ── */
114 .rn-table { width:100%;border-collapse:collapse;margin:8px 0 18px 0;font-size:.875em; }
115 .rn-table th { background:#f5f5f5;text-align:left;padding:7px 12px;font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#555;border-bottom:2px solid #E8E8E8; }
116 .rn-table td { padding:7px 12px;border-bottom:1px solid #E8E8E8;color:#333;vertical-align:top; }
117 .rn-table tr:last-child td { border-bottom:none; }
118 .rn-table tr:hover td { background:#f5f5f5; }
119 .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; }
120 </style>
121
Iaroslav Platonov 240.2 122 <div id="rn-prog"></div>
123 <div id="rn-lb">
124 <div id="rn-lb-wrap">
125 <button id="rn-lb-x" onclick="closeLightbox()">✕</button>
126 <img id="rn-lb-img" src="" alt=""/>
127 </div>
128 <div id="rn-lb-cap"></div>
129 </div>
130 <button id="rn-top" onclick="window.scrollTo({top:0,behavior:'smooth'})" title="Back to top">
131 <svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M8 4l5 5H3z"/></svg>
132 </button>
133 <div class="rn-toast" id="rn-toast">Link copied ✓</div>
Lana 5.2 134
Iaroslav Platonov 240.2 135 <div class="doc-wrap">
Lana 5.2 136
Iaroslav Platonov 240.2 137 <!-- ── CONTENT ── -->
138 <div class="doc-content">
Iaroslav Platonov 242.3 139
Iaroslav Platonov 240.2 140 <ul class="section-index">
141 <li><a href="#s-login">1. System Login</a><p>How to access the CENTO web interface, log in, and switch users.</p></li>
142 <li><a href="#s-ui">2. User Interface</a><p>Overview of the main menu, SCADA diagrams, analysis tools, logs, reports, and notifications.</p></li>
143 <li><a href="#s-abbrev">Basic Abbreviations</a><p>Glossary of abbreviations used throughout this manual.</p></li>
144 <li><a href="#s-statuses">Reference: Status Codes</a><p>Device and tag status code tables for quick reference.</p></li>
145 </ul>
Lana 6.2 146
Iaroslav Platonov 240.2 147 <!-- ═══ 1. System Login ═══ -->
148 <h2 id="s-login">1. System Login<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-login')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
149 <p>Users log in to CENTO through a web interface. Supported browsers: Google Chrome, Microsoft Edge, etc.</p>
150 <p>Enter the server IP or DNS address — for example <code>http://192.168.80.10/</code> or <code>https://demotest.centosoftware.com/</code>. When working directly on the server, use <code>http://127.0.0.1</code>.</p>
151 <div class="fig">
Iaroslav Platonov 242.1 152 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/1762985411819-434.png" alt="CENTO login form with username and password fields and a Login button" style="max-width:320px;" onclick="openLightbox(this)"/>
Iaroslav Platonov 240.2 153 <p class="fig-cap">Figure 1.1. Authorization page</p>
154 </div>
Iaroslav Platonov 242.2 155 <div class="note note-info">
156 <div class="note-hd"><span>ℹ</span> Note</div>
Iaroslav Platonov 240.2 157 <div class="note-body">Enter username and password and click <strong>Login</strong>. If credentials are incorrect, the message <em>User with the entered parameters not found!</em> appears.</div>
158 </div>
159 <div class="fig">
Iaroslav Platonov 242.1 160 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-12-01%20at%2009.20.57.png" alt="CENTO main interface panel showing top navigation bar with Diagrams, Analysis, Reports, Logs, and Settings menus" style="max-width:100%;" onclick="openLightbox(this)"/>
Iaroslav Platonov 240.2 161 <p class="fig-cap">Figure 1.2. Main panel</p>
162 </div>
163 <p>To switch users, open the drop-down menu in the upper right corner and select <strong>Logout</strong>.</p>
164 <div class="fig">
Iaroslav Platonov 242.1 165 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/1762985502322-231.png" alt="User drop-down menu in the upper right corner with the Logout option highlighted" style="max-width:280px;" onclick="openLightbox(this)"/>
Iaroslav Platonov 240.2 166 <p class="fig-cap">Figure 1.3. System logout</p>
167 </div>
168 <div class="fig">
169 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.12.33.png" alt="Figure 1.4. Access is denied" style="max-width:420px;" onclick="openLightbox(this)"/>
170 <p class="fig-cap">Figure 1.4. Access is denied</p>
171 </div>
172 <div class="parent-topic">Parent topic: <a href="#">CENTO Manuals</a></div>
Lana 6.2 173
Iaroslav Platonov 240.2 174 <!-- ═══ 2. User Interface ═══ -->
175 <h2 id="s-ui">2. User Interface<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-ui')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
176 <p>The pinned main menu switches between sections; the status bar on the right displays current events and system time.</p>
Lana 6.2 177
Iaroslav Platonov 240.2 178 <ul class="section-index">
179 <li><a href="#s-menu">2.1 Main Menu</a><p>Navigation bar layout, status bar, drop-down menus.</p></li>
180 <li><a href="#s-diagrams">2.2 Diagrams</a><p>Mimic diagram types, object menus, dispatch marks, video streams, object log.</p></li>
181 <li><a href="#s-analysis">2.3 Analysis</a><p>Real-time data tables and charts, metering data, receipt forms, device diagnostics.</p></li>
182 <li><a href="#s-logs">2.4 Logs</a><p>Nine log types — availability depends on license and access rights.</p></li>
183 <li><a href="#s-reports">2.5 Reports</a><p>Flexible reports, power quality reports, short-circuit reports.</p></li>
184 <li><a href="#s-journal">2.6 Operative Journal</a><p>Shift-based logbook with templates and electronic signatures.</p></li>
185 <li><a href="#s-widgets">2.7 Widgets</a><p>Configurable KPI dashboard panels, personalised per user.</p></li>
186 <li><a href="#s-sound">2.8 Sound Alerts</a><p>Browser-based audible alerts for configured event conditions.</p></li>
187 <li><a href="#s-popup">2.9 Pop-up Messages</a><p>Critical event banners with operator acknowledgement and log.</p></li>
188 </ul>
Lana 6.2 189
Iaroslav Platonov 240.2 190 <!-- 2.1 -->
191 <h3 id="s-menu">2.1 Main Menu<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-menu')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
192 <p>Provides access to: Diagrams, Maps, Analysis, Reports, Logs, and Settings. The interface scales automatically to fit the browser window.</p>
193 <div class="fig">
194 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.13.54.png" alt="Figure 2.1. Main menu (left side)" style="max-width:100%;" onclick="openLightbox(this)"/>
195 <p class="fig-cap">Figure 2.1. Main menu (left side)</p>
196 </div>
197 <div class="fig">
198 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.18.28.png" alt="Figure 2.2. Main menu (right part)" style="max-width:100%;" onclick="openLightbox(this)"/>
199 <p class="fig-cap">Figure 2.2. Main menu (right part)</p>
200 </div>
201 <div class="fig">
202 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.21.24.png" alt="Figure 2.3. Drop-down menu" style="max-width:320px;" onclick="openLightbox(this)"/>
203 <p class="fig-cap">Figure 2.3. Drop-down menu</p>
204 </div>
Lana 8.2 205
Iaroslav Platonov 240.2 206 <!-- 2.2 -->
207 <h3 id="s-diagrams">2.2 Diagrams<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-diagrams')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
208 <p>Interactive mimic diagrams (SCADA screens) represent equipment state and process flows in real time. For diagram creation and configuration, see the <strong>Diagrams Development Manual</strong>.</p>
209 <div class="fig">
210 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.22.56.png" alt="Figure 2.4. Power industry" style="max-width:100%;" onclick="openLightbox(this)"/>
211 <p class="fig-cap">Figure 2.4. Power industry</p>
212 </div>
213 <div class="fig">
214 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.24.08.png" alt="Figure 2.5. Engineering infrastructure" style="max-width:100%;" onclick="openLightbox(this)"/>
215 <p class="fig-cap">Figure 2.5. Engineering infrastructure</p>
216 </div>
217 <div class="fig">
218 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.24.37.png" alt="Figure 2.6. Diagnostics" style="max-width:100%;" onclick="openLightbox(this)"/>
219 <p class="fig-cap">Figure 2.6. Diagnostics</p>
220 </div>
221 <div class="fig">
222 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.25.05.png" alt="Figure 2.7. Technology" style="max-width:100%;" onclick="openLightbox(this)"/>
223 <p class="fig-cap">Figure 2.7. Technology</p>
224 </div>
225 <div class="fig">
226 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.44.51.png" alt="Figure 2.8. Portable grounding" style="max-width:360px;" onclick="openLightbox(this)"/>
227 <p class="fig-cap">Figure 2.8. Portable grounding</p>
228 </div>
229 <div class="fig">
230 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.45.40.png" alt="Figure 2.9. Dispatch marks log" style="max-width:100%;" onclick="openLightbox(this)"/>
231 <p class="fig-cap">Figure 2.9. Dispatch marks log</p>
232 </div>
233 <div class="fig">
234 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.48.41.png" alt="Figure 2.10. Diagrams player interface" style="max-width:100%;" onclick="openLightbox(this)"/>
235 <p class="fig-cap">Figure 2.10. Diagrams player interface</p>
236 </div>
237 <div class="fig">
238 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.55.03.png" alt="Figure 2.11. Diagram viewing window with diagram tree" style="max-width:100%;" onclick="openLightbox(this)"/>
239 <p class="fig-cap">Figure 2.11. Diagram viewing window with diagram tree</p>
240 </div>
241 <div class="fig">
242 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.56.11.png" alt="Figure 2.12. Object menu (left click)" style="max-width:380px;" onclick="openLightbox(this)"/>
243 <p class="fig-cap">Figure 2.12. Object menu (left click)</p>
244 </div>
245 <div class="fig">
246 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.57.12.png" alt="Figure 2.13. Object context menu (right click)" style="max-width:320px;" onclick="openLightbox(this)"/>
247 <p class="fig-cap">Figure 2.13. Object context menu (right click)</p>
248 </div>
249 <div class="fig">
250 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2014.59.21.png" alt="Figure 2.14. Object passport — Measurements" style="max-width:100%;" onclick="openLightbox(this)"/>
251 <p class="fig-cap">Figure 2.14. Object passport — Measurements</p>
252 </div>
253 <div class="fig">
254 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/image_2025-11-13_10-52-44.png" alt="Figure 2.15. Viewing video stream" style="max-width:100%;" onclick="openLightbox(this)"/>
255 <p class="fig-cap">Figure 2.15. Viewing video stream</p>
256 </div>
257 <div class="fig">
258 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2015.03.53.png" alt="Figure 2.16. Dispatch marks interface" style="max-width:100%;" onclick="openLightbox(this)"/>
259 <p class="fig-cap">Figure 2.16. Dispatch marks interface</p>
260 </div>
261 <div class="fig">
262 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2015.04.36.png" alt="Figure 2.17. Reference information" style="max-width:360px;" onclick="openLightbox(this)"/>
263 <p class="fig-cap">Figure 2.17. Reference information</p>
264 </div>
265 <div class="fig">
266 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.36.19.png" alt="Figure 2.18. Object log" style="max-width:100%;" onclick="openLightbox(this)"/>
267 <p class="fig-cap">Figure 2.18. Object log</p>
268 </div>
Lana 8.2 269
Iaroslav Platonov 240.2 270 <h4 id="s-control">2.2.1 Control<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-control')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h4>
Iaroslav Platonov 242.2 271 <div class="note note-warning">
272 <div class="note-hd"><span>⚠</span> Warning</div>
Iaroslav Platonov 240.2 273 <div class="note-body">Control actions affect live equipment. Confirm the correct object is selected before executing any command.</div>
274 </div>
275 <p>Remote switching, setpoint changes, and group commands are executed directly from mimic diagrams. Access is governed by user permissions in the Information Model.</p>
276 <div class="fig">
277 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.42.00.png" alt="Figure 2.19. Remote control" style="max-width:100%;" onclick="openLightbox(this)"/>
278 <p class="fig-cap">Figure 2.19. Remote control</p>
279 </div>
280 <div class="fig">
281 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.42.35.png" alt="Figure 2.20. Control schedule" style="max-width:100%;" onclick="openLightbox(this)"/>
282 <p class="fig-cap">Figure 2.20. Control schedule</p>
283 </div>
284 <div class="fig">
285 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.43.07.png" alt="Figure 2.21. Entering password on diagram" style="max-width:360px;" onclick="openLightbox(this)"/>
286 <p class="fig-cap">Figure 2.21. Entering password on diagram</p>
287 </div>
288 <div class="fig">
289 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.44.40.png" alt="Figure 2.22. Value entry field" style="max-width:360px;" onclick="openLightbox(this)"/>
290 <p class="fig-cap">Figure 2.22. Value entry field</p>
291 </div>
292 <div class="fig">
293 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.45.29.png" alt="Figure 2.23. Named command selection (1)" style="max-width:360px;" onclick="openLightbox(this)"/>
294 <p class="fig-cap">Figure 2.23. Named command selection (1)</p>
295 </div>
296 <div class="fig">
297 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.45.56.png" alt="Figure 2.24. Named command selection (2)" style="max-width:360px;" onclick="openLightbox(this)"/>
298 <p class="fig-cap">Figure 2.24. Named command selection (2)</p>
299 </div>
300 <div class="fig">
301 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.46.48.png" alt="Figure 2.25. TC command selection" style="max-width:360px;" onclick="openLightbox(this)"/>
302 <p class="fig-cap">Figure 2.25. TC command selection</p>
303 </div>
304 <div class="fig">
305 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.47.59.png" alt="Figure 2.26. Action confirmation" style="max-width:360px;" onclick="openLightbox(this)"/>
306 <p class="fig-cap">Figure 2.26. Action confirmation</p>
307 </div>
308 <div class="fig">
309 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-12-17%20at%2018.37.08.png" alt="Figure 2.27. Action confirmation" style="max-width:360px;" onclick="openLightbox(this)"/>
310 <p class="fig-cap">Figure 2.27. Action confirmation</p>
311 </div>
Lana 8.2 312
Iaroslav Platonov 240.2 313 <!-- 2.3 -->
314 <h3 id="s-analysis">2.3 Analysis<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-analysis')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
315 <p>Displays CENTO data in tabular and chart form with filtering, aggregation, and Excel export.</p>
Lana 8.2 316
Iaroslav Platonov 240.2 317 <h4 id="s-rtd">2.3.1 Real-time data analysis<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-rtd')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h4>
318 <p>Displays current tag values, filterable by device/object, status code, or last-update timestamp.</p>
319 <div class="fig">
320 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.50.56.png" alt="Figure 2.28. Real-time data analysis" style="max-width:100%;" onclick="openLightbox(this)"/>
321 <p class="fig-cap">Figure 2.28. Real-time data analysis</p>
322 </div>
323 <div class="fig">
324 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.52.31.png" alt="Figure 2.29. Device tree" style="max-width:360px;" onclick="openLightbox(this)"/>
325 <p class="fig-cap">Figure 2.29. Device tree</p>
326 </div>
327 <div class="fig">
328 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2018.53.16.png" alt="Figure 2.30. Object tree" style="max-width:360px;" onclick="openLightbox(this)"/>
329 <p class="fig-cap">Figure 2.30. Object tree</p>
330 </div>
331 <div class="fig">
332 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.06.00.png" alt="Figure 2.31. Tag table" style="max-width:100%;" onclick="openLightbox(this)"/>
333 <p class="fig-cap">Figure 2.31. Tag table</p>
334 </div>
335 <div class="fig">
336 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.11.13.png" alt="Figure 2.32. Real-time data charts" style="max-width:100%;" onclick="openLightbox(this)"/>
337 <p class="fig-cap">Figure 2.32. Real-time data charts</p>
338 </div>
339 <div class="fig">
340 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.12.20.png" alt="Figure 2.33. Data aggregation options" style="max-width:340px;" onclick="openLightbox(this)"/>
341 <p class="fig-cap">Figure 2.33. Data aggregation options</p>
342 </div>
343 <div class="fig">
344 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.18.15.png" alt="Figure 2.34. Chart settings menu" style="max-width:360px;" onclick="openLightbox(this)"/>
345 <p class="fig-cap">Figure 2.34. Chart settings menu</p>
346 </div>
347 <div class="fig">
348 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.19.45.png" alt="Figure 2.35. Calendar — data display depth" style="max-width:340px;" onclick="openLightbox(this)"/>
349 <p class="fig-cap">Figure 2.35. Calendar — data display depth</p>
350 </div>
351 <div class="fig">
352 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.23.18.png" alt="Figure 2.36. User message on chart" style="max-width:100%;" onclick="openLightbox(this)"/>
353 <p class="fig-cap">Figure 2.36. User message on chart</p>
354 </div>
355 <div class="fig">
356 <img src="/xwiki/bin/download/CENTO%20Manuals/1.%20User%20Manual/WebHome/Screenshot%202025-11-12%20at%2019.24.15.png" alt="Figure 2.37. Table tab" style="max-width:100%;" onclick="openLightbox(this)"/>
357 <p class="fig-cap">Figure 2.37. Table tab</p>
358 </div>
Lana 8.2 359
Iaroslav Platonov 240.2 360 <h4 id="s-metering">2.3.2 Metering data analysis<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-metering')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h4>
361 <p>Metering data (electricity, energy, hours, emissions) in tabular and chart formats. Supports aggregation by hour/day/month/year and Excel export.</p>
Lana 10.2 362
Iaroslav Platonov 240.2 363 <h4 id="s-receipt">2.3.3 Receipt of metering data form<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-receipt')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h4>
364 <p>Structured form for reviewing and confirming receipt of interval metering data. Allows marking data as received and adding operator comments.</p>
Lana 10.2 365
Iaroslav Platonov 240.2 366 <h4 id="s-diagnostic">2.3.4 Device diagnostic<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-diagnostic')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h4>
367 <p>Communication quality and polling stats: last poll time, response rate, error counts, protocol-level diagnostics.</p>
Lana 10.2 368
Iaroslav Platonov 240.2 369 <!-- 2.4 -->
370 <h3 id="s-logs">2.4 Logs<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-logs')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
371 <p>Set of logs available depending on license and access rights.</p>
372 <details class="acc" id="s-techevents">
373 <summary><span class="acc-num">2.4.1</span><span class="acc-title">Technology events</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-techevents')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
374 <div class="acc-body"><p>Records all process-level events: status changes, threshold crossings, control commands, with timestamps and operator attribution.</p></div>
375 </details>
376 <details class="acc" id="s-camcoders">
377 <summary><span class="acc-num">2.4.2</span><span class="acc-title">Camcoders</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-camcoders')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
378 <div class="acc-body"><p>Log of disturbance recorder trigger events linked to oscillogram captures. Each entry links to the corresponding waveform file.</p></div>
379 </details>
380 <details class="acc" id="s-pq">
381 <summary><span class="acc-num">2.4.3</span><span class="acc-title">Power quality</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-pq')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
382 <div class="acc-body"><p>PQ events from connected analyzers: voltage dips, swells, harmonics, flicker. <strong>Requires PQA license.</strong></p></div>
383 </details>
384 <details class="acc" id="s-waveforms">
385 <summary><span class="acc-num">2.4.4</span><span class="acc-title">Waveforms</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-waveforms')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
386 <div class="acc-body"><p>List of captured oscillogram files. Click any entry to open the waveform viewer. See the <strong>Waveform Viewing Manual</strong>.</p></div>
387 </details>
388 <details class="acc" id="s-devevents">
389 <summary><span class="acc-num">2.4.5</span><span class="acc-title">Device events</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-devevents')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
390 <div class="acc-body"><p>Events reported by field devices via native protocols (IEC 61850 GOOSE, IEC-104). Includes device-side timestamps where available.</p></div>
391 </details>
392 <details class="acc" id="s-sysevents">
393 <summary><span class="acc-num">2.4.6</span><span class="acc-title">System events</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-sysevents')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
394 <div class="acc-body"><p>Server start/stop, configuration changes, licence updates, communication link state changes.</p></div>
395 </details>
396 <details class="acc" id="s-comments">
397 <summary><span class="acc-num">2.4.7</span><span class="acc-title">User comments log</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-comments')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
398 <div class="acc-body"><p>Chronological record of operator comments. Searchable by author, date, and text.</p></div>
399 </details>
400 <details class="acc" id="s-allevents">
401 <summary><span class="acc-num">2.4.8</span><span class="acc-title">All events log</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-allevents')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
402 <div class="acc-body"><p>Consolidated view of all log types in a single timeline. Supports cross-type filtering and Excel export.</p></div>
403 </details>
404 <details class="acc" id="s-customlogs">
405 <summary><span class="acc-num">2.4.9</span><span class="acc-title">Custom logs</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-customlogs')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
406 <div class="acc-body"><p>User-defined log views combining selected event types, devices, and filters. Saved per user.</p></div>
407 </details>
Lana 10.2 408
Iaroslav Platonov 240.2 409 <!-- 2.5 -->
410 <h3 id="s-reports">2.5 Reports<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-reports')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
411 <details class="acc" id="s-flexible">
412 <summary><span class="acc-num">2.5.1</span><span class="acc-title">Flexible reports</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-flexible')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
413 <div class="acc-body"><p>Included in CENTO basic. Configurable tabular reports based on metering channels. See the <strong>Flexible Reports Guide</strong>.</p></div>
414 </details>
415 <details class="acc" id="s-pqreports">
416 <summary><span class="acc-num">2.5.2</span><span class="acc-title">Power quality reports</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-pqreports')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
417 <div class="acc-body"><p>Automated PQ compliance reports (EN 50160 and similar). <strong>Requires Power Quality license.</strong></p></div>
418 </details>
419 <details class="acc" id="s-shortcircuit">
420 <summary><span class="acc-num">2.5.3</span><span class="acc-title">Short circuit currents</span><a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-shortcircuit')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></summary>
421 <div class="acc-body"><p>Max and min short-circuit currents at network nodes. <strong>Requires Short Circuit module license.</strong></p></div>
422 </details>
Lana 10.2 423
Iaroslav Platonov 240.2 424 <h3 id="s-journal">2.6 Operative Journal<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-journal')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
425 <p>Shift-based logbook organised by shift, unit, and equipment type. Supports templates, attachments, and electronic signatures.</p>
Lana 12.2 426
Iaroslav Platonov 240.2 427 <h3 id="s-widgets">2.7 Widgets<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-widgets')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
428 <p>Configurable dashboard panels displaying KPIs, charts, or tag values. Personalised per user with drag-and-drop layout adjustment.</p>
Lana 12.2 429
Iaroslav Platonov 240.2 430 <h3 id="s-sound">2.8 Sound Alerts<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-sound')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
431 <p>Audible browser alerts for events matching configured conditions. Enabled per user in personal settings.</p>
Iaroslav Platonov 242.2 432 <div class="note note-warning">
433 <div class="note-hd"><span>⚠</span> Warning</div>
Iaroslav Platonov 240.2 434 <div class="note-body">Requires the browser tab to remain active. Backgrounded tabs may experience delayed alerts.</div>
435 </div>
Lana 12.2 436
Iaroslav Platonov 240.2 437 <h3 id="s-popup">2.9 Pop-up Messages<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-popup')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
438 <p>Critical events trigger pop-up banners, acknowledged by the operator and logged with timestamp and user ID.</p>
Lana 12.2 439
Iaroslav Platonov 240.2 440 <!-- Abbreviations -->
441 <h2 id="s-abbrev">Basic Abbreviations<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-abbrev')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
442 <table class="rn-table" style="max-width:480px">
443 <thead><tr><th style="width:80px">Abbr.</th><th>Meaning</th></tr></thead>
444 <tbody>
445 <tr><td><strong>IM</strong></td><td>Information Model</td></tr>
446 <tr><td><strong>PQA</strong></td><td>Power Quality Analyser</td></tr>
447 <tr><td><strong>SCADA</strong></td><td>Supervisory Control and Data Acquisition</td></tr>
448 <tr><td><strong>S2S</strong></td><td>Server-to-Server data exchange</td></tr>
449 <tr><td><strong>HA</strong></td><td>High Availability / Redundancy</td></tr>
450 </tbody>
451 </table>
Lana 3.2 452
Iaroslav Platonov 240.2 453 <!-- Status Codes -->
454 <h2 id="s-statuses">Reference: Status Codes<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-statuses')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
455 <h3 id="s-devstat">Table 2.1 — Device Statuses<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-devstat')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
456 <table class="rn-table" style="max-width:480px">
457 <thead><tr><th style="width:60px">Code</th><th>Status</th></tr></thead>
458 <tbody>
459 <tr><td><span class="sc">0</span></td><td>Disabled</td></tr>
460 <tr><td><span class="sc">1</span></td><td>Normal</td></tr>
461 <tr><td><span class="sc">2</span></td><td>Data in device with errors</td></tr>
462 <tr><td><span class="sc">3</span></td><td>Device unavailable</td></tr>
463 <tr><td><span class="sc">4</span></td><td>Manual input data present</td></tr>
464 <tr><td><span class="sc">9</span></td><td>Status not available</td></tr>
465 </tbody>
466 </table>
467 <h3 id="s-tagstat">Table 2.2 — Tag Statuses<a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-tagstat')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor" style="flex-shrink:0"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
468 <table class="rn-table" style="max-width:480px">
469 <thead><tr><th style="width:60px">Code</th><th>Status</th></tr></thead>
470 <tbody>
471 <tr><td><span class="sc">0</span></td><td>Disabled</td></tr>
472 <tr><td><span class="sc">1</span></td><td>Normal</td></tr>
473 <tr><td><span class="sc">2</span></td><td>Processing error</td></tr>
474 <tr><td><span class="sc">3</span></td><td>Receiving error</td></tr>
475 <tr><td><span class="sc">4</span></td><td>Manual input of tag value</td></tr>
476 <tr><td><span class="sc">5</span></td><td>Manual input in arguments</td></tr>
477 <tr><td><span class="sc">6</span></td><td>Disabled device or protocol</td></tr>
478 <tr><td><span class="sc">8</span></td><td>Bad tag quality</td></tr>
479 <tr><td><span class="sc">9</span></td><td>Status unknown</td></tr>
480 </tbody>
481 </table>
Lana 13.2 482
Iaroslav Platonov 240.2 483 </div><!-- /doc-content -->
Lana 13.2 484
Iaroslav Platonov 240.2 485 <!-- ── TOC right — Oracle style ── -->
486 <nav class="doc-toc">
487 <div class="toc-header">
488 <strong>On This Page</strong>
489 <button class="toc-toggle" id="toc-tog" title="Collapse">«</button>
490 </div>
491 <ul id="toc-list">
492 <li class="tl1"><a href="#s-login" data-toc>1. System Login</a></li>
493 <li class="tl1"><a href="#s-ui" data-toc>2. User Interface</a></li>
494 <li class="tl2"><a href="#s-menu" data-toc>2.1 Main Menu</a></li>
495 <li class="tl2"><a href="#s-diagrams" data-toc>2.2 Diagrams</a></li>
496 <li class="tl3"><a href="#s-control" data-toc>2.2.1 Control</a></li>
497 <li class="tl2"><a href="#s-analysis" data-toc>2.3 Analysis</a></li>
498 <li class="tl3"><a href="#s-rtd" data-toc>2.3.1 Real-time data</a></li>
499 <li class="tl3"><a href="#s-metering" data-toc>2.3.2 Metering data</a></li>
500 <li class="tl3"><a href="#s-receipt" data-toc>2.3.3 Receipt form</a></li>
501 <li class="tl3"><a href="#s-diagnostic" data-toc>2.3.4 Device diagnostic</a></li>
502 <li class="tl2"><a href="#s-logs" data-toc>2.4 Logs</a></li>
503 <li class="tl3"><a href="#s-techevents" data-toc>2.4.1 Technology events</a></li>
504 <li class="tl3"><a href="#s-camcoders" data-toc>2.4.2 Camcoders</a></li>
505 <li class="tl3"><a href="#s-pq" data-toc>2.4.3 Power quality</a></li>
506 <li class="tl3"><a href="#s-waveforms" data-toc>2.4.4 Waveforms</a></li>
507 <li class="tl3"><a href="#s-devevents" data-toc>2.4.5 Device events</a></li>
508 <li class="tl3"><a href="#s-sysevents" data-toc>2.4.6 System events</a></li>
509 <li class="tl3"><a href="#s-comments" data-toc>2.4.7 Comments log</a></li>
510 <li class="tl3"><a href="#s-allevents" data-toc>2.4.8 All events</a></li>
511 <li class="tl3"><a href="#s-customlogs" data-toc>2.4.9 Custom logs</a></li>
512 <li class="tl2"><a href="#s-reports" data-toc>2.5 Reports</a></li>
513 <li class="tl3"><a href="#s-flexible" data-toc>2.5.1 Flexible reports</a></li>
514 <li class="tl3"><a href="#s-pqreports" data-toc>2.5.2 Power quality</a></li>
515 <li class="tl3"><a href="#s-shortcircuit" data-toc>2.5.3 Short circuit</a></li>
516 <li class="tl2"><a href="#s-journal" data-toc>2.6 Operative journal</a></li>
517 <li class="tl2"><a href="#s-widgets" data-toc>2.7 Widgets</a></li>
518 <li class="tl2"><a href="#s-sound" data-toc>2.8 Sound alerts</a></li>
519 <li class="tl2"><a href="#s-popup" data-toc>2.9 Pop-up messages</a></li>
520 <li class="tl1"><a href="#s-abbrev" data-toc>Abbreviations</a></li>
521 <li class="tl1"><a href="#s-statuses" data-toc>Status Codes</a></li>
522 </ul>
523 </nav>
Lana 13.2 524
Iaroslav Platonov 240.2 525 </div><!-- /doc-wrap -->
526 <script>
527 (function(){
528 var bar = document.getElementById('rn-prog');
529 var top = document.getElementById('rn-top');
530 window.addEventListener('scroll', function(){
531 var d = document.documentElement;
532 var pct = d.scrollTop / (d.scrollHeight - d.clientHeight);
533 bar.style.width = (pct*100)+'%';
534 d.scrollTop > 280 ? top.classList.add('on') : top.classList.remove('on');
535 }, {passive:true});
Lana 16.2 536
Iaroslav Platonov 240.2 537 /* TOC active via IntersectionObserver */
538 var links = Array.from(document.querySelectorAll('[data-toc]'));
539 var secs = links.map(function(a){
540 return {el: document.getElementById(a.getAttribute('href').slice(1)), a:a};
541 }).filter(function(s){return s.el;});
Lana 16.2 542
Iaroslav Platonov 240.2 543 var busy = false;
544 var obs = new IntersectionObserver(function(entries){
545 if (busy) return;
546 entries.forEach(function(e){
547 if (!e.isIntersecting) return;
548 var i = secs.findIndex(function(s){return s.el===e.target;});
549 if (i<0) return;
550 secs.forEach(function(s){s.a.classList.remove('toc-on');});
551 secs[i].a.classList.add('toc-on');
552 var toc = document.querySelector('.doc-toc');
553 var link = secs[i].a;
554 toc.scrollTop = link.offsetTop - toc.offsetTop - toc.clientHeight/2 + link.clientHeight/2;
555 });
556 }, {rootMargin:'-8% 0px -60% 0px', threshold:0});
557 secs.forEach(function(s){obs.observe(s.el);});
Lana 16.2 558
Iaroslav Platonov 240.2 559 links.forEach(function(a){
560 a.addEventListener('click', function(e){
561 var id = a.getAttribute('href').slice(1);
562 var el = document.getElementById(id);
563 if (!el) return;
564 e.preventDefault();
565 busy = true;
566 secs.forEach(function(s){s.a.classList.remove('toc-on');});
567 a.classList.add('toc-on');
568 el.scrollIntoView({behavior:'smooth',block:'start'});
569 setTimeout(function(){busy=false;}, 900);
570 });
571 });
Lana 16.2 572
Iaroslav Platonov 240.2 573 /* TOC collapse */
574 var tocList = document.getElementById('toc-list');
575 var togBtn = document.getElementById('toc-tog');
576 var collapsed = false;
577 togBtn && togBtn.addEventListener('click', function(){
578 collapsed = !collapsed;
579 tocList.style.display = collapsed ? 'none' : '';
580 togBtn.textContent = collapsed ? '»' : '«';
581 });
Lana 19.2 582
Iaroslav Platonov 240.2 583 /* Lightbox */
584 var lb = document.getElementById('rn-lb');
585 var lbI = document.getElementById('rn-lb-img');
586 var lbC = document.getElementById('rn-lb-cap');
587 window.openLightbox = function(img){
588 lbI.src = img.src; lbI.alt = img.alt; lbC.textContent = img.alt;
589 lb.classList.add('open'); document.body.style.overflow='hidden';
590 };
591 window.closeLightbox = function(){
592 lb.classList.remove('open'); document.body.style.overflow='';
593 };
594 lb.addEventListener('click', function(e){if(e.target===lb)closeLightbox();});
595 document.addEventListener('keydown', function(e){if(e.key==='Escape')closeLightbox();});
Lana 19.2 596
Iaroslav Platonov 240.2 597 /* Copy anchor */
598 var toast = document.getElementById('rn-toast');
599 var t;
600 window.copyAnchor = function(id){
601 var url = location.href.split('#')[0]+'#'+id;
602 if(navigator.clipboard) navigator.clipboard.writeText(url).catch(function(){});
603 else { var x=document.createElement('textarea');x.value=url;document.body.appendChild(x);x.select();document.execCommand('copy');document.body.removeChild(x); }
604 toast.classList.add('on');
605 clearTimeout(t);
606 t = setTimeout(function(){toast.classList.remove('on');}, 1600);
607 };
Lana 19.2 608
Iaroslav Platonov 240.2 609 /* ── Sticky TOC via JS ──
610 Uses position:absolute→fixed switch. No placeholder needed because
611 .doc-content has a fixed margin-right — content width never changes. */
612 (function(){
613 var toc = document.querySelector('.doc-toc');
614 var wrap = document.querySelector('.doc-wrap');
615 if (!toc || !wrap) return;
Lana 19.2 616
Iaroslav Platonov 240.2 617 var navbar = document.querySelector('.navbar, nav.navbar, #topBar, header');
618 var navH = navbar ? navbar.offsetHeight : 0;
619 var footer = document.querySelector('footer, .xwikifooter, #xwikifooter, .bottombar, .sticky-container');
Lana 19.2 620
Iaroslav Platonov 240.2 621 function update() {
622 var wr = wrap.getBoundingClientRect();
Lana 20.2 623
Iaroslav Platonov 240.2 624 if (wr.top <= navH) {
625 /* Doc-wrap has scrolled above navbar — fix the TOC */
626 var footerTop = footer ? footer.getBoundingClientRect().top : window.innerHeight;
627 var h = Math.max(0, Math.min(window.innerHeight, footerTop) - navH);
Lana 20.2 628
Iaroslav Platonov 240.2 629 toc.classList.add('is-fixed');
630 toc.style.top = navH + 'px';
631 toc.style.left = (wr.right - 200) + 'px'; /* right edge of wrap minus TOC width */
632 toc.style.height = h + 'px';
633 } else {
634 /* Still in natural position */
635 toc.classList.remove('is-fixed');
636 toc.style.top = toc.style.left = toc.style.height = '';
637 }
638 }
Lana 20.2 639
Iaroslav Platonov 240.2 640 requestAnimationFrame(function(){ requestAnimationFrame(function(){
641 update();
642 window.addEventListener('scroll', update, {passive:true});
643 window.addEventListener('resize', update, {passive:true});
644 }); });
645 })();
Iaroslav Platonov 242.1 646
647 /* ── Left panel navigation hints ── */
648 (function(){
649 var hints = {
650 'Preface': 'Introduction to CENTO Software documentation',
651 '1. User Manual': 'Web interface guide — login, diagrams, analysis, logs, reports',
652 '2. Setup Manual': 'System configuration and setup for administrators',
653 '3. Metering Channels': 'Metering channel configuration and data collection setup',
654 '4. Structure and Modules Description': 'CENTO system architecture and module overview',
655 '5. Diagrams Development Manual': 'Creating and configuring SCADA mimic diagrams',
656 '6. Flexible Reports Guide': 'Building configurable tabular reports from metering data',
657 '7. Events Setup': 'Configuring event rules, thresholds, and notifications',
658 '8. Control Setup Manual': 'Setting up remote control and switching operations',
659 'Network Diagram (CLOUD)': 'CENTO deployment topology for cloud installations',
660 'Network Diagram (On-Prem)': 'CENTO deployment topology for on-premises installations',
661 'Server Configuration Example': 'Reference server setup and configuration example',
662 'Technical Requirements': 'Hardware and software requirements for CENTO deployment',
663 'DEMO server': 'Access the live CENTO demo environment',
664 'Release Notes': 'Changelog and version history for the CENTO platform',
665 };
666 document.querySelectorAll('#leftPanels a').forEach(function(a){
667 var text = a.textContent.trim();
668 var hint = hints[text] || hints[text.replace(/^\d+\.\s*/, '')];
669 if (hint) a.setAttribute('data-hint', hint);
670 });
671 })();
Iaroslav Platonov 240.2 672 })();
673 </script>
674 {{/html}}