Wiki source code of 2. Setup Manual

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

Hide last authors
Iaroslav Platonov 182.1 1 {{html clean="false"}}
2 <style>
Iaroslav Platonov 183.1 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 182.1 11 /* ── Reading progress bar ── */
Iaroslav Platonov 183.1 12 #rn-prog { position:fixed;top:0;left:0;height:3px;width:0;ground:#005AB4;z-index:9999;pointer-events:none; }
Lana 1.1 13
Iaroslav Platonov 182.1 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 }
Lana 152.2 22
Iaroslav Platonov 182.1 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; }
Lana 181.1 42
Iaroslav Platonov 182.1 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; }
Lana 152.2 52
Iaroslav Platonov 182.1 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; }
Lana 10.2 57
Iaroslav Platonov 182.1 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; }
Lana 10.2 68
Iaroslav Platonov 182.1 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; }
Lana 9.2 74
Iaroslav Platonov 182.1 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; }
Lana 10.2 78
Iaroslav Platonov 182.1 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; }
Lana 12.1 89
Iaroslav Platonov 182.1 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; }
Lana 12.1 95
Iaroslav Platonov 182.1 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; }
Lana 15.2 103
Iaroslav Platonov 182.1 104 /* ── Back to top ── */
Iaroslav Platonov 183.1 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 182.1 106 #rn-top.on { opacity:1;transform:translateY(0);pointer-events:auto; }
107 #rn-top:hover { background:#0066cc; }
Lana 15.2 108
Iaroslav Platonov 182.1 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; }
Lana 15.2 112
Iaroslav Platonov 182.1 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>
Lana 15.2 121
Iaroslav Platonov 182.1 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 45.2 134
Iaroslav Platonov 182.1 135 <div class="doc-wrap">
136 <div class="doc-content">
Lana 18.2 137
Iaroslav Platonov 182.1 138 <ul class="section-index">
139 <li><a href="#s-intro">1. Introduction</a>
140 <p>CENTO platform overview; devices, tags, channels setup; protocol and calculation tag configuration.</p></li>
141 <li><a href="#s-excel">2. Configuring CENTO via Excel</a>
142 <p>Bulk configuration of devices and channels using Excel import files.</p></li>
143 <li><a href="#s-events">3. Events</a>
144 <p>Setting up event rules, thresholds, and automated notifications.</p></li>
145 <li><a href="#s-mnemonics">4. Mnemonics</a>
146 <p>Creating and configuring SCADA mimic diagrams.</p></li>
147 <li><a href="#s-infomodel">5. Information Model</a>
148 <p>Defining the object hierarchy and tag bindings for the information model.</p></li>
149 <li><a href="#s-settings">6. System Settings</a>
150 <p>Global system configuration: users, access rights, server parameters.</p></li>
151 <li><a href="#s-transfer">7. Transfer Kits</a>
152 <p>Configuring data transfer sets between CENTO servers.</p></li>
153 <li><a href="#s-lighting">8. Lighting Control</a>
154 <p>Setting up automated lighting control via tag-based conditions.</p></li>
155 <li><a href="#s-tooling">9. Tooling</a>
156 <p>Utility tools for system diagnostics and maintenance.</p></li>
157 <li><a href="#s-other">10. Other Settings in Interfaces</a>
158 <p>Additional configuration for real-time data analysis, metering analysis, and logs.</p></li>
159 <li><a href="#s-abbrev">11. Basic Concepts and Abbreviations</a>
160 <p>Glossary of terms and abbreviations used throughout this manual.</p></li>
161 </ul>
Lana 18.2 162
Iaroslav Platonov 182.1 163 <!-- ═══ 1. INTRODUCTION ═══ -->
164 <h2 id="s-intro">1. Introduction <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-intro')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
165 <p>CENTO is a multifunctional software platform for data collection, processing, and display. It can be used to build various automated systems: dispatching, control, accounting, diagnostics, and more.</p>
166 <p>This guide describes the general steps for setting up CENTO software, as well as links to other relevant instructions.</p>
Lana 18.2 167
Iaroslav Platonov 182.1 168 <h3 id="s-devices">1.1 Devices, Tags, Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-devices')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
169 <p>Configuration is performed from the <strong>Settings</strong> drop-down menu at the top of the CENTO graphical interface.</p>
170 <div class="fig">
171 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/1762536204394-536.png" alt="Fig. 2.1 – Settings drop-down menu" style="max-width:360px;" onclick="openLightbox(this)"/>
172 <p class="fig-cap">Fig. 2.1 – Settings drop-down menu</p>
173 </div>
Lana 18.2 174
Iaroslav Platonov 182.1 175 <h4 id="s-devicetree">1.1.1 Creating a Device Tree <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-devicetree')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
176 <p>Configuration begins with creating a tree of devices (information sources). The device tree reflects either the physical structure of the facility or the logical grouping convenient for further work.</p>
177 <p>Go to <strong>Settings → Devices, tags, channels</strong> to configure the structure.</p>
178 <div class="fig">
179 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.07.38.png" alt="Fig. 2.2 – Devices, Tags, Channels Page" style="max-width:100%;" onclick="openLightbox(this)"/>
180 <p class="fig-cap">Fig. 2.2 – Devices, Tags, Channels Page</p>
181 </div>
182 <p>By default, CENTO has a <em>Root Object</em> preset. Under the root object you can specify the name of a company or a separate facility. To rename a tree element, hover over it and use the edit icon.</p>
183 <div class="fig">
184 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.06.44.png" alt="Fig. 2.3 – Editing an object" style="max-width:480px;" onclick="openLightbox(this)"/>
185 <p class="fig-cap">Fig. 2.3 – Editing an object</p>
186 </div>
187 <div class="note note-warning">
188 <div class="note-hd"><span>⚠</span> Warning</div>
189 <div class="note-body">There must be no attached devices in a facility object before it can be deleted.</div>
190 </div>
191 <p>The sequence and nesting of objects can be adjusted by dragging objects while holding the left mouse button.</p>
192 <div class="fig">
193 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.05.39.png" alt="Fig. 2.4 – Dragging a New Object Inside the Tree" style="max-width:100%;" onclick="openLightbox(this)"/>
194 <p class="fig-cap">Fig. 2.4 – Dragging a New Object Inside the Tree</p>
195 </div>
196 <div class="fig">
197 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.05.00.png" alt="Fig. 2.5 – Dragging a New Object Inside the Tree" style="max-width:100%;" onclick="openLightbox(this)"/>
198 <p class="fig-cap">Fig. 2.5 – Dragging a New Object Inside the Tree</p>
199 </div>
200 <div class="note note-tip">
201 <div class="note-hd"><span>✔</span> Tip</div>
202 <div class="note-body">Adding and configuring facilities is also possible through Excel files. See Section 2 — Configuring CENTO via Excel.</div>
203 </div>
Lana 18.2 204
Iaroslav Platonov 182.1 205 <h4 id="s-createdevices">1.1.2 Creating Devices <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-createdevices')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
206 <p>Create or edit devices (information sources) on the <strong>Settings → Devices, tags, channels</strong> page.</p>
207 <div class="fig">
208 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.04.03.png" alt="Fig. 2.6 – Devices Page" style="max-width:100%;" onclick="openLightbox(this)"/>
209 <p class="fig-cap">Fig. 2.6 – Devices Page</p>
210 </div>
211 <p>On this page you can: add, edit, copy, and delete devices; download or upload device configuration to an Excel file.</p>
212 <p>Click the <strong>Create a device</strong> button to open the device creation form.</p>
213 <div class="fig">
214 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.02.13.png" alt="Fig. 2.7 – Device Creation Page" style="max-width:100%;" onclick="openLightbox(this)"/>
215 <p class="fig-cap">Fig. 2.7 – Device Creation Page</p>
216 </div>
217 <p>To edit an existing device, click its name on the Devices page.</p>
218 <div class="fig">
219 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.01.08.png" alt="Fig. 2.8 – Device Editing Page" style="max-width:100%;" onclick="openLightbox(this)"/>
220 <p class="fig-cap">Fig. 2.8 – Device Editing Page</p>
221 </div>
222 <p>The <strong>General settings</strong> block contains fields common to all devices: name, template, identification number, IP address, serial number, associated object, notes, and information model binding.</p>
223 <p>To replace an existing device while preserving metering data, use the <strong>Replace device</strong> function.</p>
224 <div class="fig">
225 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.34.00.png" alt="Fig. 2.9 – Window: Replacement of the metering device" style="max-width:100%;" onclick="openLightbox(this)"/>
226 <p class="fig-cap">Fig. 2.9 – Window: Replacement of the metering device</p>
227 </div>
228 <p>After filling in the required fields, click <strong>Save</strong>, then apply changes with the <strong>Update Configuration</strong> button.</p>
Lana 18.2 229
Iaroslav Platonov 182.1 230 <h4 id="s-tagsandchannels">1.1.3 Set Up Tags and Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-tagsandchannels')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
231 <p>Tags and accounting channels are configured on the same <strong>Devices, tags, channels</strong> page. Tags represent individual data points read from devices; channels aggregate tag values for metering purposes.</p>
232 <div class="fig">
233 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.38.04.png" alt="Fig. 2.10 – Tags and Channels Page" style="max-width:100%;" onclick="openLightbox(this)"/>
234 <p class="fig-cap">Fig. 2.10 – Tags and Channels Page</p>
235 </div>
Lana 23.2 236
Iaroslav Platonov 182.1 237 <h4 id="s-protocoltag">1.1.3.1 Adding a Protocol Tag <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-protocoltag')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
238 <p>A protocol tag reads a value directly from a device via its communication protocol (Modbus, IEC 60870-5-104, IEC 61850, etc.). To add a protocol tag, select the device in the tree and click <strong>Add tag → Protocol tag</strong>.</p>
239 <div class="fig">
240 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.42.20.png" alt="Fig. 2.11 – Adding a protocol tag" style="max-width:100%;" onclick="openLightbox(this)"/>
241 <p class="fig-cap">Fig. 2.11 – Adding a protocol tag</p>
242 </div>
243 <div class="fig">
244 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.43.37.png" alt="Fig. 2.12 – Protocol tag parameters" style="max-width:100%;" onclick="openLightbox(this)"/>
245 <p class="fig-cap">Fig. 2.12 – Protocol tag parameters</p>
246 </div>
Lana 23.2 247
Iaroslav Platonov 182.1 248 <h4 id="s-calctag">1.1.3.2 Add a Calculation Tag <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calctag')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
249 <p>A calculation tag derives its value from a formula applied to other tags. Select the device and click <strong>Add tag → Calculation tag</strong>, then define the formula expression.</p>
250 <div class="fig">
251 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.44.12.png" alt="Fig. 2.13 – Calculation tag setup" style="max-width:100%;" onclick="openLightbox(this)"/>
252 <p class="fig-cap">Fig. 2.13 – Calculation tag setup</p>
253 </div>
Lana 23.2 254
Iaroslav Platonov 182.1 255 <h4 id="s-calcformulas">1.1.3.3 Setting Up Calculation Formulas <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calcformulas')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
256 <p>Formulas use standard mathematical and logical operators, and can reference other tags by their code. The formula verification window shows the argument code, current value, and status for debugging.</p>
257 <div class="fig">
258 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.45.47.png" alt="Fig. 2.14 – Formula verification" style="max-width:100%;" onclick="openLightbox(this)"/>
259 <p class="fig-cap">Fig. 2.14 – Formula verification</p>
260 </div>
Lana 23.2 261
Iaroslav Platonov 182.1 262 <h4 id="s-calcchannels">1.1.3.4 Configuring Calculation Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calcchannels')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
263 <p>Calculation channels aggregate tag values over time intervals (hourly, daily, monthly). They are used for metering data analysis and reports. Configure them on the <strong>Metering channels</strong> sub-tab of the Devices page.</p>
264 <div class="fig">
265 <img src="/xwiki/bin/download/CENTO%20Manuals/Setup%20Guide/WebHome/Screenshot%202025-11-09%20at%2020.47.06.png" alt="Fig. 2.15 – Calculation channel configuration" style="max-width:100%;" onclick="openLightbox(this)"/>
266 <p class="fig-cap">Fig. 2.15 – Calculation channel configuration</p>
267 </div>
Lana 23.2 268
Iaroslav Platonov 182.1 269 <!-- ═══ 2. EXCEL ═══ -->
270 <h2 id="s-excel">2. Configuring CENTO via Excel <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-excel')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
271 <p>CENTO supports bulk configuration import and export via Excel files. This covers devices, tags, channels, information model objects, and other settings. Use <strong>Settings → Import/Export</strong> to upload or download configuration workbooks.</p>
272 <div class="note note-info">
273 <div class="note-hd"><span>ℹ</span> Note</div>
274 <div class="note-body">Excel import is the recommended approach for large deployments with many devices. Always validate the Excel template version before importing.</div>
275 </div>
Lana 29.2 276
Iaroslav Platonov 182.1 277 <!-- ═══ 3. EVENTS ═══ -->
278 <h2 id="s-events">3. Events <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-events')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
279 <p>Events are triggered when tag values cross defined thresholds or match configured conditions. Go to <strong>Settings → Events</strong> to define event rules, priorities, and associated notifications or control actions.</p>
280 <p>See the <strong>Events Setup</strong> manual for detailed configuration steps.</p>
Lana 29.2 281
Iaroslav Platonov 182.1 282 <!-- ═══ 4. MNEMONICS ═══ -->
283 <h2 id="s-mnemonics">4. Mnemonics <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-mnemonics')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
284 <p>Mnemonic diagrams (SCADA screens) are interactive visual representations of equipment state. They are created and configured in the <strong>Settings → Diagrams</strong> section.</p>
285 <p>See the <strong>Diagrams Development Manual</strong> for detailed instructions.</p>
Lana 29.2 286
Iaroslav Platonov 182.1 287 <!-- ═══ 5. INFORMATION MODEL ═══ -->
288 <h2 id="s-infomodel">5. Information Model <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-infomodel')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
289 <p>The Information Model defines the hierarchy of facilities, systems, and equipment objects, and links them to devices and tags. Configure it under <strong>Settings → Information Model</strong>.</p>
290 <p>See the <strong>Structure and Modules Description</strong> manual for architecture details.</p>
Lana 29.2 291
Iaroslav Platonov 182.1 292 <!-- ═══ 6. SYSTEM SETTINGS ═══ -->
293 <h2 id="s-settings">6. System Settings <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-settings')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
294 <p>Global system parameters including user accounts, access rights, server connection settings, and license management are configured under <strong>Settings → System Settings</strong>.</p>
Lana 31.2 295
Iaroslav Platonov 182.1 296 <!-- ═══ 7. TRANSFER KITS ═══ -->
297 <h2 id="s-transfer">7. Transfer Kits <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-transfer')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
298 <p>Transfer kits (transmission sets) define packages of tag data to be sent from one CENTO server to another via the S2S (Server-to-Server) protocol. Configure under <strong>Settings → Transfer kits</strong>.</p>
Lana 31.2 299
Iaroslav Platonov 182.1 300 <!-- ═══ 8. LIGHTING CONTROL ═══ -->
301 <h2 id="s-lighting">8. Lighting Control <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-lighting')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
302 <p>Automated lighting control allows switching lighting circuits based on tag states or schedules. Configured via <strong>Settings → Lighting control</strong> using IEC 60870-5-104 remote control commands.</p>
303 <div class="note note-warning">
304 <div class="note-hd"><span>⚠</span> Warning</div>
305 <div class="note-body">Lighting control requires the appropriate IEC-104 control configuration on the connected device. Confirm correct tag binding before enabling automated switching.</div>
306 </div>
Lana 31.2 307
Iaroslav Platonov 182.1 308 <!-- ═══ 9. TOOLING ═══ -->
309 <h2 id="s-tooling">9. Tooling <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-tooling')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
310 <p>Tooling utilities provide diagnostic and maintenance capabilities: protocol web logs, VKT-7 device configuration output, and system information panels. Accessible from <strong>Settings → Tooling</strong>.</p>
Lana 31.2 311
Iaroslav Platonov 182.1 312 <!-- ═══ 10. OTHER SETTINGS ═══ -->
313 <h2 id="s-other">10. Other Settings in Interfaces <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-other')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
Lana 31.2 314
Iaroslav Platonov 182.1 315 <h3 id="s-rtd-settings">10.1 Analysis of Real-Time Data <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-rtd-settings')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
316 <p>Column visibility, tag display order, chart defaults, and aggregation presets for the real-time data analysis interface can be configured per user in <strong>Analysis → Real-time data → Settings</strong>.</p>
Lana 40.2 317
Iaroslav Platonov 182.1 318 <h3 id="s-metering-settings">10.2 Analysis of Metering Data <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-metering-settings')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
319 <p>Report period defaults, channel display options, and Excel export format settings are available in <strong>Analysis → Metering data → Settings</strong>.</p>
Lana 42.2 320
Iaroslav Platonov 182.1 321 <h3 id="s-logs-settings">10.3 Logs <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-logs-settings')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><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>
322 <p>Custom log views — combining specific event types, devices, and filter criteria — are created per user in <strong>Logs → Custom logs</strong>. Column width and sort preferences are saved automatically.</p>
Lana 40.2 323
Iaroslav Platonov 182.1 324 <!-- ═══ 11. ABBREVIATIONS ═══ -->
325 <h2 id="s-abbrev">11. Basic Concepts and 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"><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>
326 <table class="rn-table" style="max-width:560px">
327 <thead><tr><th style="width:120px">Term</th><th>Definition</th></tr></thead>
328 <tbody>
329 <tr><td><strong>Tag</strong></td><td>A named data point read from a device or computed by a formula.</td></tr>
330 <tr><td><strong>Channel</strong></td><td>A metering channel that aggregates tag values over time intervals.</td></tr>
331 <tr><td><strong>Device</strong></td><td>A physical or virtual information source connected to CENTO via a protocol.</td></tr>
332 <tr><td><strong>IM</strong></td><td>Information Model — the hierarchy of facility objects linked to devices and tags.</td></tr>
333 <tr><td><strong>S2S</strong></td><td>Server-to-Server — data exchange protocol between CENTO instances.</td></tr>
334 <tr><td><strong>RMB</strong></td><td>Right Mouse Button — used for context menus throughout the interface.</td></tr>
335 <tr><td><strong>IEC 104</strong></td><td>IEC 60870-5-104 — communication protocol for remote terminal units.</td></tr>
336 <tr><td><strong>Modbus</strong></td><td>Standard serial communication protocol for connecting devices.</td></tr>
337 </tbody>
338 </table>
Lana 40.2 339
Iaroslav Platonov 182.1 340 <div class="parent-topic">Parent topic: <a href="[[CENTO Manuals>>doc:CENTO Manuals.WebHome]]">CENTO Manuals</a></div>
Lana 41.2 341
Iaroslav Platonov 182.1 342 </div><!-- /doc-content -->
Lana 41.2 343
Iaroslav Platonov 182.1 344 <!-- ── RIGHT TOC ── -->
345 <nav class="doc-toc">
346 <div class="toc-header">
347 <strong>On This Page</strong>
348 <button class="toc-toggle" id="toc-tog" title="Collapse">«</button>
349 </div>
350 <ul id="toc-list">
351 <li class="tl1"><a href="#s-intro" data-toc>1. Introduction</a></li>
352 <li class="tl2"><a href="#s-devices" data-toc>1.1 Devices, Tags, Channels</a></li>
353 <li class="tl3"><a href="#s-devicetree" data-toc>1.1.1 Device tree</a></li>
354 <li class="tl3"><a href="#s-createdevices" data-toc>1.1.2 Creating devices</a></li>
355 <li class="tl3"><a href="#s-tagsandchannels" data-toc>1.1.3 Tags and channels</a></li>
356 <li class="tl3"><a href="#s-protocoltag" data-toc>1.1.3.1 Protocol tag</a></li>
357 <li class="tl3"><a href="#s-calctag" data-toc>1.1.3.2 Calculation tag</a></li>
358 <li class="tl3"><a href="#s-calcformulas" data-toc>1.1.3.3 Formulas</a></li>
359 <li class="tl3"><a href="#s-calcchannels" data-toc>1.1.3.4 Calc. channels</a></li>
360 <li class="tl1"><a href="#s-excel" data-toc>2. Configuring via Excel</a></li>
361 <li class="tl1"><a href="#s-events" data-toc>3. Events</a></li>
362 <li class="tl1"><a href="#s-mnemonics" data-toc>4. Mnemonics</a></li>
363 <li class="tl1"><a href="#s-infomodel" data-toc>5. Information Model</a></li>
364 <li class="tl1"><a href="#s-settings" data-toc>6. System Settings</a></li>
365 <li class="tl1"><a href="#s-transfer" data-toc>7. Transfer Kits</a></li>
366 <li class="tl1"><a href="#s-lighting" data-toc>8. Lighting Control</a></li>
367 <li class="tl1"><a href="#s-tooling" data-toc>9. Tooling</a></li>
368 <li class="tl1"><a href="#s-other" data-toc>10. Other Settings</a></li>
369 <li class="tl2"><a href="#s-rtd-settings" data-toc>10.1 Real-time data</a></li>
370 <li class="tl2"><a href="#s-metering-settings" data-toc>10.2 Metering data</a></li>
371 <li class="tl2"><a href="#s-logs-settings" data-toc>10.3 Logs</a></li>
372 <li class="tl1"><a href="#s-abbrev" data-toc>11. Abbreviations</a></li>
373 </ul>
374 </nav>
Lana 48.2 375
Iaroslav Platonov 182.1 376 </div><!-- /doc-wrap -->
377 <script>
Lana 48.2 378
Iaroslav Platonov 182.1 379 (function(){
380 var bar = document.getElementById('rn-prog');
381 var top = document.getElementById('rn-top');
382 window.addEventListener('scroll', function(){
383 var d = document.documentElement;
384 var pct = d.scrollTop / (d.scrollHeight - d.clientHeight);
385 bar.style.width = (pct*100)+'%';
386 d.scrollTop > 280 ? top.classList.add('on') : top.classList.remove('on');
387 }, {passive:true});
Lana 48.2 388
Iaroslav Platonov 182.1 389 /* TOC active via IntersectionObserver */
390 var links = Array.from(document.querySelectorAll('[data-toc]'));
391 var secs = links.map(function(a){
392 return {el: document.getElementById(a.getAttribute('href').slice(1)), a:a};
393 }).filter(function(s){return s.el;});
Lana 48.2 394
Iaroslav Platonov 182.1 395 var busy = false;
396 var obs = new IntersectionObserver(function(entries){
397 if (busy) return;
398 entries.forEach(function(e){
399 if (!e.isIntersecting) return;
400 var i = secs.findIndex(function(s){return s.el===e.target;});
401 if (i<0) return;
402 secs.forEach(function(s){s.a.classList.remove('toc-on');});
403 secs[i].a.classList.add('toc-on');
404 var toc = document.querySelector('.doc-toc');
405 var link = secs[i].a;
406 toc.scrollTop = link.offsetTop - toc.offsetTop - toc.clientHeight/2 + link.clientHeight/2;
407 });
408 }, {rootMargin:'-8% 0px -60% 0px', threshold:0});
409 secs.forEach(function(s){obs.observe(s.el);});
Lana 60.1 410
Iaroslav Platonov 182.1 411 links.forEach(function(a){
412 a.addEventListener('click', function(e){
413 var id = a.getAttribute('href').slice(1);
414 var el = document.getElementById(id);
415 if (!el) return;
416 e.preventDefault();
417 busy = true;
418 secs.forEach(function(s){s.a.classList.remove('toc-on');});
419 a.classList.add('toc-on');
420 el.scrollIntoView({behavior:'smooth',block:'start'});
421 setTimeout(function(){busy=false;}, 900);
422 });
423 });
Lana 60.1 424
Iaroslav Platonov 182.1 425 /* TOC collapse */
426 var tocList = document.getElementById('toc-list');
427 var togBtn = document.getElementById('toc-tog');
428 var collapsed = false;
429 togBtn && togBtn.addEventListener('click', function(){
430 collapsed = !collapsed;
431 tocList.style.display = collapsed ? 'none' : '';
432 togBtn.textContent = collapsed ? '»' : '«';
433 });
Lana 60.1 434
Iaroslav Platonov 182.1 435 /* Lightbox */
436 var lb = document.getElementById('rn-lb');
437 var lbI = document.getElementById('rn-lb-img');
438 var lbC = document.getElementById('rn-lb-cap');
439 window.openLightbox = function(img){
440 lbI.src = img.src; lbI.alt = img.alt; lbC.textContent = img.alt;
441 lb.classList.add('open'); document.body.style.overflow='hidden';
442 };
443 window.closeLightbox = function(){
444 lb.classList.remove('open'); document.body.style.overflow='';
445 };
446 lb.addEventListener('click', function(e){if(e.target===lb)closeLightbox();});
447 document.addEventListener('keydown', function(e){if(e.key==='Escape')closeLightbox();});
Lana 60.1 448
Iaroslav Platonov 182.1 449 /* Copy anchor */
450 var toast = document.getElementById('rn-toast');
451 var t;
452 window.copyAnchor = function(id){
453 var url = location.href.split('#')[0]+'#'+id;
454 if(navigator.clipboard) navigator.clipboard.writeText(url).catch(function(){});
455 else { var x=document.createElement('textarea');x.value=url;document.body.appendChild(x);x.select();document.execCommand('copy');document.body.removeChild(x); }
456 toast.classList.add('on');
457 clearTimeout(t);
458 t = setTimeout(function(){toast.classList.remove('on');}, 1600);
459 };
Lana 60.1 460
Iaroslav Platonov 182.1 461 /* ── Sticky TOC via JS ──
462 Uses position:absolute→fixed switch. No placeholder needed because
463 .doc-content has a fixed margin-right — content width never changes. */
464 (function(){
465 var toc = document.querySelector('.doc-toc');
466 var wrap = document.querySelector('.doc-wrap');
467 if (!toc || !wrap) return;
Lana 60.1 468
Iaroslav Platonov 182.1 469 var navbar = document.querySelector('.navbar, nav.navbar, #topBar, header');
470 var navH = navbar ? navbar.offsetHeight : 0;
471 var footer = document.querySelector('footer, .xwikifooter, #xwikifooter, .bottombar, .sticky-container');
Lana 60.1 472
Iaroslav Platonov 182.1 473 function update() {
474 var wr = wrap.getBoundingClientRect();
Lana 60.1 475
Iaroslav Platonov 182.1 476 if (wr.top <= navH) {
477 /* Doc-wrap has scrolled above navbar — fix the TOC */
478 var footerTop = footer ? footer.getBoundingClientRect().top : window.innerHeight;
479 var h = Math.max(0, Math.min(window.innerHeight, footerTop) - navH);
Lana 60.1 480
Iaroslav Platonov 182.1 481 toc.classList.add('is-fixed');
482 toc.style.top = navH + 'px';
483 toc.style.left = (wr.right - 200) + 'px'; /* right edge of wrap minus TOC width */
484 toc.style.height = h + 'px';
485 } else {
486 /* Still in natural position */
487 toc.classList.remove('is-fixed');
488 toc.style.top = toc.style.left = toc.style.height = '';
489 }
490 }
Lana 60.1 491
Iaroslav Platonov 182.1 492 requestAnimationFrame(function(){ requestAnimationFrame(function(){
493 update();
494 window.addEventListener('scroll', update, {passive:true});
495 window.addEventListener('resize', update, {passive:true});
496 }); });
497 })();
Lana 60.1 498
Iaroslav Platonov 182.1 499 /* ── Left panel navigation hints ── */
500 (function(){
501 var hints = {
502 'Preface': 'Introduction to CENTO Software documentation',
503 '1. User Manual': 'Web interface guide — login, diagrams, analysis, logs, reports',
504 '2. Setup Manual': 'System configuration and setup for administrators',
505 '3. Metering Channels': 'Metering channel configuration and data collection setup',
506 '4. Structure and Modules Description': 'CENTO system architecture and module overview',
507 '5. Diagrams Development Manual': 'Creating and configuring SCADA mimic diagrams',
508 '6. Flexible Reports Guide': 'Building configurable tabular reports from metering data',
509 '7. Events Setup': 'Configuring event rules, thresholds, and notifications',
510 '8. Control Setup Manual': 'Setting up remote control and switching operations',
511 'Network Diagram (CLOUD)': 'CENTO deployment topology for cloud installations',
512 'Network Diagram (On-Prem)': 'CENTO deployment topology for on-premises installations',
513 'Server Configuration Example': 'Reference server setup and configuration example',
514 'Technical Requirements': 'Hardware and software requirements for CENTO deployment',
515 'DEMO server': 'Access the live CENTO demo environment',
516 'Release Notes': 'Changelog and version history for the CENTO platform',
517 };
518 document.querySelectorAll('#leftPanels a').forEach(function(a){
519 var text = a.textContent.trim();
520 var hint = hints[text] || hints[text.replace(/^\d+\.\s*/, '')];
521 if (hint) a.setAttribute('data-hint', hint);
522 });
523 })();
524 })();
Lana 60.1 525
Iaroslav Platonov 182.1 526 </script>
527 {{/html}}