Wiki source code of 8. Control Setup Manual
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = CONTENT = | ||
| 2 | |||
| 3 | = 1. INTRODUCTION = | ||
| 4 | |||
| 5 | CENTO is a multifunctional software platform for data acquisition, processing and display. This manual describes how to configure the CENTO user tool Control. | ||
| 6 | |||
| 7 | It is assumed that the user, having read the "User manual", is already familiar with the basic elements of the CENTO interface. | ||
| 8 | |||
| 9 | This manual describes how to configure the Control service, which is used to send control commands to the objects being controlled. | ||
| 10 | |||
| 11 | = 2. CONTROL USING WEB INTERFACE = | ||
| 12 | |||
| 13 | == 2.1. Control using the device, tags editor == | ||
| 14 | |||
| 15 | A user with the appropriate permissions can control the object using the devices, tags, channels editor. | ||
| 16 | |||
| 17 | By default, for security reasons, in CENTO software, the Administrator role is not authorized for remote control and control operations, and the Dispatcher role does not have access to the devices, tags, and channels editor. To enable control and remote control using the editor, configure a custom role. For example, duplicate the Dispatcher role and assign it the necessary permissions to access and use the editor. | ||
| 18 | |||
| 19 | To control the device, navigate to the **Tags, channels** tab on the **Devices, tags, channels** page accessible in the menu: Settings > Devices, tags, channels. In the tree structure, locate the device whose parameters are to be controlled. All the tags with preconfigured control functionality will display either a **C** button (see Fig. 2.1) or a **TC** button (see Fig. 2.2) in the **Control** column. | ||
| 20 | |||
| 21 | **C** is an abbreviation for //Control//. **TC** is an abbreviation for Remote //control.// In CENTO software, //Control// refers to sending a non-negative integer value to a device, while Remote //control //refers to sending a discrete signal. | ||
| 22 | |||
| 23 | [[image:Screenshot 2025-12-17 at 16.28.40.png]] | ||
| 24 | |||
| 25 | Figure 2.1. Tags with remote control enabled | ||
| 26 | |||
| 27 | [[image:Screenshot 2025-12-17 at 16.29.26.png]] | ||
| 28 | |||
| 29 | Figure 2.2. Tags with control and remote control enabled | ||
| 30 | |||
| 31 | Clicking **C** opens a pop-up window prompting the user to enter a password to access the control function (see Fig. 2.3). | ||
| 32 | |||
| 33 | [[image:Screenshot 2025-12-17 at 16.30.01.png]] | ||
| 34 | |||
| 35 | Figure 2.3. Entering password | ||
| 36 | |||
| 37 | To proceed, enter the account password. After successful authentication, a modal window appears allowing to specify the value to be written to the device (see Fig. 2.4). | ||
| 38 | |||
| 39 | [[image:Screenshot 2025-12-17 at 16.31.55.png]] | ||
| 40 | |||
| 41 | Figure 2.4. Entering value for control | ||
| 42 | |||
| 43 | After entering the value in the field, click **Send** (see Fig. 2.4). | ||
| 44 | |||
| 45 | Next, confirm the entered value by clicking **Execute** to initiate the control command and write the value to the device. Alternatively, click **Cancel,** to cancel the operation (see Fig. 2.5). | ||
| 46 | |||
| 47 | [[image:Screenshot 2025-12-17 at 16.32.27.png]] | ||
| 48 | |||
| 49 | Figure 2.5. Confirmation of the command to write a value | ||
| 50 | |||
| 51 | Clicking **TC** also opens a password prompt window. After successful authentication, a command selection window appears (see Fig. 2.6). As with the Control, a confirmation window follows the selected command. | ||
| 52 | |||
| 53 | [[image:Screenshot 2025-12-17 at 16.33.06.png]] | ||
| 54 | |||
| 55 | Figure 2.6. Selecting command for remote control | ||
| 56 | |||
| 57 | = 3. SETTING CONTROL = | ||
| 58 | |||
| 59 | == 3.1. Setting using WEB interface == | ||
| 60 | |||
| 61 | Setting control for tags transmitted via Modbus, OPC DA, or IEC-104 protocols is performed through the **Edit parameter** interface located under Settings > Devices, tags, channels, in the **Tags, channels** tab. In this interface, select the target device in the device tree by checking the box next to it. The device should be configured with one of the supported protocols: Modbus TCP, Modbus RTU over TCP, OPC DA, or IEC-104. To open the tag editing interface, click on the tag identifier or tag name in the general tag list. | ||
| 62 | |||
| 63 | The interface includes protocol-dependent fields: | ||
| 64 | |||
| 65 | - general settings described in the “Setup manual”, | ||
| 66 | |||
| 67 | - reading settings as defined in the relevant configuration manuals, | ||
| 68 | |||
| 69 | - settings for writing: | ||
| 70 | |||
| 71 | * Remote control (discrete signal transmission to the device) for IEC-104 protocol: "Remote control is allowed", "Select before operate (SBO)", "Function", "Command duration", "Switch on address", "Switch on value", "Switch off address", "Switch off value", for Modbus TCP protocol: "Remote control is allowed", "Function", "Value length", "Switch on address", "Switch on value", "Switch off value", "Switch off address", "Write by bitmask"; | ||
| 72 | * Control (transmission of a positive integer to the device) for Modbus TCP protocol: "Record values", "Function", "Data type in device", "Address", "Byte order", conversion elements: "Physical value (lower limit)", "Physical value (upper limit)", "Value to record (lower limit)", "Value to record (upper limit)", for OPC DA protocol: "Record values", "Device Tag Data Type", conversion elements: "Physical value (lower limit)", "Physical value (upper limit)", "Value to record (lower limit)", "Value to record (upper limit)". | ||
| 73 | |||
| 74 | 1) The remote //control// function is available for Modbus TCP Modbus RTU over TCP) protocols (see Fig. 3.1.1) and IEC 104 (see Fig. 3.1.2). | ||
| 75 | |||
| 76 | The position of the **Remote control is allowed **switch determines whether record commands can be sent to the device at the specified address. | ||
| 77 | |||
| 78 | The position of the **Select before operate (SBO)** switch defines whether command selection is required prior to executing remote control commands. | ||
| 79 | |||
| 80 | In the Remote **control **field, select the appropriate ASDU type for the control command from the drop-down list (see Fig. 3.1.4). | ||
| 81 | |||
| 82 | [[image:Screenshot 2025-12-17 at 16.38.45.png]] | ||
| 83 | |||
| 84 | Figure 3.1.1. Setting remote control via Modbus protocol | ||
| 85 | |||
| 86 | [[image:Screenshot 2025-12-17 at 16.39.12.png]] | ||
| 87 | |||
| 88 | Figure 3.1.2. Setting remote control via IEC-104 protocol | ||
| 89 | |||
| 90 | The following functions are available for the Modbus protocol: | ||
| 91 | |||
| 92 | FC5 (0x05) - recording the value of one flag (Force Single Coil). | ||
| 93 | |||
| 94 | FC6 (0x06) - recording the value to Preset Single Register. | ||
| 95 | |||
| 96 | FC16 (0x10) - recording multiple registers, used to record a block of contiguous registers (1 to 123 registers) to a remote device (Write Multiple Registers) | ||
| 97 | |||
| 98 | The** Value lenght** field specifies the number of registers to be recorded. | ||
| 99 | |||
| 100 | The **Switch on address** field specifies the address of the register in the device memory where the enable command will be written. The address should be a non-negative integer. | ||
| 101 | |||
| 102 | The **Switch off address** field specifies the register address in the device memory where the disable command will be written. The address should be a non-negative integer. | ||
| 103 | |||
| 104 | The **Switch on value** and **Switch off value** indicate the value to be written to the register address to execute the disable command. The value can be specified in decimal, binary, octal, or hexadecimal (HEX) format. Decimal is written as a plain number, binary is prefixed with 0b or 0B, represents setting the two least significant bits to 1 and 0, octal is prefixed with 08, HEX is prefixed with 0x or 0X. | ||
| 105 | |||
| 106 | The **Write by bitmask **field specifies the mask in decimal, binary, or HEX format. | ||
| 107 | |||
| 108 | 2) The //Control// function is available for Modbus TCP (Modbus RTU over TCP) protocols (see Fig. 3.1.3 ), and OPC DA (see Fig. 3.1.9). | ||
| 109 | |||
| 110 | [[image:Screenshot 2025-12-17 at 16.40.14.png]] | ||
| 111 | |||
| 112 | Figure 3.1.3. Setting control for Modbus protocol | ||
| 113 | |||
| 114 | [[image:Screenshot 2025-12-17 at 16.41.11.png]] | ||
| 115 | |||
| 116 | Figure 3.1.4. Remote control for IEC-104 | ||
| 117 | |||
| 118 | Settings for writing: Write values, Function, Device Tag Data Type, Address, Byte order; Tranformation elements: Physical value (lower limit), Physical value (upper limit), Record value (lower limit), Record value (upper limit). | ||
| 119 | |||
| 120 | The position of the **Write values** switch determines whether value write commands can be sent to the device at the specified address. | ||
| 121 | |||
| 122 | The **Function** field selects the Modbus recording function from the drop-down list (see Fig. 3.1.5). | ||
| 123 | |||
| 124 | [[image:Screenshot 2025-12-17 at 16.41.51.png]] | ||
| 125 | |||
| 126 | Figure 3.1.5. Modbus control function | ||
| 127 | |||
| 128 | FC5 (0x05) - recording the value of one flag (Force Single Coil). | ||
| 129 | |||
| 130 | FC16 (0x10) - recording multiple registers, used to write a block of contiguous registers (1 to 123 registers) to a remote device (Write multiple registers). | ||
| 131 | |||
| 132 | The **Address** field specifies the address of the tag in the device memory to which the value will be written. The address should be a non-negative integer in decimal format. | ||
| 133 | |||
| 134 | The field **Byte order** from the drop-down list (see Fig. 3.1.6) is used to select different order of bytes and/or words in the written CENTO data. | ||
| 135 | |||
| 136 | [[image:Screenshot 2025-12-17 at 16.42.23.png]] | ||
| 137 | |||
| 138 | In the **Device Tag Data Type** field, select the data type used by the device to store values from the drop-down list (see the device manual for details) (see Fig. 3.1.7). | ||
| 139 | |||
| 140 | [[image:Screenshot 2025-12-17 at 16.43.58.png]] | ||
| 141 | |||
| 142 | Fig. 3.1.7. Device Tag Data Type | ||
| 143 | |||
| 144 | In the **Transformation** block, a linear transformation is applied to convert a physical quantity into a value to be recorded, using defined upper and lower limits for both. These limits establish the valid ranges for the physical quantity and its corresponding recorded value, within which data can be filled in (see Fig. 3.1.8). | ||
| 145 | |||
| 146 | [[image:Screenshot 2025-12-17 at 16.44.29.png]] | ||
| 147 | |||
| 148 | Figure 3.1.8. Transformation block | ||
| 149 | |||
| 150 | In devices using the OPC DA protocol, the control function is easier to configure. In the settings, enable **Write values**, select the device tag data type, and define the necessary transformations (see Fig. 3.1.9). | ||
| 151 | |||
| 152 | [[image:Screenshot 2025-12-17 at 16.45.36.png]] | ||
| 153 | |||
| 154 | Figure 3.1.9. Configuring control for OPCDA protocol | ||
| 155 | |||
| 156 | == 3.2. Setting control using MS Excel == | ||
| 157 | |||
| 158 | To configure **Control **for a tag polled via the required protocol using Excel, download a configuration template. To do this, navigate to Settings > Configuration files in the CENTO interface. The **Import/Export configuration file** page opens (see Fig. 3.2.1). In the **Tags and Channels** section, click** Download** to download the template file. | ||
| 159 | |||
| 160 | [[image:Screenshot 2025-12-17 at 16.50.31.png]] | ||
| 161 | |||
| 162 | Figure 3.2.1. Import/Export configuration files | ||
| 163 | |||
| 164 | Next, open the previously downloaded file, which contains a list of all tags used in CENTO. The details for setting these tags are outlined in the corresponding manual for configuring tags and devices based on the selected protocol. | ||
| 165 | |||
| 166 | [[image:Screenshot 2025-12-17 at 16.51.23.png]] | ||
| 167 | |||
| 168 | [[image:Screenshot 2025-12-17 at 16.51.40.png]] | ||
| 169 | |||
| 170 | Figure. 3.2.2. Table of tags | ||
| 171 | |||
| 172 | The table includes columns specifically designated for control and remote control settings: | ||
| 173 | |||
| 174 | * **Resolution of TU** field specifies whether the ability to send remote control (recording) commands is enabled. | ||
| 175 | * **Register address enable** specifies the address of the register in the device memory where the enable command will be written. The address should be a non-negative integer. | ||
| 176 | * **Value for enable **specifies the value to be written to the register address to execute the enable command. | ||
| 177 | * **Register address disable** specifies the address of the register in the device memory where the disable command will be written. The address should be a non-negative integer. | ||
| 178 | * **Value for disable **specifies the value to be written to the register address to execute the disable command. | ||
| 179 | * **Control resolution** field specifies whether the ability to send write commands is enabled. | ||
| 180 | * **Write function **is completed according to the device manual. The mapping between write functions and their identifiers is provided on the //ID Directory //sheet (see Fig. 3.2.3). | ||
| 181 | |||
| 182 | [[image:Screenshot 2025-12-17 at 16.52.25.png]] | ||
| 183 | |||
| 184 | Figure 3.2.3. ID Directory write function | ||
| 185 | |||
| 186 | * **Device data type **is filled in according to the device manual. The mapping between data types and their corresponding identifiers is listed on the //ID Directory //sheet (see Fig. 3.2.4). | ||
| 187 | |||
| 188 | [[image:Screenshot 2025-12-17 at 16.52.54.png]] | ||
| 189 | |||
| 190 | Figure 3.2.4. Directory ID data type | ||
| 191 | |||
| 192 | * **Write address **specifies the memory address of the tag in the device where the value will be written. | ||
| 193 | * **Byte order **is filled in according to the device manual. The mapping between byte order and their corresponding identifiers is provided on the "ID Directory" sheet (see Fig. 3.2.5). | ||
| 194 | |||
| 195 | [[image:Screenshot 2025-12-17 at 16.53.28.png]] | ||
| 196 | |||
| 197 | Figure 3.2.5. Directory ID byte order | ||
| 198 | |||
| 199 | * Transformation for Modbus: Physical value (lower limit) | ||
| 200 | * Transformation for Modbus: Physical value (upper limit) | ||
| 201 | * Transformation for Modbus: Value for writing (lower limit) | ||
| 202 | * Transformation for Modbus: Value for writing (lower limit) | ||
| 203 | |||
| 204 | After creating the configuration, upload the template to the CENTO database. To do this, click **Upload** in the **Tags and Channels** block of the **Configuration files** interface Then, click **Select a file. **A window opens to select the storage location of the tag configuration file that was previously uploaded and edited. | ||
| 205 | |||
| 206 | Afterward, check the file for any errors that may have occurred during configuration by clicking **Check.** | ||
| 207 | |||
| 208 | If the check is successful, write the configuration to the database clicking **Save**. If errors are detected during the check, eliminate them and repeat the process until all errors are resolved. | ||
| 209 | |||
| 210 | == 3.3. Setting up control in the information model == | ||
| 211 | |||
| 212 | The Information Model (IM) is an add-on to the structure recorded in CENTO. | ||
| 213 | |||
| 214 | The IM classes define the types and subtypes of all devices on the site, ensuring the system knows which parameters to expect from these devices. | ||
| 215 | |||
| 216 | To add //Control// to the IM, download the Excel file from the **Configuration files** menu item under **Information Model Classes** (see Fig. 3.2.1), or configure it using the web editor by going to Information Model Editor > Classes (see Fig. 3.3.2). | ||
| 217 | |||
| 218 | In the downloaded file, first create a new class //Write value// in the //List of Classes// sheet. Then, create a separate sheet where the **code** name matches the tab name (see Fig. 3.3.1). | ||
| 219 | |||
| 220 | [[image:Screenshot 2025-12-17 at 16.54.43.png]] | ||
| 221 | |||
| 222 | Figure 3.3.1. Value for writing class with attributes in Excel file | ||
| 223 | |||
| 224 | |||
| 225 | This class has four attributes to be specified exactly as shown in Figure 3.3.1: | ||
| 226 | |||
| 227 | * **Tag ID **is a mandatory field; | ||
| 228 | * Optional fields include the lower and upper limits of values, which define the range within which any values can be entered. The **Value variants** field is provided for convenience, allowing to select from predefined options instead of manually entering values. To use this feature, specify a reference to the directory in the **Type** column, such as// ref_value_variants //(see Fig. 3.3.6). This reference can then be used to select the desired numeric parameters (see Fig. 3.3.7). | ||
| 229 | |||
| 230 | Check the created //Write value// class on the classes editor page: | ||
| 231 | |||
| 232 | [[image:Screenshot 2025-12-17 at 16.55.17.png]] | ||
| 233 | |||
| 234 | Figure 3.3.2. Class Write value with attributes in the web-interface of the IM editor | ||
| 235 | |||
| 236 | Next, create a class, for example, Motor, to be used to control the IM object. For this class, add attributes with the reference to the class //Write value //in the **Type** column (write the class **code**): | ||
| 237 | |||
| 238 | [[image:Screenshot 2025-12-17 at 16.55.51.png]] | ||
| 239 | |||
| 240 | Fig. 3.3.3 - Class Motor with attributes in Excel file | ||
| 241 | |||
| 242 | Check the created //Motor// class on the classes editor page: | ||
| 243 | |||
| 244 | [[image:Screenshot 2025-12-17 at 16.56.24.png]] | ||
| 245 | |||
| 246 | Figure 3.3.4. Class Motor with attributes in the web-interface of the IM editor | ||
| 247 | |||
| 248 | In the IM object editor, create an object with the class //Motor//. In the **Attributes** table, set tag ID, upper and lower limits, value variants (if necessary, reference book is to be created) for configuring. | ||
| 249 | |||
| 250 | [[image:Screenshot 2025-12-17 at 16.56.55.png]] | ||
| 251 | |||
| 252 | Figure 3.3.5. Configuring the Control in the Information Model (object editor) | ||
| 253 | |||
| 254 | To add aliases of values for writing, download a template from the **Information model references** block (see Fig. 3.2.1). Next, open the downloaded file. On the sheet //Categories,// add the code of the directory and its name: | ||
| 255 | |||
| 256 | [[image:Screenshot 2025-12-17 at 16.57.33.png]] | ||
| 257 | |||
| 258 | Figure 3.3.6. Configuring IM directory | ||
| 259 | |||
| 260 | The added directory should be placed on a separate Excel tab, with the tab name matching the directory code. The table structure for the directory should be copied from the provided templates, and the values for writing should be entered into it (see Fig. 3.3.7). These values can later be selected during control operations on the diagram (see the “User manual” for details). | ||
| 261 | |||
| 262 | [[image:Screenshot 2025-12-17 at 16.58.03.png]] | ||
| 263 | |||
| 264 | Figure 3.3.7. Table of IM directories | ||
| 265 | |||
| 266 | IM directories can also be configured using the web** Information Model editor** on the **Directories** tab. The directory shown in Fig. 3.3.7 is displayed in the web interface as illustrated in Fig. 3.3.8. | ||
| 267 | |||
| 268 | [[image:Screenshot 2025-12-17 at 16.58.31.png]] | ||
| 269 | |||
| 270 | Figure 3.3.8. IM directory | ||
| 271 | |||
| 272 | IM settings allow sending both single and multiple remote control commands. Remote control is configured in the same way as control, but uses its own set of system commands. | ||
| 273 | |||
| 274 | * **Single remote control command of an IM object** | ||
| 275 | |||
| 276 | If an IM object is intended for remote control from a diagram, the following system attributes are added to the object's class (see Fig. 3.3.9) | ||
| 277 | |||
| 278 | [[image:Screenshot 2025-12-17 at 16.59.06.png]] | ||
| 279 | |||
| 280 | Figure 3.3.9. Adding remote control attributes to the Switch class | ||
| 281 | |||
| 282 | Values for these attributes should be specified for class elements (see Fig. 3.3.10): | ||
| 283 | |||
| 284 | * telecontrol_on_ti – Tag ID for switching the object on; | ||
| 285 | * telecontrol_off_ti – Tag ID for switching the object off; | ||
| 286 | * telecontrolled – flag indicating whether the object can be controlled (TRUTH – remote control is available, FALSE – not available). | ||
| 287 | |||
| 288 | [[image:Screenshot 2025-12-17 at 16.59.40.png]] | ||
| 289 | |||
| 290 | Figure 3.3.10. Configuring Switch remote control via Excel | ||
| 291 | |||
| 292 | Remote control can also be configured in the Information Model Editor (see Fig. 3.3.11). | ||
| 293 | |||
| 294 | [[image:Screenshot 2025-12-17 at 17.02.42.png]] | ||
| 295 | |||
| 296 | Figure 3.3.11. Configuring switch remote control via the web editor | ||
| 297 | |||
| 298 | * **Multiple remote control commands for a single IM object** | ||
| 299 | |||
| 300 | For objects with multiple telecontrol (remote control) commands, the IM includes a system class called //Telecontrol// (class code: telecontrol) with the following attributes (see Fig. 3.3.12): | ||
| 301 | |||
| 302 | [[image:Screenshot 2025-12-17 at 17.04.22.png]] | ||
| 303 | |||
| 304 | Figure 3.3.12. Telecontrol (remote control) class with attributes | ||
| 305 | |||
| 306 | For an IM object requiring multiple remote control commands, a class should be created whose attributes reference the //Telecontrol// system class. An example of such a class is shown in Fig. 3.3.13: | ||
| 307 | |||
| 308 | [[image:Screenshot 2025-12-17 at 17.05.09.png]] | ||
| 309 | |||
| 310 | Figure 3.3.13. Class attributes with the type Telecontrol | ||
| 311 | |||
| 312 | Fig. 3.3.14 shows an example of a configured IM object with multiple remote control commands: |