You are on page 1of 8330

EcoStruxure Building Operation

Technical
Reference Guide
04-30006-02-en
May 2019
EcoStruxure Building Operation
Technical
Reference Guide
04-30006-02-en
May 2019
Copyright © 2019 Schneider Electric. All rights reserved.
The Schneider Electric brand and any registered trademarks of Schneider Electric Industries SAS referred to in this guide are the sole property of
Schneider Electric SA and its subsidiaries. They may not be used for any purpose without the owner's permission, given in writing. This guide and its
content are protected, within the meaning of the French intellectual property code (Code de la propriété intellectuelle français, referred to hereafter as
"the Code"), under the laws of copyright covering texts, drawings and models, as well as by trademark law. You agree not to reproduce, other than for
your own personal, non-commercial use as defined in the Code, all or part of this guide on any medium whatsoever without Schneider Electric's
permission, given in writing. You also agree not to establish any hypertext links to this guide or its content. Schneider Electric does not grant any right or
license for the personal and non-commercial use of the guide or its content, except for a non-exclusive license to consult it on an "as is" basis, at your
own risk. All other rights are reserved.
Trademarks and registered trademarks are the property of their respective owners.
Contents

Introduction
1 About This Guide ...................................................... 181
1.1 Purpose of This Guide ............................................................. 183
1.2 How This Guide is Organized .................................................. 184
1.3 Safety Information .................................................................... 185

2 Additional Information ............................................... 187


2.1 Where to Find Additional Information ....................................... 189

Reference
3 EcoStruxure BMS Servers ......................................... 193
3.1 EcoStruxure BMS Server Overview ......................................... 195
3.1.1 Enterprise Central .................................................................. 195
3.1.2 Enterprise Server ................................................................... 195
3.1.3 SmartX Servers ..................................................................... 195
3.1.4 EcoStruxure BMS Server Communication ............................. 195
3.1.5 EcoStruxure BMS Server Status ............................................. 196
3.1.6 EcoStruxure BMS Server Management ................................. 196
3.1.7 Multi-server Systems .............................................................. 196
3.2 Creating an EcoStruxure BMS server ...................................... 197

4 Enterprise Central ..................................................... 199


4.1 Enterprise Central .................................................................... 201
4.1.1 EcoStruxure BMS Server Hierarchy ....................................... 201
4.1.2 Engineering in Enterprise Central .......................................... 201
4.1.3 Features of Enterprise Central ............................................... 201
4.2 EcoStruxure BMS Server Hierarchy ......................................... 202
4.3 Engineering in Enterprise Central ............................................ 203
4.4 Features of Enterprise Central ................................................. 204

5 Enterprise Servers .................................................... 207


5.1 Enterprise Server ..................................................................... 209
5.1.1 Engineering in Enterprise Server ........................................... 209
5.1.2 Features ................................................................................. 209
5.1.3 Device Discovery ................................................................... 210

04-30006-02-en, May 2019 Technical


5
5.2 Engineering in Enterprise Server ............................................. 211
5.3 Device Discovery ..................................................................... 212
5.4 Warm Starting an Enterprise Server ......................................... 213

6 SmartX Servers ......................................................... 215


6.1 SmartX Servers ........................................................................ 217
6.1.1 I/O and Field Buses ............................................................... 217
6.1.2 Features of SmartX Servers ................................................... 217
6.1.3 Automation Servers ................................................................ 217
6.1.4 SmartX AS-P Servers ............................................................. 217
6.1.5 SmartX AS-B Servers ............................................................. 218
6.1.6 SmartX Server Administration ................................................ 218
6.1.7 SNMP ..................................................................................... 218
6.1.8 SmartX Server Device Configuration in WebStation .............. 219
6.2 I/O and Field Buses ................................................................. 220
6.3 Features of SmartX Servers ..................................................... 221
6.4 Installing SmartX AS-P or SmartX AS-B Software ..................... 222
6.5 Creating a SmartX Server ........................................................ 223
6.6 Creating a SmartX Server from a Backup Set .......................... 224
6.7 Warm Starting a SmartX Server ............................................... 226
6.8 Enabling or Disabling DHCP .................................................... 227
6.9 Disabling the Ethernet 2 Port ................................................... 228
6.10 Resetting a SmartX Server ....................................................... 229
6.11 Disabling DNS Updates ........................................................... 230
6.12 SNMP ....................................................................................... 231
6.13 Creating an SNMP User ........................................................... 233
6.14 Disabling SNMP for Managing a SmartX Server ...................... 234
6.15 SmartX Server Device Configuration in WebStation ................ 235
6.15.1 Network Settings and System Info ......................................... 235
6.15.2 SmartX Server Log Files ......................................................... 235
6.16 Changing the SmartX Server TCP/IP Settings and Ports ......... 236
6.17 Displaying the SmartX Server System Information .................. 237
6.18 Exporting SmartX Server Log Files .......................................... 238

7 SmartX Server Device Administration ....................... 239


7.1 SmartX Server Device Administration ...................................... 241
7.1.1 Connect to SmartX Servers .................................................... 241
7.1.2 SmartX Server List ................................................................. 241
7.1.3 Time Settings on SmartX Servers ........................................... 241
7.1.4 SmartX Server as a DHCP Server .......................................... 241
7.1.5 SmartX Server Licenses ......................................................... 241
7.1.6 Certificates and SSL Security ................................................ 242
7.2 Getting SmartX Server Debug Information ............................... 243
7.3 Identifying the SmartX Server IP Address ................................ 244
7.4 Configuring the SmartX Server IP Address .............................. 245
7.5 Configuring a SmartX Server to Use DHCP ............................. 246
7.6 Restoring the Software of a Damaged SmartX Server ............. 247

Technical 04-30006-02-en, May 2019


6
7.7 Connect to SmartX Servers ...................................................... 248
7.8 Connecting to a SmartX Server Using the USB Device Port .... 249
7.9 Connecting to a SmartX Server Using the IP Network ............. 250
7.10 Editing Multiple Connections ................................................... 251
7.11 Connecting to a SmartX Server Using a Network Cable .......... 252
7.12 SmartX AS-B and AS-P Server as a DHCP Server ................... 253
7.13 Configuring AS-B or AS-P Server as a DHCP Server ............... 254
7.14 Locking the SmartX AS-B and AS-P Servers' DHCP Network .. 255
7.15 SmartX Server List ................................................................... 256
7.15.1 Save a List of SmartX Servers ................................................ 256
7.15.2 Import and Export a List of SmartX Servers .......................... 256
7.15.3 Site Specific Device Password .............................................. 256
7.15.4 SSH Public Key Validation ..................................................... 256
7.16 Save a List of SmartX Servers .................................................. 257
7.17 Saving a List of SmartX Servers ............................................... 258
7.18 Opening a List of SmartX Servers ............................................ 259
7.19 Import and Export a List of SmartX servers ............................. 260
7.20 Import and Export a List of SmartX Server Workflow ................ 261
7.21 Exporting a List of SmartX Servers ........................................... 262
7.22 Importing a List of SmartX Servers ........................................... 263
7.23 Site Specific Device Password ................................................ 264
7.24 Changing the Site Specific Device Password .......................... 265
7.25 SSH Public Key Validation ....................................................... 266
7.26 Validating SSH Public Key Fingerprint ..................................... 267
7.27 Time Settings on SmartX Servers ............................................. 268
7.28 Configuring the Time for a SmartX Server with Factory
Settings .................................................................................... 269
7.29 Certificates and SSL Security in Device Administrator ............ 270
7.29.1 SSL Communication Security Settings in Device
Administrator ......................................................................... 270
7.29.2 Certificates in Device Administrator ....................................... 270
7.30 Certificates in Device Administrator ......................................... 271
7.31 Device Administrator Certificate Workflow ............................... 272
7.32 Generating an SSL Root Certificate ......................................... 274
7.33 Creating Server SSL Certificate Defaults ................................. 275
7.34 Installing an SSL Root Certificate to Windows Trusted Root
Certificate Storage ................................................................... 276
7.35 Generating an SSL Certificate for a SmartX Server .................. 277
7.36 Transferring an SSL Certificate to SmartX Server .................... 278
7.37 Deleting an SSL Certificate on a SmartX Server ...................... 279
7.38 Importing an SSL Server Root Certificate ................................ 280
7.39 Exporting an SSL Server Root Certificate ................................ 281
7.40 Import a Certificate ................................................................. 282
7.41 Exporting a Certificate ............................................................. 283
7.42 SSL Communication Security Settings ..................................... 284
7.43 Configuring SSL Communication Security Settings ................ 285

8 EcoStruxure BMS Server Communication ................ 287


04-30006-02-en, May 2019 Technical
7
8.1 EcoStruxure BMS Server Communication ............................... 289
8.1.1 Communication Parameters .................................................. 289
8.1.2 EcoStruxure BMS Server Communication Parameters .......... 290
8.1.3 EcoStruxure BMS Server-to-Server Communication
Parameters ............................................................................ 292
8.1.4 EcoStruxure BMS Server Communication in Project
Configuration Tool .................................................................. 293
8.1.5 Email Server Settings ............................................................. 293
8.2 Updating Communication Parameters ..................................... 295
8.3 Selecting and Specifying an Email Server for Email
Notifications ............................................................................. 296
8.4 EcoStruxure BMS Server Status ............................................... 298
8.5 Repairing EcoStruxure BMS Server Communication .............. 299
8.6 Repairing References ............................................................. 300
8.7 Network Interface Card for Enterprise Server or Enterprise
Central ..................................................................................... 301
8.8 Configuring Network Interface Card for an Enterprise Server or for
an Enterprise Central ............................................................... 302

9 EcoStruxure BMS Server Management .................... 303


9.1 EcoStruxure BMS Server Management ................................... 305
9.1.1 Add and Detach EcoStruxure BMS Servers .......................... 306
9.1.2 Server Rename ...................................................................... 306
9.2 Displaying CPU and System Memory Usage .......................... 307
9.3 Deleting a SmartX Server ......................................................... 308
9.4 Add and Detach EcoStruxure BMS Servers ............................ 309
9.4.1 ............................................................................................... 309
9.5 Adding an Existing Enterprise Server to an Enterprise Central 310
9.6 Detaching an EcoStruxure BMS Server ................................... 311
9.7 Server Rename ........................................................................ 312
9.8 Renaming an EcoStruxure BMS Server ................................... 313

10 Multi-server Systems ................................................ 315


10.1 Multi-server Systems ............................................................... 317
10.1.1 Enterprise Central System ..................................................... 319
10.1.2 Enterprise Server System ...................................................... 319
10.1.3 EcoStruxure BMS Server Communication ............................. 320
10.1.4 EcoStruxure BMS Server Status ............................................. 320
10.1.5 EcoStruxure BMS Server Management ................................. 320
10.1.6 Server Rename ...................................................................... 320
10.1.7 ............................................................................................... 320
10.2 Enterprise Central System ....................................................... 321
10.2.1 ............................................................................................... 321
10.3 Enterprise Server System ........................................................ 322
10.3.1 ............................................................................................... 322

11 Device Administrator User Interface ......................... 323


11.1 Device Administrator ............................................................... 325
11.2 Server Administrator Toolbar ................................................... 327

Technical 04-30006-02-en, May 2019


8
11.3 Device Administrator Server Configuration View ..................... 328
11.4 Device Administrator Server List Toolbar ................................ 330
11.5 Upgrade Dialog Box ................................................................ 331
11.6 Edit Connection Dialog Box ..................................................... 332
11.7 Detailed Progress Dialog Box .................................................. 334
11.8 Site Specific Server Password Dialog Box ............................... 335
11.9 Download Dialog Box .............................................................. 336
11.10 General Dialog Box .................................................................. 337
11.11 Ethernet 1 Configuration Dialog Box ........................................ 339
11.12 Ethernet 2 Configuration Dialog Box ........................................ 341
11.13 SNMP Configuration Dialog Box .............................................. 343
11.14 Firewall Dialog Box .................................................................. 345
11.15 Time Tab Dialog Box ................................................................ 346
11.16 SSH Public Key Fingerprint Validation Dialog Box ................... 347
11.17 SSL Root Certificate Dialog Box ............................................... 348
11.18 Server SSL Certificate Defaults Dialog Box ............................. 350
11.19 SSL Certificate Dialog Box ...................................................... 352
11.20 Browse SSL Certificate Dialog Box .......................................... 354
11.21 SSL Settings Dialog Box .......................................................... 355
11.22 Server State Bar ....................................................................... 356

12 SmartX Server Web Configuration User Interface .... 357


12.1 SmartX Server Device Configuration – Network Tab ................ 359
12.2 SmartX Server Device Configuration – System Info Tab .......... 361
12.3 SmartX Server Device Configuration – Server Log Tab ........... 363

13 EcoStruxure BMS Servers User Interface ................. 365


13.1 EcoStruxure BMS Server Wizard – Configure IP/DNS Address and
Port Page ................................................................................. 367
13.2 Servers Folder Properties ........................................................ 368
13.3 Log On Dialog Box ................................................................... 369
13.4 Enterprise Central Properties – Basic Tab ............................... 370
13.5 Enterprise Central Properties – Network Tab ........................... 372
13.6 Enterprise Central Properties – Email Tab ............................... 373
13.7 Enterprise Server Properties – Basic Tab ................................ 375
13.8 Enterprise Server Properties – Network Tab ............................ 377
13.9 Enterprise Server Properties – Email Tab ................................ 378
13.10 SmartX Server Properties – Basic Tab ..................................... 380
13.11 SmartX Server Properties – Network Tab ................................. 383
13.12 SmartX Server Properties – Email Tab ..................................... 385
13.13 Communication View ............................................................... 387
13.14 Device Discovery View ............................................................ 388
13.15 Variables View ......................................................................... 389
13.16 Date & Time View ..................................................................... 390
13.17 CSPClient Settings Dialog Box – Basic Tab ............................. 393

14 EcoStruxure BMS Servers Troubleshooting .............. 395


14.1 Cannot Connect to the SmartX Server .................................... 397

04-30006-02-en, May 2019 Technical


9
14.1.1 Solution .................................................................................. 397
14.2 Enterprise Server Service Disabled ......................................... 398
14.2.1 Solution .................................................................................. 398
14.3 Error – Upgrade Using DFU Mode .......................................... 399
14.3.1 Solution .................................................................................. 399
14.4 Lead-Shadow Reference EcoStruxure BMS Server
Communication Problems ....................................................... 400
14.4.1 Solution .................................................................................. 400
14.5 Server Already Part of a Multi Server System .......................... 401
14.5.1 Solution .................................................................................. 401
14.6 EcoStruxure BMS Server is Offline ........................................... 402
14.6.1 Solutions ................................................................................ 402
14.7 Inconsistent Communication Parameters ................................ 403
14.7.1 Solutions ................................................................................ 403
14.8 Invalid Server Object References ............................................ 404
14.8.1 Solutions ................................................................................ 404
14.9 Missing Response from an EcoStruxure BMS Server .............. 405
14.9.1 Solutions ................................................................................ 405
14.10 IP Address from a Virtual Network Interface Card is Used for
Communication Settings in Enterprise Server or Enterprise
Central ..................................................................................... 406
14.10.1 Solution .................................................................................. 406

15 External Log Storage ................................................ 407


15.1 External Log Storage ............................................................... 409
15.1.1 External Log Storage Components Installation Overview ..... 409
15.1.2 External Log Storage Components Configuration Overview . 410
15.1.3 External Log Storage Components Installation and Configuration
Workflow ................................................................................ 410
15.1.4 External Log Storage Configuration for Individual Servers in a
Running System Workflow ..................................................... 410
15.1.5 Commands on the External Log Storage ............................... 410
15.2 External Log Storage Components Installation Overview ........ 411
15.3 External Log Storage Components Configuration Overview ... 412
15.4 External Log Storage Components Installation and Configuration
Workflow .................................................................................. 413
15.5 External Log Storage Configuration for Individual Servers in a
Running System Workflow ....................................................... 415
15.6 Installing PostgreSQL .............................................................. 416
15.7 Installing TimescaleDB ............................................................ 417
15.8 Tuning PostgreSQL Installation ............................................... 418
15.9 Running a Script in PgAdmin ................................................... 419
15.10 Configuring TimescaleDB ........................................................ 420
15.11 Commands on External Log Storage ....................................... 421
15.12 Enabling an EcoStruxure BMS Server for an External Log Storage
................................................................................................. 422
15.13 Enabling an Individual Log ...................................................... 423
15.14 Disabling an Individual Log ..................................................... 424
15.15 Clearing an Individual Log ....................................................... 425

Technical 04-30006-02-en, May 2019


10
15.16 Deleting an Individual Log ....................................................... 426
15.17 Canceling Pending Commands for External Log Storage ....... 427

16 External Log Storage User Interface ......................... 429


16.1 TimescaleDB - Basic View ....................................................... 431
16.2 SSL Modes Menu ..................................................................... 433

17 Bindings .................................................................... 435


17.1 Bindings Overview ................................................................... 437
17.1.1 Methods of Binding ................................................................ 438
17.1.2 Binding Rules ......................................................................... 438
17.1.3 Direction of Bindings ............................................................. 438
17.1.4 Value Transfer Interval ........................................................... 438
17.1.5 Binding Path Format .............................................................. 438
17.1.6 Bindings Management ........................................................... 439
17.1.7 LonWorks Bindings ................................................................ 439
17.1.8 Server Values ......................................................................... 439
17.1.9 Initial Bindings in Function Blocks ......................................... 439
17.2 Methods of Binding .................................................................. 440
17.2.1 Manual ................................................................................... 440
17.2.2 Binding Templates ................................................................. 441
17.3 Binding Values Manually .......................................................... 442
17.4 Binding Rules .......................................................................... 443
17.5 Direction of Bindings ................................................................ 444
17.6 Value Transfer Settings ........................................................... 446
17.6.1 Requested Transfer Rate ....................................................... 446
17.6.2 Delta Value Transfer .............................................................. 447
17.6.3 Guaranteed Transfer ............................................................. 448
17.6.4 Combined Methods ............................................................... 448
17.7 Value Transfer .......................................................................... 450
17.7.1 Application Value Transfer ..................................................... 450
17.7.2 Central Value Transfer ........................................................... 451
17.7.3 Field Bus Value Transfer ........................................................ 451
17.7.4 Cautions ................................................................................ 453
17.8 Configuring the Value Transfer Interval .................................... 455
17.9 Mass Editing Value Transfer Settings ...................................... 456
17.10 Mass Edit Value Transfer Settings Workflow ............................ 458
17.11 Locked and Unlocked Binding Paths ...................................... 459
17.11.1 Locked ................................................................................... 459
17.11.2 Unlocked ............................................................................... 461
17.12 Locking or Unlocking a Path .................................................... 463
17.13 Bindings Management ............................................................. 464
17.14 Checking the Status of Bindings .............................................. 465
17.15 LonWorks Bindings ................................................................. 466
17.15.1 LonWorks Bindings in WorkStation ........................................ 466
17.15.2 Bindable objects in LonWorks ............................................... 467
17.15.3 LonWorks Binding Profiles ..................................................... 467

04-30006-02-en, May 2019 Technical


11
17.15.4 LonWorks Binding Types ....................................................... 467
17.15.5 LonWorks Selectors and Bindings ......................................... 467
17.16 Server Values ........................................................................... 468
17.16.1 Minimizing the Transfer Interval Intensity ............................... 468
17.16.2 Server Value Workflow ........................................................... 468
17.17 Creating an EcoStruxure BMS Server Value ............................ 470
17.18 Creating an EcoStruxure BMS Server Analog Value ................ 471
17.19 Configuring the Value and the Unit for an EcoStruxure BMS
Server Analog Value ................................................................ 472
17.20 Creating an EcoStruxure BMS Server Digital Value ................. 473
17.21 Initial Bindings in Function Blocks ........................................... 474
17.22 Creating an Initial Binding in a Function Block ........................ 475

18 Binding Templates .................................................... 477


18.1 Binding Templates ................................................................... 479
18.1.1 Purpose of Binding Templates ............................................... 479
18.1.2 Binding Template Location .................................................... 479
18.1.3 How to Use Binding Templates ............................................. 480
18.1.4 Binding Template Types ........................................................ 480
18.2 Binding Template Types .......................................................... 481
18.2.1 Type Binding Templates ........................................................ 481
18.2.2 Type Binding Template Examples ......................................... 481
18.2.3 Path Matching Binding Templates and Syntax ...................... 481
18.2.4 Path Matching Binding Template Examples .......................... 481
18.3 Type Binding Templates .......................................................... 483
18.4 Type Binding Template Examples ........................................... 484
18.4.1 Fan Coil – Bind to Zone Controller ......................................... 487
18.4.2 Fan Coil – Bind to Occupancy Sensor ................................... 487
18.4.3 Fan Coil – Bind to Temperature Sensor ................................. 487
18.5 Fan Coil - Bind to Zone Controller ............................................ 488
18.6 Fan Coil - Bind to Occupancy Sensor ...................................... 492
18.7 Fan Coil - Bind to Temperature Sensor ................................... 496
18.8 Path Matching Binding Templates and Syntax ........................ 500
18.8.1 Path Matching ........................................................................ 500
18.8.2 Path Syntax ............................................................................ 500
18.9 Path Matching .......................................................................... 501
18.10 Path Syntax .............................................................................. 502
18.11 Path Matching Binding Template Examples ............................ 504
18.11.1 Path Matching Binding Template Example 1 ......................... 506
18.11.2 Path Matching Binding Template Example 2 ......................... 506
18.11.3 Path Matching Binding Template Example 3 ......................... 506
18.11.4 Path Matching Binding Template Example 4 ......................... 506
18.11.5 Path Matching Binding Template Example 5 ......................... 506
18.12 Path Matching Binding Template Example 1 ........................... 508
18.13 Path Matching Binding Template Example 2 ........................... 513
18.14 Path Matching Binding Template Example 3 ........................... 519
18.15 Path Matching Binding Template Example 4 ........................... 524

Technical 04-30006-02-en, May 2019


12
18.16 Path Matching Binding Template Example 5 ........................... 531
18.17 Binding Values Using a Binding Template .............................. 538
18.18 Binding Values in Script Editor Using a Binding Template ...... 541
18.19 Creating a Type Binding Template from Instance ................... 542
18.20 Creating a Type Binding Template .......................................... 543
18.21 Creating a Path Matching Binding Template ........................... 544

19 Bindings User Interface ............................................ 545


19.1 Bindings View .......................................................................... 547
19.2 Bindings Diagnostics ............................................................... 549
19.3 Binding Point List Toolbar ........................................................ 550
19.4 Binding Templates List ............................................................ 551
19.5 Browser Toolbar ....................................................................... 552
19.6 Browser .................................................................................... 553
19.7 Bind Dialog Box – Select Direction .......................................... 554
19.8 Bind Dialog Box – Replace or Keep ......................................... 555
19.9 Bind Dialog Box – Replace or Add .......................................... 556
19.10 Value Transfer Settings Dialog Box .......................................... 557
19.11 Variables View Features ........................................................... 559
19.12 Confirm Bindings Dialog Box ................................................... 563
19.13 Bindings Status Icons .............................................................. 564
19.14 Binding Templates View .......................................................... 565
19.15 Binding Template Wizard – Choosing the Type and Naming the
Object Page ............................................................................. 566
19.16 Binding Template Wizard – What Type Do You Want to Bind in the
Template Page ......................................................................... 567
19.17 Binding Template Wizard – What Type(s) Do You Want to Bind to
with the Template Page ........................................................... 568
19.18 Binding Template Wizard – Specify the Bindings in The Template
Page ........................................................................................ 569
19.19 Binding Template Wizard – Specify the Path Matching Patterns in
the Template Page ................................................................... 570
19.20 Binding Template Properties ................................................... 572
19.21 Edit Binding Template Dialog Box – Type Binding Template .. 573
19.22 Edit Binding Template Dialog Box – Path Matching Binding
Template .................................................................................. 575
19.23 Time Stamp Value Properties ................................................... 577

20 Bindings Troubleshooting ......................................... 579


20.1 Binding Does Not Work ........................................................... 581
20.1.1 Solutions ................................................................................ 581

21 Import and Export ..................................................... 583


21.1 Import and Export Overview .................................................... 585
21.1.1 Export .................................................................................... 586
21.1.2 Exportable and Non-exportable Objects ............................... 586
21.1.3 Import .................................................................................... 586
21.1.4 Import and Export of Supporting Objects .............................. 586
21.1.5 Import and Export of Bindings and Binding Templates ......... 586

04-30006-02-en, May 2019 Technical


13
21.2 Export ...................................................................................... 587
21.2.1 Export of Networks, Devices, and Protocols .......................... 587
21.2.2 Export of Programs, Functions, and Applications .................. 588
21.3 Exporting a Solution ................................................................. 589
21.4 Selecting Multiple Solutions for Export ..................................... 590
21.5 Export of Networks, Devices, and Protocols ............................ 591
21.5.1 Import and Export of I/O Solutions ......................................... 591
21.5.2 Import and Export of b3 Solutions .......................................... 591
21.5.3 Import and Export of BACnet Solutions ................................. 591
21.5.4 Import and Export of GCM Solutions ..................................... 591
21.5.5 Import and Export of LonWorks Solutions .............................. 591
21.5.6 Import and Export of MNL or MNB Solutions ......................... 592
21.5.7 Import and Export of MicroNet Solutions ............................... 592
21.5.8 Import and Export of Modbus Solutions ................................. 592
21.5.9 Import and Export of Sigma Solutions .................................... 592
21.5.10 Import and Export of Xenta Solutions ..................................... 592
21.6 Import and Export of I/O Solutions ........................................... 593
21.7 Import and Export of b3 Solutions ............................................ 594
21.8 Import and Export of BACnet Solutions ................................... 595
21.9 Import and Export of GCM Solutions ....................................... 597
21.10 Import and Export of LonWorks Solutions ................................ 598
21.11 Import and Export of MNL or MNB Solutions ........................... 599
21.11.1 Exporting an MNL or MNB Solution ....................................... 599
21.11.2 Importing an MNL or MNB Solution ....................................... 599
21.12 Import and Export of MicroNet Solutions ................................. 600
21.13 Import and Export of Modbus Solutions ................................... 601
21.14 Import and Export of Sigma Solutions ...................................... 602
21.15 Import and Export of Xenta Solutions ....................................... 603
21.16 Export of Programs, Functions, and Applications ................... 604
21.16.1 Import and Export of Script Solutions .................................... 604
21.16.2 Import and Export of User Management Solutions ................ 604
21.16.3 Import and Export of Alarm Solutions .................................... 604
21.16.4 Import and Export of Trend Solutions .................................... 604
21.16.5 Import and Export of Schedule Solutions ............................... 604
21.16.6 Import and Export of Report Solutions ................................... 605
21.16.7 Custom Object Type .............................................................. 605
21.16.8 Export Library Mode .............................................................. 605
21.17 Import and Export of Script Solutions ...................................... 606
21.18 Import and Export of User Management Solutions .................. 607
21.19 Import and Export of Alarm Solutions ...................................... 611
21.20 Import and Export of Trend Solutions ...................................... 612
21.21 Import and Export of Schedule Solutions ................................. 613
21.22 Import and Export of Report Solutions ..................................... 615
21.23 Custom Object Type ................................................................ 616
21.24 Export Library Mode ................................................................ 617
21.25 Exportable and Non-exportable Objects ................................. 618
21.26 Import ...................................................................................... 619

Technical 04-30006-02-en, May 2019


14
21.26.1 Import of Networks, Devices, and Protocols .......................... 621
21.26.2 Import of Programs, Functions, and Applications .................. 622
21.27 Importing a Solution ................................................................. 623
21.28 Import of Networks, Devices, and Protocols ............................ 624
21.28.1 Import and Export of I/O Solutions ......................................... 624
21.28.2 Import and Export of b3 Solutions .......................................... 624
21.28.3 Import and Export of BACnet Solutions ................................. 624
21.28.4 Import and Export of GCM Solutions ..................................... 624
21.28.5 Import and Export of LonWorks Solutions .............................. 624
21.28.6 Import and Export of MNL or MNB Solutions ......................... 625
21.28.7 Import and Export of MicroNet Solutions ............................... 625
21.28.8 Import and Export of Modbus Solutions ................................. 625
21.28.9 Import and Export of Sigma Solutions .................................... 625
21.28.10 Import and Export of Xenta Solutions ..................................... 625
21.29 Import of Programs, Functions, and Applications ................... 626
21.29.1 Import and Export of Script Solutions .................................... 626
21.29.2 Import and Export of User Management Solutions ................ 626
21.29.3 Import and Export of Alarm Solutions .................................... 626
21.29.4 Import and Export of Trend Solutions .................................... 626
21.29.5 Import and Export of Schedule Solutions ............................... 626
21.29.6 Import and Export of Report Solutions ................................... 627
21.30 Import and Export of Supporting Objects ................................ 628
21.31 Import and Export of Bindings and Binding Templates ........... 630
21.32 Conflict Resolution Methods ................................................... 631
21.32.1 Rename Imported Objects .................................................... 631
21.32.2 Merge with Existing Objects .................................................. 631

22 Import and Export User Interface ............................. 633


22.1 Export Status Dialog Box ......................................................... 635
22.2 Export Preview Dialog Box ....................................................... 636
22.3 Import Dialog Box .................................................................... 637
22.4 Import Status Dialog Box ......................................................... 639

23 Import and Export Troubleshooting .......................... 641


23.1 Non-exportable Objects .......................................................... 643
23.1.1 Solution .................................................................................. 643
23.2 Name Conflicts During Import ................................................. 644
23.2.1 Solutions ................................................................................ 645
23.3 Container Conflicts During Import ........................................... 646
23.3.1 Solution .................................................................................. 647
23.4 Import Button Not Available ..................................................... 648
23.4.1 Solution .................................................................................. 649
23.5 Import Finished with Warnings ................................................ 650
23.5.1 Solution .................................................................................. 650
23.6 Import Failed ............................................................................ 651
23.6.1 Solution .................................................................................. 651
23.7 Cannot Export BACnet System Objects .................................. 652

04-30006-02-en, May 2019 Technical


15
23.7.1 Solution .................................................................................. 652
23.8 Cannot Import BACnet Notification References ...................... 653
23.8.1 Solutions ................................................................................ 653
23.9 Cannot Preserve Trend Object Bindings During Import .......... 655
23.9.1 Solutions ................................................................................ 655
23.10 Supporting Objects Already Exist ............................................ 656
23.10.1 Solution .................................................................................. 657
23.11 Cannot Export User Management System Objects ................. 658
23.11.1 Solution .................................................................................. 658
23.12 Cannot Import LonWorks Solution ........................................... 659
23.12.1 Solution .................................................................................. 659

24 Object Configuration in Microsoft Excel ................... 661


24.1 Import from an Excel Spreadsheet .......................................... 663
24.2 Exporting an Object Configuration from Workstation to Microsoft
Excel ....................................................................................... 664
24.3 Importing an Object Configuration from Microsoft Excel to
Workstation .............................................................................. 665

25 I/O Modules .............................................................. 667


25.1 I/O Modules Overview ............................................................. 669
25.1.1 I/O Modules ........................................................................... 669
25.1.2 AS-B I/O Onboard Module ..................................................... 669
25.1.3 I/O Module Workflows ............................................................ 669
25.1.4 Physical Devices and I/O Module Objects ............................ 669
25.1.5 I/O Points ............................................................................... 669
25.1.6 AS-B Onboard I/O Points ....................................................... 670
25.1.7 Output Override Status .......................................................... 670
25.1.8 I/O Module Low Power Mode ................................................. 670
25.2 I/O Module Workflows .............................................................. 671
25.2.1 Discover and Create .............................................................. 671
25.2.2 Create and Discover .............................................................. 671
25.3 Physical Devices and I/O Module Objects .............................. 673
25.4 Creating an I/O Module ............................................................ 674
25.5 Configuring an I/O Module ...................................................... 675
25.6 Discovering an I/O Module ...................................................... 676
25.7 Creating Multiple I/O Modules ................................................. 677
25.8 Updating I/O Module Firmware ................................................ 678
25.9 Moving an I/O Module .............................................................. 679
25.10 Recovering from an I/O Module Failure .................................. 680
25.11 Assigning and Unassigning Logical I/O Modules .................... 681
25.12 I/O Points ................................................................................. 683
25.12.1 I/O Point Types ...................................................................... 683
25.12.2 2-Wire RTD Temperature Input Wiring Resistance ................ 683
25.12.3 2-Wire or 3-Wire RTD Temperature Input Values and Reliability
Levels .................................................................................... 683
25.12.4 Reliability of I/O Points ........................................................... 683
25.12.5 Forced I/O Point Values ......................................................... 684

Technical 04-30006-02-en, May 2019


16
25.12.6 I/O Point Scaling .................................................................... 684
25.12.7 Implicit Trend Logs for I/O Points ........................................... 684
25.12.8 Input Point Offsets ................................................................. 684
25.12.9 Threshold Settings for I/O Points ........................................... 684
25.13 Creating Multiple Objects ........................................................ 685
25.14 Configuring Multiple Objects ................................................... 686
25.15 Copying from MS Excel to Spreadsheet View .......................... 687
25.16 Copying from Spreadsheet View to MS Excel .......................... 688
25.17 I/O Module Low Power Mode ................................................... 689
25.18 Setting and Recovering an I/O Module from Low Power ......... 690
25.19 Printing a Label to Identify I/O Channels .................................. 691
25.20 Correcting a Module Type Mismatch ....................................... 692
25.21 Output Override Status ............................................................ 693
25.21.1 Module Hardware .................................................................. 693
25.21.2 EcoStruxure Building Operation Software ............................. 693
25.22 Overriding a Digital Output ..................................................... 695
25.23 Overriding an Analog Output .................................................. 697
25.24 Associating an Engineering Unit with Property Values ............ 699
25.25 Inserting a New Module in the Middle of an Existing I/O Bus .. 702
25.26 Resolving I/O Module Device Address Changed and Blacklisted
Device Detection Errors ........................................................... 703

26 I/O Points .................................................................. 705


26.1 I/O Point Types ........................................................................ 707
26.1.1 Input Types ............................................................................ 707
26.1.2 Output Types ......................................................................... 708
26.1.3 Valid Point Types for I/O Modules .......................................... 708
26.1.4 Null Value Selection ............................................................... 710
26.1.5 I/O Point Binding .................................................................... 710
26.2 Creating an I/O Module Input Point ......................................... 711
26.3 Creating an I/O Module Output Point ...................................... 712
26.4 Creating an I/O Module Digital Input ....................................... 713
26.5 Creating an I/O Module Counter Input ..................................... 714
26.6 Creating an I/O Module Temperature Input ............................. 715
26.7 2-Wire or 3-Wire RTD Temperature Input Value and Reliability
Levels ...................................................................................... 716
26.8 2-Wire RTD Temperature Input Wiring Resistance .................. 717
26.9 Creating an I/O Module 2-Wire or 3-Wire RTD Temperature
Input ......................................................................................... 718
26.10 Creating an I/O Module 2-Wire or 3-Wire RTD Resistive Input . 720
26.11 Creating an I/O Module Voltage Input ..................................... 722
26.12 Creating an I/O Module Digital Output ..................................... 723
26.13 Creating an I/O Module Voltage Output ................................... 724
26.14 Configuring I/O Module Input or Output Points ........................ 725
26.15 Creating Multiple I/O Points ..................................................... 726
26.16 Reliability of I/O Points ............................................................. 727
26.17 Reviewing the Reliability of I/O Point Values ............................ 728
26.18 Forced I/O Point Values ........................................................... 729

04-30006-02-en, May 2019 Technical


17
26.19 Forcing Input Values ................................................................ 730
26.20 Forcing Output Values ............................................................. 731
26.21 I/O Point Scaling ...................................................................... 732
26.21.1 Input Scaling .......................................................................... 732
26.21.2 Output Scaling ....................................................................... 733
26.21.3 Pulse Width Modulation Scaling ............................................ 734
26.22 Scaling an Input or Output I/O Point ........................................ 735
26.23 Implicit Trend Logs for I/O Points ............................................. 738
26.24 Input Point Offsets ................................................................... 739
26.25 Configuring Offsets for Input Points ......................................... 740
26.26 Printing a Wiring List for the I/O Bus ........................................ 741
26.27 Threshold Settings for I/O Points .............................................. 742

27 I/O User Interface .................................................... 745


27.1 Central I/O System Tree Pane Icons ........................................ 747
27.2 I/O Module Management Tool Dialog Box ............................... 748
27.3 I/O Bus Properties – Basic Tab ................................................ 750
27.4 I/O Module Properties – Basic Tab .......................................... 751
27.5 AS-B-24 Onboard I/O Properties – Basic Tab .......................... 754
27.6 AS-B-36 Onboard I/O Properties – Basic Tab .......................... 756
27.7 I/O Modules in the Work Area .................................................. 758
27.8 Counter Input Properties – Basic Tab ...................................... 760
27.9 Current Input Properties – Basic Tab ....................................... 762
27.10 Digital Input Properties – Basic Tab ......................................... 764
27.11 Resistive Input Properties – Basic Tab .................................... 766
27.12 2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab .. 768
27.13 Supervised Input Properties – Basic Tab ................................. 771
27.14 Temperature Input Properties – Basic Tab .............................. 773
27.15 2-Wire or 3-Wire RTD Temperature Input Properties – Basic
Tab ........................................................................................... 775
27.16 Voltage Input Properties – Basic Tab ....................................... 778
27.17 Current Output Properties – Basic Tab .................................... 780
27.18 Voltage Output Properties – Basic Tab .................................... 783
27.19 Digital Output Properties – Basic Tab ...................................... 786
27.20 Digital Pulsed Output Properties – Basic Tab .......................... 788
27.21 Tristate Output Properties – Basic Tab .................................... 791
27.22 Tristate Pulsed Output Properties – Basic Tab ........................ 793
27.23 I/O Points in the Work Area ...................................................... 796
27.24 Print I/O Wiring List Dialog Box ................................................ 797
27.25 Counter Input – Basic Settings Page ....................................... 798
27.26 Current Input – Basic Settings Page ........................................ 799
27.27 Digital Input – Basic Settings Page .......................................... 801
27.28 Resistive Input – Basic Settings Page ...................................... 802
27.29 2-Wire or 3-Wire RTD Resistive Input – Basic Settings Page ... 804
27.30 Supervised Input – Basic Settings Page .................................. 806
27.31 Temperature Input – Basic Settings Page ............................... 807

Technical 04-30006-02-en, May 2019


18
27.32 2-Wire or 3-Wire RTD Temperature Input – Basic Settings
Page ........................................................................................ 809
27.33 Voltage Input – Basic Settings Page ........................................ 811
27.34 New I/O Module Wizard – Basic Settings Page ....................... 813
27.35 Current Output – Basic Settings Page ..................................... 814
27.36 Voltage Output – Basic Settings Page ..................................... 816
27.37 Digital Output – Basic Settings Page ....................................... 818
27.38 Digital Pulsed Output – Basic Settings Page ........................... 819
27.39 Tristate Output – Basic Settings Page ..................................... 821
27.40 Tristate Pulsed Output – Basic Settings Page .......................... 822
27.41 Print I/O Module Labels Dialog Box ......................................... 824
27.42 Update I/O Module Firmware Dialog Box ................................ 825

28 I/O Troubleshooting .................................................. 827


28.1 I/O Module Incorrectly Configured .......................................... 829
28.1.1 Solutions ................................................................................ 829
28.2 Input Point Not Functioning Correctly ...................................... 830
28.2.1 Solutions ................................................................................ 830
28.3 Output Point Not Functioning Correctly ................................... 831
28.3.1 Solutions ................................................................................ 831
28.4 Device Address Changed ....................................................... 832
28.4.1 Solution .................................................................................. 832
28.5 Blacklisted Device Detected ................................................... 833
28.5.1 Solution .................................................................................. 833
28.6 High CPU Usage and Slow System Response Time .............. 834
28.6.1 Solutions ................................................................................ 834

29 Custom Types ........................................................... 835


29.1 Custom Types Overview .......................................................... 837
29.1.1 Custom Types ....................................................................... 837
29.1.2 Instances of Custom Types ................................................... 837
29.1.3 Re-type .................................................................................. 837
29.1.4 Custom Types Workflows ...................................................... 837
29.1.5 Edit Custom Types and Custom Type Versions ..................... 837
29.1.6 Search for Custom Type Instances ........................................ 838
29.1.7 MP Series Controllers as Custom Types ................................ 838
29.1.8 Exclude and Include Object from a Custom Type ................. 838
29.1.9 Permissions ........................................................................... 839
29.1.10 Export and Import of Custom Types and Instances of Custom
Types ..................................................................................... 839
29.1.11 Shared Graphics .................................................................... 839
29.2 Custom Types .......................................................................... 841
29.2.1 Custom Types Library ............................................................ 841
29.2.2 Multi Server ............................................................................ 841
29.2.3 Graphics in Dashboards ........................................................ 842
29.3 Selecting the Engineering with Custom Types Workspace ..... 843
29.4 Creating a Custom Type .......................................................... 844
29.5 Deleting a Custom Type .......................................................... 845

04-30006-02-en, May 2019 Technical


19
29.6 Checking Out a Custom Type ................................................. 846
29.7 Undoing a Check Out .............................................................. 847
29.8 Checking In a Custom Type .................................................... 848
29.9 Instances of Custom Types ..................................................... 849
29.10 Creating an Instance of a Custom Type .................................. 850
29.11 Creating Multiple Instances of a Custom Type at the Same
Time ......................................................................................... 851
29.12 Attaching an Object to a Custom Type .................................... 852
29.13 Detaching an Instance of a Custom Type ............................... 853
29.14 Identifying the Custom Type a Selected Instance is Attached
to .............................................................................................. 854
29.15 Changing the Custom Type Version for an Instance of a Custom
Type ......................................................................................... 855
29.16 Re-type ................................................................................... 856
29.16.1 Objects and Structure ............................................................ 856
29.16.2 Properties .............................................................................. 857
29.16.3 Special Behaviors ................................................................. 860
29.17 Custom Types Workflows ........................................................ 862
29.17.1 Create and Configure an MP Series Controller using Custom
Types Workflow ...................................................................... 862
29.17.2 Create Custom Type Objects from Existing Objects
Workflow ................................................................................ 862
29.18 Create and Configure an MP Series Controller using Custom
Types Workflow ........................................................................ 863
29.19 Create Custom Type Objects from Existing Objects ............... 865
29.20 Search for Instances of Custom Types .................................... 866
29.21 Finding all Instances of a Custom Type .................................. 867
29.22 Finding Checked Out Instances ............................................. 868
29.23 Exclude and Include Object from a Custom Type ................... 869
29.24 Excluding an Object from a Custom Type ............................... 870
29.25 Export and Import of Custom Types and Instances of Custom
Types ...................................................................................... 871
29.25.1 Import and Export Custom Types and Instances as a Part of a
Solution .................................................................................. 871
29.25.2 Import and Export of Custom Types Without an Instance ...... 871
29.26 Importing a Custom Type ........................................................ 873
29.27 Exporting a Custom Type ........................................................ 874
29.28 Cannot See the Custom Types Menu ...................................... 875
29.28.1 Solution .................................................................................. 875

30 Custom Types User Interface .................................. 877


30.1 Custom Type Library Pane ...................................................... 879
30.2 Custom Type Dialog Box ......................................................... 880
30.3 Attach to Custom Type Dialog Box .......................................... 881
30.4 Create Multiple Dialog Box ...................................................... 882
30.5 Change Custom Type Version Dialog Box .............................. 883
30.6 Custom Types Icons ................................................................ 884
30.7 Actions Menu – Custom Types Submenu ................................ 885

Technical 04-30006-02-en, May 2019


20
31 Graphics Overview ................................................... 887
31.1 Graphics Overview .................................................................. 889
31.1.1 TGML ..................................................................................... 889
31.1.2 Basic TGML Elements ........................................................... 889
31.1.3 Interactive TGML Elements .................................................... 889
31.1.4 Graphics Editor ...................................................................... 889
31.1.5 TGML Appendices ................................................................. 889
31.2 TGML ....................................................................................... 890
31.2.1 TGML Properties and Attributes ............................................ 890
31.2.2 TGML Coordinate System ...................................................... 890
31.2.3 TGML Rendering Model ........................................................ 891
31.2.4 TGML Types and Enumerations ............................................ 891
31.2.5 TGML File Format .................................................................. 891
31.2.6 TGML Code Snippets ............................................................ 891
31.2.7 TGML Common Attributes ..................................................... 891
31.2.8 TGML Components ................................................................ 891
31.2.9 TGML Document Structure .................................................... 891
31.2.10 TGML Scripting ...................................................................... 892
31.2.11 TGML Element Summary ....................................................... 892
31.3 TGML Properties and Attributes .............................................. 893
31.4 TGML Coordinate System ........................................................ 895
31.5 TGML Rendering Model ........................................................... 896
31.6 TGML Types and Enumerations .............................................. 897
31.6.1 Arrays .................................................................................... 899
31.7 TGML Code Snippets .............................................................. 900
31.8 TGML Common Attributes ....................................................... 901
31.9 TGML Components .................................................................. 902
31.10 TGML Document Structure ...................................................... 903
31.11 TGML Scripting ........................................................................ 904
31.11.1 TGML About Data Types ....................................................... 904
31.11.2 TGML Common Event Methods ............................................. 904
31.11.3 TGML Mouse Event Methods ................................................. 904
31.11.4 TGML SignalChange Event Methods ..................................... 904
31.11.5 TGML DOM Methods ............................................................. 904
31.11.6 TGML Standard DOM Methods (Commonly Used) ............... 904
31.11.7 TGML JavaScript Functions ................................................... 905
31.12 TGML About Data Types ......................................................... 906
31.13 TGML Common Event Methods ............................................... 907
31.14 TGML Mouse Event Methods ................................................... 908
31.15 TGML SignalChange Event Methods ....................................... 910
31.16 TGML DOM Methods ............................................................... 911
31.17 TGML - Standard DOM Methods (Commonly Used) ............... 913
31.18 TGML JavaScript Functions ..................................................... 915
31.18.1 TGML JavaScript Functions - Example 1 ............................... 916
31.18.2 TGML JavaScript Functions - Example 2 ............................... 917
31.18.3 TGML JavaScript Functions - Example 3 ............................... 917

04-30006-02-en, May 2019 Technical


21
31.18.4 TGML JavaScript Functions - Example 4 ............................... 917
31.18.5 JavaScript 1.5 ........................................................................ 917
31.19 TGML JavaScript Functions - Example 1 ................................. 918
31.20 TGML JavaScript Functions - Example 2 ................................. 919
31.21 TGML JavaScript Functions - Example 3 ................................. 920
31.22 TGML JavaScript Functions - Example 4 ................................. 921

32 Basic TGML Elements .............................................. 923


32.1 Basic TGML Elements ............................................................. 925
32.1.1 TGML Document Type Element and Metadata ...................... 925
32.1.2 TGML Grouping Elements ..................................................... 925
32.1.3 TGML Basic Shapes .............................................................. 925
32.1.4 TGML Segment Shapes ......................................................... 925
32.1.5 TGML Curves and Paths ........................................................ 925
32.1.6 TGML Raster Images ............................................................. 925
32.1.7 TGML Text ............................................................................. 926
32.1.8 TGML Gradients .................................................................... 926
32.2 TGML Document Type Element and Metadata ........................ 927
32.3 TGML Grouping Elements ....................................................... 929
32.3.1 TGML Grouping: <Group> .................................................... 929
32.3.2 TGML Components: <Component> ...................................... 929
32.3.3 TGML Layers: <Layer> .......................................................... 929
32.4 TGML Grouping: <Group> ...................................................... 930
32.5 TGML Components: <Component> ........................................ 931
32.6 TGML Layers: <Layer> ............................................................ 934
32.7 TGML Basic Shapes ................................................................ 935
32.7.1 Shape Attributes .................................................................... 935
32.7.2 TGML Line: <Line> ................................................................ 936
32.7.3 TGML Polyline: <Polyline> ..................................................... 936
32.7.4 TGML Polygon: <Polygon> .................................................... 936
32.7.5 TGML Rectangle: <Rectangle> ............................................. 936
32.7.6 TGML Ellipse: <Ellipse> ........................................................ 937
32.8 TGML Line: <Line> .................................................................. 938
32.9 TGML Polyline: <Polyline> ....................................................... 940
32.10 TGML Polygon: <Polygon> ...................................................... 942
32.11 TGML Rectangle: <Rectangle> ............................................... 944
32.12 TGML Ellipse: <Ellipse> .......................................................... 947
32.13 TGML Segment Shapes ........................................................... 950
32.13.1 TGML Elliptical Arc: <Arc> .................................................... 950
32.13.2 TGML Elliptical Pie: <Pie> ..................................................... 950
32.13.3 TGML Elliptical Chord: <Chord> ........................................... 950
32.14 TGML Elliptical Arc: <Arc> ...................................................... 951
32.15 TGML Elliptical Pie: <Pie> ....................................................... 954
32.16 TGML Elliptical Chord: <Chord> ............................................. 957
32.17 TGML Curves and Paths .......................................................... 960
32.17.1 TGML Cubic Bezier Curve: <Curve> ..................................... 960
32.17.2 TGML Path Element: <Path> ................................................. 960

Technical 04-30006-02-en, May 2019


22
32.18 TGML Cubic Bezier Curve: <Curve> ....................................... 961
32.19 TGML Path Element: <Path> ................................................... 963
32.20 TGML Raster Images ............................................................... 965
32.20.1 TGML Image Element: <Image> ........................................... 965
32.20.2 TGML Animated Images (GIF89a): <Animated Image> ........ 965
32.21 TGML Image Element: <Image> ............................................. 966
32.22 TGML Animated Images (GIF89a): <AnimatedImage> ........... 968
32.23 TGML Text ............................................................................... 970
32.23.1 TGML Text Line: <Text> ........................................................ 970
32.23.2 TGML Text Flow: <TextBox> ................................................. 970
32.24 TGML Text Line: <Text> .......................................................... 973
32.25 TGML Text Flow: <TextBox> ................................................... 976
32.26 TGML Gradients ...................................................................... 979
32.26.1 TGML Linear Gradient: <LinearGradient> ............................. 979
32.26.2 TGML Radial Gradient: <RadialGradient> ............................ 979
32.26.3 TGML Gradient Stop: <GradientStop> .................................. 979
32.27 TGML Linear Gradient: <LinearGradient> ............................... 980
32.28 TGML Radial Gradient: <RadialGradient> .............................. 982
32.29 TGML Gradient Stop: <GradientStop> .................................... 984

33 Interactive Elements ................................................. 987


33.1 Interactive TGML Elements ...................................................... 989
33.1.1 TGML Transformations .......................................................... 989
33.1.2 TGML Link Element: <Link> .................................................. 989
33.1.3 TGML Animations .................................................................. 989
33.1.4 TGML Dynamics .................................................................... 989
33.1.5 TGML Attribute Exposure ...................................................... 989
33.1.6 TGML Scripting ...................................................................... 990
33.2 TGML Transformations ............................................................ 991
33.2.1 Rotation: <Rotate> ................................................................. 991
33.2.2 Skewing: <SkewX> and <SkewY> ........................................ 991
33.2.3 Scaling: <Scale> ................................................................... 991
33.2.4 Translations: <Translate> ...................................................... 991
33.3 TGML Rotation: <Rotate> ........................................................ 992
33.4 TGML Skewing: <SkewX> and <SkewY> ................................ 994
33.5 TGML Scaling: <Scale> ........................................................... 996
33.6 TGML Translations: <Translate> ............................................. 997
33.7 TGML Link element: <Link> ..................................................... 998
33.8 TGML Animations .................................................................... 999
33.8.1 TGML Animation: <Animate> ................................................ 999
33.8.2 TGML Sequences: <Sequence> ........................................... 999
33.9 TGML Animation: <Animate> ................................................ 1000
33.10 TGML Sequences: <Sequence> ........................................... 1002
33.11 TGML Dynamics .................................................................... 1003
33.11.1 TGML Signal Binding: <Bind> ............................................. 1004
33.11.2 TGML Value Conversion: <ConvertValue> .......................... 1004
33.11.3 TGML Text Value Conversion: <ConvertText> .................... 1004

04-30006-02-en, May 2019 Technical


23
33.11.4 TGML Value Range Conversion: <ConvertRange> ............. 1004
33.11.5 TGML Custom Conversion: <ConvertCustom> ................... 1005
33.11.6 TGML Status Conversion: <ConvertStatus> ........................ 1005
33.12 TGML Signal Binding: <Bind> ............................................... 1006
33.13 TGML Value Conversion: <ConvertValue> ............................ 1008
33.14 TGML Text Value Conversion: <ConvertText> ...................... 1010
33.15 TGML Value Range Conversion: <ConvertRange> ............... 1011
33.16 TGML Custom Conversion: <ConvertCustom> ..................... 1013
33.17 TGML Status Conversion: <ConvertStatus> .......................... 1014
33.18 TGML Attribute Exposure ...................................................... 1015
33.18.1 TGML Expose Element: <Expose> ...................................... 1015
33.19 TGML Expose Element: <Expose> ........................................ 1016
33.20 TGML Scripting ...................................................................... 1017
33.20.1 TGML Script Element: <Script> ........................................... 1017
33.20.2 TGML Script Context ........................................................... 1017
33.20.3 TGML Target Area Element: <TargetArea> ......................... 1017
33.20.4 Global Scripts in TGML Graphics ........................................ 1017
33.20.5 Invoke Function .................................................................... 1018
33.20.6 Panel Navigation .................................................................. 1018
33.21 TGML Script Element: <Script> ............................................. 1019
33.22 TGML Script Context .............................................................. 1022
33.23 TGML Target Area Element: <TargetArea> ........................... 1023

34 Graphics Editor ....................................................... 1025


34.1 Graphics Editor ..................................................................... 1027
34.1.1 Graphics in WorkStation ...................................................... 1030
34.1.2 Figures ................................................................................. 1030
34.1.3 Components ........................................................................ 1030
34.1.4 Graphic Menus .................................................................... 1030
34.1.5 Graphics Editor Libraries ..................................................... 1030
34.1.6 Keyboard Shortcuts for Graphics Editor .............................. 1030
34.1.7 Test ...................................................................................... 1030
34.1.8 Console ............................................................................... 1031
34.2 Graphics in WorkStation ........................................................ 1032
34.2.1 TGML File Format ................................................................ 1033
34.2.2 SVG Support ........................................................................ 1033
34.3 TGML File Format .................................................................. 1034
34.3.1 Supported File Formats ....................................................... 1034
34.4 SVG Support .......................................................................... 1036
34.4.1 Supported SVG Elements .................................................... 1036
34.4.2 Supported SVG Attributes ................................................... 1036
34.5 Creating a Graphic ................................................................ 1039
34.6 Adjusting the Graphic Work Area .......................................... 1040
34.7 Zooming ................................................................................. 1041
34.8 Zooming to a Specified Value ................................................ 1042
34.9 Saving a Graphic ................................................................... 1043
34.10 Printing Graphics ................................................................... 1044

Technical 04-30006-02-en, May 2019


24
34.11 Setting Up a Page for Printing ................................................ 1045
34.12 Previewing a Print .................................................................. 1046
34.13 Graphics Editor Libraries ....................................................... 1047
34.14 Keyboard Shortcuts for Graphics Editor ................................ 1048
34.15 Test ........................................................................................ 1050
34.16 Testing a Graphic in Preview Mode ....................................... 1051
34.17 Disabling Pan and Zoom ....................................................... 1052
34.18 Console .................................................................................. 1053
34.19 Opening the Console ............................................................. 1054

35 Graphics Editor Figures .......................................... 1055


35.1 Figures ................................................................................... 1057
35.1.1 Drawing Tools ...................................................................... 1058
35.1.2 Snippets .............................................................................. 1058
35.1.3 Attributes ............................................................................. 1058
35.1.4 Binds and Links ................................................................... 1058
35.1.5 Graphics Editing Tools ........................................................ 1058
35.1.6 Graphic Object Position ....................................................... 1058
35.2 Drawing Tools ........................................................................ 1060
35.2.1 Lines .................................................................................... 1060
35.2.2 Polylines .............................................................................. 1060
35.2.3 Curves ................................................................................. 1060
35.2.4 Polygons .............................................................................. 1060
35.2.5 Rectangle ............................................................................ 1060
35.2.6 Ellipses ................................................................................ 1060
35.2.7 Arcs ..................................................................................... 1061
35.2.8 Pies ...................................................................................... 1061
35.2.9 Texts and Textboxes ............................................................ 1061
35.2.10 Pictures ................................................................................ 1061
35.3 Lines ...................................................................................... 1062
35.4 Drawing a Line ....................................................................... 1063
35.5 Polylines ................................................................................. 1064
35.6 Drawing a Polyline ................................................................. 1065
35.7 Curves ................................................................................... 1066
35.8 Drawing a Curve .................................................................... 1068
35.9 Editing a Curve ...................................................................... 1069
35.10 Polygons ................................................................................ 1070
35.11 Drawing a Polygon ................................................................. 1071
35.12 Rectangles ............................................................................. 1073
35.13 Drawing a Rectangle ............................................................. 1074
35.14 Drawing a Square .................................................................. 1075
35.15 Ellipses .................................................................................. 1076
35.16 Drawing an Ellipse ................................................................. 1077
35.17 Circles .................................................................................... 1078
35.18 Drawing a Circle .................................................................... 1079
35.19 Arcs ....................................................................................... 1080
35.20 Pies ........................................................................................ 1081

04-30006-02-en, May 2019 Technical


25
35.21 Drawing an Arc or a Pie ......................................................... 1082
35.22 Editing an Arc ........................................................................ 1083
35.23 Texts and Textboxes .............................................................. 1084
35.23.1 Text Path .............................................................................. 1084
35.24 Adding Text Using the Text Tool ............................................ 1085
35.25 Making Text Content Dynamic ............................................... 1086
35.26 Adding Text Using the Textbox tool ....................................... 1087
35.27 Editing Text ............................................................................ 1088
35.28 Pictures .................................................................................. 1089
35.28.1 Image Insertion .................................................................... 1089
35.29 Inserting a Picture ................................................................. 1091
35.30 Adjusting a Picture ................................................................. 1092
35.31 Adding an Animated Picture .................................................. 1093
35.32 Making an Animated Picture Dynamic ................................... 1094

36 Attributes ................................................................ 1095


36.1 Attributes ............................................................................... 1097
36.1.1 Graphic Object Attributes .................................................... 1098
36.1.2 Inherited Attributes .............................................................. 1098
36.1.3 Exposed Attributes .............................................................. 1098
36.2 Graphic Object Attributes ...................................................... 1099
36.2.1 Generic Attributes ................................................................ 1099
36.2.2 Inherited Attributes .............................................................. 1099
36.2.3 Exposed Attributes .............................................................. 1099
36.3 Inherited Attributes ................................................................ 1101
36.4 Defining Inheritance ............................................................... 1106
36.5 Setting Up Inherited Attributes ............................................... 1107
36.6 Exposed Attributes ................................................................ 1108
36.7 Adding an Expose Element ................................................... 1109
36.8 Exposing an Attribute ............................................................. 1110
36.9 Modifying the Behavior of a Component ................................ 1111

37 Binds and Links ...................................................... 1113


37.1 Binds and Links ..................................................................... 1115
37.1.1 Object Binding ..................................................................... 1115
37.1.2 Object Linking ..................................................................... 1115
37.1.3 Dynamic Updates ................................................................ 1115
37.2 Object Binding ....................................................................... 1116
37.3 Adding a Link ......................................................................... 1120
37.4 Adding a Bind ........................................................................ 1121
37.5 Binding a Graphic to a Variable ............................................ 1122
37.6 Dynamic Updates .................................................................. 1123
37.7 Activating a binding with a dynamic update attribute ............ 1124

38 Editing Tools ........................................................... 1125


38.1 Graphics Editing Tools .......................................................... 1127
38.1.1 Groups ................................................................................. 1127
38.1.2 Layers .................................................................................. 1127

Technical 04-30006-02-en, May 2019


26
38.1.3 Object Organization ............................................................. 1128
38.1.4 Colors .................................................................................. 1128
38.1.5 Gradients ............................................................................. 1128
38.1.6 Animations ........................................................................... 1128
38.1.7 Paths .................................................................................... 1128
38.1.8 Grid ...................................................................................... 1128
38.2 Object Organization .............................................................. 1129
38.2.1 Object Moving ..................................................................... 1129
38.2.2 Object Aligment ................................................................... 1129
38.2.3 Object Arrangement ............................................................ 1130
38.2.4 Object Distribution ............................................................... 1130
38.2.5 Object Rotation .................................................................... 1130
38.2.6 Object Skewing .................................................................... 1131
38.2.7 Object Flipping .................................................................... 1131
38.2.8 Object Resizing ................................................................... 1131
38.3 Moving Objects ...................................................................... 1132
38.4 Aligning Objects .................................................................... 1133
38.5 Arranging Objects ................................................................. 1134
38.6 Distributing Objects ............................................................... 1135
38.7 Arranging a Table-like Layout ................................................ 1136
38.8 Duplicating an Object to the Same Position ........................... 1137
38.9 Duplicating an Object with a Controlled Offset ...................... 1138
38.10 Resizing an Object ................................................................ 1139
38.11 Resizing an Object to the Same Size ..................................... 1140
38.12 Rotating a Single Object ........................................................ 1141
38.13 Rotating Multiple Objects ....................................................... 1142
38.14 Skewing Horizontally .............................................................. 1143
38.15 Skewing Vertically .................................................................. 1144
38.16 Flipping an Object ................................................................. 1145
38.17 Copying an Object ................................................................. 1146
38.18 Editing a Point of an Object ................................................... 1147
38.19 Editing Object Properties ....................................................... 1148
38.20 Editing Multiple Objects ......................................................... 1149
38.21 Deleting an Object ................................................................. 1150
38.22 Colors .................................................................................... 1151
38.23 Adding a Custom Color ......................................................... 1152
38.24 Using a Custom Color ............................................................ 1153
38.25 Gradients ............................................................................... 1154
38.25.1 Linear Gradient Adjustment ................................................. 1154
38.25.2 Radial Gradient Adjustment ................................................. 1154
38.25.3 Gradient Properties .............................................................. 1154
38.26 Gradient Properties ................................................................ 1155
38.27 Adding a Linear Gradient ...................................................... 1160
38.28 Adjusting a Linear Gradient ................................................... 1161
38.29 Adding a Radial Gradient ...................................................... 1162
38.30 Adjusting a Radial Gradient ................................................... 1163
38.31 Animations ............................................................................. 1164

04-30006-02-en, May 2019 Technical


27
38.32 Adding an Animation ............................................................. 1167
38.33 Paths ...................................................................................... 1168
38.34 Creating a Text Path .............................................................. 1169
38.35 Editing a Text Path ................................................................. 1170
38.36 Grid ........................................................................................ 1171
38.37 Showing/Hiding the Grid ........................................................ 1172
38.38 Switching on/off Snap to Grid ................................................ 1173
38.39 Nudging an Object ................................................................ 1174

39 Layers ..................................................................... 1175


39.1 Layers .................................................................................... 1177
39.2 Adding a Layer ...................................................................... 1181
39.3 Copying a Layer .................................................................... 1182
39.4 Deleting a Layer ..................................................................... 1183
39.5 Renaming a Layer .................................................................. 1184
39.6 Selecting a Layer ................................................................... 1185
39.7 Hiding a Layer ....................................................................... 1186
39.8 Controlling the Visibility of a Layer ......................................... 1187

40 Groups .................................................................... 1189


40.1 Groups ................................................................................... 1191
40.2 Grouping Multiple Objects ..................................................... 1194
40.3 Ungrouping Objects .............................................................. 1195
40.4 Selecting an Object ............................................................... 1196
40.5 Selecting Multiple Objects ..................................................... 1197
40.6 Selecting All Objects .............................................................. 1198
40.7 Clearing the Selection of Multiple Objects ............................. 1199
40.8 Selecting a Group .................................................................. 1200
40.9 Selecting an Object Within a Group ...................................... 1201

41 Components and Snippets ..................................... 1203


41.1 Components .......................................................................... 1205
41.1.1 Component Design .............................................................. 1205
41.1.2 Categories ........................................................................... 1205
41.1.3 Snippets .............................................................................. 1205
41.1.4 Attributes ............................................................................. 1205
41.1.5 Binds and Links ................................................................... 1205
41.1.6 Graphics Editing Tools ........................................................ 1206
41.2 Component Design ................................................................ 1207
41.2.1 The Design Process ............................................................. 1207
41.2.2 Component Documentation and Saving ............................. 1207
41.3 Documenting and Saving a Component ................................ 1209
41.4 Inhibiting Clipping .................................................................. 1210
41.5 Controlling the Appearance of the Component ..................... 1211
41.6 Grouping Drawing Objects as a Component ......................... 1212
41.7 Adding a Component ............................................................. 1213
41.8 Creating a New Component .................................................. 1215
41.9 Editing a Component ............................................................. 1216

Technical 04-30006-02-en, May 2019


28
41.10 Saving as a Component ......................................................... 1217
41.11 Snippets ................................................................................. 1218
41.12 Adding a Snippet ................................................................... 1219
41.13 Saving as a Snippet ............................................................... 1220

42 Categories .............................................................. 1221


42.1 Categories ............................................................................. 1223
42.2 Creating a Category ............................................................... 1224
42.3 Selecting a Category ............................................................. 1225
42.4 Renaming a Category ............................................................ 1226
42.5 Hiding a Category .................................................................. 1227
42.6 Displaying a Hidden Category ............................................... 1228
42.7 Importing a Components Category ....................................... 1229
42.8 Importing a Snippets Category .............................................. 1230
42.9 Exporting a Category ............................................................. 1231
42.10 Deleting a Category ............................................................... 1232

43 Graphic Menus ....................................................... 1233


43.1 Graphic Menus ...................................................................... 1235
43.1.1 Graphic Menus Workflow ..................................................... 1235
43.2 Graphic Menus Workflow ....................................................... 1236
43.3 Creating a Menu .................................................................... 1237
43.4 Add Objects to a Menu .......................................................... 1238
43.5 Adding a Submenu ................................................................ 1239
43.6 Removing a Menu Item .......................................................... 1240

44 Appendices ............................................................ 1241


44.1 TGML Appendices ................................................................ 1243
44.1.1 TGML Appendix A User-Defined Descriptions of Custom
Attributes ............................................................................. 1243
44.1.2 TGML Appendix B TGML View Object ............................... 1243
44.2 TGML Appendix A User-Defined Descriptions of Custom
Attributes ............................................................................... 1244
44.3 TGML Appendix B TGML View Object ................................. 1245
44.3.1 TGML JavaScript Global Objects ........................................ 1245
44.3.2 TGML View Object ............................................................... 1245
44.3.3 TGML Console Object ......................................................... 1246

45 TGML Additions for EcoStruxure Building


Operation ................................................................ 1247
45.1 TGML Element Summary ....................................................... 1249
45.2 TGML Limitations ................................................................... 1261
45.3 Displaying the TGML Version ................................................ 1262
45.4 Global Scripts in TGML Graphics .......................................... 1263
45.5 Invoke Function ..................................................................... 1264
45.5.1 Invoke Function Attributes ................................................... 1265
45.6 Panel Navigation .................................................................... 1267

46 Graphics User Interface ......................................... 1269

04-30006-02-en, May 2019 Technical


29
46.1 Graphics Editor ...................................................................... 1271
46.2 Graphics Editor Menu Bar ..................................................... 1273
46.3 Graphics Editor File Menu ..................................................... 1275
46.4 Graphics Editor File Menu – New Submenu .......................... 1277
46.5 File Menu – Open Submenu ................................................... 1278
46.6 File Menu – Save As Submenu .............................................. 1279
46.7 File Menu – Print Submenu .................................................... 1280
46.8 File Menu – Settings Submenu ............................................... 1281
46.9 Graphics Editor View Menu ................................................... 1282
46.10 Categories Context Menu ...................................................... 1284
46.11 Graphics Editor Drawing Toolbar .......................................... 1285
46.12 Graphics Editor Options Toolbar ........................................... 1288
46.13 Components Pane ................................................................. 1292
46.14 Graphics Editor Snippets Pane .............................................. 1293
46.15 Graphics Editor Panes ........................................................... 1295
46.16 Graphics Editor Objects Pane ............................................... 1297
46.17 Graphics Editor Properties Pane ........................................... 1298
46.18 Graphics Editor Statistics Pane ............................................. 1299
46.19 Graphics Editor Test Pane ..................................................... 1301
46.20 Graphics Editor Binds and Links Pane .................................. 1302
46.21 Graphics Editor Layers Pane ................................................. 1303
46.22 Create Graphics Wizard - Basic Settings Page ..................... 1305
46.23 Graphic Properties - Basic Tab .............................................. 1306
46.24 Graphic Properties – Bindings Tab ........................................ 1307
46.25 Graphic Properties – Links Tab .............................................. 1308
46.26 Graphic Properties - References Tab .................................... 1309
46.27 Document Properties Dialog Box ........................................... 1310
46.28 Unsupported Characters ....................................................... 1311
46.29 Menu Editor ............................................................................ 1312
46.30 Menu – Basic Tab .................................................................. 1313

47 Graphics Troubleshooting ...................................... 1315


47.1 Units Categories Mismatch when Saving a Graphic ............. 1317
47.1.1 Solution ................................................................................ 1317

48 Function Block Introduction .................................... 1319


48.1 Graphical Programming ........................................................ 1321
48.1.1 How a Function Block Program Works ................................. 1321
48.1.2 Printouts of Function Block Programs with Multiple Pages .. 1321
48.1.3 Function Block Limitations ................................................... 1322
48.2 Function Block Editor Overview ............................................. 1323
48.3 Function Block Workflow ........................................................ 1324
48.4 Function Block Editor File Type .............................................. 1328
48.5 Function Block Editor Shortcut Keys ...................................... 1329
48.6 Programming Hints ................................................................ 1330
48.6.1 Program Cycle Time ............................................................ 1330
48.6.2 Time Counter ....................................................................... 1330

Technical 04-30006-02-en, May 2019


30
48.6.3 Equality ................................................................................ 1330
48.6.4 Reset Counter ...................................................................... 1330
48.6.5 Bitwise Operators ................................................................ 1331
48.6.6 Sliding Average Value ......................................................... 1331
48.6.7 Time Shift ............................................................................. 1331
48.6.8 Expression Blocks ............................................................... 1331
48.6.9 Start-Up Delay ..................................................................... 1332
48.7 Units of Measure .................................................................... 1333
48.8 Function Block Diagram Structure ......................................... 1334
48.9 Programming Phases ............................................................ 1336
48.9.1 Function Phase .................................................................... 1336
48.9.2 Design Phase ....................................................................... 1336
48.9.3 Test Phase ........................................................................... 1336
48.10 Design Phase ........................................................................ 1337
48.10.1 Point Identification and Allocation ........................................ 1337
48.10.2 Points and Alarms Naming Conventions ............................. 1337
48.10.3 The Function Block Diagram Structure ................................ 1337
48.11 Operation Modes ................................................................... 1338
48.11.1 Edit Mode ............................................................................. 1338
48.11.2 Simulation Mode .................................................................. 1338

49 Function Block Programs ........................................ 1339


49.1 Function Block Programs in WorkStation ............................... 1341
49.2 Function Block Program Printouts .......................................... 1342
49.3 Creating a Function Block Program ....................................... 1343
49.4 Function Block Program Import ............................................. 1344
49.5 Importing Function Block Program Code ............................... 1345
49.6 Exporting Function Block Program Code ............................... 1346
49.7 Opening a Function Block Program ....................................... 1347
49.8 Editing a Function Block Program .......................................... 1348
49.9 Binding a Function Block Program to I/Os ............................. 1349
49.10 Binding Values Using a Binding Template ............................ 1350
49.11 Saving a Function Block Program .......................................... 1353
49.12 Tasks ..................................................................................... 1354
49.13 Adding a Task to a Program .................................................. 1355
49.14 Program Cycles in EcoStruxure Building Operation
Software ................................................................................. 1356
49.14.1 Example A ........................................................................... 1357
49.14.2 Example B ............................................................................ 1359
49.14.3 Application Scheduler ......................................................... 1360
49.15 Configuring the Execution Precedence for a Program .......... 1362
49.16 Finding Cycles in a Task ........................................................ 1363
49.17 Module Names ....................................................................... 1364
49.18 Default Names ....................................................................... 1365
49.19 Adding and Editing the Module Name ................................... 1366
49.20 Adding Default Names to Function Blocks ............................ 1367
49.21 Searching for a Text String ..................................................... 1368

04-30006-02-en, May 2019 Technical


31
49.22 Replacing a Text String .......................................................... 1369
49.23 Program Conversion .............................................................. 1370
49.24 Importing a Xenta 280/300/401 Program ............................... 1371

50 Function Blocks ...................................................... 1373


50.1 Edit Mode .............................................................................. 1375
50.1.1 Function Block Programming .............................................. 1375
50.1.2 Programming Phases .......................................................... 1375
50.2 Changing to Edit Mode .......................................................... 1376
50.3 Duplicating a Function Block ................................................. 1377
50.4 Selecting a Function Block .................................................... 1378
50.5 Copying a Selection to the Clipboard .................................... 1379
50.6 Clearing a Function Block Selection ...................................... 1380
50.7 Printing a Selection ................................................................ 1381
50.8 Moving a Function Block ........................................................ 1382
50.9 Copying a Function Block ...................................................... 1383
50.10 Deleting a Function Block ...................................................... 1384
50.11 Naming a Function Block ....................................................... 1385
50.12 Selecting a Group .................................................................. 1386
50.13 Centering a Group ................................................................. 1387
50.14 Moving a Group ..................................................................... 1388
50.15 Deleting a Group ................................................................... 1389
50.16 Copying a Group ................................................................... 1390
50.17 Disconnecting a Group .......................................................... 1391

51 Hierarchical Function Blocks .................................. 1393


51.1 Hierarchical Function Blocks ................................................. 1395
51.2 Creating an Empty HFB ......................................................... 1397
51.3 Adding an HFB I/O Block ....................................................... 1398
51.4 Creating an HFB of Existing Function Blocks ......................... 1399
51.5 Expanding an HFB ................................................................. 1400
51.6 Compressing an HFB ............................................................. 1401
51.7 Navigating in a Hierarchical Structure of HFBs ...................... 1402
51.8 Printing an HFB ...................................................................... 1403

52 Macros .................................................................... 1405


52.1 Function Block Editor Macros ................................................ 1407
52.2 Function Block Editor Macro Commands .............................. 1408
52.3 Saving a Macro ...................................................................... 1409
52.4 Loading a Macro .................................................................... 1410
52.5 Replacing a String ................................................................. 1411
52.6 Adding a Message Box ......................................................... 1412
52.7 Adding a Reminder ................................................................ 1413
52.8 Adding a Sound ..................................................................... 1414

53 Constants ................................................................ 1415


53.1 Constants ............................................................................... 1417
53.1.1 Public Constants .................................................................. 1417

Technical 04-30006-02-en, May 2019


32
53.2 Using a Constant ................................................................... 1419
53.3 Making a Constant Public ...................................................... 1420
53.4 Deleting All Unused Constants .............................................. 1421
53.5 Deleting a Constant ............................................................... 1422
53.6 Editing a Constant ................................................................. 1423
53.7 Adding a Constant ................................................................. 1424
53.8 Changing the Value of a Constant ......................................... 1425

54 Signals .................................................................... 1427


54.1 Signals ................................................................................... 1429
54.1.1 Signal Types ........................................................................ 1429
54.1.2 Public Signals ...................................................................... 1429
54.1.3 Accessing Signals ............................................................... 1429
54.1.4 Signal Names ....................................................................... 1430
54.2 Signal Names ......................................................................... 1431

55 Simulation Mode ..................................................... 1433


55.1 Simulation Mode .................................................................... 1435
55.2 Changing to Simulation Mode ................................................ 1436
55.3 Setting Date and Time ........................................................... 1437
55.4 Tiling the Simulation Area Vertically and Horizontally ............ 1438
55.5 Simulating One Cycle Only .................................................... 1439
55.6 Simulating a Defined Number of Cycles ................................ 1440
55.7 Starting a Simulation .............................................................. 1441
55.8 Setting Analog Simulation Inputs ........................................... 1442
55.9 Setting Digital Simulation Inputs ............................................ 1443
55.10 Changing from Function Diagram View to Table View ........... 1444
55.11 Adding a Binary Signal to the Recorder ................................. 1445
55.12 Removing a Signal from the Recorder ................................... 1446
55.13 Editing the Range of a Recorded Value ................................. 1447
55.14 Restarting the Recorder ......................................................... 1448
55.15 Resetting the Recorder .......................................................... 1449
55.16 Viewing Sampled Values ....................................................... 1450
55.17 Scanning Sampled Values ..................................................... 1451
55.18 Defining the Sampling Period ................................................ 1452
55.19 Automatically Generated Input Signals ................................. 1453
55.20 Automatically Generating an Analog Input Signal ................ 1454
55.21 Automatically Generating a Binary Input Signal .................... 1455
55.22 Modifying an Analog Signal ................................................... 1456
55.23 Modifying a Binary Signal ...................................................... 1457
55.24 Viewing Parameters in a Function Block ................................ 1458

56 Function Block Programming ................................. 1459


56.1 Function Block Programming ................................................ 1461
56.1.1 Simple Blocks ...................................................................... 1461
56.1.2 Operators ............................................................................ 1461
56.1.3 Expression Blocks ............................................................... 1461
56.1.4 Connections ........................................................................ 1461

04-30006-02-en, May 2019 Technical


33
56.1.5 Signals ................................................................................. 1461
56.1.6 Macros ................................................................................. 1462
56.1.7 Comments ........................................................................... 1462
56.2 Connections ........................................................................... 1463
56.3 Connecting a Block Output to a Block Input .......................... 1465
56.4 Creating a Node on a Connection Line .................................. 1466
56.5 Drawing a Connection Line from a Node ............................... 1467
56.6 Drawing a Connection Line in the Diagram Window .............. 1468
56.7 Disconnecting All Connections .............................................. 1469
56.8 Disconnecting a Connection ................................................. 1470
56.9 Changing a Connection ......................................................... 1471
56.10 Deleting a Connection ........................................................... 1472
56.11 Detaching a Connection ........................................................ 1473
56.12 Changing the Color of a Connection Line .............................. 1474
56.13 Changing the Orthogonal Connection Setting ....................... 1475

57 Expression Blocks and Comments ......................... 1477


57.1 Expression Blocks ................................................................. 1479
57.1.1 Expression Block Input Variables ........................................ 1479
57.1.2 Expression Block Constants ................................................ 1480
57.1.3 Expression Block Operators ................................................ 1480
57.1.4 Expression Block Arithmetical Functions ............................. 1480
57.2 Adding an Expression Block .................................................. 1481
57.3 Expression Block Arithmetical Functions ............................... 1482
57.4 Expression Block Operators .................................................. 1483
57.5 Function Block Editor Comments ........................................... 1485
57.6 Adding a Comment ................................................................ 1486
57.7 Adding a Rectangle ............................................................... 1487

58 Function Block Types ............................................. 1489


58.1 Simple Blocks ........................................................................ 1493
58.1.1 Connection Blocks ............................................................... 1493
58.1.2 Signal Source Blocks ........................................................... 1494
58.1.3 Logical Function Blocks ....................................................... 1494
58.1.4 Non-linear Function Blocks .................................................. 1495
58.1.5 Delay Blocks ........................................................................ 1495
58.1.6 Controller and Filter Blocks .................................................. 1496
58.1.7 Accumulator Blocks ............................................................. 1496
58.1.8 System Variable Blocks ....................................................... 1497
58.1.9 Time Schedule and Alarm Blocks ........................................ 1497
58.1.10 Transformation Function Blocks .......................................... 1497
58.2 Adding a Simple Block .......................................................... 1499
58.3 Connection Blocks ................................................................. 1500
58.3.1 BI ......................................................................................... 1500
58.3.2 BO ....................................................................................... 1500
58.3.3 II ........................................................................................... 1500
58.3.4 IO ......................................................................................... 1500

Technical 04-30006-02-en, May 2019


34
58.3.5 PI ......................................................................................... 1500
58.3.6 PO ........................................................................................ 1500
58.3.7 RI ......................................................................................... 1501
58.3.8 RO ....................................................................................... 1501
58.4 BI – Binary Input ..................................................................... 1502
58.5 BO – Binary Output ............................................................... 1503
58.6 II – Integer Input ..................................................................... 1504
58.7 IO – Integer Output ............................................................... 1505
58.8 PI – Pulse-Counter Binary Input ............................................. 1506
58.9 PO – Pulsed Binary Output .................................................... 1507
58.10 RI – Real Input ........................................................................ 1508
58.11 RO – Real Output ................................................................... 1509
58.12 Time Schedule and Alarm Blocks .......................................... 1510
58.12.1 ALARM ................................................................................ 1510
58.12.2 TSCHI .................................................................................. 1510
58.13 ALARM – Alarm ...................................................................... 1511
58.14 TSCHI – Time Schedule ......................................................... 1513
58.15 Accumulator Blocks ............................................................... 1514
58.15.1 ACCUM ............................................................................... 1514
58.15.2 INTEG .................................................................................. 1514
58.15.3 RT ........................................................................................ 1514
58.16 ACCUM – Accumulator .......................................................... 1515
58.17 INTEG – Integrator ................................................................. 1517
58.18 RT – Run-Time Measurement ................................................. 1519
58.19 Non-linear Function Blocks .................................................... 1521
58.19.1 AHYST ................................................................................. 1521
58.19.2 HYST .................................................................................... 1521
58.19.3 LIMIT .................................................................................... 1521
58.19.4 MAX ..................................................................................... 1521
58.19.5 MIN ...................................................................................... 1521
58.20 AHYST – Analog Hysteresis ................................................... 1522
58.21 HYST – Binary Hysteresis ...................................................... 1524
58.22 LIMIT – High/Low Signal Limit ................................................ 1526
58.23 MAX – Maximum Signal Selector ........................................... 1527
58.24 MIN – Minimum Signal Selector ............................................. 1528
58.25 Logical Function Blocks ......................................................... 1529
58.25.1 AND ..................................................................................... 1529
58.25.2 NOT ..................................................................................... 1529
58.25.3 OR ....................................................................................... 1529
58.25.4 PULSE ................................................................................. 1529
58.25.5 SR ........................................................................................ 1529
58.25.6 TRIG .................................................................................... 1529
58.25.7 XOR ..................................................................................... 1530
58.26 AND – Logical AND Gate ....................................................... 1531
58.27 NOT – NOT Gate .................................................................... 1532
58.28 OR – OR Gate ........................................................................ 1533
58.29 PULSE – Pulse Generator ...................................................... 1534

04-30006-02-en, May 2019 Technical


35
58.30 SR – Set-Reset Flip-Flop ........................................................ 1535
58.31 TRIG – Trigger ....................................................................... 1537
58.32 XOR – Exclusive OR Gate ...................................................... 1538
58.33 Transformation Function Blocks ............................................ 1539
58.33.1 CURVE ................................................................................. 1539
58.33.2 ENTH ................................................................................... 1539
58.33.3 POLY ................................................................................... 1539
58.33.4 PRCNT ................................................................................. 1539
58.33.5 VECTOR .............................................................................. 1539
58.34 CURVE – Curve Function ....................................................... 1540
58.35 ENTH – Enthalpy .................................................................... 1542
58.36 POLY – Polynomial Function .................................................. 1545
58.37 PRCNT – Percentage ............................................................. 1547
58.38 VECTOR – Vectorial Curve Function ...................................... 1548
58.39 Delay Blocks .......................................................................... 1550
58.39.1 DELAY ................................................................................. 1550
58.39.2 DELB ................................................................................... 1550
58.39.3 DELI ..................................................................................... 1550
58.39.4 DELR ................................................................................... 1550
58.39.5 SHB ..................................................................................... 1550
58.39.6 SHI ....................................................................................... 1551
58.39.7 SHR ..................................................................................... 1551
58.40 DELAY – Delayed On/Off ....................................................... 1552
58.41 DELB – Binary Value Delay .................................................... 1553
58.42 DELI – Integer Value Delay .................................................... 1554
58.43 DELR – Real Value Delay ....................................................... 1555
58.44 SHB – Sample and Hold Binary Value ................................... 1556
58.45 SHI – Sample and Hold Integer Value .................................... 1558
58.46 SHR – Sample and Hold Real Value ...................................... 1560
58.47 System Variable Blocks ......................................................... 1562
58.47.1 DATE ................................................................................... 1562
58.47.2 ERROR ................................................................................ 1562
58.47.3 HOUR .................................................................................. 1562
58.47.4 MINUTE ............................................................................... 1562
58.47.5 MONTH ................................................................................ 1562
58.47.6 RST ...................................................................................... 1562
58.47.7 SECOND .............................................................................. 1563
58.47.8 TCYC ................................................................................... 1563
58.47.9 WDAY .................................................................................. 1563
58.48 DATE – Day ............................................................................ 1564
58.49 ERROR – System Error ........................................................... 1565
58.50 Error Codes for the ERROR Function Block ........................... 1566
58.51 HOUR – Hour ......................................................................... 1567
58.52 MINUTE – Minute ................................................................... 1568
58.53 MONTH – Month .................................................................... 1569
58.54 RST – Restart ......................................................................... 1570
58.55 SECOND – Second ................................................................ 1571

Technical 04-30006-02-en, May 2019


36
58.56 WDAY – Week Day ................................................................. 1572
58.57 TCYC – Cycle Time ................................................................ 1573
58.58 Controller and Filter Blocks .................................................... 1574
58.58.1 FILT ...................................................................................... 1574
58.58.2 OPT ...................................................................................... 1574
58.58.3 PIDA .................................................................................... 1574
58.58.4 PIDI ...................................................................................... 1574
58.58.5 PIDP ..................................................................................... 1574
58.58.6 RAMP ................................................................................... 1574
58.58.7 SEQ ..................................................................................... 1575
58.59 FILT – First Order Filter ........................................................... 1576
58.60 OPT – Optimization ................................................................ 1578
58.61 PIDA – PID Controller – Analog Output .................................. 1585
58.62 PIDI – PID Controller – Incremental Output ............................ 1589
58.63 PIDP – PID Controller – Analog Output .................................. 1592
58.64 RAMP – Ramp Filter ............................................................... 1596
58.65 SEQ – Sequencer .................................................................. 1597
58.66 Signal Source Blocks ............................................................. 1599
58.66.1 NCYC ................................................................................... 1599
58.66.2 OSC ..................................................................................... 1599
58.66.3 PVB ...................................................................................... 1599
58.66.4 PVI ....................................................................................... 1599
58.66.5 PVR ...................................................................................... 1599
58.67 NCYC – Program Cycle Counter ............................................ 1600
58.68 OSC – Oscillator ..................................................................... 1601
58.69 PVB – Parameter Value Binary ............................................... 1602
58.70 PVI – Integer Value Parameter ............................................... 1603
58.71 PVR – Real Value Parameter .................................................. 1604
58.72 Forced Value Indication in Function Block Graphics Viewer 1605

59 Function Block Operators ....................................... 1607


59.1 Operators ............................................................................... 1609
59.1.1 Constant Operators ............................................................. 1609
59.1.2 Logical Operators ................................................................ 1609
59.1.3 Math Operators .................................................................... 1610
59.1.4 Comparison Operators ........................................................ 1610
59.1.5 Bit Operators ........................................................................ 1610
59.1.6 Other Operators ................................................................... 1611
59.2 Adding an Operator ............................................................... 1612
59.3 Constant Operators ............................................................... 1613
59.3.1 Binary Const ........................................................................ 1613
59.3.2 Integer Const ....................................................................... 1613
59.3.3 Real Const ........................................................................... 1613
59.4 Logical Operators .................................................................. 1614
59.4.1 NOT operator ....................................................................... 1614
59.4.2 AND operator ....................................................................... 1614
59.4.3 OR operator ......................................................................... 1614

04-30006-02-en, May 2019 Technical


37
59.4.4 XOR operator ....................................................................... 1614
59.5 Math Operators ...................................................................... 1615
59.5.1 Negate ................................................................................. 1615
59.5.2 Addition ............................................................................... 1615
59.5.3 Subtraction .......................................................................... 1615
59.5.4 Product ................................................................................ 1615
59.5.5 Division ................................................................................ 1615
59.5.6 Modulo ................................................................................. 1615
59.6 Comparison Operators .......................................................... 1617
59.6.1 Less than ............................................................................. 1617
59.6.2 Greater than ......................................................................... 1617
59.6.3 Equal ................................................................................... 1617
59.6.4 Not Equal ............................................................................. 1617
59.6.5 Greater or Equal .................................................................. 1617
59.6.6 Less or Equal ....................................................................... 1617
59.7 Bit Operators ......................................................................... 1619
59.7.1 bit AND ................................................................................ 1619
59.7.2 bit OR ................................................................................... 1619
59.7.3 bit XOR ................................................................................. 1619
59.7.4 Shift Right ............................................................................. 1619
59.7.5 Shift Left ............................................................................... 1619
59.8 Bit Operator Examples ........................................................... 1620
59.9 Miscellaneous Operators ....................................................... 1622
59.9.1 D/A Converter ...................................................................... 1622
59.9.2 A/D Converter ...................................................................... 1622
59.9.3 Analog Multiplexer ............................................................... 1622
59.9.4 Binary Multiplexer ................................................................ 1622
59.9.5 Conversion AA ..................................................................... 1622

60 Function Block User Interface ................................ 1623


60.1 Function Block Editor (Edit Mode) ......................................... 1625
60.2 Function Block Editor File Menu ............................................. 1626
60.3 Function Block Editor Edit Menu ............................................ 1627
60.4 Preferences Menu .................................................................. 1629
60.5 Options Menu ........................................................................ 1630
60.6 Zoom Menu ............................................................................ 1631
60.7 Commands Menu .................................................................. 1632
60.8 Function Block Editor Tools Menu .......................................... 1633
60.9 Function Block Editor Help Menu ........................................... 1634
60.10 Import Dialog Box .................................................................. 1635
60.11 Export Dialog Box .................................................................. 1636
60.12 Print Dialog Box ..................................................................... 1637
60.13 Page Setup Dialog Box .......................................................... 1640
60.14 Search Dialog Box ................................................................. 1642
60.15 Replace Dialog Box ............................................................... 1643
60.16 NEW Menu ............................................................................. 1645
60.17 BLOCK Menu ......................................................................... 1647

Technical 04-30006-02-en, May 2019


38
60.18 INPUT Menu ........................................................................... 1648
60.19 OUTPUT Menu ....................................................................... 1649
60.20 CONNECTION Menu ............................................................. 1650
60.21 Select Simple Block Dialog Box ............................................. 1651
60.22 Edit Expression Dialog Box .................................................... 1652
60.23 Edit Block Dialog Box ............................................................ 1654
60.24 Select Operator Dialog Box ................................................... 1656
60.25 Edit Operator Dialog Box ....................................................... 1657
60.26 Constants Table Dialog Box .................................................. 1658
60.27 New Constant Dialog Box ...................................................... 1659
60.28 Public Signal Table ................................................................ 1660
60.29 Edit Hierarchy Dialog Box ...................................................... 1661
60.30 Edit Comment Dialog Box ...................................................... 1662
60.31 Font Dialog Box ..................................................................... 1663
60.32 Select Hierarchy Connection Dialog Box ............................... 1664
60.33 HFB Navigation Tree ............................................................. 1665
60.34 Function Block Editor (Simulation Mode) ............................... 1666
60.35 File Menu in Simulation Mode ................................................ 1668
60.36 Preferences Menu in Simulation Mode .................................. 1669
60.37 Options Menu in Simulation Mode ......................................... 1670
60.38 Set Date and Time (Simulation) Dialog Box ........................... 1671
60.39 Analog Input Dialog Box ........................................................ 1672
60.40 Digital Input Dialog Box ......................................................... 1673
60.41 RECORD Menu ...................................................................... 1674
60.42 Edit Break Limit Dialog Box .................................................... 1675
60.43 TREND Menu ......................................................................... 1676
60.44 SIGNAL Menu ........................................................................ 1677
60.45 Function Block Program Properties – Basic Tab .................... 1678
60.46 Function Block Program Properties – Inputs Tab ................... 1680
60.47 Function Block Program Properties – Public Signals Tab ...... 1681
60.48 Function Block Program Properties – Outputs Tab ................ 1682
60.49 Function Block Program Properties – References Tab .......... 1683

61 Function Block Troubleshooting ............................. 1685


61.1 Function Block Displayed in Red Frame ................................ 1687
61.1.1 Solution ................................................................................ 1687
61.2 Unable to Compile or Simulate .............................................. 1688
61.2.1 Solution ................................................................................ 1688
61.3 Constant Already Defined ...................................................... 1689
61.3.1 Solution ................................................................................ 1689
61.4 Faulty Block Centered and Selected ..................................... 1690
61.4.1 Solution ................................................................................ 1690
61.5 Illegal Closed Loop Has Been Detected ............................... 1691
61.5.1 Solution ................................................................................ 1691
61.6 Redefined Identifier ............................................................... 1692
61.6.1 Solution ................................................................................ 1692
61.7 Undefined Constant ............................................................... 1693

04-30006-02-en, May 2019 Technical


39
61.7.1 Solution ................................................................................ 1693
61.8 Block Must Have a Name ...................................................... 1694
61.8.1 Solution ................................................................................ 1694
61.9 Public Constant Not Supported in Expression Blocks ........... 1695
61.9.1 Solution ................................................................................ 1695
61.10 Public Constant Used More Than Once ................................ 1696
61.10.1 Solution ................................................................................ 1696
61.11 Public Constant Identifier Is in Use Already ........................... 1697
61.11.1 Solution ................................................................................ 1697
61.12 Public Constant Not Used ..................................................... 1698
61.12.1 Solution ................................................................................ 1698
61.13 Node Name Too Long ........................................................... 1699
61.13.1 Solution ................................................................................ 1699
61.14 Division by Zero, Numerical Overflow .................................... 1700
61.14.1 Solution ................................................................................ 1700
61.15 The maximum number of Alarm blocks is exceeded in the
function block program .......................................................... 1701
61.15.1 Solution ................................................................................ 1701
61.16 Unable to Access the Edit Menu ........................................... 1702
61.16.1 Solution ................................................................................ 1702

62 Script Introduction .................................................. 1703


62.1 Script Overview ..................................................................... 1705
62.1.1 Script Workflow .................................................................... 1705
62.1.2 Script Programs ................................................................... 1705
62.1.3 Script Functions ................................................................... 1705
62.1.4 Script Program Components ............................................... 1705
62.1.5 Script Editor Overview ......................................................... 1706
62.1.6 Script Web Services ............................................................ 1706
62.2 Script Workflow ...................................................................... 1707
62.3 Script Programs ..................................................................... 1711
62.3.1 Script Keywords ................................................................... 1711
62.3.2 Script Program Instructions ................................................. 1711
62.3.3 Script Program Flow ............................................................ 1711
62.3.4 Tasks ................................................................................... 1711
62.3.5 Program Cycles in EcoStruxure Building Operation
Software ............................................................................... 1712
62.3.6 Bindings and Script Programs ............................................. 1712
62.4 Creating a Script Program ..................................................... 1713
62.5 Opening a Script Program or Function .................................. 1714
62.6 Script Keywords .................................................................... 1715
62.6.1 A - D ..................................................................................... 1715
62.6.2 E - H ..................................................................................... 1716
62.6.3 I - N ...................................................................................... 1717
62.6.4 O - S ..................................................................................... 1718
62.6.5 T - Y ...................................................................................... 1720
62.7 Script Program Flow .............................................................. 1723

Technical 04-30006-02-en, May 2019


40
62.7.1 FallThru Program Flow ......................................................... 1723
62.7.2 Looping Program Flow ......................................................... 1723
62.8 FallThru Program Flow ........................................................... 1724
62.9 Looping Program Flow ........................................................... 1726
62.10 Script Program Instructions ................................................... 1727
62.10.1 Lines and Line Numbers ...................................................... 1727
62.10.2 Verb and Verb Elements ...................................................... 1728
62.10.3 Case Sensitivity .................................................................... 1728
62.10.4 Reserved Words .................................................................. 1728
62.11 Lines and Line Numbers ........................................................ 1729
62.12 Reserved Words .................................................................... 1730
62.12.1 Script Constants .................................................................. 1730
62.12.2 Script Reserved Words ........................................................ 1730
62.13 Script Reserved Words .......................................................... 1731
62.14 Bindings and Script Programs ............................................... 1735
62.14.1 Local Variable Declarations ................................................. 1735
62.14.2 Binding Attributes ................................................................ 1735
62.15 Binding Values in Script Editor Using a Binding Template .... 1736
62.16 Local Variable Declarations ................................................... 1737
62.17 Tasks ..................................................................................... 1741
62.18 Adding a Task to a Program .................................................. 1742
62.19 Program Cycles in EcoStruxure Building Operation
Software ................................................................................. 1743
62.19.1 Example A ........................................................................... 1744
62.19.2 Example B ............................................................................ 1746
62.19.3 Application Scheduler ......................................................... 1747
62.20 Configuring the Execution Precedence for a Program .......... 1749
62.21 Finding Cycles in a Task ........................................................ 1750

63 Script Programming ................................................ 1751


63.1 Script Program Components ................................................. 1757
63.1.1 Program Constants .............................................................. 1757
63.1.2 Program Operators .............................................................. 1757
63.1.3 Program Statements ............................................................ 1757
63.1.4 Expressions ......................................................................... 1757
63.1.5 Variables .............................................................................. 1757
63.2 Program Constants ................................................................ 1759
63.2.1 Numeric Constants .............................................................. 1759
63.2.2 String Constants .................................................................. 1759
63.2.3 Script Constants .................................................................. 1759
63.2.4 Constant Keywords .............................................................. 1759
63.3 Numeric Constants ................................................................ 1760
63.4 String Constants .................................................................... 1761
63.4.1 Rules for String Constants ................................................... 1761
63.4.2 ASCII Codes ........................................................................ 1761
63.5 ASCII Codes .......................................................................... 1762
63.6 Script Constants .................................................................... 1765

04-30006-02-en, May 2019 Technical


41
63.7 Constant Keywords ............................................................... 1767
63.7.1 Failure .................................................................................. 1767
63.7.2 OFF ...................................................................................... 1767
63.7.3 ON ......................................................................................... 1767
63.7.4 -ON ........................................................................................ 1767
63.7.5 Success ............................................................................... 1767
63.8 Failure .................................................................................... 1768
63.9 OFF ........................................................................................ 1769
63.10 ON ......................................................................................... 1770
63.11 -ON ........................................................................................ 1771
63.12 Success ................................................................................. 1772
63.13 Program Operators ................................................................ 1773
63.13.1 Operator Precedence .......................................................... 1773
63.13.2 Plus Sign, Minus Sign, Negation, BITNOT, and Percentage
Operators ............................................................................ 1774
63.13.3 Fundamental Operators ....................................................... 1774
63.13.4 Comparative Operators ....................................................... 1775
63.13.5 List and Range Operators .................................................... 1777
63.13.6 Bit Operators ........................................................................ 1778
63.13.7 AND/OR and String Joining Operators ................................ 1781
63.13.8 Operator Keywords .............................................................. 1781
63.14 Operator Keywords ............................................................... 1782
63.14.1 Bitwise Operators ................................................................ 1782
63.14.2 Logical Operators ................................................................ 1782
63.14.3 Mathematical Operators ...................................................... 1782
63.15 Bitwise Operators ................................................................. 1784
63.15.1 BITAND ................................................................................ 1784
63.15.2 BITNOT ................................................................................ 1784
63.15.3 BITOR .................................................................................. 1784
63.15.4 BITXOR ................................................................................ 1784
63.16 BITAND .................................................................................. 1785
63.17 BITNOT .................................................................................. 1786
63.18 BITOR .................................................................................... 1787
63.19 BITXOR .................................................................................. 1788
63.20 Logical Operators ................................................................. 1789
63.20.1 AND ..................................................................................... 1789
63.20.2 EQUALS .............................................................................. 1789
63.20.3 IS... ...................................................................................... 1789
63.20.4 NOT ..................................................................................... 1789
63.20.5 OR ....................................................................................... 1789
63.21 AND ....................................................................................... 1790
63.22 EQUALS ................................................................................. 1793
63.23 IS... ......................................................................................... 1794
63.24 NOT ....................................................................................... 1797
63.25 OR .......................................................................................... 1798
63.26 Mathematical Operators ........................................................ 1800
63.26.1 DIVIDED BY ......................................................................... 1800

Technical 04-30006-02-en, May 2019


42
63.26.2 MINUS ................................................................................. 1800
63.26.3 MOD .................................................................................... 1800
63.26.4 PLUS .................................................................................... 1800
63.26.5 TIMES .................................................................................. 1800
63.27 DIVIDED BY ........................................................................... 1801
63.28 MINUS ................................................................................... 1802
63.29 MOD ...................................................................................... 1803
63.30 PLUS ...................................................................................... 1804
63.31 TIMES .................................................................................... 1805
63.32 Program Statements .............................................................. 1806
63.32.1 Statement Keywords ............................................................ 1806
63.33 Statement Keywords .............................................................. 1807
63.33.1 Action Statements ................................................................ 1807
63.33.2 Declaration Statements ....................................................... 1807
63.33.3 Program Control Statements ................................................ 1807
63.33.4 Qualifier Statements ............................................................. 1808
63.34 Action Statements ................................................................. 1809
63.34.1 P .......................................................................................... 1809
63.34.2 PRINT .................................................................................. 1809
63.34.3 SET ...................................................................................... 1809
63.34.4 TURN ................................................................................... 1809
63.35 P ............................................................................................. 1810
63.36 PRINT ..................................................................................... 1811
63.37 SET ........................................................................................ 1817
63.38 TURN ..................................................................................... 1819
63.39 Declaration Statements ......................................................... 1820
63.39.1 ARG ..................................................................................... 1820
63.39.2 DATETIME ........................................................................... 1820
63.39.3 LINE ..................................................................................... 1820
63.39.4 NUMERIC ............................................................................ 1820
63.39.5 STRING ................................................................................ 1820
63.39.6 THE ...................................................................................... 1820
63.39.7 Webservice .......................................................................... 1821
63.40 ARG ....................................................................................... 1822
63.41 DATETIME ............................................................................. 1823
63.42 LINE ....................................................................................... 1825
63.43 NUMERIC .............................................................................. 1829
63.44 STRING .................................................................................. 1831
63.45 THE ........................................................................................ 1833
63.46 Webservice ............................................................................ 1834
63.47 Program Control Statements ................................................. 1835
63.47.1 BASEDON...GOTO .............................................................. 1835
63.47.2 BREAK ................................................................................. 1835
63.47.3 CONTINUE .......................................................................... 1835
63.47.4 FOR...NEXT ......................................................................... 1835
63.47.5 GOTO .................................................................................. 1835
63.47.6 IF...THEN...ELSE .................................................................. 1835

04-30006-02-en, May 2019 Technical


43
63.47.7 MOVE .................................................................................. 1836
63.47.8 Repeat...Until ....................................................................... 1836
63.47.9 RETURN .............................................................................. 1836
63.47.10 SELECT CASE ..................................................................... 1836
63.47.11 STOP ................................................................................... 1836
63.47.12 WAIT .................................................................................... 1836
63.47.13 WHILE .................................................................................. 1837
63.48 BASEDON...GOTO ................................................................ 1838
63.49 BREAK ................................................................................... 1840
63.50 CONTINUE ............................................................................ 1841
63.51 FOR...NEXT ............................................................................ 1842
63.52 GOTO .................................................................................... 1845
63.53 IF...THEN...ELSE .................................................................... 1848
63.54 MOVE ..................................................................................... 1852
63.55 Repeat...Until ......................................................................... 1853
63.56 RETURN ................................................................................. 1854
63.57 SELECT CASE ....................................................................... 1856
63.58 STOP ...................................................................................... 1858
63.59 WAIT ...................................................................................... 1859
63.60 WHILE .................................................................................... 1860
63.61 Qualifier Statements .............................................................. 1861
63.61.1 INPUT .................................................................................. 1861
63.61.2 Buffered ............................................................................... 1861
63.61.3 OUTPUT .............................................................................. 1861
63.61.4 PUBLIC ................................................................................ 1861
63.62 INPUT .................................................................................... 1862
63.63 Buffered ................................................................................. 1863
63.64 OUTPUT ................................................................................. 1864
63.65 PUBLIC .................................................................................. 1865
63.66 Expressions ........................................................................... 1866
63.66.1 Numeric Expressions ........................................................... 1866
63.66.2 String Expressions ............................................................... 1866
63.67 Variables ................................................................................ 1867
63.67.1 Program Variables ............................................................... 1867
63.67.2 System Variables ................................................................. 1867
63.67.3 System Variable Keywords .................................................. 1867
63.67.4 Script Runtime Variables ..................................................... 1867
63.68 Declaring a Variable .............................................................. 1868
63.69 Program Variables ................................................................. 1869
63.69.1 Local Program Variables ..................................................... 1869
63.69.2 Program Arrays .................................................................... 1869
63.69.3 Variables Pane Types .......................................................... 1869
63.70 Local Program Variables ....................................................... 1870
63.70.1 Local Program Variable Declaration .................................... 1870
63.70.2 Local Program Variables and Bindings ............................... 1871
63.71 Variables Pane Types ............................................................ 1873
63.72 Program Arrays ...................................................................... 1874

Technical 04-30006-02-en, May 2019


44
63.73 System Variables ................................................................... 1875
63.74 Script Runtime Variables ....................................................... 1876
63.74.1 TS ........................................................................................ 1876
63.74.2 TM ........................................................................................ 1876
63.74.3 TH ........................................................................................ 1876
63.74.4 TD ........................................................................................ 1876
63.75 TS ........................................................................................... 1877
63.76 TM .......................................................................................... 1878
63.77 TH .......................................................................................... 1879
63.78 TD .......................................................................................... 1880
63.79 System Variable Keywords .................................................... 1881
63.79.1 Date and Time System Variables ......................................... 1881
63.79.2 Runtime System Variables ................................................... 1881
63.80 Date and Time System Variables .......................................... 1882
63.80.1 DATE ................................................................................... 1882
63.80.2 DAYOFMONTH .................................................................... 1882
63.80.3 DAYOFYEAR ....................................................................... 1882
63.80.4 HOD ..................................................................................... 1882
63.80.5 HOUR .................................................................................. 1883
63.80.6 MINUTE ............................................................................... 1883
63.80.7 MONTH ................................................................................ 1883
63.80.8 SECOND .............................................................................. 1883
63.80.9 TOD ..................................................................................... 1883
63.80.10 UTCOffset ............................................................................ 1884
63.80.11 WEEKDAY ........................................................................... 1884
63.80.12 YEAR ................................................................................... 1884
63.81 DATE ...................................................................................... 1885
63.82 DAYOFMONTH ...................................................................... 1886
63.83 DAYOFYEAR .......................................................................... 1887
63.84 HOD ....................................................................................... 1888
63.85 HOUR .................................................................................... 1889
63.86 MINUTE ................................................................................. 1890
63.87 MONTH .................................................................................. 1891
63.88 SECOND ................................................................................ 1893
63.89 TOD ....................................................................................... 1894
63.90 UTCOffset .............................................................................. 1895
63.91 WEEKDAY .............................................................................. 1896
63.92 YEAR ...................................................................................... 1898
63.93 Runtime System Variables .................................................... 1899
63.93.1 ERRORS .............................................................................. 1899
63.93.2 FREEMEM ............................................................................ 1899
63.93.3 SCAN ................................................................................... 1899
63.94 ERRORS ................................................................................ 1900
63.95 FREEMEM .............................................................................. 1901
63.96 SCAN ..................................................................................... 1902
63.97 Script Functions ..................................................................... 1903
63.97.1 Script Function Workflow ..................................................... 1903

04-30006-02-en, May 2019 Technical


45
63.97.2 Script Functions and Programs ........................................... 1903
63.97.3 System Functions ................................................................. 1903
63.98 Script Function Workflow ....................................................... 1904
63.98.1 Script Functions without Arguments .................................... 1904
63.98.2 Script Functions with Arguments ......................................... 1904
63.98.3 Script Functions that Return a Value .................................... 1905
63.99 Script Functions without Arguments ...................................... 1906
63.100 Script Functions with Arguments ........................................... 1907
63.101 Script Functions that Return a Value ...................................... 1908
63.102 Script Functions and Programs ............................................. 1909
63.102.1 Function Declarations and Statements ................................ 1909
63.103 Function Declarations and Statements .................................. 1910
63.104 Declaring and Calling a Script Function ................................ 1912
63.105 Creating a Script Function ..................................................... 1913
63.106 Declaring a Script Function Argument ................................... 1914
63.107 Checking and Saving a Script Function ................................. 1915
63.108 System Functions .................................................................. 1916
63.108.1 System Function Keywords ................................................. 1916
63.109 System Function Keywords ................................................... 1917
63.109.1 Buffered Variable Functions ................................................ 1917
63.109.2 Conversion Functions .......................................................... 1917
63.109.3 Mathematical Functions ....................................................... 1917
63.109.4 Object Functions .................................................................. 1918
63.109.5 PASSED Function ................................................................ 1918
63.109.6 Rounding Functions ............................................................. 1918
63.109.7 Statistical Functions ............................................................. 1918
63.109.8 String Functions ................................................................... 1919
63.109.9 Time Functions ..................................................................... 1919
63.109.10 Trigonomentric Functions .................................................... 1919
63.110 Buffered Variable Functions .................................................. 1921
63.110.1 GetBufferSize ...................................................................... 1921
63.110.2 GetBufferedValue ................................................................ 1921
63.111 GetBufferSize ......................................................................... 1922
63.112 GetBufferedValue .................................................................. 1924
63.113 Conversion Functions ............................................................ 1925
63.113.1 NUMTOSTR ......................................................................... 1925
63.113.2 STRTODATE ........................................................................ 1925
63.113.3 STRTONUM ......................................................................... 1925
63.114 NUMTOSTR ........................................................................... 1926
63.115 STRTODATE .......................................................................... 1927
63.116 STRTONUM ........................................................................... 1929
63.117 Mathematical Functions ......................................................... 1930
63.117.1 ABS ...................................................................................... 1930
63.117.2 EXPONENTIAL .................................................................... 1930
63.117.3 FACTORIAL ......................................................................... 1930
63.117.4 LN ........................................................................................ 1930
63.117.5 LOG ..................................................................................... 1930

Technical 04-30006-02-en, May 2019


46
63.117.6 RANDOM ............................................................................. 1930
63.117.7 SQRT ................................................................................... 1930
63.117.8 SUM ..................................................................................... 1931
63.118 ABS ........................................................................................ 1932
63.119 EXPONENTIAL ....................................................................... 1933
63.120 FACTORIAL ........................................................................... 1934
63.121 LN .......................................................................................... 1935
63.122 LOG ....................................................................................... 1936
63.123 RANDOM ............................................................................... 1937
63.124 SQRT ..................................................................................... 1938
63.125 SUM ....................................................................................... 1939
63.126 Object Functions ................................................................... 1941
63.126.1 ReadProperty ...................................................................... 1941
63.126.2 Relinquish ............................................................................ 1941
63.126.3 WriteProperty ....................................................................... 1941
63.127 ReadProperty ......................................................................... 1942
63.128 Relinquish .............................................................................. 1943
63.129 WriteProperty ......................................................................... 1944
63.130 PASSED Function .................................................................. 1946
63.131 Rounding Functions ............................................................... 1947
63.131.1 CEILING .............................................................................. 1947
63.131.2 FLOOR ................................................................................. 1947
63.131.3 ROUND ................................................................................ 1947
63.131.4 TRUNCATE .......................................................................... 1947
63.132 CEILING ................................................................................. 1948
63.133 FLOOR ................................................................................... 1949
63.134 ROUND .................................................................................. 1950
63.135 TRUNCATE ............................................................................ 1951
63.136 Statistical Functions ............................................................... 1952
63.136.1 AVERAGE ............................................................................ 1952
63.136.2 MAXIMUM ........................................................................... 1952
63.136.3 MAXITEM ............................................................................. 1952
63.136.4 MINIMUM ............................................................................ 1952
63.136.5 MINITEM .............................................................................. 1952
63.136.6 StandardDeviation ............................................................... 1952
63.137 AVERAGE .............................................................................. 1953
63.138 MAXIMUM .............................................................................. 1955
63.139 MAXITEM ............................................................................... 1957
63.140 MINIMUM ............................................................................... 1959
63.141 MINITEM ................................................................................ 1961
63.142 StandardDeviation ................................................................. 1963
63.143 String Functions ..................................................................... 1965
63.143.1 ASC ..................................................................................... 1965
63.143.2 CHR ..................................................................................... 1965
63.143.3 LEFT .................................................................................... 1965
63.143.4 LENGTH .............................................................................. 1965
63.143.5 MID ...................................................................................... 1965

04-30006-02-en, May 2019 Technical


47
63.143.6 RIGHT .................................................................................. 1965
63.143.7 SEARCH .............................................................................. 1966
63.143.8 FIND .................................................................................... 1966
63.143.9 STRINGFILL ......................................................................... 1966
63.143.10 TAB ...................................................................................... 1966
63.144 ASC ........................................................................................ 1967
63.145 CHR ....................................................................................... 1968
63.146 LEFT ....................................................................................... 1969
63.147 LENGTH ................................................................................. 1970
63.148 MID ........................................................................................ 1971
63.149 RIGHT .................................................................................... 1972
63.150 SEARCH ................................................................................ 1973
63.151 FIND ....................................................................................... 1974
63.152 STRINGFILL ........................................................................... 1975
63.153 TAB ........................................................................................ 1977
63.154 Time Functions ...................................................................... 1978
63.154.1 DIFFTIME ............................................................................. 1978
63.154.2 TIMEPIECE .......................................................................... 1978
63.155 DIFFTIME ............................................................................... 1979
63.156 TIMEPIECE ............................................................................ 1981
63.157 Trigonometric Functions ........................................................ 1983
63.157.1 ACOS ................................................................................... 1983
63.157.2 ASIN .................................................................................... 1983
63.157.3 ATAN ................................................................................... 1983
63.157.4 ATAN2 ................................................................................. 1983
63.157.5 COS ..................................................................................... 1983
63.157.6 SIN ....................................................................................... 1983
63.157.7 TAN ...................................................................................... 1983
63.158 ACOS ..................................................................................... 1984
63.159 ASIN ....................................................................................... 1985
63.160 ATAN ..................................................................................... 1986
63.161 ATAN2 ................................................................................... 1987
63.162 COS ....................................................................................... 1988
63.163 SIN ......................................................................................... 1989
63.164 TAN ........................................................................................ 1990

64 Script Editor ............................................................ 1991


64.1 Script Editor Overview ........................................................... 1993
64.1.1 Script Editor Program Creation ............................................ 1993
64.1.2 Script Editor Features .......................................................... 1993
64.1.3 Script Compiler Errors ......................................................... 1993
64.1.4 Script Runtime Errors ........................................................... 1993
64.2 Script Editor Program Creation .............................................. 1994
64.3 Script Compiler Errors ............................................................ 1999
64.4 Script Runtime Errors ............................................................. 2002
64.5 Script Editor Features ............................................................ 2004
64.5.1 Script Editor Program Elements and Colors ........................ 2004

Technical 04-30006-02-en, May 2019


48
64.5.2 Keyboard Shortcuts for Script Editor ................................... 2004
64.5.3 Collapsible Code Segments ................................................ 2004
64.5.4 Comments in Script Programs ............................................. 2004
64.5.5 Script Auto-Completion ....................................................... 2005
64.5.6 Script Editor Initial Binding Variable Values ......................... 2005
64.6 Script Editor Program Elements and Colors .......................... 2006
64.7 Keyboard Shortcuts for Script Editor ..................................... 2007
64.8 Collapsible Code Segments .................................................. 2008
64.8.1 Clipboard ............................................................................. 2008
64.8.2 Code Library ........................................................................ 2008
64.9 Adding a Line ........................................................................ 2011
64.10 Script Auto-Completion ......................................................... 2012
64.11 Using Script Auto-Completion .............................................. 2013
64.12 Script Editor Initial Binding Variable Values ........................... 2014
64.12.1 Statements in Script Programs ............................................ 2014
64.12.2 Script Editor Variables Pane Initial Value Field .................... 2014
64.13 Comments in Script Programs ............................................... 2016
64.14 Adding a Comment ................................................................ 2017
64.15 Checking and Saving a Script Program ................................. 2018
64.16 Executing a Script Program ................................................... 2019
64.17 Importing Script Program Code ............................................. 2020
64.18 Exporting a Script Program .................................................... 2021
64.19 Converting a Plain English File ............................................... 2022
64.20 Customizing the Script Editor ................................................ 2023
64.21 Using a Collapsible Script Code Block .................................. 2024
64.22 Adding an Entry to the Code Library ...................................... 2025
64.23 Working with Code Library Folders ........................................ 2026
64.24 Working with Code Library Sample Import Files .................... 2027
64.25 Working with Code Library Items ........................................... 2028
64.26 Inserting a Code Library Item in a Script Program or
Function ................................................................................. 2029
64.27 Referencing the Code Library File ......................................... 2030
64.28 Finding Text in Script Editor ................................................... 2031
64.29 Using Undo and Redo in Script Editor ................................... 2032
64.30 Script Debugger ................................................................... 2033
64.30.1 Debug Mode Editing ............................................................ 2033
64.30.2 Debug b3 BACnet Script Programs ..................................... 2033
64.31 Script Debugger Function Keys ............................................. 2035
64.32 Debugging a Script Program ................................................ 2036
64.33 Controlling the Trace Operation in the Script Debugger ....... 2037
64.34 Changing Values in the Script Debugger Local or Binding
Variables Pane ...................................................................... 2038
64.35 BACnet Priority Level Access ............................................... 2039
64.36 Configuring BACnet Priority Level Access ............................. 2040
64.37 Configuring BACnet Priority Level Access for a b3 BACnet
Device .................................................................................... 2041

65 Script Web Services ............................................... 2043


04-30006-02-en, May 2019 Technical
49
65.1 Script Web Services .............................................................. 2045
65.1.1 Script Web Services Workflow ............................................. 2045
65.1.2 Script SOAP Web Services Data Type ................................. 2046
65.1.3 Script RESTFul Web Services .............................................. 2046
65.2 Script Web Services Workflow ............................................... 2047
65.3 Creating a Script Web Service Interface ................................ 2049
65.4 Configuring a Script Web Service Interface ........................... 2050
65.5 Configuring a Script Program to use Web Services ............... 2051
65.6 Script SOAP Web Services Data Type .................................. 2052
65.6.1 Supported Data Types ......................................................... 2053
65.6.2 Web Service Declarations ................................................... 2053
65.6.3 Web Service Method Calling ............................................... 2054
65.6.4 Web Service Selection and EndPoints ................................. 2054
65.7 Script RESTful Web Services ................................................. 2056
65.7.1 SendWebRequest ............................................................... 2056
65.7.2 UrlEncode ............................................................................ 2057
65.8 Using Script to Send a Request to a RESTful Web Service ... 2058
65.9 Using Script to Obtain a Secure Web Page from a RESTful Web
Service ................................................................................... 2059

66 Script User Interface ............................................... 2061


66.1 Script Editor ........................................................................... 2063
66.2 Script Editor Toolbars ............................................................ 2066
66.3 Script Editor – Binding Variables Pane .................................. 2069
66.4 Script Editor – Local Variables Pane ...................................... 2070
66.5 Script Editor Context Menu .................................................... 2071
66.6 Import Plain English Dialog Box ............................................. 2073
66.7 Script Editor Code Library ..................................................... 2075
66.8 Script Program Properties – Basic Tab .................................. 2076
66.9 Script Program Properties – Advanced Tab .......................... 2078
66.10 Script Program Properties – Inputs Tab ................................. 2079
66.11 Script Program Properties – Outputs Tab .............................. 2080
66.12 Script Program Properties – Publics Tab ............................... 2081
66.13 Script Program Properties – Functions Tab ........................... 2082
66.14 Script Program Properties – Web Services Tab ..................... 2083
66.15 Script Function Properties – Basic Tab .................................. 2084
66.16 Script Function Properties – Inputs Tab ................................. 2085
66.17 Script Function Properties – Outputs Tab .............................. 2086
66.18 Script Function Properties – Publics Tab ............................... 2087
66.19 Script Function Properties – Functions Tab ........................... 2088
66.20 Script Web Service – Basic Tab ............................................. 2089
66.21 Script Web Service – Methods Tab ........................................ 2090

67 Script Troubleshooting ........................................... 2091


67.1 Compiler error contains no error text ..................................... 2093
67.1.1 Solution ................................................................................ 2093
67.2 Runtime error contains no error number ................................ 2094
67.2.1 Solution ................................................................................ 2094

Technical 04-30006-02-en, May 2019


50
68 SmartX IP Controller Open and IT Standards ......... 2095
68.1 SmartX IP Controller - MP Series Overview ............................ 2097
68.1.1 SmartX IP Controller Open and IT Standards ...................... 2097
68.1.2 SmartX IP Controller - MP Series Models ............................. 2097
68.1.3 SmartX IP Controller - MP Series Management and
Communication ................................................................... 2097
68.1.4 MP Series Controller I/O Points ............................................ 2097
68.1.5 SmartX IP Controller Value Objects ..................................... 2098
68.1.6 Programming Languages for MP Series Controllers ............ 2098
68.1.7 Schedules, Alarms, and Trend Logs for MP Series
Controllers ........................................................................... 2098
68.1.8 SmartX Sensors ................................................................... 2098
68.1.9 eCommission SmartX Controllers Mobile Application ......... 2099
68.1.10 VAV Support and the MP Series Controller - MP-V .............. 2099
68.2 SmartX IP Controller Open and IT Standards ........................ 2100
68.2.1 SmartX IP Controller IT Network Standards ......................... 2100
68.2.2 Ethernet Ports and IP Addressing ........................................ 2100
68.2.3 Flat and Layered Network Architectures ............................. 2100
68.2.4 SmartX IP Controller Networking Term Definitions ............... 2100
68.2.5 IP Address Assignment for SmartX IP Controllers ............... 2101
68.2.6 DHCP Server Options .......................................................... 2101
68.2.7 SmartX IP Controller Network Topologies ............................ 2101
68.2.8 IP Address Settings for IP Communications in an RP Series
Controller ............................................................................. 2101
68.2.9 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow .............................................................................. 2101
68.2.10 SmartX IP Controller Commissioning Scenarios .................. 2102
68.2.11 Windows DHCP Server IP Addresses .................................. 2102
68.3 SmartX IP Controller IT Network Standards ........................... 2103
68.3.1 BACnet Open Protocol ........................................................ 2103
68.3.2 Communication Technology Support .................................. 2104
68.4 Ethernet Ports and IP Addressing .......................................... 2105
68.5 Flat and Layered Network Architectures ................................ 2107
68.6 SmartX IP Controller Networking Term Definitions ................. 2108
68.7 IP Address Assignment for SmartX IP Controllers ................. 2111
68.7.1 Dynamic IP Addressing ....................................................... 2111
68.7.2 Static IP Addressing ............................................................ 2111
68.8 DHCP Server Options ........................................................... 2112
68.8.1 SmartX AS-P Server or SmartX AS-B Server with DHCP on a
Private IP Network ................................................................ 2112
68.8.2 Router or Switch with DHCP on a Local Network ................. 2113
68.8.3 Computer with DHCP on a Local Network ........................... 2114
68.9 SmartX IP Controller Network Topologies .............................. 2115
68.9.1 Star ...................................................................................... 2115
68.9.2 Daisy Chain .......................................................................... 2116
68.9.3 RSTP Ring ............................................................................ 2117
68.9.4 Hybrid .................................................................................. 2120

04-30006-02-en, May 2019 Technical


51
68.10 Configuring RSTP on a Managed Switch for SmartX IP
Controllers ............................................................................. 2121
68.11 IP Address Settings for IP Communications .......................... 2123
68.11.1 Failover and IP Address Reassignment ............................... 2124
68.11.2 IP Address Device Display .................................................. 2124
68.12 Configuring SmartX IP Controller IP Network Settings ........... 2126
68.13 Discarding SmartX IP Controller IP Network Settings
Changes ................................................................................ 2128
68.14 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow ................................................................................ 2129
68.15 SmartX IP Controller Commissioning Scenarios .................... 2131
68.15.1 Auto-IP Link-Local Addresssing .......................................... 2131
68.15.2 SmartX IP controllers with DHCP IP Addressing from
Router .................................................................................. 2132
68.15.3 SmartX IP controllers with IP Addressing from SmartX AS-P or
SmartX AS-B DHCP Servers ................................................ 2134
68.16 Windows DHCP Server IP Addresses .................................... 2136
68.17 Assigning DHCP Addresses to a SmartX IP Controller Network
Using Windows Server ........................................................... 2137

69 SmartX IP Controller - MP Series Models ................ 2139


69.1 SmartX IP Controller - MP Series Models ............................... 2141
69.1.1 MP Series Controller Models ................................................ 2141
69.1.2 SmartX IP Controller Device Memory ................................... 2141
69.1.3 MP Series Controller Reset Modes ...................................... 2141
69.1.4 Image File Deployment in a SmartX IP Controller ................ 2141
69.1.5 MP Series Controller Security Features ............................... 2142
69.1.6 MP Series Controller Onboard I/O Module .......................... 2142
69.1.7 Association Selection Workflow ........................................... 2142
69.1.8 Configure an Online SmartX IP Controller Workflow ............ 2142
69.1.9 Configure an Offline SmartX IP Controller Workflow ............ 2142
69.1.10 MP Series Controller Standard Objects ............................... 2143
69.1.11 SmartX IP Controller Device Replacement Workflow ........... 2143
69.1.12 Replace a SmartX IP Controller in an RSTP Ring Network ... 2143
69.1.13 SmartX IP Controller Device Object Description Property .. 2143
69.1.14 Free Object System Memory Utilization in SmartX IP
Controllers ........................................................................... 2143
69.2 Creating a SmartX IP Controller Device ................................ 2144
69.3 Deleting a SmartX IP Controller Device ................................. 2145
69.4 Renewing DHCP .................................................................... 2146
69.5 Performing a Field Deploy for a SmartX IP Controller
Application ............................................................................. 2147
69.6 Adding an IP Address to the White List in a SmartX IP
Controller ............................................................................... 2148
69.7 Resetting SmartX IP Controller Type Information .................. 2149
69.8 MP Series Controller Models .................................................. 2150
69.9 SmartX IP Controller Device Memory ..................................... 2152
69.10 MP Series Controller Reset Modes ........................................ 2153
69.10.1 Factory Reset ....................................................................... 2154

Technical 04-30006-02-en, May 2019


52
69.10.2 Retain Levels for Variables .................................................. 2154
69.10.3 Value Retention on Restarts Using Command Priority
Levels .................................................................................. 2155
69.11 Image File Deployment in a SmartX IP Controller .................. 2156
69.11.1 Field Deploying Controller Applications .............................. 2156
69.11.2 Download Image Files ......................................................... 2157
69.12 MP Series Controller Security Features ................................. 2158
69.12.1 Private Field Bus Under SmartX AS-P and AS-B Servers .... 2158
69.12.2 DHCP Server Lock ............................................................... 2159
69.12.3 Bluetooth Access Using the SmartX Sensor ........................ 2159
69.12.4 Sensor Bus ........................................................................... 2160
69.12.5 Whitelist Restrictions ............................................................ 2160
69.12.6 Display Restrictions ............................................................. 2160
69.12.7 Hardware I/O Override ........................................................ 2161
69.12.8 Ethernet Port 2 .................................................................... 2161
69.12.9 Automatic Implementation of B-OWS Restrictions ............... 2161
69.12.10 Security Restrictions Based on Project and Runtime
Lifecycles ............................................................................ 2162
69.13 MP Series Controller Onboard I/O Module ............................ 2163
69.14 Configuring Terminals on the I/O Module .............................. 2164
69.15 Association Selection Workflow ............................................. 2165
69.16 Provide Field Information to the Application Engineer
Workflow ................................................................................ 2166
69.17 Assign and Distribute the BACnet Instance ID Workflow ....... 2168
69.18 Configure an Online SmartX IP Controller Workflow .............. 2170
69.19 Configure an Offline SmartX IP Controller Workflow .............. 2173
69.20 SmartX IP Controller Standard Objects .................................. 2175
69.21 SmartX IP Controller Device Replacement Workflow ............. 2177
69.22 Configure the Replacement SmartX IP Controller Device
Workflow ................................................................................ 2178
69.23 Change the SmartX IP Controller Device Serial Number in
WorkStation Workflow ............................................................ 2181
69.24 Replace a SmartX IP Controller in an RSTP Ring Network
Workflow ................................................................................ 2184
69.25 SmartX IP Controller Device Object Description Property .... 2186
69.26 Free Object System Memory Utilization in SmartX IP
Controllers ............................................................................. 2187

70 SmartX IP Controller - MP Series Management and


Communication ....................................................... 2189
70.1 SmartX IP Controller - MP Series Management and
Communication ...................................................................... 2191
70.1.1 SmartX IP Controller BACnet/IP Communication ................. 2191
70.1.2 SmartX IP Controller Device Management .......................... 2191
70.1.3 Before Hosting a SmartX IP Controller ................................. 2191
70.1.4 EcoStruxure BMS Server Hosting a SmartX IP Controller .... 2191
70.1.5 SmartX IP Controller Diagnostics ......................................... 2192
70.1.6 Device Discovery for SmartX IP Controller Devices ............. 2192
70.1.7 Automatic Time Sync for SmartX IP Controllers ................... 2192

04-30006-02-en, May 2019 Technical


53
70.1.8 SmartX IP Controller Firmware Management ....................... 2192
70.1.9 SmartX IP Controller Communication ................................... 2192
70.1.10 Enable and Disable SmartX IP Controller Device
Communication ................................................................... 2193
70.1.11 SmartX IP Controller Foreign Device BBMD Registration .... 2193
70.1.12 SmartX IP Controller Download and Upload ........................ 2193
70.1.13 SmartX IP Controller and Custom Type Associations .......... 2193
70.2 SmartX IP Controller BACnet/IP Support ............................... 2194
70.2.1 Additional Functions ............................................................ 2194
70.2.2 BACnet and IP Routing ........................................................ 2195
70.3 Creating a BACnet Interface with an IP Network on the SmartX
Server .................................................................................... 2196
70.4 Configuring a SmartX Server in Switch Mode to Access the Site IP
Network ................................................................................. 2198
70.5 Configuring Ethernet Port 2 as a DHCP Server on the SmartX
Server .................................................................................... 2199
70.6 SmartX IP Controller Device Management ............................ 2200
70.6.1 Uninitialized SmartX IP Controllers ...................................... 2200
70.6.2 Non-conformant Devices ..................................................... 2201
70.6.3 Third-party Client Management .......................................... 2202
70.6.4 SmartX IP Controller References and Device ID Changes .. 2202
70.7 Initializing the BACnet ID of a SmartX IP Controller ............... 2203
70.8 Changing a SmartX IP Controller Device ID ........................... 2204
70.9 SmartX IP Controller References and Device ID Changes .... 2205
70.10 Before Hosting a SmartX IP Controller ................................... 2206
70.11 EcoStruxure BMS Server Hosting a SmartX IP Controller ...... 2208
70.11.1 Controller Hosting ................................................................ 2208
70.11.2 BACnet Interface ................................................................ 2208
70.11.3 B-OWS Restrictions ............................................................. 2210
70.12 SmartX IP Controller Diagnostics ........................................... 2211
70.12.1 Error Log .............................................................................. 2211
70.12.2 Device Report ...................................................................... 2212
70.12.3 Crash Report File ................................................................. 2213
70.12.4 Commissioning Log ............................................................. 2214
70.12.5 IO Checkout Report ............................................................. 2214
70.12.6 Flow Balance Logs .............................................................. 2214
70.13 Retrieving SmartX IP Controller Diagnostics .......................... 2215
70.14 Device Discovery for SmartX IP Controller Devices ............... 2216
70.14.1 Hide Devices ....................................................................... 2216
70.14.2 Discover SmartX IP Controller Device Workflow .................. 2216
70.15 Discover SmartX IP Controller Device Workflow .................... 2217
70.16 Discovering SmartX IP Controller Devices ............................ 2218
70.17 Hiding SmartX IP Controller Devices in Device Discovery .... 2219
70.18 Clearing SmartX IP Controller Host Information .................... 2220
70.19 Automatic Time Sync for SmartX IP Controllers ..................... 2221
70.20 SmartX IP Controller Device Firmware Management ............. 2222
70.20.1 Hosting Different Firmware Versions .................................... 2222

Technical 04-30006-02-en, May 2019


54
70.20.2 Firmware Upgrade Guidelines ............................................. 2223
70.20.3 Active and Inactive Memory for Firmware ............................ 2224
70.20.4 Firmware Recovery .............................................................. 2224
70.21 Updating Firmware in SmartX IP Controllers .......................... 2226
70.22 SmartX IP Controller Communication .................................... 2228
70.23 Enable and Disable SmartX IP Controller Device
Communication ...................................................................... 2229
70.24 SmartX IP Controller Foreign Device BBMD Registration ...... 2230
70.25 Registering a SmartX IP Controller as a Foreign Device ....... 2231
70.26 Renewing Foreign Device Registration .................................. 2232
70.27 Upload and Download SmartX IP Controller Data ................. 2233
70.28 SmartX IP Controller and Custom Type Association .............. 2234
70.29 Erasing the SmartX IP Controller Database ........................... 2235

71 SmartX IP Controller - MP Series I/O Points ............ 2237


71.1 MP Series Controller I/O Points .............................................. 2239
71.1.1 Universal Inputs ................................................................... 2239
71.1.2 Universal Inputs/Outputs ..................................................... 2240
71.1.3 Triac Outputs ....................................................................... 2240
71.1.4 Analog Output ...................................................................... 2240
71.1.5 Relay Outputs ...................................................................... 2240
71.1.6 High Power Relay Output ..................................................... 2240
71.2 SmartX IP Controller Persistence .......................................... 2241
71.3 SmartX IP Controller Unit Conversion ................................... 2244
71.3.1 Conversion Factor ................................................................ 2245
71.3.2 Control Loop Unit Configuration .......................................... 2245
71.4 Creating a SmartX IP Controller Device Input Point ............... 2247
71.5 Configuring a SmartX IP Controller Device Counter Input
Point ....................................................................................... 2249
71.6 Configuring a SmartX IP Controller Device Current Input
Point ....................................................................................... 2251
71.7 Configuring a SmartX IP Controller Device Digital Input
Point ....................................................................................... 2254
71.8 Configuring a SmartX IP Controller Device Resistive Input
Point ....................................................................................... 2257
71.9 Configuring a SmartX IP Controller Device RTD Temperature
Input Point .............................................................................. 2260
71.10 Configuring a SmartX IP Controller Device Supervised Input
Point ....................................................................................... 2263
71.11 Configuring a SmartX IP Controller Device Temperature Input
Point ....................................................................................... 2265
71.12 Configuring a SmartX IP Controller Device Voltage Input
Point ....................................................................................... 2268
71.13 Creating a SmartX IP Controller Device Output Point ............ 2271
71.14 Configuring a SmartX IP Controller Device Current Output
Point ....................................................................................... 2273
71.15 Configuring a SmartX IP Controller Device Digital Output
Point ....................................................................................... 2276

04-30006-02-en, May 2019 Technical


55
71.16 Configuring a SmartX IP Controller Device Digital Pulsed Output
Point ....................................................................................... 2279
71.17 Configuring a SmartX IP Controller Device Pulse Width Modulated
Output Point ........................................................................... 2282
71.18 Configuring a SmartX IP Controller Device Tristate Output
Point ....................................................................................... 2285
71.19 Configuring a SmartX IP Controller Device Tristate Pulsed Output
Point ....................................................................................... 2288
71.20 Configuring a SmartX IP Controller Device Voltage Output
Point ....................................................................................... 2291
71.21 Identifying Overridden I/O Points in a SmartX IP Controller
Device .................................................................................... 2294

72 SmartX IP Controller Value Objects ........................ 2297


72.1 SmartX IP Controller Value Objects ....................................... 2299
72.1.1 SmartX IP Controller Reliability ............................................ 2299
72.1.2 SmartX IP Controller External Bindings ................................ 2299
72.1.3 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................. 2300
72.2 Creating a SmartX IP Controller Value Object ........................ 2301
72.3 Configuring a SmartX IP Controller Analog Value .................. 2302
72.4 Configuring a SmartX IP Controller DateTime Value .............. 2305
72.5 Configuring a SmartX IP Controller Digital Value ................... 2308
72.6 Configuring a SmartX IP Controller Multistate Value .............. 2312
72.7 Configuring a SmartX IP Controller String Value .................... 2315
72.8 SmartX IP Controller External Bindings .................................. 2317
72.8.1 SmartX IP Controller Value Exchange .................................. 2317
72.8.2 Types of External Bindings .................................................. 2317
72.8.3 Advantages to Using External Bindings .............................. 2317
72.8.4 Fallback Settings for External Binding Consumer Values .... 2318
72.9 SmartX IP Controller Value Exchange .................................... 2319
72.9.1 Value Binding Exchange ..................................................... 2319
72.9.2 Value Conversions ............................................................... 2319
72.10 Types of External Bindings .................................................... 2322
72.10.1 Consumer Configuration ...................................................... 2322
72.10.2 Producer Configuration ........................................................ 2323
72.11 When to Use a Consumer or Producer External Binding ....... 2324
72.12 Advantages to Using External Bindings ................................ 2325
72.12.1 Controller Restart and Recovery Times ............................... 2325
72.12.2 Considerations when Using External Bindings .................... 2326
72.13 SmartX IP Controller Reliability .............................................. 2327
72.14 Creating a SmartX IP Controller External Binding .................. 2329
72.15 Configuring a SmartX IP Controller Consumer Value ............. 2330
72.16 Configuring a SmartX IP Controller Producer Value ............... 2332
72.17 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................... 2334
72.17.1 Binding to Objects with Command Priorities ....................... 2335
72.17.2 Global Default Priority Level in the BACnet Interface
Manager .............................................................................. 2335

Technical 04-30006-02-en, May 2019


56
72.18 Fallback Settings for External Binding Consumer Values ...... 2337

73 SmartX IP Controller - MP Series Programming


Languages .............................................................. 2339
73.1 Programming Languages for MP Series Controllers ............. 2341
73.1.1 Example Program ................................................................ 2341
73.1.2 Script Program Considerations ............................................ 2342
73.1.3 Differences Between Script Program Environments ............ 2342
73.2 Creating a SmartX IP Controller Script Program or Function . 2344
73.3 Creating a SmartX IP Controller Function Block Program ..... 2345
73.4 Creating a Control Loop in a SmartX IP Controller ................ 2346

74 SmartX IP Controller - MP Series Schedules, Alarms,


and Trend Logs ...................................................... 2347
74.1 Schedules for SmartX IP Controllers ...................................... 2349
74.2 Creating a SmartX IP Controller Calendar ............................. 2350
74.3 Creating a SmartX IP Controller Schedule ............................. 2351
74.4 Alarms for MP Series Controllers ........................................... 2352
74.4.1 BACnet Setup and Configuration ......................................... 2352
74.4.2 System Alarms ..................................................................... 2352
74.4.3 Offline Alarm and Event Buffering ........................................ 2353
74.5 Creating a SmartX IP Controller BACnet Alarm ...................... 2354
74.6 Configuring a SmartX IP Controller BACnet Alarm ................. 2355
74.7 Configuring MP Series Controller Program Cyclic Dependency
and Execution Overrun Alarms .............................................. 2358
74.8 Configuring SmartX IP Controller Port State and Topology Change
Alarms .................................................................................... 2360
74.9 Creating a SmartX IP Controller Notification Class ................ 2362
74.10 Configuring a SmartX IP Controller Notification Class ........... 2363
74.11 Trend Logs for SmartX IP Controllers .................................... 2365
74.11.1 Log Views ............................................................................ 2365
74.11.2 Trend Log Storage Guidelines ............................................. 2365
74.12 Extended Trend Logs for SmartX IP Controllers .................... 2367

75 Configuration Menus .............................................. 2369


75.1 Configuration Menu Overview ............................................... 2371
75.1.1 Configuration Menu Process ............................................... 2371
75.1.2 Configuration Menu Workflow .............................................. 2371
75.2 Configuration Menus ............................................................. 2372
75.2.1 Configuration Menu Editor ................................................... 2372
75.2.2 Configuration Menu Viewer in eCommission SmartX Controllers
Mobile App .......................................................................... 2372
75.2.3 Configuration Menu Viewer in Workstation .......................... 2372
75.2.4 Configuration Menu Workflow .............................................. 2372
75.3 Configuration Menu Editor ..................................................... 2373
75.4 Create a Configuration Menu Workflow ................................. 2374
75.5 Creating a SmartX IP Controller Device ................................ 2376
75.6 Creating a Configuration Menu Object .................................. 2377
75.7 Opening a Configuration Menu Editor ................................... 2378

04-30006-02-en, May 2019 Technical


57
75.8 Building a Configuration Menu for a SmartX IP Controller ..... 2379
75.9 Configuration Menu Viewer in Workstation ........................... 2381
75.10 Adding a Value to a Configuration Menu ............................... 2382
75.11 Binding Values Manually in Configuration Menu Editor ......... 2383
75.12 Opening the Configuration Menu Viewer in Workstation ........ 2384
75.13 Editing Properties of a Configuration Menu Item .................. 2385
75.14 Configuring Actual Values of Configuration Menu Values ..... 2386
75.15 Configuration Menu Visibility Operators List .......................... 2387
75.15.1 Operators list ....................................................................... 2387
75.15.2 Example ............................................................................... 2388
75.16 Creating a Custom Type ........................................................ 2389
75.17 Performing a Field Deploy for a SmartX IP Controller
Application ............................................................................. 2390

76 Configuration Menus User Interface ....................... 2391


76.1 Configuration Menu Editor ..................................................... 2393
76.2 Configuration Menu Editor - Design Pane .............................. 2395
76.3 Configuration Menu Editor - Properties Pane ......................... 2397
76.4 Configuration Menu Editor - Add Value Dialog Box ............... 2399
76.5 Configuration Menu Editor - Select Condition Dialog Box ..... 2401
76.6 Bindings View ........................................................................ 2402
76.7 Workstation Work Area - Configuration Menu Tab ................. 2404
76.8 Configuration Menu Editor - Menu Bar ................................... 2406
76.9 Configuration Menu Editor Toolbar ........................................ 2407
76.10 Configuration Menu Editor - File Menu ................................... 2408
76.11 Configuration Menu Editor – File Menu – New Submenu ....... 2409
76.12 Configuration Menu Editor - Edit Menu .................................. 2410
76.13 Configuration Menu Editor - View Menu ................................. 2411
76.14 Configuration Menu Editor - Help Menu ................................. 2412
76.15 Configuration Menu Editor - Error Log Dialog Box ................. 2413

77 eCommission SmartX Controllers Mobile


Application .............................................................. 2415
77.1 eCommission SmartX Controllers Mobile Application ........... 2417
77.1.1 Configure eCommission SmartX Controllers Mobile Application
Initial Connection Workflow .................................................. 2417
77.1.2 eCommission SmartX Controllers Mobile Application Connection
Options ................................................................................ 2418
77.2 Configure the eCommission SmartX Controllers Mobile
Application Initial Connection Workflow ................................. 2419
77.3 eCommission SmartX Controllers Mobile Application and SmartX
IP Controller Connections ...................................................... 2422
77.3.1 Wired Direct ......................................................................... 2422
77.3.2 Wired Network ..................................................................... 2422
77.3.3 WIFI Access Point ................................................................ 2423
77.3.4 eCommission Bluetooth Adapter and SmartX Sensor ......... 2423

78 SmartX Sensors ...................................................... 2425


78.1 SmartX Sensors ..................................................................... 2427

Technical 04-30006-02-en, May 2019


58
78.1.1 SmartX Sensor Modular Bases and Covers ......................... 2427
78.1.2 SmartX Sensor Models ........................................................ 2427
78.1.3 SmartX Sensor Display Properties ....................................... 2428
78.1.4 Firmware Upgrade ............................................................... 2428
78.1.5 Replacement ....................................................................... 2428
78.1.6 Addressing .......................................................................... 2429
78.1.7 SmartX Sensor Operation and Calibration Modes ............... 2429
78.2 Creating a SmartX Sensor ...................................................... 2430
78.3 Configuring a SmartX Sensor ................................................. 2431
78.4 Dynamically Updating SmartX Sensors ................................. 2433
78.5 Downloading Changes to a SmartX Sensor .......................... 2434
78.6 Uploading Changes to a SmartX Sensor .............................. 2435
78.7 Configuring SmartX Sensor Occupancy ................................ 2436
78.8 SmartX Sensor Display Properties ......................................... 2438
78.8.1 Basic and Advanced Property Tabs .................................... 2438
78.8.2 Property Mapping ................................................................ 2438
78.9 Configuring SmartX Sensor Display Properties ..................... 2441
78.10 SmartX Sensor Operation and Calibration Modes ................. 2446
78.11 Configuring SmartX Calibration Modes and Offset Values .... 2447
78.12 Enabling and Disabling eCommission SmartX Controllers
Bluetooth Access ................................................................... 2449
78.13 Enabling the Sensor Bus Communication .............................. 2450

79 SmartX Sensors User Interface ............................... 2451


79.1 SmartX Sensor Properties – Basic Tab .................................. 2453
79.2 SmartX Sensor Properties – Advanced Tab ........................... 2456
79.3 SmartX Sensor Object Properties – Basic Tab ....................... 2457
79.4 SmartX Sensor Object Properties – Advanced Tab ............... 2460
79.5 SmartX Sensor Display Properties – Basic Tab ..................... 2461
79.6 SmartX Sensor Display Properties – Advanced Tab .............. 2463
79.7 SmartX Sensor Occupancy Properties – Basic Tab ............... 2466
79.8 SmartX Sensor Occupancy Properties – Advanced Tab ....... 2468

80 Variable Air Volume Data Support and the MP-V .... 2469
80.1 Variable Air Volume Data Support and the MP-V ................... 2471
80.1.1 Air Flow and Flow Balancing ................................................ 2471
80.1.2 Variable Air Volume Data Objects ....................................... 2471
80.2 Air Flow and Flow Balancing .................................................. 2472
80.2.1 Flow Balance Data Object Calibration ................................. 2472
80.2.2 Flow Balance Log and Report ............................................. 2472
80.2.3 Flow Balance Data Backup and Restore ............................. 2473
80.2.4 Flow Balance Data Backup and Restore Guidelines ........... 2474
80.3 Backing Up Flow Balance Data in an MP-V .......................... 2475
80.4 Viewing Stored Backup Data in an MP-V .............................. 2476
80.5 Restoring Flow Balance Data in an MP-V ............................. 2477
80.6 Performing Simultaneous Backups on Multiple MP-Vs ......... 2478
80.7 Configuring MP-V Box Flow ................................................... 2479
80.8 Configuring MP-V Analog Reheat .......................................... 2481

04-30006-02-en, May 2019 Technical


59
80.9 Variable Air Volume Data Objects ......................................... 2484
80.9.1 VAV Box Physical Inputs and Outputs ................................. 2484
80.9.2 Flow Setpoint ....................................................................... 2484
80.9.3 Custom Controls .................................................................. 2485
80.9.4 VAV Objects Provided for the eCommission SmartX Controllers
Tool ...................................................................................... 2485
80.9.5 Cooling and Heating Control in a VAV Box .......................... 2486
80.10 VAV Box Physical Inputs and Outputs ................................... 2487
80.11 VAV Objects Provided for the eCommission SmartX Controllers
Tool ........................................................................................ 2489
80.11.1 Analog or Digital Reheat Control ......................................... 2489
80.11.2 Priority Levels ....................................................................... 2490
80.12 Cooling and Heating Control in a VAV Box ............................ 2491
80.12.1 VAV Cooling Control ............................................................ 2491
80.12.2 VAV Heating Control ............................................................ 2492
80.13 Configuring an MP-V Damper Command .............................. 2493
80.14 Configuring MP-V Digital Reheat .......................................... 2497
80.15 Configuring MP-V Discharge Air Temp .................................. 2500
80.16 Configuring an MP-V Effective Reheat Command ................. 2502
80.17 Configuring MP-V Fan Operation ........................................... 2505
80.18 Configuring MP-V Flow Balance Data .................................... 2508
80.19 Configuring an MP-V Flow Setpoint ....................................... 2511
80.20 Configuring MP-V Velocity Pressure ...................................... 2514
80.21 Configuring an MP-V Variable Air Volume Data Object ........ 2517
80.22 Configuring the MP-V Box Flow Zero Point ............................ 2520

81 MP-V User Interface ................................................ 2521


81.1 MP-V Analog Reheat Properties – Basic Tab ......................... 2523
81.2 MP-V Analog Reheat Properties – Advanced Tab ................. 2526
81.3 MP-V Analog Reheat Properties – Command Tab ................. 2527
81.4 MP-V Box Flow Properties – Basic Tab .................................. 2528
81.5 MP-V Box Flow Properties – Advanced Tab .......................... 2530
81.6 MP-V Damper Command Properties – Basic Tab .................. 2531
81.7 MP-V Damper Command Properties – Advanced Tab .......... 2534
81.8 MP-V Damper Command Properties – Command Tab .......... 2535
81.9 MP-V Digital Reheat Properties – Basic Tab .......................... 2536
81.10 MP-V Digital Reheat Properties – Advanced Tab .................. 2539
81.11 MP-V Digital Reheat Properties – Command Tab .................. 2540
81.12 MP-V Discharge Air Temp Properties – Basic Tab ................ 2541
81.13 MP-V Discharge Air Temp Properties – Advanced Tab ......... 2543
81.14 MP-V Effective Reheat Command Properties – Basic Tab ..... 2544
81.15 MP-V Effective Reheat Command Properties – Advanced
Tab ......................................................................................... 2546
81.16 MP-V Fan Operation Properties – Basic Tab .......................... 2547
81.17 MP-V Fan Operation Properties – Advanced Tab .................. 2550
81.18 MP-V Fan Operation Properties – Command Tab .................. 2551
81.19 MP-V Flow Balance Data Properties – Basic Tab .................. 2552
81.20 MP-V Flow Balance Data Properties – Advanced Tab ........... 2554

Technical 04-30006-02-en, May 2019


60
81.21 MP-V Flow Setpoint Properties – Basic Tab ........................... 2555
81.22 MP-V Flow Setpoint Properties – Advanced Tab ................... 2558
81.23 MP-V Flow Setpoint Properties – Command Tab ................... 2559
81.24 MP-V Velocity Pressure Properties – Basic Tab ..................... 2560
81.25 MP-V Velocity Pressure Properties – Advanced Tab ............. 2563
81.26 MP-V Variable Air Volume Data Object Properties – Basic
Tab ......................................................................................... 2564
81.27 MP-V Variable Air Volume Data Object Properties – Advanced
Tab ......................................................................................... 2567

82 MP-V Troubleshooting ............................................ 2569


82.1 MP-V Variable Air Volume Data Object Stuck Damper Diagnostic
Message ................................................................................ 2571
82.1.1 Solution ................................................................................ 2571
82.2 MP-V Variable Air Volume Data Object Control Loss Diagnostic
Message ................................................................................ 2572
82.2.1 Solution ................................................................................ 2572
82.3 MP-V Variable Air Volume Data Object Neg. Press Diagnostic
Message ................................................................................ 2573
82.3.1 Solution ................................................................................ 2573
82.4 MP-V Variable Air Volume Data Object Over Range Diagnostic
Message ................................................................................ 2574
82.4.1 Solution ................................................................................ 2574

83 SmartX IP Controller - MP Series User Interface ..... 2575


83.1 SmartX IP Controller - MP Series System Tree Icons ............. 2583
83.2 MP Series Controller Properties – Basic Tab ......................... 2584
83.3 MP Series Controller Properties – Advanced Tab .................. 2586
83.4 Generate Image Dialog Box .................................................. 2590
83.5 SmartX IP Controller Onboard I/O Module Terminal Point
Properties – Basic Tab ........................................................... 2591
83.6 SmartX IP Controller IP Network Settings Properties – Basic
Tab ......................................................................................... 2592
83.7 SmartX IP Controller IP Network Settings Properties – Advanced
Tab ......................................................................................... 2594
83.8 SmartX IP Controller Settings Properties – Basic Tab ............ 2595
83.9 SmartX IP Controller Settings Properties – Advanced Tab .... 2598
83.10 Properties - IPAddress Dialog Box ........................................ 2599
83.11 SmartX IP Controller Object Creation Wizard – Advanced Settings
Page ...................................................................................... 2600
83.12 Select Firmware Dialog Box ................................................... 2601
83.13 SmartX IP Controller Error Log Properties– Basic Tab ........... 2603
83.14 SmartX IP Controller Error Log Properties – Advanced Tab .. 2605
83.15 SmartX IP Controller Diagnostic File Properties– Basic Tab .. 2606
83.16 SmartX IP Controller Diagnostic File Properties – Advanced
Tab ......................................................................................... 2608
83.17 SmartX IP Controller Device Counter Input Properties – Basic
Tab ......................................................................................... 2609
83.18 SmartX IP Controller Device Counter Input Properties – Advanced
Tab ......................................................................................... 2611

04-30006-02-en, May 2019 Technical


61
83.19 SmartX IP Controller Device Current Input Properties – Basic
Tab ......................................................................................... 2612
83.20 SmartX IP Controller Device Current Input Properties – Advanced
Tab ......................................................................................... 2615
83.21 SmartX IP Controller Device Digital Input Properties – Basic
Tab ......................................................................................... 2616
83.22 SmartX IP Controller Device Digital Input Properties – Advanced
Tab ......................................................................................... 2618
83.23 SmartX IP Controller Device Resistive Input Properties – Basic
Tab ......................................................................................... 2619
83.24 SmartX IP Controller Device Resistive Input Properties –
Advanced Tab ....................................................................... 2622
83.25 SmartX IP Controller Device RTD Temperature Input Properties –
Basic Tab ............................................................................... 2623
83.26 SmartX IP Controller Device RTD Temperature Input Properties –
Advanced Tab ....................................................................... 2626
83.27 SmartX IP Controller Device Supervised Input Properties – Basic
Tab ......................................................................................... 2628
83.28 SmartX IP Controller Device Supervised Input Properties –
Advanced Tab ....................................................................... 2630
83.29 SmartX IP Controller Device Temperature Input Properties – Basic
Tab ......................................................................................... 2631
83.30 SmartX IP Controller Device Temperature Input Properties –
Advanced Tab ....................................................................... 2634
83.31 SmartX IP Controller Device Voltage Input Properties – Basic
Tab ......................................................................................... 2636
83.32 SmartX IP Controller Device Voltage Input Properties – Advanced
Tab ......................................................................................... 2639
83.33 SmartX IP Controller Device Current Output Properties – Basic
Tab ......................................................................................... 2640
83.34 SmartX IP Controller Device Current Output Properties –
Advanced Tab ....................................................................... 2643
83.35 SmartX IP Controller Device Current Output Properties –
Command Tab ....................................................................... 2644
83.36 SmartX IP Controller Device Digital Output Properties – Basic
Tab ......................................................................................... 2646
83.37 SmartX IP Controller Device Digital Output Properties – Advanced
Tab ......................................................................................... 2649
83.38 SmartX IP Controller Device Digital Output Properties – Command
Tab ......................................................................................... 2650
83.39 SmartX IP Controller Device Digital Pulsed Output Properties –
Basic Tab ............................................................................... 2652
83.40 SmartX IP Controller Device Digital Pulsed Output Properties -
Advanced Tab ....................................................................... 2654
83.41 SmartX IP Controller Device Digital Pulsed Output Properties –
Command Tab ....................................................................... 2656
83.42 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Basic Tab ........................................................... 2658
83.43 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Advanced Tab ................................................... 2661
83.44 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Command Tab ................................................... 2663

Technical 04-30006-02-en, May 2019


62
83.45 SmartX IP Controller Device Tristate Output Properties – Basic
Tab ......................................................................................... 2665
83.46 SmartX IP Controller Device Tristate Output Properties –
Advanced Tab ....................................................................... 2667
83.47 SmartX IP Controller Device Tristate Output Properties –
Command Tab ....................................................................... 2668
83.48 SmartX IP Controller Device Tristate Pulsed Output Properties –
Basic Tab ............................................................................... 2670
83.49 SmartX IP Controller Device Tristate Pulsed Output Properties –
Advanced Tab ....................................................................... 2672
83.50 SmartX IP Controller Device Tristate Pulsed Output Properties –
Command Tab ....................................................................... 2674
83.51 SmartX IP Controller Device Voltage Output Properties – Basic
Tab ......................................................................................... 2676
83.52 SmartX IP Controller Device Voltage Output Properties –
Advanced Tab ....................................................................... 2679
83.53 SmartX IP Controller Device Voltage Output Properties –
Command Tab ....................................................................... 2680
83.54 SmartX IP Controller Analog Value Properties – Basic Tab .... 2682
83.55 SmartX IP Controller Analog Value Properties – Advanced
Tab ......................................................................................... 2684
83.56 SmartX IP Controller Analog Value Properties – Command
Tab ......................................................................................... 2685
83.57 SmartX IP Controller DateTime Value Properties – Basic Tab 2687
83.58 SmartX IP Controller DateTime Value Properties – Advanced
Tab ......................................................................................... 2689
83.59 SmartX IP Controller Digital Value Properties – Basic Tab ..... 2690
83.60 SmartX IP Controller Digital Value Properties – Advanced
Tab ......................................................................................... 2692
83.61 SmartX IP Controller Digital Value Properties – Command
Tab ......................................................................................... 2693
83.62 SmartX IP Controller Multistate Value Properties – Basic Tab 2695
83.63 SmartX IP Controller Multistate Value Properties – Advanced
Tab ......................................................................................... 2697
83.64 SmartX IP Controller Multistate Value Properties – Command
Tab ......................................................................................... 2698
83.65 SmartX IP Controller String Value Properties – Basic Tab ...... 2700
83.66 SmartX IP Controller String Value Properties – Advanced
Tab ......................................................................................... 2702
83.67 SmartX IP Controller Analog Consumer Value Properties – Basic
Tab ......................................................................................... 2703
83.68 SmartX IP Controller Analog Consumer Value Properties –
Advanced Tab ....................................................................... 2706
83.69 SmartX IP Controller Digital Consumer Value Properties – Basic
Tab ......................................................................................... 2707
83.70 SmartX IP Controller Digital Consumer Value Properties –
Advanced Tab ....................................................................... 2710
83.71 SmartX IP Controller Multistate Consumer Value Properties –
Basic Tab ............................................................................... 2711
83.72 SmartX IP Controller Multistate Consumer Value Properties –
Advanced Tab ....................................................................... 2713

04-30006-02-en, May 2019 Technical


63
83.73 SmartX IP Controller Analog Producer Value Properties – Basic
Tab ......................................................................................... 2715
83.74 SmartX IP Controller Analog Producer Value Properties –
Advanced Tab ....................................................................... 2717
83.75 SmartX IP Controller Analog Producer Value Properties –
Command Tab ....................................................................... 2718
83.76 SmartX IP Controller Digital Producer Value Properties – Basic
Tab ......................................................................................... 2720
83.77 SmartX IP Controller Digital Producer Value Properties –
Advanced Tab ....................................................................... 2723
83.78 SmartX IP Controller Digital Producer Value Properties –
Command Tab ....................................................................... 2724
83.79 SmartX IP Controller Multistate Producer Value Properties – Basic
Tab ......................................................................................... 2726
83.80 SmartX IP Controller Multistate Producer Value Properties –
Advanced Tab ....................................................................... 2728
83.81 SmartX IP Controller Multistate Producer Value Properties –
Command Tab ....................................................................... 2729
83.82 SmartX IP Controller Notification Class Properties – Basic
Tab ......................................................................................... 2731
83.83 SmartX IP Controller Notification Class Properties – Advanced
Tab ......................................................................................... 2732
83.84 SmartX IP Controller Notification Class Properties – Alarm
Settings Tab ........................................................................... 2733
83.85 SmartX IP Controller BACnet and System Alarm Properties –
Basic Tab ............................................................................... 2735
83.86 SmartX IP Controller BACnet and System Alarm Properties –
Advanced Tab ....................................................................... 2740
83.87 SmartX IP Controller BACnet and System Alarm Properties –
Alarm Settings Tab ................................................................. 2742
83.88 SmartX IP Controller Schedule Properties – Basic Tab .......... 2745
83.89 SmartX IP Controller Schedule Properties – Advanced Tab .. 2748
83.90 SmartX IP Controller Calendar Properties – Basic Tab .......... 2749
83.91 SmartX IP Controller Calendar Properties – Advanced Tab .. 2750
83.92 SmartX IP Controller Control Loop Properties – Basic Tab .... 2751
83.93 SmartX IP Controller Control Loop Properties – Advanced
Tab ......................................................................................... 2755
83.94 SmartX IP Controller Script Program Properties – Basic Tab . 2756
83.95 SmartX IP Controller Script Program Properties – Advanced
Tab ......................................................................................... 2759
83.96 SmartX IP Controller Script Program Properties – Inputs Tab 2761
83.97 SmartX IP Controller Script Program Properties – Outputs
Tab ......................................................................................... 2762
83.98 SmartX IP Controller Script Program Properties – Functions
Tab ......................................................................................... 2763
83.99 SmartX IP Controller Script Function Properties – Basic Tab . 2764
83.100 SmartX IP Controller Script Function Properties – Advanced
Tab ......................................................................................... 2765
83.101 SmartX IP Controller Script Function Properties – Functions
Tab ......................................................................................... 2766

Technical 04-30006-02-en, May 2019


64
83.102 SmartX IP Controller Function Block Program Properties – Basic
Tab ......................................................................................... 2767
83.103 SmartX IP Controller Function Block Program Properties –
Advanced Tab ....................................................................... 2770
83.104 SmartX IP Controller Function Block Program Properties – Inputs
Tab ......................................................................................... 2771
83.105 SmartX IP Controller Function Block Program Properties –
Outputs Tab ........................................................................... 2772

84 SmartX IP Controller - MP Series Troubleshooting .. 2773


84.1 Device Custom Type Versions Do Not Match ........................ 2775
84.1.1 Solution ............................................................................... 2775
84.2 SmartX IP Controller Device Does Not Display in Device
Discovery ............................................................................... 2776
84.2.1 Solution ................................................................................ 2776
84.3 Duplicate SmartX IP Controller Device IDs ............................ 2777
84.3.1 Solution ................................................................................ 2777
84.4 SmartX IP Controller Program Bindings Cyclic Dependency 2778
84.4.1 Solution ................................................................................ 2778
84.5 SmartX IP Controller Program Execution Overrun ................. 2779
84.5.1 Solution ................................................................................ 2779
84.6 SmartX IP Controller Device Already Hosted Message ......... 2780
84.6.1 Solution ................................................................................ 2780
84.7 Device Custom Types Do Not Match ..................................... 2781
84.7.1 Solution ................................................................................ 2781
84.8 Device Model Mismatch ........................................................ 2782
84.8.1 Solution ................................................................................ 2782
84.9 Unexpected Type Information ............................................... 2783
84.9.1 Solution ................................................................................ 2783
84.10 Device Address Bindings Limit ............................................. 2784
84.10.1 Solution ............................................................................... 2784
84.11 Error when Simultaneously Binding Value and Priority
Properties .............................................................................. 2785
84.11.1 Solution ................................................................................ 2785
84.12 No Broadcast Messages and Restart Notifications in SmartX IP
Controllers ............................................................................. 2786
84.12.1 Solution ................................................................................ 2786
84.13 Unsuccesful SmartX IP Controller Firmware Update ............. 2787
84.13.1 Solution ................................................................................ 2787

85 SmartX IP Controller - IP-IO Module Open and IT


Standards ............................................................... 2789
85.1 SmartX IP Controller - IP-IO Module Overview ....................... 2791
85.1.1 SmartX IP Controller Open and IT Standards ...................... 2791
85.1.2 SmartX IP Controller - IP-IO Modules ................................... 2791
85.1.3 SmartX IP Controller - IP-IO Module Management and
Communication ................................................................... 2791
85.1.4 IP-IO Module I/O Points ....................................................... 2792
85.1.5 SmartX IP Controller External Bindings ................................ 2792

04-30006-02-en, May 2019 Technical


65
85.1.6 Alarms and Trend Logs for IP-IO Modules .......................... 2792
85.1.7 eCommission SmartX Controllers Mobile Application ......... 2792
85.2 SmartX IP Controller Open and IT Standards ........................ 2793
85.2.1 SmartX IP Controller IT Network Standards ......................... 2793
85.2.2 Remote Ethernet I/O ............................................................ 2793
85.2.3 Ethernet Ports and IP Addressing ........................................ 2793
85.2.4 Flat and Layered Network Architectures ............................. 2793
85.2.5 SmartX IP Controller Networking Term Definitions ............... 2794
85.2.6 IP Address Assignment for SmartX IP Controllers ............... 2794
85.2.7 DHCP Server Options .......................................................... 2794
85.2.8 SmartX IP Controller Network Topologies ............................ 2794
85.2.9 IP Address Settings for IP Communications ........................ 2794
85.2.10 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow .............................................................................. 2795
85.2.11 SmartX IP Controller Commissioning Scenarios .................. 2795
85.2.12 Windows DHCP Server IP Addresses .................................. 2795
85.3 SmartX IP Controller IT Network Standards ........................... 2796
85.3.1 BACnet Open Protocol ........................................................ 2796
85.3.2 Communication Technology Support .................................. 2797
85.4 Remote Ethernet I/O .............................................................. 2798
85.5 Ethernet Ports and IP Addressing .......................................... 2800
85.6 Flat and Layered Network Architectures ................................ 2802
85.7 SmartX IP Controller Networking Term Definitions ................. 2803
85.8 IP Address Assignment for SmartX IP Controllers ................. 2806
85.8.1 Dynamic IP Addressing ....................................................... 2806
85.8.2 Static IP Addressing ............................................................ 2806
85.9 DHCP Server Options ........................................................... 2807
85.9.1 SmartX AS-P Server or SmartX AS-B Server with DHCP on a
Private IP Network ................................................................ 2807
85.9.2 Router or Switch with DHCP on a Local Network ................. 2808
85.9.3 Computer with DHCP on a Local Network ........................... 2809
85.10 SmartX IP Controller Network Topologies .............................. 2810
85.10.1 Star ...................................................................................... 2810
85.10.2 Daisy Chain .......................................................................... 2811
85.10.3 RSTP Ring ............................................................................ 2812
85.10.4 Hybrid .................................................................................. 2815
85.11 Configuring RSTP on a Managed Switch for SmartX IP
Controllers ............................................................................. 2816
85.12 IP Address Settings for IP Communications .......................... 2818
85.12.1 Failover and IP Address Reassignment ............................... 2819
85.12.2 IP Address Device Display .................................................. 2819
85.13 Configuring SmartX IP Controller IP Network Settings ........... 2821
85.14 Discarding SmartX IP Controller IP Network Settings
Changes ................................................................................ 2823
85.15 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow ................................................................................ 2824
85.16 SmartX IP Controller Commissioning Scenarios .................... 2826
85.16.1 Auto-IP Link-Local Addresssing .......................................... 2826

Technical 04-30006-02-en, May 2019


66
85.16.2 SmartX IP controllers with DHCP IP Addressing from
Router .................................................................................. 2827
85.16.3 SmartX IP controllers with IP Addressing from SmartX AS-P or
SmartX AS-B DHCP Servers ................................................ 2829
85.17 Windows DHCP Server IP Addresses .................................... 2831
85.18 Assigning DHCP Addresses to a SmartX IP Controller Network
Using Windows Server ........................................................... 2832

86 SmartX IP Controller - IP-IO Modules ...................... 2835


86.1 SmartX IP Controller - IP-IO Modules ..................................... 2837
86.1.1 IP-IO Module Models ........................................................... 2837
86.1.2 SmartX IP Controller Device Memory ................................... 2837
86.1.3 IP-IO Module Reset Modes .................................................. 2837
86.1.4 Image File Deployment in a SmartX IP Controller ............... 2837
86.1.5 IP-IO Module Security Features ........................................... 2838
86.1.6 IP-IO Module I/O Terminals .................................................. 2838
86.1.7 Association Selection Workflow ........................................... 2838
86.1.8 Configure an Online IP-IO Module Workflow ....................... 2838
86.1.9 Configure an Offine IP-IO Module Workflow ........................ 2838
86.1.10 IP-IO Module Standard Objects ........................................... 2839
86.1.11 SmartX IP Controller Device Replacement Workflow ........... 2839
86.1.12 Replace a SmartX IP Controller in an RSTP Ring Network
Workflow .............................................................................. 2839
86.1.13 Free Object System Memory Utilization in SmartX IP
Controllers ........................................................................... 2839
86.2 Creating a SmartX IP Controller Device ................................ 2840
86.3 Deleting a SmartX IP Controller Device ................................. 2841
86.4 Renewing DHCP .................................................................... 2842
86.5 Performing a Field Deploy for a SmartX IP Controller
Application ............................................................................. 2843
86.6 Adding an IP Address to the White List in a SmartX IP
Controller ............................................................................... 2844
86.7 Resetting SmartX IP Controller Type Information .................. 2845
86.8 IP-IO Module Models ............................................................. 2846
86.9 SmartX IP Controller Device Memory ..................................... 2847
86.10 IP-IO Module Reset Modes .................................................... 2848
86.10.1 Factory Reset ....................................................................... 2849
86.10.2 Retain Levels for Variables .................................................. 2849
86.10.3 Value Retention on Restarts Using Command Priority
Levels .................................................................................. 2850
86.11 Image File Deployment in a SmartX IP Controller .................. 2851
86.11.1 Field Deploying Controller Applications .............................. 2851
86.11.2 Download Image Files ......................................................... 2852
86.12 IP-IO Module Security Features ............................................. 2853
86.12.1 Private Field Bus Under SmartX AS-P and AS-B Servers .... 2853
86.12.2 DHCP Server Lock ............................................................... 2854
86.12.3 Whitelist Restrictions ............................................................ 2854
86.12.4 Display Restrictions ............................................................. 2855
86.12.5 Hardware I/O Override ........................................................ 2855

04-30006-02-en, May 2019 Technical


67
86.12.6 Ethernet Port 2 .................................................................... 2855
86.12.7 Automatic Implementation of B-OWS Restrictions ............... 2856
86.12.8 Security Restrictions Based on Project and Runtime
Lifecycles ............................................................................ 2856
86.13 IP-IO Module I/O Terminals .................................................... 2857
86.14 Configuring Terminals on the I/O Module .............................. 2858
86.15 Association Selection Workflow ............................................. 2859
86.16 Provide Field Information to the Application Engineer
Workflow ................................................................................ 2860
86.17 Assign and Distribute the BACnet Instance ID Workflow ....... 2862
86.18 Configure an Online IP-IO Module Workflow ......................... 2864
86.19 Configure an Offline IP-IO Module Workflow ......................... 2867
86.20 IP-IO Module Standard Objects ............................................. 2869
86.21 SmartX IP Controller Device Replacement Workflow ............. 2870
86.22 Configure the Replacement SmartX IP Controller Device
Workflow ................................................................................ 2871
86.23 Change the SmartX IP Controller Device Serial Number in
WorkStation Workflow ............................................................ 2874
86.24 Replace a SmartX IP Controller in an RSTP Ring Network
Workflow ................................................................................ 2877
86.25 Free Object System Memory Utilization in SmartX IP
Controllers ............................................................................. 2879

87 SmartX IP Controller - IP-IO Module Management and


Communication ....................................................... 2881
87.1 SmartX IP Controller - IP-IO Module Management and
Communication ...................................................................... 2883
87.1.1 SmartX IP Controller BACnet/IP Communication ................. 2883
87.1.2 SmartX IP Controller Device Management .......................... 2883
87.1.3 Before Hosting a SmartX IP Controller ................................. 2883
87.1.4 EcoStruxure BMS Server Hosting an IP-IO Module ............. 2883
87.1.5 SmartX IP Controller Diagnostics ......................................... 2884
87.1.6 Device Discovery for SmartX IP Controller Devices ............. 2884
87.1.7 Automatic Time Sync for SmartX IP Controllers .................. 2884
87.1.8 SmartX IP Controller Firmware Management ....................... 2884
87.1.9 SmartX IP Controller Communication ................................... 2884
87.1.10 Enable and Disable SmartX IP Controller Device
Communication ................................................................... 2885
87.1.11 SmartX IP Controller Foreign Device BBMD Registration .... 2885
87.1.12 Upload and Download SmartX IP Controller Data ............... 2885
87.1.13 SmartX IP Controller and Custom Type Associations .......... 2885
87.2 SmartX IP Controller BACnet/IP Support ............................... 2886
87.2.1 Additional Functions ............................................................ 2886
87.2.2 BACnet and IP Routing ........................................................ 2887
87.3 Creating a BACnet Interface with an IP Network on the SmartX
Server .................................................................................... 2888
87.4 Configuring a SmartX Server in Switch Mode to Access the Site IP
Network ................................................................................. 2890

Technical 04-30006-02-en, May 2019


68
87.5 Configuring Ethernet Port 2 as a DHCP Server on the SmartX
Server .................................................................................... 2891
87.6 SmartX IP Controller Device Management ............................ 2892
87.6.1 Uninitialized SmartX IP Controllers ...................................... 2892
87.6.2 Non-conformant Devices ..................................................... 2893
87.6.3 Third-party Client Management .......................................... 2894
87.6.4 SmartX IP Controller References and Device ID Changes .. 2894
87.7 Initializing the BACnet ID of a SmartX IP Controller ............... 2895
87.8 Changing a SmartX IP Controller Device ID ........................... 2896
87.9 SmartX IP Controller References and Device ID Changes .... 2897
87.10 Before Hosting a SmartX IP Controller ................................... 2898
87.11 EcoStruxure BMS Server Hosting a SmartX IP Controller ...... 2900
87.11.1 Controller Hosting ................................................................ 2900
87.11.2 BACnet Interface ................................................................ 2900
87.11.3 B-OWS Restrictions ............................................................. 2902
87.12 SmartX IP Controller Diagnostics ........................................... 2903
87.12.1 Error Log .............................................................................. 2903
87.12.2 Device Report ...................................................................... 2904
87.12.3 Crash Report File ................................................................. 2905
87.12.4 Commissioning Log ............................................................. 2906
87.12.5 IO Checkout Report ............................................................. 2906
87.12.6 Flow Balance Logs .............................................................. 2906
87.13 Retrieving SmartX IP Controller Diagnostics .......................... 2907
87.14 Device Discovery for SmartX IP Controller Devices ............... 2908
87.14.1 Hide Devices ....................................................................... 2908
87.14.2 Discover SmartX IP Controller Device Workflow .................. 2908
87.15 Discover SmartX IP Controller Device Workflow .................... 2909
87.16 Discovering SmartX IP Controller Devices ............................ 2910
87.17 Hiding SmartX IP Controller Devices in Device Discovery .... 2911
87.18 Clearing SmartX IP Controller Host Information .................... 2912
87.19 Automatic Time Sync for SmartX IP Controllers ..................... 2913
87.20 SmartX IP Controller Device Firmware Management ............. 2914
87.20.1 Hosting Different Firmware Versions .................................... 2914
87.20.2 Firmware Upgrade Guidelines ............................................. 2915
87.20.3 Active and Inactive Memory for Firmware ............................ 2916
87.20.4 Firmware Recovery .............................................................. 2916
87.21 Updating Firmware in SmartX IP Controllers .......................... 2918
87.22 SmartX IP Controller Communication .................................... 2920
87.23 Enable and Disable SmartX IP Controller Device
Communication ...................................................................... 2921
87.24 SmartX IP Controller Foreign Device BBMD Registration ...... 2922
87.25 Registering a SmartX IP Controller as a Foreign Device ....... 2923
87.26 Renewing Foreign Device Registration .................................. 2924
87.27 Upload and Download SmartX IP Controller Data ................. 2925
87.28 SmartX IP Controller and Custom Type Association .............. 2926
87.29 Erasing the SmartX IP Controller Database ........................... 2927

04-30006-02-en, May 2019 Technical


69
88 SmartX IP Controller - IP-IO Module IO Points ........ 2929
88.1 IP-IO Module I/O Points ......................................................... 2931
88.1.1 Digital Inputs ........................................................................ 2931
88.1.2 Universal Inputs and Outputs .............................................. 2931
88.1.3 Relay Outputs ...................................................................... 2931
88.1.4 High Power Relay Output ..................................................... 2931
88.2 IP-IO Module Persistence ..................................................... 2932
88.3 IP-IO Module Unit Conversion ............................................... 2933
88.4 Creating a SmartX IP Controller Device Input Point ............... 2935
88.5 Configuring a SmartX IP Controller Device Counter Input
Point ....................................................................................... 2937
88.6 Configuring a SmartX IP Controller Device Current Input
Point ....................................................................................... 2939
88.7 Configuring a SmartX IP Controller Device Digital Input
Point ....................................................................................... 2942
88.8 Configuring a SmartX IP Controller Device Resistive Input
Point ....................................................................................... 2945
88.9 Configuring a SmartX IP Controller Device RTD Temperature
Input Point .............................................................................. 2948
88.10 Configuring a SmartX IP Controller Device Supervised Input
Point ....................................................................................... 2951
88.11 Configuring a SmartX IP Controller Device Temperature Input
Point ....................................................................................... 2953
88.12 Configuring a SmartX IP Controller Device Voltage Input
Point ....................................................................................... 2956
88.13 Creating a SmartX IP Controller Device Output Point ............ 2959
88.14 Configuring a SmartX IP Controller Device Digital Output
Point ....................................................................................... 2961
88.15 Configuring a SmartX IP Controller Device Digital Pulsed Output
Point ....................................................................................... 2964
88.16 Configuring a SmartX IP Controller Device Pulse Width Modulated
Output Point ........................................................................... 2967
88.17 Configuring a SmartX IP Controller Device Tristate Output
Point ....................................................................................... 2970
88.18 Configuring a SmartX IP Controller Device Tristate Pulsed Output
Point ....................................................................................... 2973
88.19 Configuring a SmartX IP Controller Device Voltage Output
Point ....................................................................................... 2976
88.20 Identifying Overridden I/O Points in a SmartX IP Controller
Device .................................................................................... 2979

89 SmartX IP Controller - IP-IO Module External


Bindings .................................................................. 2981
89.1 SmartX IP Controller - IP-IO Module External Bindings ......... 2983
89.1.1 SmartX IP Controller Value Exchange .................................. 2983
89.1.2 Types of External Bindings .................................................. 2983
89.1.3 Advantages to Using External Bindings .............................. 2983
89.1.4 SmartX IP Controller Reliability ............................................ 2984
89.1.5 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................. 2984

Technical 04-30006-02-en, May 2019


70
89.1.6 Fallback Settings for External Binding Consumer Values .... 2984
89.2 SmartX IP Controller Value Exchange .................................... 2985
89.2.1 Value Binding Exchange ..................................................... 2985
89.2.2 Value Conversions ............................................................... 2985
89.3 Types of External Bindings .................................................... 2988
89.3.1 Consumer Configuration ...................................................... 2988
89.3.2 Producer Configuration ........................................................ 2989
89.4 When to Use a Consumer or Producer External Binding ....... 2990
89.5 Advantages to Using External Bindings ................................ 2991
89.5.1 Controller Restart and Recovery Times ............................... 2991
89.5.2 Considerations when Using External Bindings .................... 2992
89.6 SmartX IP Controller Reliability .............................................. 2993
89.7 Creating a SmartX IP Controller External Binding .................. 2995
89.8 Configuring a SmartX IP Controller Consumer Value ............. 2996
89.9 Configuring a SmartX IP Controller Producer Value ............... 2998
89.10 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................... 3000
89.10.1 Binding to Objects with Command Priorities ....................... 3001
89.10.2 Global Default Priority Level in the BACnet Interface
Manager .............................................................................. 3001
89.11 Fallback Settings for External Binding Consumer Values ...... 3003

90 Alarms and Trend Logs for SmartX IP Controller - IP-IO


Modules .................................................................. 3005
90.1 Alarms for IP-IO Modules ....................................................... 3007
90.1.1 BACnet Setup and Configuration ......................................... 3007
90.1.2 System Alarms ..................................................................... 3007
90.1.3 Offline Alarm and Event Buffering ........................................ 3007
90.2 Creating a SmartX IP Controller BACnet Alarm ...................... 3009
90.3 Configuring a SmartX IP Controller BACnet Alarm ................. 3010
90.4 Configuring SmartX IP Controller Port State and Topology Change
Alarms .................................................................................... 3013
90.5 Creating a SmartX IP Controller Notification Class ................ 3015
90.6 Configuring a SmartX IP Controller Notification Class ........... 3016
90.7 Trend Logs for SmartX IP Controllers .................................... 3018
90.7.1 Log Views ............................................................................ 3018
90.7.2 Trend Log Storage Guidelines ............................................. 3018
90.8 Extended Trend Logs for SmartX IP Controllers .................... 3020

91 eCommission SmartX Controllers Mobile


Application .............................................................. 3021
91.1 eCommission SmartX Controllers Mobile Application ........... 3023
91.1.1 Configure eCommission SmartX Controllers Mobile Application
Initial Connection Workflow .................................................. 3023
91.1.2 eCommission SmartX Controllers Mobile Application Connection
Options ................................................................................ 3024
91.2 Configure the eCommission SmartX Controllers Mobile
Application Initial Connection Workflow ................................. 3025

04-30006-02-en, May 2019 Technical


71
91.3 eCommission SmartX Controllers Mobile Application and IP-IO
Connections ........................................................................... 3028
91.3.1 Wired Direct ......................................................................... 3028
91.3.2 Wired Network ..................................................................... 3028
91.3.3 WIFI Access Point ................................................................ 3028

92 SmartX IP Controller - IP-IO Module User Interface 3031


92.1 SmartX IP Controller - IP-IO Module System Tree Icons ........ 3037
92.2 IP-IO Module Properties – Basic Tab ..................................... 3038
92.3 IP-IO Module Properties – Advanced Tab ............................. 3040
92.4 Generate Image Dialog Box .................................................. 3044
92.5 SmartX IP Controller Onboard I/O Module Terminal Point
Properties – Basic Tab ........................................................... 3045
92.6 SmartX IP Controller IP Network Settings Properties – Basic
Tab ......................................................................................... 3046
92.7 SmartX IP Controller IP Network Settings Properties – Advanced
Tab ......................................................................................... 3048
92.8 SmartX IP Controller Settings Properties – Basic Tab ............ 3049
92.9 SmartX IP Controller Settings Properties – Advanced Tab .... 3052
92.10 Properties - IPAddress Dialog Box ........................................ 3053
92.11 SmartX IP Controller Object Creation Wizard – Advanced Settings
Page ...................................................................................... 3054
92.12 Select Firmware Dialog Box ................................................... 3055
92.13 SmartX IP Controller Error Log Properties– Basic Tab ........... 3057
92.14 SmartX IP Controller Error Log Properties – Advanced Tab .. 3059
92.15 SmartX IP Controller Diagnostic File Properties– Basic Tab .. 3060
92.16 SmartX IP Controller Diagnostic File Properties – Advanced
Tab ......................................................................................... 3062
92.17 SmartX IP Controller Device Counter Input Properties – Basic
Tab ......................................................................................... 3063
92.18 SmartX IP Controller Device Counter Input Properties – Advanced
Tab ......................................................................................... 3065
92.19 SmartX IP Controller Device Current Input Properties – Basic
Tab ......................................................................................... 3066
92.20 SmartX IP Controller Device Current Input Properties – Advanced
Tab ......................................................................................... 3069
92.21 SmartX IP Controller Device Digital Input Properties – Basic
Tab ......................................................................................... 3070
92.22 SmartX IP Controller Device Digital Input Properties – Advanced
Tab ......................................................................................... 3072
92.23 SmartX IP Controller Device Resistive Input Properties – Basic
Tab ......................................................................................... 3073
92.24 SmartX IP Controller Device Resistive Input Properties –
Advanced Tab ....................................................................... 3076
92.25 SmartX IP Controller Device RTD Temperature Input Properties –
Basic Tab ............................................................................... 3077
92.26 SmartX IP Controller Device RTD Temperature Input Properties –
Advanced Tab ....................................................................... 3080
92.27 SmartX IP Controller Device Supervised Input Properties – Basic
Tab ......................................................................................... 3082

Technical 04-30006-02-en, May 2019


72
92.28 SmartX IP Controller Device Supervised Input Properties –
Advanced Tab ....................................................................... 3084
92.29 SmartX IP Controller Device Temperature Input Properties – Basic
Tab ......................................................................................... 3085
92.30 SmartX IP Controller Device Temperature Input Properties –
Advanced Tab ....................................................................... 3088
92.31 SmartX IP Controller Device Voltage Input Properties – Basic
Tab ......................................................................................... 3090
92.32 SmartX IP Controller Device Voltage Input Properties – Advanced
Tab ......................................................................................... 3093
92.33 SmartX IP Controller Device Digital Output Properties – Basic
Tab ......................................................................................... 3094
92.34 SmartX IP Controller Device Digital Output Properties – Advanced
Tab ......................................................................................... 3097
92.35 SmartX IP Controller Device Digital Output Properties – Command
Tab ......................................................................................... 3098
92.36 SmartX IP Controller Device Digital Pulsed Output Properties –
Basic Tab ............................................................................... 3100
92.37 SmartX IP Controller Device Digital Pulsed Output Properties -
Advanced Tab ....................................................................... 3102
92.38 SmartX IP Controller Device Digital Pulsed Output Properties –
Command Tab ....................................................................... 3104
92.39 SmartX IP Controller Device Tristate Output Properties – Basic
Tab ......................................................................................... 3106
92.40 SmartX IP Controller Device Tristate Output Properties –
Advanced Tab ....................................................................... 3108
92.41 SmartX IP Controller Device Tristate Output Properties –
Command Tab ....................................................................... 3109
92.42 SmartX IP Controller Device Tristate Pulsed Output Properties –
Basic Tab ............................................................................... 3111
92.43 SmartX IP Controller Device Tristate Pulsed Output Properties –
Advanced Tab ....................................................................... 3113
92.44 SmartX IP Controller Device Tristate Pulsed Output Properties –
Command Tab ....................................................................... 3115
92.45 SmartX IP Controller Device Voltage Output Properties – Basic
Tab ......................................................................................... 3117
92.46 SmartX IP Controller Device Voltage Output Properties –
Advanced Tab ....................................................................... 3120
92.47 SmartX IP Controller Device Voltage Output Properties –
Command Tab ....................................................................... 3121
92.48 SmartX IP Controller Analog Consumer Value Properties – Basic
Tab ......................................................................................... 3123
92.49 SmartX IP Controller Analog Consumer Value Properties –
Advanced Tab ....................................................................... 3126
92.50 SmartX IP Controller Digital Consumer Value Properties – Basic
Tab ......................................................................................... 3127
92.51 SmartX IP Controller Digital Consumer Value Properties –
Advanced Tab ....................................................................... 3130
92.52 SmartX IP Controller Multistate Consumer Value Properties –
Basic Tab ............................................................................... 3131
92.53 SmartX IP Controller Multistate Consumer Value Properties –
Advanced Tab ....................................................................... 3133

04-30006-02-en, May 2019 Technical


73
92.54 SmartX IP Controller Analog Producer Value Properties – Basic
Tab ......................................................................................... 3135
92.55 SmartX IP Controller Analog Producer Value Properties –
Advanced Tab ....................................................................... 3137
92.56 SmartX IP Controller Analog Producer Value Properties –
Command Tab ....................................................................... 3138
92.57 SmartX IP Controller Digital Producer Value Properties – Basic
Tab ......................................................................................... 3140
92.58 SmartX IP Controller Digital Producer Value Properties –
Advanced Tab ....................................................................... 3143
92.59 SmartX IP Controller Digital Producer Value Properties –
Command Tab ....................................................................... 3144
92.60 SmartX IP Controller Multistate Producer Value Properties – Basic
Tab ......................................................................................... 3146
92.61 SmartX IP Controller Multistate Producer Value Properties –
Advanced Tab ....................................................................... 3148
92.62 SmartX IP Controller Multistate Producer Value Properties –
Command Tab ....................................................................... 3149
92.63 SmartX IP Controller BACnet and System Alarm Properties –
Basic Tab ............................................................................... 3151
92.64 SmartX IP Controller BACnet and System Alarm Properties –
Advanced Tab ....................................................................... 3156
92.65 SmartX IP Controller BACnet and System Alarm Properties –
Alarm Settings Tab ................................................................. 3158
92.66 SmartX IP Controller Notification Class Properties – Basic
Tab ......................................................................................... 3161
92.67 SmartX IP Controller Notification Class Properties – Advanced
Tab ......................................................................................... 3162
92.68 SmartX IP Controller Notification Class Properties – Alarm
Settings Tab ........................................................................... 3163

93 SmartX IP Controller - IP-IO Module


Troubleshooting ...................................................... 3165
93.1 Device Custom Type Versions Do Not Match ........................ 3167
93.1.1 Solution ............................................................................... 3167
93.2 SmartX IP Controller Device Does Not Display in Device
Discovery ............................................................................... 3168
93.2.1 Solution ................................................................................ 3168
93.3 Duplicate SmartX IP Controller Device IDs ............................ 3169
93.3.1 Solution ................................................................................ 3169
93.4 SmartX IP Controller Device Already Hosted Message ......... 3170
93.4.1 Solution ................................................................................ 3170
93.5 Device Custom Types Do Not Match ..................................... 3171
93.5.1 Solution ................................................................................ 3171
93.6 Device Model Mismatch ........................................................ 3172
93.6.1 Solution ................................................................................ 3172
93.7 Unexpected Type Information ............................................... 3173
93.7.1 Solution ................................................................................ 3173
93.8 Device Address Bindings Limit ............................................. 3174
93.8.1 Solution ............................................................................... 3174

Technical 04-30006-02-en, May 2019


74
93.9 Error when Simultaneously Binding Value and Priority
Properties .............................................................................. 3175
93.9.1 Solution ................................................................................ 3175
93.10 No Broadcast Messages and Restart Notifications in SmartX IP
Controllers ............................................................................. 3176
93.10.1 Solution ................................................................................ 3176
93.11 Unsuccesful SmartX IP Controller Firmware Update ............. 3177
93.11.1 Solution ................................................................................ 3177

94 SmartX IP Controller - RP Series Open and IT


Standards ............................................................... 3179
94.1 SmartX IP Controller - RP Series Overview ............................ 3181
94.1.1 SmartX IP Controller Open and IT Standards ...................... 3181
94.1.2 SmartX IP Controller - RP Series Models ............................. 3181
94.1.3 SmartX IP Controller - RP Series Management and
Communication ................................................................... 3181
94.1.4 RP Series Controller I/O Points ............................................ 3182
94.1.5 SmartX IP Controller Value Objects ..................................... 3182
94.1.6 Programming Languages for RP Series Controllers ............ 3182
94.1.7 Schedules, Alarms, and Trend Logs for SmartX IP
Controllers ........................................................................... 3182
94.1.8 eCommission SmartX Controllers Mobile Application ......... 3183
94.1.9 SmartX Sensors ................................................................... 3183
94.2 SmartX IP Controller Open and IT Standards ........................ 3184
94.2.1 SmartX IP Controller IT Network Standards ......................... 3184
94.2.2 Ethernet Ports and IP Addressing ........................................ 3184
94.2.3 Flat and Layered Network Architectures ............................. 3184
94.2.4 SmartX IP Controller Networking Term Definitions ............... 3184
94.2.5 IP Address Assignment for SmartX IP Controllers ............... 3185
94.2.6 DHCP Server Options .......................................................... 3185
94.2.7 SmartX IP Controller Network Topologies ............................ 3185
94.2.8 IP Address Settings for IP Communications in an RP Series
Controller ............................................................................. 3185
94.2.9 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow .............................................................................. 3185
94.2.10 SmartX IP Controller Commissioning Scenarios .................. 3186
94.2.11 Windows DHCP Server IP Addresses .................................. 3186
94.3 SmartX IP Controller IT Network Standards ........................... 3187
94.3.1 BACnet Open Protocol ........................................................ 3187
94.3.2 Communication Technology Support .................................. 3188
94.4 Ethernet Ports and IP Addressing .......................................... 3189
94.5 Flat and Layered Network Architectures ................................ 3191
94.6 SmartX IP Controller Networking Term Definitions ................. 3192
94.7 IP Address Assignment for SmartX IP Controllers ................. 3195
94.7.1 Dynamic IP Addressing ....................................................... 3195
94.7.2 Static IP Addressing ............................................................ 3195
94.8 DHCP Server Options ........................................................... 3196

04-30006-02-en, May 2019 Technical


75
94.8.1 SmartX AS-P Server or SmartX AS-B Server with DHCP on a
Private IP Network ................................................................ 3196
94.8.2 Router or Switch with DHCP on a Local Network ................. 3197
94.8.3 Computer with DHCP on a Local Network ........................... 3198
94.9 SmartX IP Controller Network Topologies .............................. 3199
94.9.1 Star ...................................................................................... 3199
94.9.2 Daisy Chain .......................................................................... 3200
94.9.3 RSTP Ring ............................................................................ 3201
94.9.4 Hybrid .................................................................................. 3204
94.10 Configuring RSTP on a Managed Switch for SmartX IP
Controllers ............................................................................. 3205
94.11 IP Address Settings for IP Communications in an RP Series
Controller ............................................................................... 3207
94.11.1 Failover and IP Address Reassignment ............................... 3208
94.12 Configuring SmartX IP Controller IP Network Settings ........... 3209
94.13 Discarding SmartX IP Controller IP Network Settings
Changes ................................................................................ 3211
94.14 Configure a Private IP Network on a SmartX AS-B or AS-P Server
Workflow ................................................................................ 3212
94.15 SmartX IP Controller Commissioning Scenarios .................... 3214
94.15.1 Auto-IP Link-Local Addresssing .......................................... 3214
94.15.2 SmartX IP controllers with DHCP IP Addressing from
Router .................................................................................. 3215
94.15.3 SmartX IP controllers with IP Addressing from SmartX AS-P or
SmartX AS-B DHCP Servers ................................................ 3217
94.16 Windows DHCP Server IP Addresses .................................... 3219
94.17 Assigning DHCP Addresses to a SmartX IP Controller Network
Using Windows Server ........................................................... 3220

95 SmartX IP Controller - RP Series Models ................ 3223


95.1 SmartX IP Controller - RP Series Models ............................... 3225
95.1.1 RP Series Controller Models ................................................ 3225
95.1.2 SmartX IP Controller Device Memory ................................... 3225
95.1.3 RP Series Controller Reset Modes ....................................... 3225
95.1.4 Image File Deployment in a SmartX IP Controller ................ 3225
95.1.5 RP Series Controller Security Features ................................ 3226
95.1.6 RP Series Controller Onboard I/O ....................................... 3226
95.1.7 Association Selection Workflow ........................................... 3226
95.1.8 Configure an Online SmartX IP Controller Workflow ............ 3226
95.1.9 Configure an Offline SmartX IP Controller Workflow ............ 3226
95.1.10 SmartX IP Controller Standard Objects ............................... 3227
95.1.11 SmartX IP Controller Device Replacement Workflow ........... 3227
95.1.12 Replace a SmartX IP Controller in an RSTP Ring Network ... 3227
95.1.13 SmartX IP Controller Device Object Description Property .. 3227
95.1.14 Free Object System Memory Utilization in SmartX IP
Controllers ........................................................................... 3228
95.2 Creating a SmartX IP Controller Device ................................ 3229
95.3 Deleting a SmartX IP Controller Device ................................. 3230
95.4 Renewing DHCP .................................................................... 3231

Technical 04-30006-02-en, May 2019


76
95.5 Performing a Field Deploy for a SmartX IP Controller
Application ............................................................................. 3232
95.6 Adding an IP Address to the White List in a SmartX IP
Controller ............................................................................... 3233
95.7 Resetting SmartX IP Controller Type Information .................. 3234
95.8 RP Series Controller Models .................................................. 3235
95.9 SmartX IP Controller Device Memory ..................................... 3236
95.10 RP Series Controller Reset Modes ......................................... 3237
95.10.1 Factory Reset ....................................................................... 3238
95.10.2 Retain Levels for Variables .................................................. 3238
95.10.3 Value Retention on Restarts Using Command Priority
Levels .................................................................................. 3239
95.11 Image File Deployment in a SmartX IP Controller .................. 3240
95.11.1 Field Deploying Controller Applications .............................. 3240
95.11.2 Download Image Files ......................................................... 3241
95.12 RP Series Controller Security Features .................................. 3242
95.12.1 Private Field Bus Under SmartX AS-P and AS-B Servers .... 3242
95.12.2 DHCP Server Lock ............................................................... 3243
95.12.3 Bluetooth Adapter Access Using the SmartX Sensor .......... 3243
95.12.4 Sensor Bus ........................................................................... 3244
95.12.5 Whitelist Restrictions ............................................................ 3244
95.12.6 Ethernet Port 2 .................................................................... 3244
95.12.7 BLE Communication Interface ............................................. 3245
95.12.8 Automatic Implementation of B-OWS Restrictions ............... 3245
95.12.9 Security Restrictions Based on Project and Runtime
Lifecycles ............................................................................ 3245
95.13 RP Series Controller Onboard I/O ......................................... 3247
95.14 Configuring Terminals on the I/O Module .............................. 3248
95.15 Association Selection Workflow ............................................. 3249
95.16 Provide Field Information to the Application Engineer
Workflow ................................................................................ 3250
95.17 Assign and Distribute the BACnet Instance ID Workflow ....... 3252
95.18 Configure an Online SmartX IP Controller Workflow .............. 3254
95.19 Configure an Offline SmartX IP Controller Workflow .............. 3257
95.20 SmartX IP Controller Standard Objects .................................. 3259
95.21 SmartX IP Controller Device Replacement Workflow ............. 3261
95.22 Configure the Replacement SmartX IP Controller Device
Workflow ................................................................................ 3262
95.23 Change the SmartX IP Controller Device Serial Number in
WorkStation Workflow ............................................................ 3265
95.24 Replace a SmartX IP Controller in an RSTP Ring Network
Workflow ................................................................................ 3268
95.25 SmartX IP Controller Device Object Description Property .... 3270
95.26 Enabling and Disabling RP Series Controller Bluetooth
Advertising ............................................................................. 3271
95.27 Changing the RP Series Controller Bluetooth 6-Digit PIN ...... 3272
95.28 Free Object System Memory Utilization in SmartX IP
Controllers ............................................................................. 3273

04-30006-02-en, May 2019 Technical


77
96 SmartX IP Controller - RP Series Management and
Communication ....................................................... 3275
96.1 SmartX IP Controller - RP Series Management and
Communication ...................................................................... 3277
96.1.1 SmartX IP Controller BACnet/IP Communication ................. 3277
96.1.2 SmartX IP Controller Device Management .......................... 3277
96.1.3 Before Hosting a SmartX IP Controller ................................. 3277
96.1.4 EcoStruxure BMS Server Hosting a SmartX IP Controller .... 3277
96.1.5 SmartX IP Controller Diagnostics ......................................... 3278
96.1.6 Device Discovery for SmartX IP Controller Devices ............. 3278
96.1.7 Automatic Time Sync for SmartX IP Controllers ................... 3278
96.1.8 SmartX IP Controller Firmware Management ....................... 3278
96.1.9 SmartX IP Controller Communication ................................... 3278
96.1.10 Enable and Disable SmartX IP Controller Device
Communication ................................................................... 3279
96.1.11 SmartX IP Controller Foreign Device BBMD Registration .... 3279
96.1.12 SmartX IP Controller Download and Upload ........................ 3279
96.1.13 SmartX IP Controller and Custom Type Associations .......... 3279
96.2 SmartX IP Controller BACnet/IP Support ............................... 3280
96.2.1 Additional Functions ............................................................ 3280
96.2.2 BACnet and IP Routing ........................................................ 3281
96.3 Creating a BACnet Interface with an IP Network on the SmartX
Server .................................................................................... 3282
96.4 Configuring a SmartX Server in Switch Mode to Access the Site IP
Network ................................................................................. 3284
96.5 Configuring Ethernet Port 2 as a DHCP Server on the SmartX
Server .................................................................................... 3285
96.6 SmartX IP Controller Device Management ............................ 3286
96.6.1 Uninitialized SmartX IP Controllers ...................................... 3286
96.6.2 Non-conformant Devices ..................................................... 3287
96.6.3 Third-party Client Management .......................................... 3288
96.6.4 SmartX IP Controller References and Device ID Changes .. 3288
96.7 Initializing the BACnet ID of a SmartX IP Controller ............... 3289
96.8 Changing a SmartX IP Controller Device ID ........................... 3290
96.9 SmartX IP Controller References and Device ID Changes .... 3291
96.10 Before Hosting a SmartX IP Controller ................................... 3292
96.11 EcoStruxure BMS Server Hosting a SmartX IP Controller ...... 3294
96.11.1 Controller Hosting ................................................................ 3294
96.11.2 BACnet Interface ................................................................ 3294
96.11.3 B-OWS Restrictions ............................................................. 3296
96.12 SmartX IP Controller Diagnostics ........................................... 3297
96.12.1 Error Log .............................................................................. 3297
96.12.2 Device Report ...................................................................... 3298
96.12.3 Crash Report File ................................................................. 3299
96.12.4 Commissioning Log ............................................................. 3300
96.12.5 IO Checkout Report ............................................................. 3300
96.12.6 Flow Balance Logs .............................................................. 3300

Technical 04-30006-02-en, May 2019


78
96.13 Retrieving SmartX IP Controller Diagnostics .......................... 3301
96.14 Device Discovery for SmartX IP Controller Devices ............... 3302
96.14.1 Hide Devices ....................................................................... 3302
96.14.2 Discover SmartX IP Controller Device Workflow .................. 3302
96.15 Discover SmartX IP Controller Device Workflow .................... 3303
96.16 Discovering SmartX IP Controller Devices ............................ 3304
96.17 Hiding SmartX IP Controller Devices in Device Discovery .... 3305
96.18 Clearing SmartX IP Controller Host Information .................... 3306
96.19 Automatic Time Sync for SmartX IP Controllers ..................... 3307
96.20 SmartX IP Controller Device Firmware Management ............. 3308
96.20.1 Hosting Different Firmware Versions .................................... 3308
96.20.2 Firmware Upgrade Guidelines ............................................. 3309
96.20.3 Active and Inactive Memory for Firmware ............................ 3310
96.20.4 Firmware Recovery .............................................................. 3310
96.21 Updating Firmware in SmartX IP Controllers .......................... 3312
96.22 SmartX IP Controller Communication .................................... 3314
96.23 Enable and Disable SmartX IP Controller Device
Communication ...................................................................... 3315
96.24 SmartX IP Controller Foreign Device BBMD Registration ...... 3316
96.25 Registering a SmartX IP Controller as a Foreign Device ....... 3317
96.26 Renewing Foreign Device Registration .................................. 3318
96.27 Upload and Download SmartX IP Controller Data ................. 3319
96.28 SmartX IP Controller and Custom Type Association .............. 3320
96.29 Erasing the SmartX IP Controller Database ........................... 3321

97 SmartX IP Controller - RP Series IO Points .............. 3323


97.1 RP Series Controller I/O Points .............................................. 3325
97.1.1 Universal Inputs and Outputs .............................................. 3325
97.1.2 Solid State Relay Outputs .................................................... 3325
97.1.3 Relay Outputs ...................................................................... 3326
97.1.4 High Power Relay Output ..................................................... 3326
97.2 SmartX IP Controller Persistence .......................................... 3327
97.3 SmartX IP Controller Unit Conversion ................................... 3330
97.3.1 Conversion Factor ................................................................ 3331
97.3.2 Control Loop Unit Configuration .......................................... 3331
97.4 Creating a SmartX IP Controller Device Input Point ............... 3333
97.5 Configuring an RP Series Controller Device Counter Input
Point ....................................................................................... 3335
97.6 Configuring a SmartX IP Controller Device Current Input
Point ....................................................................................... 3337
97.7 Configuring a SmartX IP Controller Device Digital Input
Point ....................................................................................... 3340
97.8 Configuring a SmartX IP Controller Device Resistive Input
Point ....................................................................................... 3343
97.9 Configuring a SmartX IP Controller Device RTD Temperature
Input Point .............................................................................. 3346
97.10 Configuring a SmartX IP Controller Device Supervised Input
Point ....................................................................................... 3349

04-30006-02-en, May 2019 Technical


79
97.11 Configuring a SmartX IP Controller Device Temperature Input
Point ....................................................................................... 3351
97.12 Configuring a SmartX IP Controller Device Voltage Input
Point ....................................................................................... 3354
97.13 Creating a SmartX IP Controller Device Output Point ............ 3357
97.14 Configuring a SmartX IP Controller Device Current Output
Point ....................................................................................... 3359
97.15 Configuring a SmartX IP Controller Device Digital Output
Point ....................................................................................... 3362
97.16 Configuring a SmartX IP Controller Device Digital Pulsed Output
Point ....................................................................................... 3365
97.17 Configuring a SmartX IP Controller Device Pulse Width Modulated
Output Point ........................................................................... 3368
97.18 Configuring a SmartX IP Controller Device Tristate Output
Point ....................................................................................... 3371
97.19 Configuring a SmartX IP Controller Device Tristate Pulsed Output
Point ....................................................................................... 3374
97.20 Configuring a SmartX IP Controller Device Voltage Output
Point ....................................................................................... 3377
97.21 Identifying Overridden I/O Points in an RP Series Controller
Device .................................................................................... 3380

98 SmartX IP Controller - RP Series Value Objects ...... 3383


98.1 SmartX IP Controller Value Objects ....................................... 3385
98.1.1 SmartX IP Controller Reliability ............................................ 3385
98.1.2 SmartX IP Controller External Bindings ................................ 3385
98.1.3 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................. 3386
98.2 Creating a SmartX IP Controller Value Object ........................ 3387
98.3 Configuring a SmartX IP Controller Analog Value .................. 3388
98.4 Configuring a SmartX IP Controller DateTime Value .............. 3391
98.5 Configuring a SmartX IP Controller Digital Value ................... 3394
98.6 Configuring a SmartX IP Controller Multistate Value .............. 3398
98.7 Configuring a SmartX IP Controller String Value .................... 3401
98.8 SmartX IP Controller Reliability .............................................. 3403
98.9 SmartX IP Controller External Bindings .................................. 3405
98.9.1 SmartX IP Controller Value Exchange .................................. 3405
98.9.2 Types of External Bindings .................................................. 3405
98.9.3 Advantages to Using External Bindings .............................. 3405
98.9.4 Fallback Settings for External Binding Consumer Values .... 3406
98.10 Creating a SmartX IP Controller External Binding .................. 3407
98.11 SmartX IP Controller Value Exchange .................................... 3408
98.11.1 Value Binding Exchange ..................................................... 3408
98.11.2 Value Conversions ............................................................... 3408
98.12 Types of External Bindings .................................................... 3411
98.12.1 Consumer Configuration ...................................................... 3411
98.12.2 Producer Configuration ........................................................ 3412
98.13 When to Use a Consumer or Producer External Binding ....... 3413
98.14 Advantages to Using External Bindings ................................ 3414

Technical 04-30006-02-en, May 2019


80
98.14.1 Controller Restart and Recovery Times ............................... 3414
98.14.2 Considerations when Using External Bindings .................... 3415
98.15 Binding Value and Priority Properties in a SmartX IP
Controller ............................................................................... 3416
98.15.1 Binding to Objects with Command Priorities ....................... 3417
98.15.2 Global Default Priority Level in the BACnet Interface
Manager .............................................................................. 3417
98.16 Configuring a SmartX IP Controller Consumer Value ............. 3419
98.17 Configuring a SmartX IP Controller Producer Value ............... 3421
98.18 Fallback Settings for External Binding Consumer Values ...... 3423

99 SmartX IP Controller - RP Series Programming


Languages .............................................................. 3425
99.1 Programming Languages for RP Series Controllers .............. 3427
99.1.1 Language Considerations ................................................... 3427
99.1.2 Example Program ................................................................ 3428
99.1.3 Script Program Considerations ............................................ 3428
99.1.4 Differences Between Script Program Environments ............ 3428
99.2 Creating a SmartX IP Controller Script Program or Function . 3430
99.3 Creating a SmartX IP Controller Function Block Program ..... 3431
99.4 Creating a Control Loop in a SmartX IP Controller ................ 3432

100 Schedules, Alarms, and Trend Logs for SmartX IP


Controllers .............................................................. 3433
100.1 Schedules for SmartX IP Controllers ...................................... 3435
100.2 Creating a SmartX IP Controller Calendar ............................. 3436
100.3 Creating a SmartX IP Controller Schedule ............................. 3437
100.4 Alarms for RP Series Controllers ............................................ 3438
100.4.1 BACnet Setup and Configuration ......................................... 3438
100.4.2 System Alarms ..................................................................... 3438
100.4.3 Offline Alarm and Event Buffering ........................................ 3439
100.5 Creating a SmartX IP Controller BACnet Alarm ...................... 3440
100.6 Configuring a SmartX IP Controller BACnet Alarm ................. 3441
100.7 Configuring RP Series Controller Program Cyclic Dependency
and Execution Overrun Alarms .............................................. 3444
100.8 Configuring SmartX IP Controller Port State and Topology Change
Alarms .................................................................................... 3446
100.9 Creating a SmartX IP Controller Notification Class ................ 3448
100.10 Configuring a SmartX IP Controller Notification Class ........... 3449
100.11 Trend Logs for SmartX IP Controllers .................................... 3451
100.11.1 Log Views ............................................................................ 3451
100.11.2 Trend Log Storage Guidelines ............................................. 3451
100.12 Extended Trend Logs for SmartX IP Controllers .................... 3453

101 Configuration Menus .............................................. 3455


101.1 Configuration Menus ............................................................. 3457
101.1.1 Configuration Menu Editor ................................................... 3457
101.1.2 Configuration Menu Viewer in eCommission SmartX Controllers
Mobile App .......................................................................... 3457

04-30006-02-en, May 2019 Technical


81
101.1.3 Configuration Menu Viewer in Workstation .......................... 3457
101.1.4 Configuration Menu Workflow .............................................. 3457
101.2 Configuration Menu Editor ..................................................... 3458
101.3 Create a Configuration Menu Workflow ................................. 3459
101.4 Creating a SmartX IP Controller Device ................................ 3461
101.5 Creating a Configuration Menu Object .................................. 3462
101.6 Opening a Configuration Menu Editor ................................... 3463
101.7 Building a Configuration Menu for a SmartX IP Controller ..... 3464
101.8 Configuration Menu Viewer in Workstation ........................... 3466
101.9 Adding a Value to a Configuration Menu ............................... 3467
101.10 Binding Values Manually in Configuration Menu Editor ......... 3468
101.11 Opening the Configuration Menu Viewer in Workstation ........ 3469
101.12 Editing Properties of a Configuration Menu Item .................. 3470
101.13 Configuring Actual Values of Configuration Menu Values ..... 3471
101.14 Configuration Menu Visibility Operators List .......................... 3472
101.14.1 Operators list ....................................................................... 3472
101.14.2 Example ............................................................................... 3473
101.15 Creating a Custom Type ........................................................ 3474
101.16 Performing a Field Deploy for a SmartX IP Controller
Application ............................................................................. 3475

102 Configuration Menus User Interface ....................... 3477


102.1 Configuration Menu Editor ..................................................... 3479
102.2 Configuration Menu Editor - Design Pane .............................. 3481
102.3 Configuration Menu Editor - Properties Pane ......................... 3483
102.4 Configuration Menu Editor - Add Value Dialog Box ............... 3485
102.5 Configuration Menu Editor - Select Condition Dialog Box ..... 3487
102.6 Bindings View ........................................................................ 3488
102.7 Workstation Work Area - Configuration Menu Tab ................. 3490
102.8 Configuration Menu Editor - Menu Bar ................................... 3492
102.9 Configuration Menu Editor Toolbar ........................................ 3493
102.10 Configuration Menu Editor - File Menu ................................... 3494
102.11 Configuration Menu Editor – File Menu – New Submenu ....... 3495
102.12 Configuration Menu Editor - Edit Menu .................................. 3496
102.13 Configuration Menu Editor - View Menu ................................. 3497
102.14 Configuration Menu Editor - Help Menu ................................. 3498
102.15 Configuration Menu Editor - Error Log Dialog Box ................. 3499

103 eCommission SmartX Controllers Mobile


Application .............................................................. 3501
103.1 eCommission SmartX Controllers Mobile Application ........... 3503
103.1.1 Configure eCommission SmartX Controllers Mobile Application
Initial Connection Workflow .................................................. 3503
103.1.2 eCommission SmartX Controllers Mobile Application Connection
Options ................................................................................ 3504
103.2 Configure the eCommission SmartX Controllers Mobile
Application Initial Connection Workflow ................................. 3505

Technical 04-30006-02-en, May 2019


82
103.3 eCommission SmartX Controllers Mobile Application and SmartX
IP Controller Connections ...................................................... 3508
103.3.1 Wired Direct ......................................................................... 3508
103.3.2 Wired Network ..................................................................... 3508
103.3.3 WIFI Access Point ................................................................ 3509
103.3.4 eCommission Bluetooth Adapter and SmartX Sensor ......... 3509

104 SmartX Sensors ...................................................... 3511


104.1 SmartX Sensors ..................................................................... 3513
104.1.1 SmartX Sensor Modular Bases and Covers ......................... 3513
104.1.2 SmartX Sensor Models ........................................................ 3513
104.1.3 SmartX Sensor Display Properties ....................................... 3514
104.1.4 Firmware Upgrade ............................................................... 3514
104.1.5 Replacement ....................................................................... 3514
104.1.6 Addressing .......................................................................... 3515
104.1.7 SmartX Sensor Operation and Calibration Modes ............... 3515
104.2 Creating a SmartX Sensor ...................................................... 3516
104.3 Configuring a SmartX Sensor ................................................. 3517
104.4 Dynamically Updating SmartX Sensors ................................. 3519
104.5 Downloading Changes to a SmartX Sensor .......................... 3520
104.6 Uploading Changes to a SmartX Sensor .............................. 3521
104.7 Configuring SmartX Sensor Occupancy ................................ 3522
104.8 SmartX Sensor Display Properties ......................................... 3524
104.8.1 Basic and Advanced Property Tabs .................................... 3524
104.8.2 Property Mapping ................................................................ 3524
104.9 Configuring SmartX Sensor Display Properties ..................... 3527
104.10 SmartX Sensor Operation and Calibration Modes ................. 3532
104.11 Configuring SmartX Calibration Modes and Offset Values .... 3533

105 SmartX Sensors User Interface ............................... 3535


105.1 SmartX Sensor Properties – Basic Tab .................................. 3537
105.2 SmartX Sensor Properties – Advanced Tab ........................... 3540
105.3 SmartX Sensor Object Properties – Basic Tab ....................... 3541
105.4 SmartX Sensor Object Properties – Advanced Tab ............... 3544
105.5 SmartX Sensor Display Properties – Basic Tab ..................... 3545
105.6 SmartX Sensor Display Properties – Advanced Tab .............. 3547
105.7 SmartX Sensor Occupancy Properties – Basic Tab ............... 3550
105.8 SmartX Sensor Occupancy Properties – Advanced Tab ....... 3552

106 SmartX IP Controllers - RP Series User Interface .... 3553


106.1 SmartX IP Controller – RP Series System Tree Icons ............. 3559
106.2 RP Series Controller Properties - Basic Tab ........................... 3560
106.3 RP Series Controller Properties – Advanced Tab .................. 3562
106.4 Generate Image Dialog Box .................................................. 3566
106.5 SmartX IP Controller Onboard I/O Module Terminal Point
Properties – Basic Tab ........................................................... 3567
106.6 SmartX IP Controller IP Network Settings Properties – Basic
Tab ......................................................................................... 3568

04-30006-02-en, May 2019 Technical


83
106.7 SmartX IP Controller IP Network Settings Properties – Advanced
Tab ......................................................................................... 3570
106.8 RP Series Controller Settings Properties - Basic Tab ............. 3571
106.9 SmartX IP Controller Settings Properties – Advanced Tab .... 3574
106.10 Properties - IPAddress Dialog Box ........................................ 3575
106.11 SmartX IP Controller Object Creation Wizard – Advanced Settings
Page ...................................................................................... 3576
106.12 Select Firmware Dialog Box ................................................... 3577
106.13 SmartX IP Controller Error Log Properties– Basic Tab ........... 3579
106.14 SmartX IP Controller Error Log Properties – Advanced Tab .. 3581
106.15 SmartX IP Controller Diagnostic File Properties– Basic Tab .. 3582
106.16 SmartX IP Controller Diagnostic File Properties – Advanced
Tab ......................................................................................... 3584
106.17 SmartX IP Controller Device Counter Input Properties – Basic
Tab ......................................................................................... 3585
106.18 SmartX IP Controller Device Counter Input Properties – Advanced
Tab ......................................................................................... 3587
106.19 SmartX IP Controller Device Digital Input Properties – Basic
Tab ......................................................................................... 3588
106.20 SmartX IP Controller Device Digital Input Properties – Advanced
Tab ......................................................................................... 3590
106.21 SmartX IP Controller Device Resistive Input Properties – Basic
Tab ......................................................................................... 3591
106.22 SmartX IP Controller Device Resistive Input Properties –
Advanced Tab ....................................................................... 3594
106.23 SmartX IP Controller Device RTD Temperature Input Properties –
Basic Tab ............................................................................... 3595
106.24 SmartX IP Controller Device RTD Temperature Input Properties –
Advanced Tab ....................................................................... 3598
106.25 SmartX IP Controller Device Supervised Input Properties – Basic
Tab ......................................................................................... 3600
106.26 SmartX IP Controller Device Supervised Input Properties –
Advanced Tab ....................................................................... 3602
106.27 SmartX IP Controller Device Temperature Input Properties – Basic
Tab ......................................................................................... 3603
106.28 SmartX IP Controller Device Temperature Input Properties –
Advanced Tab ....................................................................... 3606
106.29 SmartX IP Controller Device Voltage Input Properties – Basic
Tab ......................................................................................... 3608
106.30 SmartX IP Controller Device Voltage Input Properties – Advanced
Tab ......................................................................................... 3611
106.31 SmartX IP Controller Device Current Output Properties – Basic
Tab ......................................................................................... 3612
106.32 SmartX IP Controller Device Current Output Properties –
Advanced Tab ....................................................................... 3615
106.33 SmartX IP Controller Device Current Output Properties –
Command Tab ....................................................................... 3616
106.34 SmartX IP Controller Device Digital Output Properties – Basic
Tab ......................................................................................... 3618
106.35 SmartX IP Controller Device Digital Output Properties – Advanced
Tab ......................................................................................... 3621

Technical 04-30006-02-en, May 2019


84
106.36 SmartX IP Controller Device Digital Output Properties – Command
Tab ......................................................................................... 3622
106.37 SmartX IP Controller Device Digital Pulsed Output Properties –
Basic Tab ............................................................................... 3624
106.38 SmartX IP Controller Device Digital Pulsed Output Properties -
Advanced Tab ....................................................................... 3626
106.39 SmartX IP Controller Device Digital Pulsed Output Properties –
Command Tab ....................................................................... 3628
106.40 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Basic Tab ........................................................... 3630
106.41 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Advanced Tab ................................................... 3633
106.42 SmartX IP Controller Device Pulse Width Modulated Output
Properties – Command Tab ................................................... 3635
106.43 SmartX IP Controller Device Tristate Output Properties – Basic
Tab ......................................................................................... 3637
106.44 SmartX IP Controller Device Tristate Output Properties –
Advanced Tab ....................................................................... 3639
106.45 SmartX IP Controller Device Tristate Output Properties –
Command Tab ....................................................................... 3640
106.46 SmartX IP Controller Device Tristate Pulsed Output Properties –
Basic Tab ............................................................................... 3642
106.47 SmartX IP Controller Device Tristate Pulsed Output Properties –
Advanced Tab ....................................................................... 3644
106.48 SmartX IP Controller Device Tristate Pulsed Output Properties –
Command Tab ....................................................................... 3646
106.49 SmartX IP Controller Device Voltage Output Properties – Basic
Tab ......................................................................................... 3648
106.50 SmartX IP Controller Device Voltage Output Properties –
Advanced Tab ....................................................................... 3651
106.51 SmartX IP Controller Device Voltage Output Properties –
Command Tab ....................................................................... 3652
106.52 SmartX IP Controller Analog Value Properties – Basic Tab .... 3654
106.53 SmartX IP Controller Analog Value Properties – Advanced
Tab ......................................................................................... 3656
106.54 SmartX IP Controller Analog Value Properties – Command
Tab ......................................................................................... 3657
106.55 SmartX IP Controller DateTime Value Properties – Basic Tab 3659
106.56 SmartX IP Controller DateTime Value Properties – Advanced
Tab ......................................................................................... 3661
106.57 SmartX IP Controller Digital Value Properties – Basic Tab ..... 3662
106.58 SmartX IP Controller Digital Value Properties – Advanced
Tab ......................................................................................... 3664
106.59 SmartX IP Controller Digital Value Properties – Command
Tab ......................................................................................... 3665
106.60 SmartX IP Controller Multistate Value Properties – Basic Tab 3667
106.61 SmartX IP Controller Multistate Value Properties – Advanced
Tab ......................................................................................... 3669
106.62 SmartX IP Controller Multistate Value Properties – Command
Tab ......................................................................................... 3670
106.63 SmartX IP Controller String Value Properties – Basic Tab ...... 3672

04-30006-02-en, May 2019 Technical


85
106.64 SmartX IP Controller String Value Properties – Advanced
Tab ......................................................................................... 3674
106.65 SmartX IP Controller Analog Consumer Value Properties – Basic
Tab ......................................................................................... 3675
106.66 SmartX IP Controller Analog Consumer Value Properties –
Advanced Tab ....................................................................... 3678
106.67 SmartX IP Controller Digital Consumer Value Properties – Basic
Tab ......................................................................................... 3679
106.68 SmartX IP Controller Digital Consumer Value Properties –
Advanced Tab ....................................................................... 3682
106.69 SmartX IP Controller Multistate Consumer Value Properties –
Basic Tab ............................................................................... 3683
106.70 SmartX IP Controller Multistate Consumer Value Properties –
Advanced Tab ....................................................................... 3685
106.71 SmartX IP Controller Analog Producer Value Properties – Basic
Tab ......................................................................................... 3687
106.72 SmartX IP Controller Analog Producer Value Properties –
Advanced Tab ....................................................................... 3689
106.73 SmartX IP Controller Analog Producer Value Properties –
Command Tab ....................................................................... 3690
106.74 SmartX IP Controller Digital Producer Value Properties – Basic
Tab ......................................................................................... 3692
106.75 SmartX IP Controller Digital Producer Value Properties –
Advanced Tab ....................................................................... 3695
106.76 SmartX IP Controller Digital Producer Value Properties –
Command Tab ....................................................................... 3696
106.77 SmartX IP Controller Multistate Producer Value Properties – Basic
Tab ......................................................................................... 3698
106.78 SmartX IP Controller Multistate Producer Value Properties –
Advanced Tab ....................................................................... 3700
106.79 SmartX IP Controller Multistate Producer Value Properties –
Command Tab ....................................................................... 3701
106.80 SmartX IP Controller Notification Class Properties – Basic
Tab ......................................................................................... 3703
106.81 SmartX IP Controller Notification Class Properties – Advanced
Tab ......................................................................................... 3704
106.82 SmartX IP Controller Notification Class Properties – Alarm
Settings Tab ........................................................................... 3705
106.83 SmartX IP Controller BACnet and System Alarm Properties –
Basic Tab ............................................................................... 3707
106.84 SmartX IP Controller BACnet and System Alarm Properties –
Advanced Tab ....................................................................... 3712
106.85 SmartX IP Controller BACnet and System Alarm Properties –
Alarm Settings Tab ................................................................. 3714
106.86 SmartX IP Controller Schedule Properties – Basic Tab .......... 3717
106.87 SmartX IP Controller Schedule Properties – Advanced Tab .. 3720
106.88 SmartX IP Controller Calendar Properties – Basic Tab .......... 3721
106.89 SmartX IP Controller Calendar Properties – Advanced Tab .. 3722
106.90 SmartX IP Controller Control Loop Properties – Basic Tab .... 3723
106.91 SmartX IP Controller Control Loop Properties – Advanced
Tab ......................................................................................... 3727

Technical 04-30006-02-en, May 2019


86
106.92 SmartX IP Controller Script Program Properties – Basic Tab . 3728
106.93 SmartX IP Controller Script Program Properties – Advanced
Tab ......................................................................................... 3731
106.94 SmartX IP Controller Script Program Properties – Inputs Tab 3733
106.95 SmartX IP Controller Script Program Properties – Outputs
Tab ......................................................................................... 3734
106.96 SmartX IP Controller Script Program Properties – Functions
Tab ......................................................................................... 3735
106.97 SmartX IP Controller Function Block Program Properties – Basic
Tab ......................................................................................... 3736
106.98 SmartX IP Controller Function Block Program Properties –
Advanced Tab ....................................................................... 3739
106.99 SmartX IP Controller Function Block Program Properties – Inputs
Tab ......................................................................................... 3740
106.100 SmartX IP Controller Function Block Program Properties –
Outputs Tab ........................................................................... 3741

107 SmartX IP Controller - RP Series Troubleshooting .. 3743


107.1 Device Custom Type Versions Do Not Match ........................ 3745
107.1.1 Solution ............................................................................... 3745
107.2 SmartX IP Controller Device Does Not Display in Device
Discovery ............................................................................... 3746
107.2.1 Solution ................................................................................ 3746
107.3 Duplicate SmartX IP Controller Device IDs ............................ 3747
107.3.1 Solution ................................................................................ 3747
107.4 SmartX IP Controller Device Already Hosted Message ......... 3748
107.4.1 Solution ................................................................................ 3748
107.5 Device Custom Types Do Not Match ..................................... 3749
107.5.1 Solution ................................................................................ 3749
107.6 Device Model Mismatch ........................................................ 3750
107.6.1 Solution ................................................................................ 3750
107.7 Unexpected Type Information ............................................... 3751
107.7.1 Solution ................................................................................ 3751
107.8 Device Address Bindings Limit ............................................. 3752
107.8.1 Solution ............................................................................... 3752
107.9 Error when Simultaneously Binding Value and Priority
Properties .............................................................................. 3753
107.9.1 Solution ................................................................................ 3753
107.10 SmartX IP Controller Program Bindings Cyclic Dependency 3754
107.10.1 Solution ................................................................................ 3754
107.11 SmartX IP Controller Program Execution Overrun ................. 3755
107.11.1 Solution ................................................................................ 3755
107.12 Unsuccesful SmartX IP Controller Firmware Update ............. 3756
107.12.1 Solution ................................................................................ 3756

108 BACnet Overview ................................................... 3757


108.1 BACnet Overview .................................................................. 3759
108.1.1 BACnet Interface ................................................................. 3760
108.1.2 BACnet Networks ................................................................. 3760

04-30006-02-en, May 2019 Technical


87
108.1.3 BACnet Device Management .............................................. 3760
108.1.4 BACnet Objects and Properties ........................................... 3760
108.1.5 BACnet Download and Upload ............................................ 3760
108.1.6 BACnet System Configuration Workflows ............................ 3761
108.2 BACnet Interface ................................................................... 3762
108.2.1 BACnet Communications ..................................................... 3762
108.2.2 BACnet References and System References ...................... 3763
108.2.3 Interface Required Identification Properties ........................ 3763
108.2.4 BACnet Folders in the BACnet Interface .............................. 3763
108.3 Creating a BACnet Interface .................................................. 3764
108.4 BACnet Folders in the BACnet Interface ............................... 3766
108.4.1 BACnet Network Folders ..................................................... 3766
108.4.2 BACnet Device Application Folders .................................... 3767
108.4.3 EcoStruxure Objects Within a BACnet Folder ...................... 3767
108.4.4 Folders within a Folder ......................................................... 3767
108.4.5 Best Practices for Using Folders ......................................... 3768
108.5 Automatically Discovering BACnet Subnetworks .................. 3769
108.6 BACnet Communications ....................................................... 3770
108.7 BACnet References and System References ........................ 3771
108.8 Interface Required Identification Properties .......................... 3772
108.9 BACnet System Configuration Workflows .............................. 3773
108.9.1 BACnet System Off-site Configuration Workflow ................. 3773
108.9.2 BACnet System On-site Configuration Workflow ................. 3773
108.10 BACnet System Off-site Configuration Workflow ................... 3774
108.11 BACnet System On-site Configuration Workflow ................... 3778

109 BACnet Networks ................................................... 3781


109.1 BACnet Networks .................................................................. 3783
109.1.1 IP Network ............................................................................ 3783
109.1.2 MS/TP Network .................................................................... 3783
109.1.3 Remote Network .................................................................. 3783
109.1.4 BACnet Internetwork ............................................................ 3783
109.1.5 Poll Interval .......................................................................... 3783
109.1.6 BACnet Gateway ................................................................. 3784
109.1.7 Summary ............................................................................. 3784
109.2 IP Network ............................................................................. 3786
109.2.1 Multiple BACnet IP Networks ............................................... 3787
109.2.2 Best Practices for Multiple IP Networks and BBMDs ........... 3788
109.3 Creating an Additional BACnet IP Network ............................ 3789
109.4 Configuring a BACnet IP Network .......................................... 3790
109.5 MS/TP Network ...................................................................... 3791
109.6 Creating a BACnet MS/TP Network ........................................ 3792
109.7 Configuring a BACnet MS/TP Network ................................... 3793
109.8 Remote Network .................................................................... 3794
109.9 Creating a BACnet Remote Network ..................................... 3796
109.10 Configuring a BACnet Remote Network ................................ 3797
109.11 BACnet Internetwork .............................................................. 3798

Technical 04-30006-02-en, May 2019


88
109.12 Best Practices for Multiple IP Networks and BBMDs ............. 3800
109.12.1 Multiple IP Networks ............................................................ 3800
109.12.2 BBMDs and IP Networks ...................................................... 3800
109.13 Optimizing System Performance Using BACnet Polling
Intervals ................................................................................. 3802
109.14 BACnet Gateway ................................................................... 3804
109.14.1 BACnet Gateway as BACnet Device ................................... 3804
109.14.2 BACnet Gateway as Router to Virtual BACnet Devices ....... 3805

110 BACnet Device Management ................................. 3807


110.1 BACnet Device Management ................................................ 3809
110.1.1 BACnet Device Discovery ................................................... 3809
110.1.2 Hosted I/A Series BACnet MNB Devices and Properties ..... 3809
110.1.3 BACnet Download and Upload ............................................ 3809
110.1.4 BACnet Time Synchronization ............................................. 3809
110.1.5 Device Cold Start and Warm Start ....................................... 3810
110.1.6 Device Communication and Diagnostics ............................. 3810
110.1.7 BACnet Backup and Restore ............................................... 3810
110.1.8 BBMDs and Foreign Devices ............................................... 3810
110.1.9 Extended Logging for External BACnet Trend Logs
Workflow .............................................................................. 3810
110.2 BACnet Device Discovery ...................................................... 3811
110.3 Discovering a BACnet Device ............................................... 3812
110.4 Creating a BACnet Device ..................................................... 3813
110.5 Associating a BACnet Instance Number with a Device ........ 3814
110.6 BACnet Time Synchronization ............................................... 3815
110.6.1 Local and UTC ..................................................................... 3816
110.6.2 Automatic Time Sync ........................................................... 3816
110.6.3 Manual Time Sync ............................................................... 3817
110.7 Configuring an EcoStruxure BMS Server as a Time Sync Master
for Local Time ........................................................................ 3818
110.8 Configuring an EcoStruxure BMS Server as a Time Sync Master
for UTC Time .......................................................................... 3820
110.9 Configuring a BACnet Device as a Time Sync Master for Local
Time ....................................................................................... 3822
110.10 Editing a Device Recipient ..................................................... 3824
110.11 Manually Triggering the Time Recipients List of an EcoStruxure
BMS Server ............................................................................ 3825
110.12 Manually Synchronizing an IP Network to Local Time ........... 3826
110.13 Manually Synchronizing an IP Network to UTC Time ............. 3827
110.14 Manually Synchronizing an MSTP Network to Local Time ..... 3828
110.15 Manually Synchronizing an MSTP Network to UTC Time ....... 3829
110.16 Manually Synchronizing a Remote Network to Local Time .... 3830
110.17 Manually Synchronizing a Remote Network to UTC Time ...... 3831
110.18 Manually Synchronizing a BACnet Device to Local Time ...... 3832
110.19 Manually Synchronizing a BACnet Device to UTC Time ........ 3833
110.20 Device Communication and Diagnostics .............................. 3834
110.20.1 BACnet Interface ................................................................. 3834

04-30006-02-en, May 2019 Technical


89
110.20.2 BACnet Device .................................................................... 3834
110.20.3 Unconfigured Devices ......................................................... 3835
110.20.4 COV Subscriptions .............................................................. 3835
110.21 Enabling BACnet Device Communication ............................. 3836
110.22 Disabling BACnet Device Communication ............................ 3837
110.23 Disabling Initiation of BACnet Device Communication .......... 3838
110.24 Enabling BACnet Interface Communication .......................... 3839
110.25 Disabling BACnet Interface Communication ......................... 3840
110.26 Disabling Initiation of BACnet Interface Communication ....... 3841
110.27 Unconfigured Devices ........................................................... 3842
110.28 Refreshing COV Subscriptions .............................................. 3843
110.29 Extended Logging for External BACnet Trend Logs
Workflow ................................................................................ 3844
110.30 BBMDs and Foreign Devices ................................................ 3846
110.30.1 BBMDs ................................................................................ 3846
110.30.2 BBMD Configuration ............................................................ 3847
110.30.3 Foreign Devices ................................................................... 3847
110.31 Creating a BBMD ................................................................... 3849
110.32 Configuring a BBMD ............................................................ 3850
110.33 Teaching a BBMD Configuration to Other BBMDs ............... 3851
110.34 Learning a BBMD Configuration from one BBMD to Another 3852
110.35 Registering an EcoStruxure BMS Server as a Foreign
Device .................................................................................... 3853
110.36 Registering a Foreign Device with a BBMD ........................... 3854
110.37 Joining IP Subnets to a BACnet Network ............................... 3855
110.38 Viewing a Foreign Device Registration on an EcoStruxure BMS
Server .................................................................................... 3856
110.39 Device Cold Start and Warm Start ......................................... 3857
110.40 Warm Starting a BACnet Device ............................................ 3858
110.41 Cold Starting a BACnet Device .............................................. 3859
110.42 BACnet Backup and Restore ................................................. 3860
110.42.1 BACnet Backup and Restore Services ................................ 3861
110.42.2 BACnet Backup and Restore Properties ............................. 3861
110.42.3 b3 BACnet Devices ............................................................. 3861
110.43 Backing Up a BACnet Device ................................................ 3862
110.44 Restoring a BACnet Device ................................................... 3863

111 BACnet Objects and Properties ............................. 3865


111.1 BACnet Objects and Properties ............................................ 3869
111.1.1 Supported BACnet Object Types ....................................... 3869
111.1.2 BACnet Object Properties ................................................... 3870
111.1.3 BACnet Command Priorities ................................................ 3870
111.1.4 BACnet Device Object Indicator – Executed By .................. 3870
111.1.5 BACnet Primitive Value Objects ........................................... 3870
111.2 Supported BACnet Object Types .......................................... 3871
111.2.1 Table of Supported Object Types ........................................ 3871
111.2.2 BACnet Notifications ............................................................ 3871
111.2.3 BACnet Alarms .................................................................... 3871

Technical 04-30006-02-en, May 2019


90
111.2.4 BACnet Schedules ............................................................... 3871
111.3 Table of Supported Object Types .......................................... 3872
111.4 BACnet Object Properties ..................................................... 3874
111.4.1 Required BACnet Identification Properties ......................... 3874
111.4.2 BACnet Reliability Property .................................................. 3874
111.4.3 BACnet Configuration Properties ......................................... 3874
111.4.4 BACnet Command Priorities ................................................ 3875
111.4.5 BACnet Status Flags ............................................................ 3875
111.5 BACnet Points ........................................................................ 3876
111.5.1 BACnet Analog Input ........................................................... 3876
111.5.2 BACnet Digital Input ............................................................ 3877
111.5.3 BACnet Multistate Input ....................................................... 3877
111.5.4 BACnet Analog Output ........................................................ 3878
111.5.5 BACnet Digital Output ......................................................... 3879
111.5.6 BACnet Multistate Output .................................................... 3880
111.6 BACnet Reliability Property .................................................... 3881
111.7 BACnet Device Object Indicator – Executed By .................... 3882
111.8 BACnet Configuration Properties ........................................... 3883
111.8.1 BACnet Download ............................................................... 3883
111.8.2 BACnet Upload .................................................................... 3883
111.9 Updating the Object List of a BACnet Device ........................ 3884
111.10 BACnet Status Flags .............................................................. 3885
111.11 BACnet Primitive Value Objects ............................................ 3886
111.12 BACnet String Encoding ........................................................ 3887
111.12.1 Default Encoding ................................................................. 3887
111.12.2 User-specified Encoding ..................................................... 3887
111.13 Configuring a BACnet String Encoding ................................. 3888
111.14 Creating a BACnet Point in an EcoStruxure BMS Server ....... 3889
111.15 Configuring a BACnet Analog Input Point .............................. 3890
111.16 Configuring a BACnet Digital Input Point ............................... 3895
111.17 Configuring a BACnet Multistate Input Point .......................... 3899
111.18 Configuring a BACnet Analog Output Point ........................... 3903
111.19 Configuring a BACnet Digital Output Point ............................ 3907
111.20 Configuring a BACnet Multistate Output Point ....................... 3910
111.21 Creating a BACnet Point (Generic) ........................................ 3913
111.22 Configuring a BACnet Analog Input Point (Generic) .............. 3914
111.23 Configuring a BACnet Digital Input Point (Generic) ............... 3918
111.24 Configuring a BACnet Multistate Input Point (Generic) .......... 3922
111.25 Configuring a BACnet Analog Output Point (Generic) ........... 3926
111.26 Configuring a BACnet Digital Output Point (Generic) ............ 3930
111.27 Configuring a BACnet Multistate Output Point (Generic) ....... 3935
111.28 Creating a BACnet Value ....................................................... 3939
111.29 Configuring a BACnet Analog Value ...................................... 3940
111.30 Configuring a BACnet Digital Value ....................................... 3942
111.31 Configuring a BACnet Multistate Value .................................. 3946
111.32 Creating a BACnet Value (Generic) ....................................... 3951
111.33 Configuring a BACnet Analog Value (Generic) ...................... 3952

04-30006-02-en, May 2019 Technical


91
111.34 Configuring a BACnet DateTime Value (Generic) .................. 3956
111.35 Configuring a BACnet Digital Value (Generic) ....................... 3959
111.36 Configuring a BACnet Integer Value (Generic) ...................... 3964
111.37 Configuring a BACnet Large Analog Value (Generic) ........... 3968
111.38 Configuring a BACnet Positive Integer Value (Generic) ........ 3972
111.39 Configuring a BACnet Multistate Value (Generic) .................. 3976
111.40 Configuring a BACnet String (Generic) .................................. 3981
111.41 Changing a BACnet String (Generic) ..................................... 3986
111.42 Creating a BACnet Accumulator (Generic) ............................ 3987
111.43 Configuring a BACnet Accumulator (Generic) ....................... 3988
111.44 Creating a BACnet Averaging (Generic) ............................... 3990
111.45 Configuring a BACnet Averaging (Generic) .......................... 3991
111.46 Creating a BACnet Command (Generic) ............................... 3993
111.47 Configuring a BACnet Command (Generic) .......................... 3994
111.48 Creating a BACnet Load Control (Generic) ........................... 3995
111.49 Configuring a BACnet Load Control (Generic) ...................... 3996
111.50 Creating a BACnet Pulse Converter (Generic) ...................... 3998
111.51 Configuring a BACnet Pulse Converter (Generic) ................. 3999
111.52 Creating a BACnet Trend Log ................................................ 4003
111.53 Configuring a BACnet Trend Log ........................................... 4004
111.54 Creating a BACnet Trend Log (Generic) ............................... 4008
111.55 Configuring a BACnet Trend Log (Generic) .......................... 4009
111.56 Configuring Extended Logging for a Local BACnet Trend
Log ......................................................................................... 4013
111.57 Creating a BACnet Loop ........................................................ 4014
111.58 Creating a BACnet Loop (Generic) ........................................ 4016
111.59 Creating a BACnet File (Generic) .......................................... 4017
111.60 Creating a BACnet Program (Generic) .................................. 4018
111.61 Creating an I/O Point with an Associated BACnet Point ........ 4019
111.62 Associating an I/O Point with a New BACnet Point ................ 4020
111.63 Associating an I/O Point with an Existing BACnet Point ........ 4021
111.64 Associating a BACnet Point with an I/O Point ........................ 4022
111.65 Creating and Associating BACnet Points to I/O Points .......... 4023
111.66 Associating or Updating BACnet Point Associations to I/O Points
............................................................................................... 4024
111.67 Removing a BACnet Point Association from an I/O Point ....... 4025
111.68 Selecting a BACnet Point for Associated Feedback .............. 4026

112 BACnet Command Priorities ................................... 4027


112.1 BACnet Command Priorities .................................................. 4029
112.1.1 Commandable Properties and Objects ............................... 4030
112.1.2 Active Command Priority ..................................................... 4031
112.1.3 Default Priority Level ............................................................ 4031
112.1.4 Schedule and Loop Priority for Writing Property .................. 4031
112.1.5 Command Priority Retain Levels for BACnet Objects .......... 4031
112.2 Commandable Properties and Objects ................................. 4032
112.2.1 Mass Relinquish of Command Priorities .............................. 4032

Technical 04-30006-02-en, May 2019


92
112.3 Active Command Priority ....................................................... 4033
112.4 Viewing the Command Priority Levels .................................... 4034
112.5 Default Priority Level .............................................................. 4035
112.6 Configuring the Default Priority Level ..................................... 4036
112.7 Forced Priority Level .............................................................. 4037
112.8 Configuring a Forced Priority Level ........................................ 4038
112.9 Relinquishing a BACnet Commandable Property .................. 4039
112.10 Schedule and Loop Priority for Writing Property .................... 4040
112.11 Command Priority Retain Levels for BACnet Objects ............ 4041

113 BACnet Download and Upload .............................. 4043


113.1 BACnet Download and Upload ............................................. 4045
113.1.1 BACnet Download ............................................................... 4045
113.1.2 BACnet Upload .................................................................... 4045
113.1.3 BACnet Download and Upload Hosted Objects .................. 4045
113.2 BACnet Download ................................................................. 4046
113.2.1 Download Single Object Properties ..................................... 4046
113.2.2 Download Device Configuration Properties ......................... 4046
113.2.3 Download Device Full Contents ........................................... 4046
113.2.4 Download Network ............................................................... 4047
113.3 Downloading Configuration Properties ................................. 4048
113.4 Downloading the Properties of an Object .............................. 4049
113.5 Downloading the Contents of a BACnet Device .................... 4050
113.6 Downloading an IP Network ................................................... 4051
113.7 Downloading an MSTP Network ............................................ 4052
113.8 Downloading a Remote Network ........................................... 4053
113.9 BACnet Upload ...................................................................... 4054
113.9.1 Upload Single Object Properties ......................................... 4054
113.9.2 Upload Device Configuration Properties ............................. 4054
113.9.3 Upload Device Full Contents ............................................... 4054
113.10 Uploading Configuration Properties ..................................... 4056
113.11 Uploading the Properties of an Object .................................. 4057
113.12 Uploading the Contents of a BACnet Device ......................... 4058
113.13 BACnet Download and Upload Hosted Objects ................... 4059
113.13.1 Upload Hosted Objects to an EcoStruxure BMS Server ...... 4060
113.13.2 Download Hosted Objects from a Network .......................... 4060
113.13.3 Download Hosted Objects from an EcoStruxure BMS
Server .................................................................................. 4060
113.13.4 Remove Hosted Objects ...................................................... 4060
113.14 Downloading Hosted Objects from an EcoStruxure BMS
Server .................................................................................... 4061
113.15 Uploading Hosted Objects to an EcoStruxure BMS Server ... 4062
113.16 Removing Hosted Objects ..................................................... 4063

114 BACnet Notifications and Alarms ........................... 4065


114.1 BACnet Notifications .............................................................. 4067
114.2 Creating a BACnet Notification .............................................. 4068
114.3 Configuring a BACnet Notification ......................................... 4069

04-30006-02-en, May 2019 Technical


93
114.4 Creating a BACnet Notification (Generic) .............................. 4074
114.5 Configuring a BACnet Notification (Generic) ......................... 4075
114.6 BACnet Alarms ...................................................................... 4080
114.6.1 BACnet Alarm Types and Monitored Variables Table ......... 4080
114.6.2 Intrinsic Alarming ................................................................. 4080
114.6.3 Alarm Status ......................................................................... 4080
114.6.4 Alarm Summary ................................................................... 4080
114.7 BACnet Alarm Types and Monitored Variables Table ............ 4082
114.8 Creating a BACnet Alarm ....................................................... 4084
114.9 Configuring a BACnet Change of State Alarm ....................... 4085
114.10 Configuring a BACnet Change of Value Alarm ...................... 4087
114.11 Configuring a BACnet Floating Limit Alarm ........................... 4089
114.12 Configuring a BACnet Out of Range Alarm ............................ 4091
114.13 Configuring a BACnet Buffer Ready Alarm ............................ 4093
114.14 Creating a BACnet Alarm (Generic) ....................................... 4095
114.15 Configuring a BACnet Change of State Alarm (Generic) ....... 4096
114.16 Configuring a BACnet Change of Value Alarm (Generic) ...... 4098
114.17 Configuring a BACnet Floating Limit Alarm (Generic) ........... 4100
114.18 Configuring a BACnet Out of Range Alarm (Generic) ........... 4102
114.19 Configuring a BACnet Buffer Ready Alarm (Generic) ............ 4104

115 BACnet Schedules and Calendars ......................... 4107


115.1 BACnet Schedules ................................................................ 4109
115.1.1 Schedule Exceptions ........................................................... 4109
115.1.2 Schedule Types ................................................................... 4109
115.1.3 Schedule and Supported Data Type for Binding ................. 4110
115.1.4 Schedule and Loop Priority for Writing Property .................. 4110
115.2 Schedule and Supported Data Type for Binding ................... 4111
115.2.1 Supported Data Types for BACnet Schedules .................... 4111
115.2.2 Binding Examples ................................................................ 4111
115.3 Creating a BACnet Calendar ................................................. 4114
115.4 Creating a BACnet Calendar (Generic) ................................. 4115
115.5 Configuring a BACnet Calendar ............................................ 4116
115.6 Creating a BACnet Schedule ................................................. 4117
115.7 Creating a BACnet Schedule (Generic) ................................. 4118
115.8 Configuring a BACnet Schedule ............................................ 4119
115.9 Configuring a Time Value Period for a Schedule ................... 4121
115.10 Binding an Object Property to a BACnet Schedule ............... 4122
115.11 Modifying a BACnet Schedule Using the Text View .............. 4123
115.12 Modifying a Schedule Using the Graphic View ...................... 4124

116 BACnet Device User Interface ................................ 4125


116.1 BACnet System Tree Icons .................................................... 4133
116.2 Interface Manager for BACnet – Basic Tab ........................... 4135
116.3 BACnet Interface for a SmartX Server – Basic Tab ................ 4138
116.4 BACnet Interface for a SmartX Server – Advanced Tab ........ 4140
116.5 BACnet Interface for an Enterprise Server – Basic Tab ......... 4143

Technical 04-30006-02-en, May 2019


94
116.6 BACnet Interface for an Enterprise Server – Advanced Tab .. 4145
116.7 BACnet Interface – Time Synchronization Recipients Tab ..... 4148
116.8 BACnet Time Synchronization Recipient Dialog Box ............. 4150
116.9 BACnet Device Properties – Basic Tab ................................. 4152
116.10 BACnet Device Properties – Advanced Tab .......................... 4153
116.11 BACnet Device – Time Synchronization Recipients Tab ........ 4156
116.12 BACnet Device – Device Address Bindings Tab ................... 4157
116.13 BACnet Device – Alarm Summary Tab .................................. 4158
116.14 BACnet Device – Enrollment Summary Tab ........................... 4159
116.15 BACnet Device – Event Information Tab ................................ 4160
116.16 BACnet Gateway Properties – Basic Tab .............................. 4161
116.17 Specialized BACnet Device Properties – Basic Tab .............. 4162
116.18 Specialized BACnet Device Properties – Advanced Tab ...... 4163
116.19 EcoStruxure BMS Server Hardware Folder – Basic Tab ........ 4166
116.20 BBMD Properties – Basic Tab ................................................ 4167
116.21 BBMD BDT Entry Properties – Basic Tab ............................... 4168
116.22 BACnet Learn BDT Table Dialog Box .................................... 4169
116.23 BBMD Foreign Device Table Tab .......................................... 4170
116.24 BACnet IP Network Properties – Basic Tab ........................... 4171
116.25 BACnet MS/TP Network Properties – Basic Tab .................... 4173
116.26 BACnet Network Properties – Basic Tab ............................... 4175
116.27 Application Folder of a BACnet Interface .............................. 4176
116.28 Application Folder of a BACnet Device ................................. 4177
116.29 BACnet Unconfigured Devices Folder Properties – Basic
Tab ......................................................................................... 4178
116.30 BACnet Unsolicited Alarms – Basic Tab ................................ 4179
116.31 BACnet Analog Input Properties – Basic Tab ........................ 4180
116.32 BACnet Analog Input Properties – Advanced Tab ................. 4183
116.33 BACnet Analog Input Properties – Alarm Settings Tab .......... 4186
116.34 BACnet Analog Output Properties – Basic Tab ..................... 4188
116.35 BACnet Analog Output Properties – Advanced Tab .............. 4191
116.36 BACnet Analog Output Properties – Alarm Settings Tab ....... 4194
116.37 BACnet Analog Output Properties – Command Tab .............. 4196
116.38 BACnet Analog Value Properties – Basic Tab ....................... 4197
116.39 BACnet Analog Value Properties – Advanced Tab ................ 4199
116.40 BACnet Analog Value Properties – Alarm Settings Tab ......... 4202
116.41 BACnet Analog Value Properties – Command Tab ................ 4204
116.42 BACnet Digital Input Properties – Basic Tab ......................... 4205
116.43 BACnet Digital Input Properties – Advanced Tab .................. 4208
116.44 BACnet Digital Input Properties – Alarm Settings Tab ........... 4211
116.45 BACnet Digital Output Properties – Basic Tab ....................... 4213
116.46 BACnet Digital Output Properties – Advanced Tab ............... 4216
116.47 BACnet Digital Output Properties – Command Tab ............... 4219
116.48 BACnet Digital Value Properties – Basic Tab ......................... 4220
116.49 BACnet Digital Value Properties – Advanced Tab ................. 4222
116.50 BACnet Digital Value Properties – Alarm Settings Tab .......... 4225
116.51 BACnet Digital Value Properties – Command Tab ................. 4227

04-30006-02-en, May 2019 Technical


95
116.52 BACnet Multistate Input Properties – Basic Tab .................... 4228
116.53 BACnet Multistate Input Properties – Advanced Tab ............. 4230
116.54 BACnet Multistate Input Properties – Alarm Settings Tab ...... 4233
116.55 BACnet Multistate Output Properties – Basic Tab ................. 4235
116.56 BACnet Multistate Output Properties – Advanced Tab .......... 4237
116.57 BACnet Multistate Output Properties – Command Tab .......... 4240
116.58 BACnet Multistate Value Properties – Basic Tab ................... 4241
116.59 BACnet Multistate Value Properties – Advanced Tab ............ 4243
116.60 BACnet Multistate Value Properties – Alarm Settings Tab ..... 4246
116.61 BACnet Multistate Value Properties – Command Tab ............ 4248
116.62 BACnet Multistate Alarm Properties Dialog Box .................... 4249
116.63 BACnet Multistate Objects – State Configuration Tab ........... 4250
116.64 BACnet Analog Input Properties (Generic) – Basic Tab ........ 4251
116.65 BACnet Analog Input Properties (Generic) – Advanced Tab 4253
116.66 BACnet Analog Output Properties (Generic) – Basic Tab ..... 4255
116.67 BACnet Analog Output Properties (Generic) – Advanced
Tab ......................................................................................... 4257
116.68 BACnet Analog Output Properties (Generic) – Command
Tab ......................................................................................... 4259
116.69 BACnet Analog Value Properties (Generic) – Basic Tab ....... 4260
116.70 BACnet Analog Value Properties (Generic) – Advanced Tab 4262
116.71 BACnet Analog Value Properties (Generic) – Command
Tab ......................................................................................... 4264
116.72 BACnet Digital Input Properties (Generic) – Basic Tab ......... 4265
116.73 BACnet Digital Input Properties (Generic) – Advanced Tab .. 4268
116.74 BACnet Digital Output Properties (Generic) – Basic Tab ...... 4270
116.75 BACnet Digital Output Properties (Generic) – Advanced
Tab ......................................................................................... 4273
116.76 BACnet Digital Output Properties (Generic) – Command
Tab ......................................................................................... 4275
116.77 BACnet Digital Value Properties (Generic) – Basic Tab ........ 4276
116.78 BACnet Digital Value Properties (Generic) – Advanced Tab . 4279
116.79 BACnet Digital Value Properties (Generic) – Command Tab . 4281
116.80 BACnet Multistate Input Properties (Generic) – Basic Tab .... 4282
116.81 BACnet Multistate Input Properties (Generic) – Advanced
Tab ......................................................................................... 4284
116.82 BACnet Multistate Output Properties (Generic) – Basic Tab . 4286
116.83 BACnet Multistate Output Properties (Generic) – Advanced
Tab ......................................................................................... 4288
116.84 BACnet Multistate Output Properties (Generic) – Command
Tab ......................................................................................... 4290
116.85 BACnet Multistate Value Properties (Generic) – Basic Tab ... 4291
116.86 BACnet Multistate Value Properties (Generic) – Advanced
Tab ......................................................................................... 4293
116.87 BACnet Multistate Value Properties (Generic) – Command
Tab ......................................................................................... 4295
116.88 BACnet Accumulator Properties (Generic) – Basic Tab ........ 4296
116.89 BACnet Accumulator Properties (Generic) – Advanced Tab . 4298
116.90 BACnet Averaging Properties (Generic) – Basic Tab ............ 4300

Technical 04-30006-02-en, May 2019


96
116.91 BACnet Averaging Properties (Generic) – Advanced Tab .... 4302
116.92 BACnet Command Properties (Generic) – Basic Tab ............ 4303
116.93 BACnet Command Properties (Generic) – Advanced Tab .... 4304
116.94 BACnet Load Control Properties (Generic) – Basic Tab ........ 4305
116.95 BACnet Load Control Properties (Generic) – Advanced Tab 4307
116.96 BACnet Pulse Converter Properties (Generic) – Basic Tab ... 4309
116.97 BACnet Pulse Converter Properties (Generic) – Advanced
Tab ......................................................................................... 4312
116.98 BACnet Notification Properties – Basic Tab ........................... 4314
116.99 BACnet Notification Properties – Advanced Tab ................... 4315
116.100 BACnet Notification Properties – Alarm Settings Tab ............ 4316
116.101 BACnet Notification Properties (Generic) – Basic Tab ........... 4318
116.102 BACnet Notification Properties (Generic) – Advanced Tab ... 4319
116.103 BACnet Notification Properties (Generic) – Alarm Settings
Tab ......................................................................................... 4320
116.104 BACnet Notification – Basic Settings Tab .............................. 4322
116.105 BACnet Notification – Presentation Tab ................................. 4323
116.106 BACnet Notification – User Action Tab .................................. 4324
116.107 BACnet Notification – Attachment Tab ................................... 4325
116.108 BACnet Notification – Device Recipient Rules Tab ................ 4326
116.109 BACnet Notification – Device Recipient Rule Dialog Box ...... 4328
116.110 BACnet Alarm Properties – Basic Tab ................................... 4331
116.111 BACnet Alarm Properties – Advanced Tab ............................ 4334
116.112 BACnet Alarm Properties – Alarm Settings Tab ..................... 4335
116.113 BACnet Alarm Properties (Generic) – Basic Tab ................... 4337
116.114 BACnet Alarm Properties (Generic) – Advanced Tab ............ 4340
116.115 BACnet Alarm Properties (Generic) – Alarm Settings Tab ..... 4341
116.116 BACnet Buffer Ready Alarm – Alarm Trigger Tab .................. 4343
116.117 BACnet Change of State Alarm – Alarm Trigger Tab ............. 4345
116.118 BACnet Change of Value Alarm – Alarm Trigger Tab ............ 4347
116.119 BACnet Floating Limit Alarm – Alarm Trigger Tab ................. 4349
116.120 BACnet Out of Range Alarm – Alarm Trigger Tab .................. 4352
116.121 BACnet Calendar Properties – Basic Tab .............................. 4354
116.122 BACnet Calendar Properties – Advanced Tab ...................... 4355
116.123 BACnet Calendar Properties (Generic) – Basic Tab .............. 4356
116.124 BACnet Calendar Properties (Generic) – Advanced Tab ...... 4357
116.125 BACnet Schedule Properties – Basic Tab ............................. 4358
116.126 BACnet Schedule Properties – Advanced Tab ...................... 4361
116.127 BACnet Schedule Properties (Generic) – Basic Tab ............. 4362
116.128 BACnet Schedule Properties (Generic) – Advanced Tab ...... 4365
116.129 Date Range Dialog Box ......................................................... 4366
116.130 Add Reference Dialog Box .................................................... 4367
116.131 Edit Time and Value Dialog Box ............................................. 4368
116.132 BACnet DateTime Value Properties (Generic) – Basic Tab ... 4369
116.133 BACnet DateTime Value Properties (Generic) – Advanced
Tab ........................................................................................ 4371

04-30006-02-en, May 2019 Technical


97
116.134 BACnet DateTime Value Properties (Generic) – Command
Tab ......................................................................................... 4372
116.135 BACnet Integer Value Properties (Generic) – Basic Tab ....... 4374
116.136 BACnet Integer Value Properties (Generic) – Advanced
Tab ........................................................................................ 4376
116.137 BACnet Integer Value Properties (Generic) – Command
Tab ......................................................................................... 4378
116.138 BACnet Large Analog Value Properties (Generic) – Basic
Tab ......................................................................................... 4380
116.139 BACnet Large Analog Value Properties (Generic) – Advanced
Tab ........................................................................................ 4382
116.140 BACnet Large Analog Value Properties (Generic) – Command
Tab ......................................................................................... 4384
116.141 BACnet Positive Integer Value Properties (Generic) – Basic
Tab ......................................................................................... 4386
116.142 BACnet Positive Integer Value Properties (Generic) – Advanced
Tab ........................................................................................ 4388
116.143 BACnet Positive Integer Value Properties (Generic) – Command
Tab ......................................................................................... 4390
116.144 BACnet String Value Properties (Generic) – Basic Tab ......... 4392
116.145 BACnet String Value Properties (Generic) – Advanced Tab .. 4394
116.146 BACnet String Value Properties (Generic) – Command Tab . 4397
116.147 BACnet String Alarm Properties Dialog Box .......................... 4398
116.148 BACnet Prerevision 4 Schedule Properties – Basic Tab ........ 4399
116.149 BACnet Prerevision 4 Schedule Properties – Advanced Tab 4400
116.150 BACnet Prerevision 4 Schedule Properties – Configuration
Tab ......................................................................................... 4401
116.151 BACnet Prerevision 4 Schedule Properties - Weekly
Schedule ................................................................................ 4403
116.152 BACnet Prerevision 4 Schedule Properties - Active Inactive Time
Value Pair ............................................................................... 4404
116.153 Schedule Properties - Boolean Time Value Pair ..................... 4405
116.154 Schedule Properties - Enumerated Time Value Pair .............. 4407
116.155 Schedule Properties - Integer Time Value Pair ...................... 4408
116.156 Schedule Properties - On Off Time Value Pair ....................... 4409
116.157 Schedule Properties - Real Time Value Pair ........................... 4410
116.158 Schedule Properties - Unsigned Time Value Pair .................. 4411
116.159 BACnet Prerevision 4 Schedule Properties - Exception
Event ...................................................................................... 4412
116.160 BACnet Exception Event Wizard – Naming the Object Page . 4413
116.161 BACnet Trend Log Properties – Basic Tab ............................ 4414
116.162 BACnet Trend Log Properties – Advanced Tab ..................... 4417
116.163 BACnet Trend Log Properties (Generic) – Basic Tab ............ 4419
116.164 BACnet Trend Log Properties (Generic) – Advanced Tab .... 4423
116.165 BACnet File Object – Basic Tab ............................................. 4425
116.166 BACnet File Object – Advanced Tab ..................................... 4427
116.167 BACnet File Properties (Generic) – Basic Tab ....................... 4428
116.168 BACnet File Properties (Generic) – Advanced Tab ............... 4430
116.169 BACnet Program Properties (Generic) – Basic Tab ............... 4431

Technical 04-30006-02-en, May 2019


98
116.170 BACnet Program Properties (Generic) – Advanced Tab ....... 4434
116.171 BACnet Loop Properties – Basic Tab .................................... 4435
116.172 BACnet Loop Properties – Advanced Tab ............................. 4438
116.173 BACnet Loop Properties – Alarm Settings Tab ...................... 4441
116.174 BACnet Loop Properties (Generic) – Basic Tab .................... 4443
116.175 BACnet Loop Properties (Generic) – Advanced Tab ............. 4446
116.176 Unresolved Device Properties – Basic Tab ........................... 4448
116.177 Unresolved Device Properties – Advanced Tab .................... 4449
116.178 Unsupported Object Properties – Basic Tab ......................... 4450
116.179 Unsupported Object Properties – Advanced Tab ................. 4451
116.180 Actions Menu – Device Submenu .......................................... 4452
116.181 Actions Menu – Device Communication Control Submenu ... 4455
116.182 Actions Menu – Device Submenu – Restart Submenu ........... 4456
116.183 Actions Menu – Device Submenu – Time Sync Submenu ..... 4457
116.184 Actions Menu – Device Submenu – Communication Submenu
............................................................................................... 4458
116.185 BACnet Associate with Device Dialog Box ............................ 4459
116.186 BACnet Device Communication Dialog Box .......................... 4460
116.187 BACnet Password Dialog Box ............................................... 4461
116.188 Create Object Wizard – BACnet Interface Basic Settings
Page ...................................................................................... 4462
116.189 Create Object Wizard – IP Network Basic Settings Page ...... 4463
116.190 Create Object Wizard – MS/TP Network Basic Settings
Page ...................................................................................... 4464
116.191 Create Object Wizard – BACnet Network Basic Settings
Page ...................................................................................... 4465
116.192 BACnet Create Object Wizard – BACnet Basic Settings
Page ...................................................................................... 4466
116.193 BACnet Create Object (Generic) Wizard – BACnet Basic Settings
Page ...................................................................................... 4467
116.194 BACnet Create Device Wizard – BACnet Basic Settings
Page ...................................................................................... 4468
116.195 Associate Points Dialog Box .................................................. 4469
116.196 Associate Points Options Dialog Box ..................................... 4471
116.197 BACnet Association Tool Dialog Box ..................................... 4472

117 BACnet Troubleshooting ........................................ 4475


117.1 A BACnet Schedule Does Not Change Value or Run at Specified
Time ....................................................................................... 4477
117.1.1 Solution ................................................................................ 4477
117.2 A Copied Object (Generic) Does Not Operate and Shows
Property Errors ....................................................................... 4478
117.2.1 Solution ................................................................................ 4478
117.3 BACnet Point Value Does Not Change .................................. 4479
117.3.1 Solution ................................................................................ 4479
117.4 Default Priority Level Change ................................................ 4480
117.4.1 Solution ................................................................................ 4480
117.5 Unspecified Device Identifier ................................................ 4481
117.5.1 Solution ................................................................................ 4481

04-30006-02-en, May 2019 Technical


99
117.6 Duplicate Device Identifier .................................................... 4482
117.6.1 Solution ................................................................................ 4482
117.7 Routing Loops ....................................................................... 4483
117.7.1 Solutions .............................................................................. 4483
117.8 Broadcast Storms .................................................................. 4484
117.8.1 Solution ................................................................................ 4484
117.9 Force and Unforce Commands Not Supported on Non-
commandable Objects ......................................................... 4485
117.9.1 Solution ................................................................................ 4485
117.10 Identically Named BACnet Alarm and Fault Objects Combined
During Upload ...................................................................... 4486
117.10.1 Solution ................................................................................ 4486

118 b3 BACnet Device Introduction .............................. 4487


118.1 b3 BACnet Device Overview ................................................. 4489
118.1.1 b3 BACnet Device Controllers and Networks ...................... 4489
118.1.2 b3 BACnet Device Communication ..................................... 4489
118.1.3 b3 BACnet Device Models and Program Memory ............... 4489
118.2 b3 BACnet Device Controllers and Networks ........................ 4490
118.2.1 b3 BACnet Device Controllers ............................................ 4490
118.2.2 b3 BACnet Device Networks ............................................... 4490
118.3 b3 BACnet Device Controllers ............................................... 4491
118.4 b3 BACnet Device Networks ................................................. 4492
118.5 Creating a BACnet Interface .................................................. 4495

119 b3 BACnet Device Communication and


Configuration .......................................................... 4497
119.1 b3 BACnet Device Communication ....................................... 4501
119.1.1 Communication Between the SmartX Server and b3 BACnet
Device ................................................................................. 4501
119.1.2 b3 BACnet Device Workflows .............................................. 4501
119.1.3 Programming Language for b3 BACnet Devices ................ 4501
119.1.4 b3 BACnet Device Merge Copied Device Content .............. 4501
119.1.5 b3 BACnet Device Point and Value Configuration ............... 4502
119.1.6 Schedules for b3 BACnet Devices ...................................... 4502
119.1.7 Trend Logs for b3 BACnet Devices ..................................... 4502
119.1.8 Extended Trend Logs for b3 Point and Value Device Logs . 4502
119.1.9 Alarms for b3 BACnet Devices ............................................ 4502
119.2 Communication Between the SmartX Server and b3 BACnet
Device .................................................................................... 4504
119.3 Creating a BACnet MS/TP Network ........................................ 4506
119.4 Configuring the MS/TP Network for b3 Communication ......... 4507
119.5 b3 BACnet Device Workflows ................................................ 4508
119.5.1 Learn b3 BACnet Device Workflow ...................................... 4508
119.5.2 Create b3 BACnet Devices with Factory Settings Workflow 4508
119.5.3 Create Previously-Used b3 BACnet Devices Workflow ....... 4508
119.6 Learn b3 BACnet Device Workflow ........................................ 4509
119.7 Create b3 BACnet Devices with Factory Settings Workflow .. 4511

Technical 04-30006-02-en, May 2019


100
119.8 Create Previously Used b3 BACnet Devices Workflow .......... 4514
119.9 Programming Language for b3 BACnet Devices .................. 4516
119.10 Configuring Script FallThru Program Triggers in a b3 BACnet
Device .................................................................................... 4517
119.11 Creating a b3 Script Program ................................................ 4518
119.12 Creating a b3 Script Function ................................................ 4519
119.13 Creating b3 Script Program Bindings .................................... 4520
119.14 Downloading a b3 Script Program ......................................... 4522
119.15 b3 BACnet Device Merge Copied Device Content ................ 4523
119.16 Merging Copied Device Content in a b3 BACnet Device ...... 4524
119.17 b3 BACnet Device Point and Value Configuration ................. 4525
119.17.1 Analog Point Configuration .................................................. 4525
119.17.2 Multistate Point Configuration .............................................. 4525
119.17.3 Digital Point Configuration ................................................... 4525
119.17.4 Value Object Configuration .................................................. 4526
119.18 Creating a b3 BACnet Device Analog Input Point ................. 4527
119.19 Configuring a b3 BACnet Device Analog Input Point ............ 4528
119.20 Configuring the COV Increment and the Unit for a b3 BACnet
Device Analog Input Point ..................................................... 4531
119.21 Creating a b3 BACnet Device Analog Output Point ............... 4532
119.22 Configuring a b3 BACnet Device Analog Output Point .......... 4533
119.23 Configuring the COV Increment and the Unit for a b3 BACnet
Device Analog Output Point ................................................... 4537
119.24 Configuring the Electrical Scale and the Engineering Scale for a
b3 BACnet Device Analog Output Point ................................ 4538
119.25 Creating a b3 BACnet Device Multistate Input Point ............. 4539
119.26 Configuring a b3 BACnet Device Multistate Input Point ........ 4540
119.27 Creating a b3 BACnet Device Multistate Output Point ........... 4543
119.28 Configuring a b3 BACnet Device Multistate Output Point ...... 4544
119.29 Creating a b3 BACnet Device Multistate Pulsed Output
Point ....................................................................................... 4548
119.30 Configuring a b3 BACnet Device Multistate Pulsed Output
Point ....................................................................................... 4549
119.31 Creating a b3 BACnet Device Digital Input Point ................... 4553
119.32 Configuring a b3 BACnet Device Digital Input Point .............. 4554
119.33 Creating a b3 BACnet Device Digital Output Point ................ 4558
119.34 Configuring a b3 BACnet Device Digital Output Point ........... 4559
119.35 Creating a b3 BACnet Device Digital Pulsed Output Point .... 4563
119.36 Configuring a b3 BACnet Device Digital Pulsed Output
Point ....................................................................................... 4564
119.37 Creating a b3 BACnet Device Analog Value .......................... 4568
119.38 Configuring a b3 BACnet Device Analog Value ..................... 4569
119.39 Configuring the COV Increment and the Unit for a b3 BACnet
Device Analog Value ............................................................. 4572
119.40 Creating a b3 BACnet Device Digital Value ........................... 4573
119.41 Configuring a b3 BACnet Device Digital Value ...................... 4574
119.42 Creating a b3 BACnet Device DateTime Value ...................... 4578
119.43 Configuring a b3 BACnet Device DateTime Value ................. 4579

04-30006-02-en, May 2019 Technical


101
119.44 Creating a b3 BACnet Device String Value ............................ 4581
119.45 Configuring a b3 BACnet Device String Value ....................... 4582
119.46 Creating a b3 BACnet Device Multistate Value ...................... 4584
119.47 Configuring a b3 BACnet Device Multistate Value ................. 4585
119.48 Renaming b3 BACnet Device Points or Values ...................... 4588
119.49 Learning b3 BACnet Devices ................................................ 4589
119.50 Viewing Attributes and Objects Associated with the b3 BACnet
Device .................................................................................... 4590
119.51 Downloading to a b3 BACnet Device .................................... 4591
119.52 Commissioning a b3 BACnet Device ..................................... 4592
119.53 Resetting a b3 BACnet Device .............................................. 4593
119.54 Schedules for b3 BACnet Devices ......................................... 4594
119.55 Trend Logs for b3 BACnet Devices ....................................... 4595
119.56 Extended Trend Logs for b3 Point and Value Device Logs ... 4596
119.57 Creating Extended Trend Logs to Monitor a b3 Point or Value
Device Log ............................................................................. 4598
119.58 Alarms for b3 BACnet Devices .............................................. 4600
119.59 Creating a b3 BACnet Device Alarm ..................................... 4601
119.60 Creating a b3 BACnet Device Notification ............................. 4602
119.61 Configuring b3 BACnet Devices after an Import .................... 4603

120 b3 BACnet Device Models and Memory ................ 4605


120.1 b3 BACnet Device Models and Program Memory ................. 4607
120.1.1 b3 BACnet Device Models ................................................... 4607
120.1.2 b3 BACnet Device Program Memory ................................... 4607
120.1.3 b3 BACnet Device Restart Modes ....................................... 4607
120.1.4 b3 BACnet Device Supported Object Types ....................... 4607
120.1.5 b3 BACnet Device Device Logs .......................................... 4607
120.1.6 b3 BACnet Device Object Names ....................................... 4608
120.2 b3 BACnet Device Models ..................................................... 4609
120.3 b3 BACnet Device Memory ................................................... 4611
120.3.1 Application Memory ............................................................. 4611
120.3.2 Back Up Objects to Flash Memory ...................................... 4611
120.3.3 Flash Memory Limitations .................................................... 4612
120.4 b3 BACnet Device Restart Modes ......................................... 4614
120.5 b3 BACnet Device Supported Object Types ......................... 4615
120.6 b3 BACnet Device Logs ........................................................ 4617
120.7 b3 BACnet Device Object Names ......................................... 4618
120.8 Setting Up and Viewing b3 BACnet Device Logs .................. 4619
120.9 Creating a b3 BACnet Device ................................................ 4620
120.10 Configuring a Factory-Set b3 BACnet Device after a Deploy 4623
120.11 Removing a b3 BACnet Device from the Software
Environment ........................................................................... 4625
120.12 Replacing a b3 BACnet Device ............................................. 4626
120.13 Deleting Objects from a b3 BACnet Device and SmartX
Server .................................................................................... 4627
120.14 Connecting Expansion Modules and Configuring the LCD
Display ................................................................................... 4628

Technical 04-30006-02-en, May 2019


102
120.15 Backing Up a b3 BACnet Device to Flash Memory ............... 4629
120.16 Selecting a Restart Mode ....................................................... 4630
120.17 Updating Firmware in a b3 BACnet Device ........................... 4631

121 b3 BACnet Device User Interface ........................... 4633


121.1 b3 BACnet Device System Tree Icons ................................... 4637
121.2 Actions Menu – Device Submenu .......................................... 4638
121.3 b3 BACnet Device Properties – Basic Tab ............................ 4641
121.4 b3 BACnet Device Properties – Advanced Tab ..................... 4643
121.5 Update b3 Controller Firmware Dialog Box ........................... 4646
121.6 New b3 BACnet Device Creation Wizard – Basic Settings
Page ...................................................................................... 4647
121.7 New b3 BACnet Device Object Creation Wizard – Basic Settings
Page ...................................................................................... 4649
121.8 New BACnet Analog Input Point (Continuum) Creation Wizard –
Continuum Basic Settings Page ............................................ 4651
121.9 New BACnet Analog Output Point (Continuum) Creation Wizard –
Continuum Basic Settings Page ............................................ 4652
121.10 New b3 BACnet Device Object Creation Wizard – Continuum
Basic Settings Page ............................................................... 4653
121.11 b3 BACnet Device Analog Input Properties – Basic Tab ....... 4654
121.12 b3 BACnet Device Analog Input Properties – Advanced
Tab ......................................................................................... 4656
121.13 b3 BACnet Device Analog Output Properties – Basic Tab .... 4658
121.14 b3 BACnet Device Analog Output Properties – Advanced
Tab ......................................................................................... 4661
121.15 b3 BACnet Device Analog Output Properties – Command
Tab ......................................................................................... 4663
121.16 b3 BACnet Device Multistate Input Properties – Basic Tab ... 4665
121.17 b3 BACnet Device Multistate Input Properties – Advanced
Tab ......................................................................................... 4667
121.18 b3 BACnet Device Multistate Output Properties – Basic Tab 4669
121.19 b3 BACnet Device Multistate Output Properties – Advanced
Tab ......................................................................................... 4672
121.20 b3 BACnet Device Multistate Output Properties – Command
Tab ......................................................................................... 4674
121.21 b3 BACnet Device Multistate Pulsed Output Properties – Basic
Tab ......................................................................................... 4676
121.22 b3 BACnet Device Multistate Pulsed Output Properties –
Advanced Tab ....................................................................... 4678
121.23 b3 BACnet Device Multistate Pulsed Output Properties –
Command Tab ....................................................................... 4680
121.24 b3 BACnet Device Digital Input Properties – Basic Tab ........ 4682
121.25 b3 BACnet Device Digital Input Properties – Advanced Tab . 4685
121.26 b3 BACnet Device Digital Output Properties – Basic Tab ..... 4687
121.27 b3 BACnet Device Digital Output Properties – Advanced
Tab ......................................................................................... 4690
121.28 b3 BACnet Device Digital Output Properties – Command
Tab ......................................................................................... 4692

04-30006-02-en, May 2019 Technical


103
121.29 b3 BACnet Device Digital Pulsed Output Properties – Basic
Tab ......................................................................................... 4694
121.30 b3 BACnet Device Digital Pulsed Output Properties – Advanced
Tab ......................................................................................... 4697
121.31 b3 BACnet Device Digital Pulsed Output Properties – Command
Tab ......................................................................................... 4699
121.32 b3 BACnet Device Analog Value Properties – Basic Tab ...... 4701
121.33 b3 BACnet Device Analog Value Properties – Advanced
Tab ......................................................................................... 4704
121.34 b3 BACnet Device Analog Value Properties – Command
Tab ......................................................................................... 4706
121.35 b3 BACnet Device Digital Value Properties – Basic Tab ....... 4708
121.36 b3 BACnet Device Digital Value Properties – Advanced Tab 4711
121.37 b3 BACnet Device Digital Value Properties – Command Tab 4713
121.38 b3 BACnet Device DateTime Value Properties – Basic Tab .. 4715
121.39 b3 BACnet Device DateTime Value Properties – Advanced
Tab ......................................................................................... 4717
121.40 b3 BACnet Device String Value Properties – Basic Tab ........ 4719
121.41 b3 BACnet Device String Value Properties – Advanced Tab . 4721
121.42 b3 BACnet Device Multistate Value Properties – Basic Tab .. 4723
121.43 b3 BACnet Device Multistate Value Properties – Advanced
Tab ......................................................................................... 4725
121.44 b3 BACnet Device Multistate Value Properties – Command
Tab ......................................................................................... 4727
121.45 b3 Script Program Properties – Basic Tab ............................. 4729
121.46 b3 Script Program Properties – Advanced Tab ..................... 4731
121.47 b3 Script Program Properties – Inputs Tab ............................ 4732
121.48 b3 Script Program Properties – Outputs Tab ......................... 4733
121.49 b3 Script Program Properties – Functions Tab ...................... 4734
121.50 b3 Script Function Properties – Basic Tab ............................. 4735
121.51 b3 Script Function Properties – Advanced Tab ..................... 4736
121.52 b3 Script Function Properties – Inputs Tab ............................ 4737
121.53 b3 Script Function Properties – Outputs Tab ......................... 4738
121.54 b3 Script Function Properties – Functions Tab ...................... 4739

122 b3 BACnet/Infinet Device Troubleshooting ............ 4741


122.1 Backup Needed Message Displays ...................................... 4743
122.1.1 Solution ................................................................................ 4743

123 MNB BACnet Devices ............................................. 4745


123.1 MNB BACnet Device Overview ............................................. 4747
123.1.1 MNB BACnet Devices .......................................................... 4747
123.1.2 Hosted I/A Series BACnet Devices and Properties ............. 4747
123.1.3 MNB BACnet Engineering ................................................... 4747
123.1.4 MNB Flow Balance Calibration Information ......................... 4748
123.1.5 MNB COV Client Data .......................................................... 4748
123.1.6 MNB BACnet Device Functions ........................................... 4748
123.2 MNB BACnet Device Functions ............................................. 4749
123.2.1 Alarms for MNB BACnet Devices ........................................ 4749

Technical 04-30006-02-en, May 2019


104
123.2.2 Trend logs for MNB BACnet Devices ................................... 4749
123.2.3 Schedules for MNB BACnet Devices ................................... 4749
123.3 Creating an MNB BACnet Device .......................................... 4750
123.4 Downloading Configuration Properties to an MNB BACnet
Device .................................................................................... 4751
123.5 MNB Flow Balance Calibration Data ...................................... 4752
123.5.1 MNB Flow Balance Calibration Data .................................... 4752
123.5.2 MNB Flow Balance Calibration Data Backups ..................... 4753
123.5.3 MNB Flow Balance Calibration Data Restore ...................... 4753
123.5.4 MNB Flow Balance Reports ................................................. 4753
123.6 Backing Up MNB Flow Balance Calibration Data .................. 4754
123.7 Backing Up MNB Flow Balance Calibration Data from Multiple
Controllers ............................................................................. 4755
123.8 Restoring MNB Flow Balance Calibration Data ..................... 4756
123.9 Viewing MNB VAV Flow Balance Data Backup and Restore
Times ..................................................................................... 4757
123.10 MNB COV Client Data ............................................................ 4758
123.10.1 MNB COV Client Objects ..................................................... 4758
123.10.2 MNB COV Client Object Subscription Status ....................... 4758
123.10.3 Backup of MNB COV Client Data ......................................... 4759
123.10.4 MNB COV Client Data Restore ............................................ 4759
123.10.5 COV Client Objects Configuration ....................................... 4759
123.10.6 Removal of COV Client Objects ........................................... 4759
123.11 MNB COV Client Object Subscription Status ......................... 4760
123.12 Backup of MNB COV Client Data ........................................... 4761
123.13 Backing Up MNB COV Client Data ........................................ 4762
123.14 Backing Up MNB COV Client Data from Multiple Controllers 4763
123.15 MNB COV Client Data Restore ............................................... 4764
123.16 Restoring MNB COV Client Data ............................................ 4765
123.17 Delete MNB COV Client Object in database Workflow .......... 4766
123.18 Removing an MNB COV Client Object ................................... 4768

124 MNB BACnet Applications ...................................... 4769


124.1 MNL and MNB Applications .................................................. 4771
124.1.1 MNL Applications ................................................................ 4771
124.1.2 MNB Applications ................................................................ 4772
124.1.3 Changes to Applications ..................................................... 4772
124.1.4 Application Status ................................................................ 4772
124.1.5 WorkPlace Tech Overview ................................................... 4772
124.1.6 Import and Export of MNL or MNB Applications .................. 4772
124.1.7 Download of MNB BACnet Application Types ..................... 4773
124.2 MNB Applications .................................................................. 4774
124.3 Changes to Applications ....................................................... 4775
124.3.1 MNL-800 Applications ......................................................... 4775
124.3.2 MNB Applications ................................................................ 4775
124.4 Application Status .................................................................. 4777
124.5 Creating an MNL or MNB Application Type ........................... 4778
124.6 Viewing an MNL or MNB Application Type ............................ 4779

04-30006-02-en, May 2019 Technical


105
124.7 Import and Export of MNL or MNB Applications .................... 4780
124.7.1 Import and Export Using WorkStation .................................. 4780
124.7.2 Import and Export Using WorkPlace Tech Editor ................ 4780
124.8 Importing a Single MNL or MNB Application Type ................ 4781
124.9 Importing Multiple MNL or MNB Application Types ............... 4783
124.10 Editing an MNL or MNB Application Type ............................. 4785
124.11 Editing an MNL or MNB Application Type in a Device ........... 4786
124.12 Monitoring an MNB BACnet Application ................................ 4787
124.13 Removing an MNL or MNB Application Type ........................ 4788
124.14 Assigning an MNL or MNB Application ................................. 4789
124.15 Download of MNB BACnet Application Types ....................... 4790
124.16 Downloading an MNB BACnet Application Type ................... 4791
124.17 Downloading MNB BACnet Applications to Multiple
Controllers ............................................................................. 4792

125 MNB BACnet Troubleshooting ................................ 4793


125.1 Name Conflicts During MNL or MNB Solution Import ............ 4795
125.1.1 Solution ................................................................................ 4795
125.2 Command Inactive for MNB BACnet Device ......................... 4796
125.2.1 Solutions .............................................................................. 4796
125.3 Application Download to MNB BACnet Device Fails due to Wrong
Device Type ........................................................................... 4797
125.3.1 Solutions .............................................................................. 4797
125.4 MNB BACnet Device Fails to Restart after Application
Download ............................................................................... 4798
125.4.1 Solutions .............................................................................. 4798
125.5 Application Download to MNB BACnet Device Fails due to
Download in Progress ............................................................ 4799
125.5.1 Solution ................................................................................ 4799
125.6 MNB VAV Flow Balance Backup Fails Due to Flow Balance in
Progress ................................................................................ 4800
125.6.1 Solution ................................................................................ 4800
125.7 MNB VAV Flow Balance Backup Fails Due to Controller Not Flow
Balanced ............................................................................... 4801
125.7.1 Solution ................................................................................ 4801
125.8 MNB VAV Flow Balance Restore Fails to Complete ............... 4802
125.8.1 Solution ................................................................................ 4802
125.9 MNB VAV Flow Balance Restore Fails Due to Flow Balance in
Progress ................................................................................ 4803
125.9.1 Solution ................................................................................ 4803

126 MNB BACnet Engineering ...................................... 4805


126.1 MNB BACnet Engineering ..................................................... 4807
126.1.1 BACnet Interface ................................................................. 4807
126.1.2 Create and then Discover MNB BACnet Device Workflow .. 4807
126.1.3 Import and then Discover MNB BACnet Device Solution
Workflow .............................................................................. 4808
126.1.4 MNL and MNB Applications ................................................ 4808
126.2 WorkPlace Tech Overview ..................................................... 4809

Technical 04-30006-02-en, May 2019


106
126.2.1 WorkPlace Tech Editor ........................................................ 4809
126.2.2 MNL LonWorks Objects ....................................................... 4809
126.2.3 MNB BACnet Objects .......................................................... 4809
126.2.4 WorkPlace Tech Monitor ...................................................... 4809
126.3 WorkPlace Tech Editor .......................................................... 4811
126.3.1 Hardware Configuration ....................................................... 4812
126.3.2 Applications ......................................................................... 4812
126.3.3 I/O Control Objects and Tags .............................................. 4812
126.3.4 Application Import ............................................................... 4812
126.3.5 Application Compile ............................................................ 4812
126.3.6 Application Export ............................................................... 4813
126.3.7 Application Monitoring ......................................................... 4813
126.4 Create and then Discover MNB BACnet Device Workflow .... 4814
126.4.1 Hardware ............................................................................. 4814
126.4.2 Software ............................................................................... 4814
126.5 Import and then Discover MNB BACnet Device Solution
Workflow ................................................................................ 4818
126.5.1 Hardware ............................................................................. 4818
126.5.2 Software ............................................................................... 4818
126.5.3 MNB Device Transition and/or Final Configuration .............. 4820
126.6 Import and Export of MNL or MNB Solutions ......................... 4823
126.6.1 Exporting an MNL or MNB Solution ..................................... 4823
126.6.2 Importing an MNL or MNB Solution ..................................... 4823

127 MNB BACnet User Interface ................................... 4825


127.1 MNB BACnet System Tree Icons ........................................... 4829
127.2 Application Folder of an I/A Series MNB BACnet Device ...... 4830
127.3 MNB Application Properties – Basic Tab ............................... 4831
127.4 Actions Menu – Device Submenu .......................................... 4832
127.5 I/A Series MNB BACnet Device Properties – Basic Tab ........ 4835
127.6 I/A Series MNB BACnet Device Properties – Advanced Tab . 4836
127.7 I/A Series MNB-70 BACnet Device Properties – Basic Tab ... 4839
127.8 I/A Series MNB-70 BACnet Device Properties – Advanced
Tab ......................................................................................... 4840
127.9 I/A Series MNB-300 BACnet Device Properties – Basic Tab . 4843
127.10 I/A Series MNB-300 BACnet Device Properties – Advanced
Tab ......................................................................................... 4844
127.11 I/A Series MNB-V1 BACnet Device Properties – Basic Tab ... 4847
127.12 I/A Series MNB-V1 BACnet Device Properties – Advanced
Tab ......................................................................................... 4848
127.13 I/A Series MNB-V1 BACnet Device Properties – Flow Balance
Tab ......................................................................................... 4851
127.14 I/A Series MNB-V2 BACnet Device Properties – Basic Tab ... 4853
127.15 I/A Series MNB-V2 BACnet Device Properties – Advanced
Tab ......................................................................................... 4854
127.16 I/A Series MNB-V2 BACnet Device Properties – Flow Balance
Tab ......................................................................................... 4857
127.17 I/A Series MNB-1000 BACnet Device Properties – Basic
Tab ......................................................................................... 4859

04-30006-02-en, May 2019 Technical


107
127.18 I/A Series MNB-1000 BACnet Device Properties – Advanced
Tab ......................................................................................... 4860
127.19 BACnet Analog Input (I/A) Properties – Basic Tab ................ 4863
127.20 BACnet Analog Input (I/A) Properties – Advanced Tab ......... 4865
127.21 BACnet Analog Output (I/A) Properties – Basic Tab .............. 4866
127.22 BACnet Analog Output (I/A) Properties – Advanced Tab ...... 4868
127.23 BACnet Analog Output (I/A) Properties – Command Tab ...... 4869
127.24 BACnet Digital Input (I/A) Properties – Basic Tab .................. 4871
127.25 BACnet Digital Input (I/A) Properties – Advanced Tab .......... 4873
127.26 BACnet Digital Output (I/A) Properties – Basic Tab ............... 4874
127.27 BACnet Digital Output (I/A) Properties – Advanced Tab ....... 4876
127.28 BACnet Digital Output (I/A) Properties – Command Tab ....... 4877
127.29 BACnet Multistate Output (I/A) Properties – Basic Tab .......... 4879
127.30 BACnet Multistate Output (I/A) Properties – Advanced Tab .. 4881
127.31 BACnet Multistate Output (I/A) Properties – Command Tab .. 4882
127.32 BACnet Analog Value (I/A) Properties – Basic Tab ................ 4884
127.33 BACnet Analog Value (I/A) Properties – Advanced Tab ........ 4885
127.34 BACnet Analog Value (I/A Analog COV Client) Properties – Basic
Tab ......................................................................................... 4886
127.35 BACnet Analog Value (I/A Analog COV Client) Properties –
Advanced Tab ....................................................................... 4888
127.36 BACnet Analog Value (I/A Analog Monitor) – Basic Tab ........ 4890
127.37 BACnet Analog Value (I/A Analog Monitor) Properties – Advanced
Tab ......................................................................................... 4891
127.38 BACnet Analog Value (I/A Analog Setpoint Priority) Properties –
Basic Tab ............................................................................... 4892
127.39 BACnet Analog Value (I/A Analog Setpoint Priority) Properties –
Advanced Tab ....................................................................... 4894
127.40 BACnet Analog Value (I/A Analog Setpoint Priority) Properties –
Command Tab ....................................................................... 4895
127.41 BACnet Analog Value (I/A Analog Setpoint) Properties – Basic
Tab ......................................................................................... 4897
127.42 BACnet Analog Value (I/A Analog Setpoint) Properties –
Advanced Tab ....................................................................... 4898
127.43 BACnet Digital Value (I/A) Properties – Basic Tab ................. 4899
127.44 BACnet Digital Value (I/A) Properties – Advanced Tab ......... 4901
127.45 BACnet Digital Value (I/A Binary COV Client) Properties – Basic
Tab ......................................................................................... 4902
127.46 BACnet Digital Value (I/A Binary COV Client) Properties –
Advanced Tab ....................................................................... 4904
127.47 BACnet Digital Value (I/A Binary Monitor) Properties – Basic
Tab ......................................................................................... 4906
127.48 BACnet Digital Value (I/A Binary Monitor) Properties – Advanced
Tab ......................................................................................... 4908
127.49 BACnet Digital Value (I/A Binary Setpoint Priority) Properties –
Basic Tab ............................................................................... 4909
127.50 BACnet Digital Value (I/A Binary Setpoint Priority) Properties –
Advanced Tab ....................................................................... 4911
127.51 BACnet Digital Value (I/A Binary Setpoint Priority) Properties –
Command Tab ....................................................................... 4912

Technical 04-30006-02-en, May 2019


108
127.52 BACnet Digital Value (I/A Binary Setpoint) Properties – Basic
Tab ......................................................................................... 4914
127.53 BACnet Digital Value (I/A Binary Setpoint) Properties – Advanced
Tab ......................................................................................... 4916
127.54 BACnet Multistate Value (I/A) Properties – Basic Tab ............ 4917
127.55 BACnet Multistate Value (I/A) Properties – Advanced Tab .... 4918
127.56 Applications View .................................................................. 4919

128 LonWorks Introduction ............................................ 4921


128.1 LonWorks Overview ............................................................... 4923
128.1.1 LonWorks Engineering ......................................................... 4923
128.1.2 LonWorks Operating ............................................................ 4923
128.1.3 LonWorks Maintenance ....................................................... 4923
128.2 LonWorks Engineering .......................................................... 4924
128.2.1 LonWorks Interfaces ............................................................ 4925
128.2.2 LonWorks Devices ............................................................... 4925
128.2.3 LonWorks Local Node ......................................................... 4925
128.2.4 LonWorks Bindings .............................................................. 4925
128.3 LonWorks Interfaces .............................................................. 4926
128.3.1 LonWorks in a SmartX server ............................................... 4927
128.3.2 LonWorks in the Enterprise Server ....................................... 4927
128.3.3 Externally Managed LonWorks Network .............................. 4927
128.4 LonWorks in SmartX Servers .................................................. 4928
128.5 LonWorks in the Enterprise Server ......................................... 4929
128.5.1 LonWorks NIC709-PCI Interface .......................................... 4929
128.5.2 LonWorks NIC709-USB Interface ........................................ 4930
128.5.3 LonWorks NIC709-IP Interface ............................................ 4930
128.5.4 LonWorks NIC852 Interface ................................................. 4930
128.6 LonWorks NIC709-USB Interface .......................................... 4931
128.7 LonWorks NIC709-PCI Interface ............................................ 4932
128.8 LonWorks NIC709-IP Interface .............................................. 4933
128.9 LonWorks NIC852 Interface ................................................... 4934
128.9.1 L-IP Router Setup ................................................................. 4935
128.10 L-IP Router Setup ................................................................... 4936
128.10.1 Step 1: PC Setup .................................................................. 4936
128.10.2 Step 2: L-IP Device Configuration ........................................ 4938
128.10.3 Step 3: Configuration Server Setup ..................................... 4939
128.10.4 Step 4: Enterprise Server Setup ........................................... 4941
128.10.5 Step 5: Final Test ................................................................. 4943
128.11 Externally Managed LonWorks Network ................................ 4944
128.12 Creating a LonWorks Interface .............................................. 4946
128.13 Discovering a LonWorks Interface ......................................... 4947
128.14 Configuring a LonWorks Interface ......................................... 4948
128.15 Creating a LonWorks Network ............................................... 4950
128.16 Configuring a LonWorks Network .......................................... 4951
128.17 Creating an Externally Managed LonWorks Network ............ 4954
128.18 Changing the Domain ID for a LonWorks Network ................ 4955

04-30006-02-en, May 2019 Technical


109
129 LonWorks Devices .................................................. 4957
129.1 LonWorks Devices ................................................................. 4959
129.1.1 LonWorks Device Templates ............................................... 4959
129.1.2 Device Resource Files ......................................................... 4959
129.1.3 LonWorks Device Workflow ................................................. 4959
129.1.4 Network Variables and Configuration Parameters ............... 4959
129.1.5 LonWorks Commission and Decommission ........................ 4960
129.1.6 LonWorks Application Upgrade .......................................... 4960
129.1.7 LNS Plugins ......................................................................... 4960
129.1.8 Resource Manager .............................................................. 4960
129.2 Creating a LonWorks Device ................................................. 4961
129.3 Configuring a LonWorks Device ........................................... 4962
129.4 LonWorks Commission and Decommission .......................... 4964
129.4.1 Commission ......................................................................... 4964
129.4.2 Decommission ..................................................................... 4964
129.5 Discovering a LonWorks Device ............................................ 4965
129.6 Automatically Discovering a LonWorks Device .................... 4966
129.7 Commissioning a LonWorks Device ...................................... 4967
129.8 Decommissioning a LonWorks Device .................................. 4968
129.9 Downloading the LonWorks Device Configuration ............... 4969
129.10 Uploading the LonWorks Device Configuration .................... 4970
129.11 LonWorks Application Upgrade ............................................. 4971
129.12 Upgrading the Device Application ........................................ 4972
129.13 LonWorks Device Templates ................................................. 4973
129.13.1 Import XIF Files .................................................................... 4973
129.13.2 Upload XIF File Workflow ..................................................... 4974
129.14 Importing a Device Template ................................................. 4975
129.15 Device Resource Files ........................................................... 4976
129.16 Importing Device Resource Files ........................................... 4977
129.17 Resource Manager ................................................................ 4978
129.18 Importing a Device Template using Resource Manager ....... 4979
129.19 Deleting a Device Template using Resource Manager ......... 4980
129.20 Importing a Device Resource using Resource Manager ....... 4981
129.21 LonWorks Device Workflows ................................................. 4982
129.21.1 Create and then Discover LonWorks Device Workflow ....... 4982
129.21.2 Discover LonWorks Device Workflow .................................. 4982
129.21.3 Create LonWorks Device Workflow ...................................... 4982
129.22 Create and then Discover LonWorks Device Workflow .......... 4983
129.23 Discover LonWorks Device Workflow .................................... 4985
129.24 Create LonWorks Device Workflow ........................................ 4987
129.25 Network Variables and Configuration Parameters ................. 4991
129.25.1 Network Variables ................................................................ 4991
129.25.2 Configuration Parameters .................................................... 4991
129.25.3 Variable Members and Structured Variables ....................... 4992
129.25.4 NVTs and CPTs .................................................................... 4992
129.25.5 Network Variable and Configuration Parameter Values ....... 4992

Technical 04-30006-02-en, May 2019


110
129.25.6 Update Monitor .................................................................... 4992
129.25.7 Propagation Trigger ............................................................. 4992
129.26 Variable Members and Structured Variables ......................... 4993
129.27 Network Variable and Configuration Parameter Values ......... 4994
129.28 Configuring a Network Variable ............................................. 4995
129.29 Configuring the Value for a Network Variable Member .......... 4997
129.30 Configuring a Configuration Property .................................... 4998
129.31 LNS Plug-ins .......................................................................... 4999
129.32 Registering LNS Plug-ins ....................................................... 5001
129.33 Unregistering LNS Plug-ins ................................................... 5002
129.34 Configuring Network Variables and Configuration Parameters
using LNS Plug-in .................................................................. 5003
129.35 Importing a Device Template in LNS ..................................... 5004
129.36 Winking a Device ................................................................... 5005
129.37 Adding Missing XIF and DRF Files ........................................ 5006
129.38 Upload a XIF File Workflow .................................................... 5007
129.39 Uploading a XIF File from a LonWorks Device ....................... 5008

130 LonWorks Local Node ............................................ 5009


130.1 LonWorks Local Node ........................................................... 5011
130.1.1 LonWorks Commission and Decommission ........................ 5012
130.1.2 LonWorks Functional Block ................................................. 5012
130.1.3 Network Variables and Configuration Parameters ............... 5012
130.2 Creating a Local Node ........................................................... 5013
130.3 Configuring a Local Node ..................................................... 5014
130.4 LonWorks Commission and Decommission .......................... 5015
130.4.1 Commission ......................................................................... 5015
130.4.2 Decommission ..................................................................... 5015
130.5 Commissioning a Local Node ................................................ 5016
130.6 Decommissioning a Local Node ............................................ 5017
130.7 LonWorks Functional Block ................................................... 5018
130.8 Creating a Functional Block ................................................... 5019
130.9 Network Variables and Configuration Parameters ................. 5020
130.9.1 Network Variables ................................................................ 5020
130.9.2 Configuration Parameters .................................................... 5020
130.9.3 Variable Members and Structured Variables ....................... 5021
130.9.4 NVTs and CPTs .................................................................... 5021
130.9.5 Network Variable and Configuration Parameter Values ....... 5021
130.9.6 Update Monitor .................................................................... 5021
130.9.7 Propagation Trigger ............................................................. 5021
130.10 Update Monitor ...................................................................... 5022
130.11 Propagation Trigger ............................................................... 5023
130.12 Creating Network Variables Automatically ............................. 5024
130.13 Creating an Input Network Variable ....................................... 5025
130.14 Creating an Output Network Variable .................................... 5026
130.15 Configuring a Network Variable ............................................. 5027
130.16 Configuring the Value for a Network Variable Member .......... 5029

04-30006-02-en, May 2019 Technical


111
130.17 Creating an Update Monitor .................................................. 5030
130.18 Creating a Propagation Trigger ............................................. 5031
130.19 Configuring an Update Monitor ............................................. 5032
130.20 Configuring a Propagation Trigger ........................................ 5033

131 LonWorks Bindings ................................................. 5035


131.1 LonWorks Bindings ............................................................... 5037
131.1.1 LonWorks Bindings in WorkStation ...................................... 5037
131.1.2 Bindable objects in LonWorks ............................................. 5038
131.1.3 LonWorks Binding Profiles ................................................... 5038
131.1.4 LonWorks Binding Types ..................................................... 5038
131.1.5 LonWorks Selectors and Bindings ....................................... 5038
131.2 LonWorks Bindings in WorkStation ........................................ 5039
131.3 LonWorks Binding Profiles .................................................... 5040
131.4 LonWorks Binding Types ....................................................... 5042
131.4.1 Hubs and Targets in Bindings ............................................. 5042
131.4.2 Point-to-point Bindings ........................................................ 5042
131.4.3 Turnaround Bindings ........................................................... 5043
131.4.4 Fan-out Bindings .................................................................. 5043
131.4.5 Fan-in Bindings .................................................................... 5044
131.5 Bindable Objects in LonWorks .............................................. 5045
131.6 LonWorks Selectors and Bindings ......................................... 5046
131.7 Changing the Default Point-to-Point Binding Profile .............. 5051
131.8 Creating a LonWorks Binding ................................................ 5052
131.9 Replacing a Hub in a LonWorks Binding ............................... 5053

132 LonWorks Maintenance and Operating .................. 5055


132.1 LonWorks Maintenance ......................................................... 5057
132.1.1 LonWorks Device Replacement .......................................... 5057
132.1.2 LonWorks Network Analysis ................................................ 5057
132.1.3 LonWorks Device Diagnostics ............................................. 5057
132.1.4 Delete Obsolete Lon Objects ............................................... 5057
132.2 LonWorks Device Replacement ............................................. 5058
132.3 Replacing an Online LonWorks Device ................................. 5059
132.4 Replacing an Offline LonWorks Device ................................. 5060
132.5 LonWorks Network Analysis .................................................. 5061
132.5.1 LOYTEC Protocol Analyzer (LPA) ........................................ 5061
132.5.2 LPA in the EcoStruxure BMS ................................................ 5062
132.5.3 LPA Analysis Overview ....................................................... 5063
132.6 LonWorks Device Diagnostics ............................................... 5065
132.7 Viewing Diagnostic Data ........................................................ 5066
132.8 Clearing Diagnostic Data ....................................................... 5067
132.9 Rebinding a LonWorks Network ............................................ 5068
132.10 Detecting Subnet/Node Conflicts .......................................... 5069
132.11 LonWorks Operating .............................................................. 5070
132.11.1 LonWorks Offline Alarms ..................................................... 5070
132.12 LonWorks Offline Alarms ........................................................ 5071

Technical 04-30006-02-en, May 2019


112
133 LonWorks User Interface ........................................ 5073
133.1 LonWorks System Tree Icons ................................................ 5077
133.2 Actions Menu – LonWorks Submenu ..................................... 5079
133.3 Devices Context Menu ........................................................... 5080
133.4 LonWorks Interface Properties – Basic Tab ........................... 5081
133.5 LonWorks Interface Properties – Advanced Tab ................... 5082
133.6 LonWorks Network Properties – Basic Tab ............................ 5084
133.7 LonWorks Network Properties – Advanced Tab .................... 5085
133.8 Local Node Properties – Basic Tab ....................................... 5088
133.9 Local Node Properties – Offline Detection Tab ...................... 5090
133.10 Local Node Properties – Diagnostics Tab ............................. 5091
133.11 LonWorks Device Properties – Basic Tab .............................. 5094
133.12 LonWorks Device Properties – Offline Detection Tab ............ 5096
133.13 LonWorks Device Properties – Diagnostics Tab .................... 5098
133.14 Update Monitor – Basic Tab .................................................. 5101
133.15 Propagation Trigger – Basic Tab ........................................... 5102
133.16 Device Tables Properties – Basic Tab ................................... 5103
133.17 Device Tables Properties – Address Table Tab ..................... 5104
133.18 Device Tables Properties – Domain Table Tab ...................... 5106
133.19 Device Tables Properties – Selector Table Tab ..................... 5108
133.20 Device Tables Properties – Alias Table Tab .......................... 5110
133.21 Create Network Variable Wizard – Define Network Variable
Page ...................................................................................... 5112
133.22 Create Network Variable Wizard – Input Variable Parameters
Page ...................................................................................... 5113
133.23 Create Network Variable Wizard – Output Variable Parameters
Page ...................................................................................... 5114
133.24 Functional Block Properties ................................................... 5115
133.25 Configuration Parameters and Network Variable Properties –
Basic Tab ............................................................................... 5116
133.26 Configuration Parameters and Network Variable Properties –
Variable Instance Settings Tab .............................................. 5118
133.27 Configuration Parameters and Network Variable Properties –
Extended Settings Tab ........................................................... 5120
133.28 Variable Member Properties .................................................. 5123
133.29 Import Resource Files Wizard – Select Resource Kit Directory
Page ...................................................................................... 5124
133.30 Import Resource Files Wizard – Importing DRF Kit Page ....... 5125
133.31 Import Resource Files Wizard – Committing the DRF Kit
Page ...................................................................................... 5126
133.32 Resource Manager – Device Resources Tab ........................ 5127
133.33 Import Device Template Wizard – Import Device Template
Page ...................................................................................... 5128
133.34 Import Device Template Wizard – Device Template Dialog
Box ......................................................................................... 5129
133.35 Import Device Template Wizard – Importing Device Template
Page ...................................................................................... 5130
133.36 Resource Manager – Device Templates Tab ......................... 5131
133.37 Neuron ID and Commission Settings Page ........................... 5132

04-30006-02-en, May 2019 Technical


113
133.38 Lon Folder Properties ............................................................. 5134
133.39 Add Missing Files Wizard – Searching for Missing Files
Page ...................................................................................... 5135
133.40 Add Missing Files Wizard – Select Directory to Search for XIF and
DRF Resources Page ............................................................ 5136
133.41 Add Missing Files Wizard – Searching for Replacement Files
Page ...................................................................................... 5137
133.42 Add Missing Files Wizard – Importing Replacement Files
Page ...................................................................................... 5138
133.43 LNS Plug-in Registration View ............................................... 5139
133.44 Configure Using LNS Plug-ins Wizard - Copying Device
Configuration to LNS Page .................................................... 5141
133.45 Configure Using LNS Plug-ins Wizard - Select LNS Plug-in
Page ...................................................................................... 5142
133.46 Configure Using LNS Plug-ins Wizard - Confirm LNS
Configuration Page ................................................................ 5143
133.47 Configure Using LNS Plug-ins Wizard - Copying Device
Configuration from LNS Page ................................................ 5144
133.48 Lon Binding Properties .......................................................... 5145
133.49 LonWorks Binding Profile Icons ............................................. 5146
133.50 LonWorks Binding Profile Properties – Basic Tab .................. 5147
133.51 LonWorks Binding Profile Properties – Advanced Tab ......... 5148

134 LonWorks Troubleshooting ..................................... 5151


134.1 Packet Errors ......................................................................... 5153
134.2 LonWorks Device Communication Problems ........................ 5155
134.2.1 Solutions .............................................................................. 5155
134.3 Corrupt LonWorks Bindings ................................................... 5156
134.3.1 Solution ................................................................................ 5156
134.4 LonWorks Device Out of Sync ............................................... 5157
134.4.1 Solutions .............................................................................. 5157
134.5 LonWorks Interface is Offline ................................................. 5158
134.5.1 Solutions .............................................................................. 5158
134.6 Configuring of LonWorks Device using LNS Plug-in Fails Due to
Missing Device Template ...................................................... 5159
134.6.1 Solution ................................................................................ 5159
134.7 Maximum Number of Objects Exceeded ............................... 5160
134.7.1 Solution ................................................................................ 5160
134.8 LNS Plug-in Cannot be Configured ...................................... 5161
134.8.1 Solution ................................................................................ 5161

135 Xenta LonWorks Introduction .................................. 5163


135.1 Xenta LonWorks Device Overview ......................................... 5165
135.1.1 Xenta LonWorks Devices ..................................................... 5165
135.1.2 Xenta LonWorks Engineering .............................................. 5165
135.1.3 Xenta LonWorks Device Functions ...................................... 5165
135.2 Xenta LonWorks Engineering ................................................ 5166
135.2.1 Xenta LonWorks Device Workflow ....................................... 5168
135.2.2 LonWorks Interfaces ............................................................ 5168

Technical 04-30006-02-en, May 2019


114
135.2.3 Xenta LonWorks Groups ...................................................... 5169
135.2.4 Xenta LonWorks Device Commissioning ............................. 5169
135.2.5 Xenta LonWorks Applications .............................................. 5169
135.3 LonWorks Interfaces .............................................................. 5170
135.3.1 LonWorks in a SmartX server ............................................... 5171
135.3.2 LonWorks in the Enterprise Server ....................................... 5171
135.3.3 Externally Managed LonWorks Network .............................. 5171
135.4 Xenta LonWorks Device Workflows ....................................... 5172
135.4.1 Create and then Discover Xenta LonWorks Device
Workflow .............................................................................. 5172
135.4.2 Discover Xenta LonWorks Device Workflow ........................ 5172
135.4.3 Create Xenta LonWorks Device Workflow ........................... 5172
135.5 Create and then Discover Xenta LonWorks Device
Workflow ................................................................................ 5173
135.6 Discover Xenta LonWorks Device Workflow .......................... 5175
135.7 Create Xenta LonWorks Device Workflow .............................. 5177
135.8 Configuring a LonWorks Network for Xenta Devices ............. 5181
135.9 Binding Xenta Network Variables .......................................... 5183
135.10 Xenta OP ................................................................................ 5184

136 Xenta LonWorks Devices ........................................ 5185


136.1 Xenta LonWorks Devices ....................................................... 5187
136.1.1 Xenta OP .............................................................................. 5188
136.1.2 Xenta LonWorks Device Restart .......................................... 5188
136.2 Creating a Programmable Xenta Device ............................... 5189
136.3 Discovering a Xenta Device ................................................... 5190
136.4 Configuring a Xenta LonWorks Device .................................. 5191
136.5 Xenta LonWorks Device Commissioning ............................... 5192
136.5.1 Xenta LonWorks Device Decommissioning ......................... 5192
136.5.2 Xenta Objects and Device Configuration Parameters ......... 5192
136.6 Commissioning a Xenta Device ............................................. 5193
136.7 Xenta LonWorks Daylight Savings Time Switchover .............. 5194
136.8 Xenta LonWorks Time Synchronization .................................. 5195
136.9 Identifying a Xenta I/O Module ............................................... 5196
136.10 Checking the Neuron ID of a Xenta I/O Device ...................... 5197
136.11 Xenta LonWorks Device Decommissioning ........................... 5198
136.12 Decommissioning a Xenta Device ......................................... 5199
136.13 Replacing an Online Xenta Device ........................................ 5200
136.14 Downloading the Xenta Device Configuration ....................... 5202
136.15 Uploading the Xenta Device Configuration ............................ 5203
136.16 Replacing an Offline Xenta Device ........................................ 5204
136.17 Replacing a Xenta I/O Module ............................................... 5205
136.18 Xenta LonWorks Groups ........................................................ 5206
136.18.1 XentaGroups and Group Indications ................................... 5206
136.18.2 Xenta Group Master ............................................................. 5206
136.18.3 Xenta Group Editor .............................................................. 5207
136.19 Xenta LonWorks Device Functions ........................................ 5208

04-30006-02-en, May 2019 Technical


115
136.19.1 Trend Logs for Xenta LonWorks Devices ............................. 5208
136.19.2 Alarms for Xenta LonWorks Devices .................................... 5208
136.19.3 Schedules for Xenta LonWorks Devices .............................. 5208
136.19.4 Time Functions for Xenta LonWorks Devices ....................... 5208
136.19.5 Xenta LonWorks Variables Display ...................................... 5208
136.20 Trend Logs for Xenta LonWorks Devices ............................... 5210
136.21 Configuring a Xenta Trend Log .............................................. 5211
136.22 Alarms for Xenta LonWorks Devices ...................................... 5212
136.22.1 Xenta LonWorks System Alarms .......................................... 5212
136.22.2 Xenta LonWorks Offline Alarms ........................................... 5212
136.23 Schedules for Xenta LonWorks Devices ................................ 5213
136.23.1 Number of Scheduled Events for Xenta LonWorks Devices 5213
136.23.2 All-day Events for Xenta LonWorks Devices ........................ 5214
136.23.3 Exception Events for Xenta LonWorks Devices ................... 5214
136.23.4 Weekly Events for Xenta LonWorks Devices ........................ 5214
136.23.5 Overnight Events for Xenta LonWorks Devices ................... 5214
136.23.6 Xenta Central Schedules ..................................................... 5214
136.24 Time Functions for Xenta LonWorks Devices ........................ 5215
136.24.1 Xenta LonWorks Time Synchronization ................................ 5215
136.24.2 Xenta LonWorks Daylight Savings Time Switchover ............ 5215
136.25 Xenta LonWorks Variables Display ........................................ 5216
136.25.1 Device: Online ..................................................................... 5217
136.25.2 Device: Offline ..................................................................... 5219
136.26 Xenta LonWorks Device Restart ............................................ 5221
136.27 Xenta Group Editor ................................................................ 5222
136.28 Opening Xenta Group Editor ................................................. 5223
136.29 Setting a Xenta Group Master ................................................ 5224
136.30 Removing a Xenta Group ....................................................... 5225
136.31 Renaming a Xenta Group ...................................................... 5226
136.32 Adding a Xenta Group ........................................................... 5227

137 Xenta LonWorks Applications ................................. 5229


137.1 Xenta LonWorks Applications ................................................ 5231
137.1.1 EcoStruxure Building Operation Menta Editor ..................... 5231
137.1.2 Xenta LonWorks Application Alarms .................................... 5231
137.1.3 Synchronization of the Xenta LonWorks Device .................. 5231
137.1.4 Xenta LonWorks Application Block and Constant Names ... 5231
137.2 EcoStruxure Building Operation Menta Editor ....................... 5232
137.3 Editing a Menta Application ................................................... 5233
137.4 Importing a Menta Application to a Xenta Device .................. 5234
137.5 Xenta LonWorks Application Block and Constant Names ..... 5235

138 Xenta LonWorks Objects ........................................ 5237


138.1 Xenta Objects and Device Configuration Parameters ........... 5239
138.1.1 Xenta Object Parts ............................................................... 5240
138.1.2 Device Configuration Parameters ........................................ 5240
138.1.3 Xenta LonWorks Database Mode ........................................ 5241

Technical 04-30006-02-en, May 2019


116
138.2 Xenta Object Parts ................................................................. 5242
138.3 Device Configuration Parameters .......................................... 5243
138.4 Synchronization of the Xenta LonWorks Device ................... 5244
138.4.1 Synchronization of the Application and the Device Configuration
Parameters .......................................................................... 5244
138.4.2 Synchronization of the Network Information ........................ 5246

139 Xenta LonWorks Alarms .......................................... 5249


139.1 Xenta LonWorks Application Alarms ..................................... 5251
139.1.1 Alarm Priority Conversion .................................................... 5251
139.1.2 Alarm Texts in Menta Editor ................................................. 5251
139.1.3 Alarm Application Considerations ....................................... 5252
139.1.4 Xenta OP Acknowledge ....................................................... 5252
139.2 Modifying a Menta Application Alarm Priority ........................ 5253
139.3 Xenta LonWorks System Alarms ............................................ 5254
139.4 Xenta LonWorks Offline Alarms ............................................. 5255
139.4.1 Independent Offline Detection ............................................. 5255
139.4.2 Group Master Guided Offline Detection .............................. 5255
139.5 Modifying the Xenta Offline Detection Parameters ................ 5256

140 Xenta LonWorks Schedules .................................... 5257


140.1 Number of Scheduled Events for Xenta LonWorks Devices .. 5259
140.2 All-Day Events for Xenta LonWorks Devices .......................... 5260
140.3 Weekly Events for Xenta LonWorks Devices .......................... 5261
140.4 Exception Events for Xenta LonWorks Devices ..................... 5262
140.5 Creating a Schedule for a Xenta LonWorks Device ............... 5263
140.6 Editing a Schedule for a Xenta LonWorks Device .................. 5264
140.7 Xenta Central Schedules ....................................................... 5265
140.7.1 Xenta Central Schedule Synchronization ............................. 5267
140.7.2 Xenta Central Schedule Group Editing ................................ 5267
140.7.3 Xenta Central Schedules in WebStation .............................. 5267
140.8 Creating a Xenta Central Schedule ........................................ 5268
140.9 Adding a Weekly Event to a Xenta Schedule ......................... 5269
140.10 Adding an Exception Event to a Xenta Schedule .................. 5270
140.11 Editing a Weekly Event in a Xenta Schedule .......................... 5271
140.12 Editing an Exception Event in a Xenta Schedule ................... 5272
140.13 Deleting a Weekly Event from a Xenta Schedule ................... 5273
140.14 Deleting an Exception Event from a Xenta Schedule ............. 5274
140.15 Assigning a Xenta Central Schedule ..................................... 5275
140.16 Unassigning a Xenta Central Schedule ................................. 5276
140.17 Assigning a Lead Xenta Central Schedule ............................ 5277
140.18 Unassigning a Lead Xenta Central Schedule ........................ 5278
140.19 Viewing a Xenta Central Schedule Reference ....................... 5279
140.20 Viewing a Lead Xenta Central Schedule Reference .............. 5280

141 Xenta LonWorks Device User Interface .................. 5281


141.1 Xenta Icons ............................................................................ 5283
141.2 Actions Menu – Advanced Commands Submenu ................. 5284

04-30006-02-en, May 2019 Technical


117
141.3 LonWorks Network Properties – Advanced Tab .................... 5285
141.4 ProgrammableXenta Properties – Basic Tab ......................... 5288
141.5 ProgrammableXenta Properties – Offline Detection Tab ....... 5290
141.6 ProgrammableXenta Properties – Diagnostics Tab ............... 5292
141.7 ProgrammableXenta Properties – Xenta Tab ......................... 5295
141.8 Menta Program Properties – Basic Tab ................................. 5297
141.9 Menta Program Properties – Public Signals Tab .................... 5298
141.10 Menta Program Properties – Inputs Tab ................................ 5299
141.11 Menta Program Properties – Outputs Tab ............................. 5300
141.12 Xenta I/O Module Properties – Basic Tab .............................. 5301
141.13 Xenta I/O Module Properties – Advanced Tab ....................... 5302
141.14 Xenta Trend Log Properties ................................................... 5303
141.15 Xenta Schedule Editor ........................................................... 5305
141.16 Xenta Schedule Dialog Box .................................................. 5307
141.17 Xenta Central Schedule Properties – Basic Tab .................... 5308
141.18 Xenta Alarm Properties – Basic Tab ...................................... 5310
141.19 Xenta Alarm Properties - Alarm Settings Tab ......................... 5311
141.20 Xenta Group Editor ................................................................ 5313
141.21 Add Xenta Group Dialog Box ................................................ 5315
141.22 Rename Xenta Group Dialog Box ......................................... 5316

142 Xenta LonWorks Device Troubleshooting ............... 5317


142.1 Xenta Device Out of Sync ...................................................... 5319
142.1.1 Solution ................................................................................ 5319
142.2 Xenta I/O Device Communication Problems .......................... 5321
142.2.1 Solution ................................................................................ 5321
142.3 Xenta Trend Log Problems .................................................... 5322
142.3.1 Solution ................................................................................ 5322
142.4 Xenta Schedule Synchronization Problems ........................... 5323
142.4.1 Solution ................................................................................ 5323
142.5 Error in Retrieving Xenta LonWorks Device Trend Log Data . 5324
142.5.1 Solution ................................................................................ 5324
142.6 Invalid Xenta Device Application Definition ........................... 5325
142.6.1 Solution ................................................................................ 5325

143 MNL LonWorks Introduction ................................... 5327


143.1 MNL LonWorks Device Overview .......................................... 5329
143.1.1 MNL LonWorks Devices ...................................................... 5329
143.1.2 MNL LonWorks Engineering ................................................ 5329
143.1.3 MNL LonWorks Device Functions ........................................ 5329
143.2 MNL LonWorks Engineering .................................................. 5330
143.2.1 LonWorks Interfaces ............................................................ 5330
143.2.2 Standard MNL Device Version 2.x and 3.x to Built-in Types
Workflow .............................................................................. 5330
143.2.3 Standard MNL LonWorks Device Workflow ......................... 5330
143.2.4 MNL-800 LonWorks Device Workflow .................................. 5330
143.2.5 Commission Standard MNL LonWorks Devices .................. 5331
143.2.6 Commission MNL-800 LonWorks Devices ........................... 5331

Technical 04-30006-02-en, May 2019


118
143.2.7 MNL LonWorks Applications ............................................... 5331
143.2.8 Synchronize MNL LonWorks Devices after Server Restore . 5331
143.2.9 Bindings for MNL LonWorks Devices .................................. 5331
143.3 LonWorks Interfaces .............................................................. 5333
143.3.1 LonWorks in a SmartX server ............................................... 5334
143.3.2 LonWorks in the Enterprise Server ....................................... 5334
143.3.3 Externally Managed LonWorks Network .............................. 5334
143.4 Standard MNL Device Version 2.x and 3.x to Built-in Types
Workflow ................................................................................ 5335
143.5 Standard MNL LonWorks Device Workflow ........................... 5340
143.5.1 Create and then Discover .................................................... 5340
143.5.2 Discover .............................................................................. 5341
143.5.3 Create .................................................................................. 5343
143.6 MNL-800 LonWorks Device Workflow ................................... 5345
143.6.1 Create and then Discover .................................................... 5345
143.6.2 Discover .............................................................................. 5346
143.6.3 Create .................................................................................. 5348
143.7 Bindings for MNL LonWorks Devices .................................... 5350
143.7.1 Bindings Overview ............................................................... 5350
143.7.2 LonWorks Bindings .............................................................. 5350
143.8 Synchronize MNL LonWorks Devices after Server Restore
Workflow ................................................................................ 5351

144 MNL LonWorks Devices ......................................... 5353


144.1 MNL LonWorks Devices ........................................................ 5355
144.1.1 Device Templates ................................................................ 5355
144.1.2 MNL Device Model and Firmware Revision ......................... 5355
144.1.3 Standard MNL LonWorks Version 2.x and 3.x Built-in Device
Types ................................................................................... 5356
144.2 Standard MNL LonWorks Version 2.x and 3.x Built-in Device
Types ..................................................................................... 5357
144.3 Commission Standard MNL LonWorks Devices .................... 5358
144.4 Creating an MNL-800 LonWorks Device ................................ 5359
144.5 Discovering an MNL-800 LonWorks Device .......................... 5360
144.6 Resetting an MNL LonWorks Device ..................................... 5361
144.7 Downloading Configuration Properties to an MNL LonWorks
Device .................................................................................... 5362
144.8 Commission MNL-800 LonWorks Devices ............................. 5363
144.9 Commissioning an MNL-800 LonWorks Device ..................... 5364
144.10 MNL LonWorks Device Functions .......................................... 5365
144.10.1 Alarms for MNL LonWorks Devices ..................................... 5365
144.10.2 Trend Logs for MNL LonWorks Devices .............................. 5365
144.10.3 Schedules for MNL LonWorks Devices ............................... 5366
144.10.4 Properties of MNL LonWorks Objects .................................. 5366
144.11 Schedules for MNL LonWorks Devices .................................. 5367
144.12 Trend Logs for MNL LonWorks Devices ................................ 5368
144.12.1 Trend Logs from NVs ........................................................... 5368
144.12.2 Trend Logs from I/O Points .................................................. 5368

04-30006-02-en, May 2019 Technical


119
144.13 Alarms for MNL LonWorks Devices ....................................... 5369

145 MNL LonWorks Applications .................................. 5371


145.1 MNL and MNB Applications .................................................. 5373
145.1.1 MNL Applications ................................................................ 5373
145.1.2 MNB Applications ................................................................ 5374
145.1.3 Changes to Applications ..................................................... 5374
145.1.4 Application Status ................................................................ 5374
145.1.5 WorkPlace Tech Overview ................................................... 5374
145.1.6 Import and Export of MNL or MNB Applications .................. 5374
145.1.7 Download of MNB BACnet Application Types ..................... 5375
145.2 MNL Applications .................................................................. 5376
145.3 Changes to Applications ....................................................... 5377
145.3.1 MNL-800 Applications ......................................................... 5377
145.3.2 MNB Applications ................................................................ 5377
145.4 Application Status .................................................................. 5379
145.5 WorkPlace Tech Overview ..................................................... 5380
145.5.1 WorkPlace Tech Editor ........................................................ 5380
145.5.2 MNL LonWorks Objects ....................................................... 5380
145.5.3 MNB BACnet Objects .......................................................... 5380
145.5.4 WorkPlace Tech Monitor ...................................................... 5380
145.6 WorkPlace Tech Editor .......................................................... 5382
145.6.1 Hardware Configuration ....................................................... 5383
145.6.2 Applications ......................................................................... 5383
145.6.3 I/O Control Objects and Tags .............................................. 5383
145.6.4 Application Import ............................................................... 5383
145.6.5 Application Compile ............................................................ 5383
145.6.6 Application Export ............................................................... 5384
145.6.7 Application Monitoring ......................................................... 5384
145.7 Viewing an MNL or MNB Application Type ............................ 5385
145.8 Monitoring an MNL LonWorks Application ............................. 5386
145.9 Creating an MNL or MNB Application Type ........................... 5387
145.10 Import and Export of MNL or MNB Applications .................... 5388
145.10.1 Import and Export Using WorkStation .................................. 5388
145.10.2 Import and Export Using WorkPlace Tech Editor ................ 5388
145.11 Importing a Single MNL or MNB Application Type ................ 5389
145.12 Importing Multiple MNL or MNB Application Types ............... 5391
145.13 Editing an MNL or MNB Application Type ............................. 5393
145.14 Removing an MNL or MNB Application Type ........................ 5394
145.15 Assigning an MNL or MNB Application ................................. 5395
145.16 Downloading an MNL LonWorks Application Type ............... 5396
145.17 Editing an MNL or MNB Application Type in a Device ........... 5397
145.18 WorkPlace Tech Monitor ........................................................ 5398
145.18.1 Monitor Tags ........................................................................ 5398
145.18.2 Write to RAM ........................................................................ 5399
145.19 Import and Export of MNL or MNB Solutions ......................... 5400
145.19.1 Exporting an MNL or MNB Solution ..................................... 5400

Technical 04-30006-02-en, May 2019


120
145.19.2 Importing an MNL or MNB Solution ..................................... 5400

146 MNL LonWorks Objects .......................................... 5401


146.1 MNL LonWorks Objects ......................................................... 5403
146.1.1 I/O Points ............................................................................. 5403
146.1.2 S-Link Sensors ..................................................................... 5403
146.2 I/O Points ............................................................................... 5404
146.3 S-Link Sensors ....................................................................... 5409
146.4 Calibrating S-Link Sensors ..................................................... 5413
146.5 Backing Up S-Link Sensor Offsets ......................................... 5414
146.6 Restoring S-Link Sensor Offsets ............................................ 5415
146.7 Properties of MNL LonWorks Objects .................................... 5416
146.7.1 NCI Values ........................................................................... 5416
146.7.2 Forceable MNL I/O Point Properties .................................... 5416
146.7.3 Not Active (NA) Property Values .......................................... 5416
146.7.4 Not Active (NA) SNVT Values For MNL LonWorks Devices . 5416
146.7.5 Point Object Name ............................................................... 5417
146.7.6 MNL Flow Balance Calibration Information .......................... 5417
146.7.7 Enumerations for FanModes ................................................ 5417
146.7.8 Enumerations for HvacModes ............................................. 5417
146.8 NCI Values ............................................................................. 5418
146.9 Reverting to the Application Value for NCI Downloads .......... 5419
146.10 Forceable MNL I/O Point Properties ...................................... 5420
146.10.1 Forceable MNL I/O Points .................................................... 5420
146.10.2 Forced and Unforced Value Properties ............................... 5420
146.10.3 Displayed Value of Forced MNL I/O Point ........................... 5421
146.10.4 Pocket I/A Software and Overrides ...................................... 5421
146.11 Displayed Value of Forced MNL I/O Point ............................. 5423
146.11.1 Display of Forced MNL Input Object Value ......................... 5423
146.11.2 Display of Unforced and Forced MNL Output Object Value 5423
146.12 Display of Forced MNL Input Object Value ............................ 5424
146.13 Display of Unforced and Forced MNL Output Object Value .. 5426
146.14 Not Active (NA) Property Values ............................................ 5430
146.15 Not Active (NA) SNVT Values For MNL LonWorks Devices ... 5431
146.16 Point Object Name ................................................................. 5438
146.17 MNL Flow Balance Calibration Information ............................ 5439
146.17.1 MNL Data Backups and Flow Balance NCIs ....................... 5439
146.17.2 MNL Flow Balance Data Restore ......................................... 5440
146.17.3 MNL Flow Balance Data Backups ....................................... 5440
146.17.4 MNL Flow Balance Text Report ........................................... 5440
146.18 Backing Up MNL Flow Balance Calibration ........................... 5441
146.19 Restoring MNL Flow Balance Information .............................. 5442
146.20 Enumerations for FanModes .................................................. 5443
146.21 Enumerations for HvacModes ................................................ 5444

147 MNL LonWorks User Interface ................................ 5445


147.1 Properties of I/O Points, Sensor Object, and S-Link Sensor
Points – Basic Tab ................................................................. 5449

04-30006-02-en, May 2019 Technical


121
147.2 Properties of I/O Points, Sensor Object, and S-Link Sensor
Points – Advanced Tab .......................................................... 5450
147.3 AnalogIn Properties – Basic Tab ............................................ 5451
147.4 AnalogInM and AnalogInV Properties – Advanced Tab ........ 5453
147.5 AnalogInR Properties – Advanced Tab .................................. 5456
147.6 AnalogInTC and AnalogInTF Properties – Advanced Tab ..... 5458
147.7 AnalogOut and AnalogOutPri Properties – Basic Tab ........... 5460
147.8 AnalogOut and AnalogOutPri Properties – Advanced Tab .... 5462
147.9 BinaryIn Properties – Basic Tab ............................................. 5464
147.10 BinaryIn Properties – Advanced Tab ..................................... 5466
147.11 BinaryInPls Properties – Basic Tab ........................................ 5468
147.12 BinaryInPls Properties – Advanced Tab ................................ 5470
147.13 BinaryOut Properties – Basic Tab .......................................... 5472
147.14 BinaryOut Properties – Advanced Tab .................................. 5473
147.15 DUI Properties – Basic Tab .................................................... 5474
147.16 DUI Properties – Advanced Tab ............................................ 5476
147.17 EventInd Properties – Basic Tab ............................................ 5478
147.18 EventInd Properties – Advanced Tab .................................... 5480
147.19 FanSpeed1 Properties – Basic Tab ....................................... 5482
147.20 FanSpeed1 Properties – Advanced Tab ................................ 5483
147.21 FanSpeed2 Properties – Basic Tab ....................................... 5485
147.22 FanSpeed2 and FanSpeed3 Properties – Advanced Tab ..... 5487
147.23 FanSpeed3 Properties – Basic Tab ....................................... 5489
147.24 FloatingAct and FloatingActPri Properties – Basic Tab ......... 5491
147.25 FloatingAct and FloatingActPri Properties – Advanced Tab .. 5493
147.26 MomenSS Properties – Basic Tab .......................................... 5495
147.27 MomenSS Properties – Advanced Tab .................................. 5497
147.28 PressureTransInH20 and PressureTransPa Properties – Basic
Tab ......................................................................................... 5499
147.29 PressureTransInH20 and PressureTransPa Properties –
Advanced Tab ....................................................................... 5501
147.30 PWMMin, PWMPriMin, PWMSec, and PWMPriSec Properties –
Basic Tab ............................................................................... 5503
147.31 PWMMin, PWMPriMin, PWMSec, and PWMPriSec Properties –
Advanced Tab ....................................................................... 5505
147.32 VAVActuator Properties – Basic Tab ...................................... 5507
147.33 VAVActuator Properties – Advanced Tab .............................. 5509
147.34 FanMode1 and FanMode2 Properties – Basic Tab ................ 5511
147.35 FanMode1 and FanMode2 Properties – Advanced Tab ........ 5512
147.36 HvacMode1 and HvacMode2 Properties – Basic Tab ........... 5513
147.37 HvacMode1 and HvacMode2 Properties – Advanced Tab ... 5514
147.38 Setpoint Properties – Basic Tab ............................................. 5515
147.39 Setpoint Properties – Advanced Tab ..................................... 5517
147.40 Display Properties – Basic Tab .............................................. 5519
147.41 Applications View .................................................................. 5521
147.42 Assign Application Wizard - Naming the Object Page .......... 5523
147.43 Sensor Object Properties – Basic Tab ................................... 5524
147.44 Sensor Object Properties – Advanced Tab ........................... 5526

Technical 04-30006-02-en, May 2019


122
147.45 MNL Device Application Properties – Basic Tab ................... 5527
147.46 MNL LonWorks Device Properties – Advanced Tab .............. 5529
147.47 Actions Menu – MNL Submenu .............................................. 5531
147.48 MNL LonWorks System Tree Icons ........................................ 5533

148 MNL LonWorks Troubleshooting ............................ 5535


148.1 BinaryInPls Object’s Pulse Rate Forced Value Changes to 0
(zero) ..................................................................................... 5537
148.1.1 Solution ................................................................................ 5537
148.2 MNL-800 Sensor Object's Temperature Forced Value Reverts to
32768 ..................................................................................... 5538
148.2.1 Solution ................................................................................ 5538
148.3 Delayed Update of Override Status Icon ............................... 5539
148.3.1 Solution ................................................................................ 5539
148.4 Forced Output Value of Input Object Reverts to Previous
Value ...................................................................................... 5540
148.4.1 Solution ................................................................................ 5540
148.5 ASCII Character SNVT Displays Value of ÿ in Place of NA
Value ...................................................................................... 5541
148.5.1 Solution ................................................................................ 5541
148.6 Cannot Change Configuration Property Value of MNL I/O Point or
S-Link Sensor Point ................................................................ 5542
148.6.1 Solution ................................................................................ 5542
148.7 Cannot Change Limits in Setpoint S-Link Sensor Point ......... 5543
148.7.1 Solution ................................................................................ 5543
148.8 Some MNL-800 I/O Point and S-Link Sensor Point Properties
Indicate Communication Error ............................................... 5544
148.8.1 Solution ................................................................................ 5544
148.9 Commissioning or Communication Faults Occur After Using
Service Pin to Decommission MNL LonWorks Device ........... 5545
148.9.1 Solution ................................................................................ 5545
148.10 Commissioning Faults Occur After Using Third-Party Tool to
Commission or Decommission MNL LonWorks Device ......... 5546
148.10.1 Solution ................................................................................ 5546
148.11 Commissioning of MNL–800 Device Fails Due to Older Firmware
Revision ................................................................................. 5547
148.11.1 Solution ................................................................................ 5547
148.12 Downloading Application to MNL LonWorks Device Fails Due to
Wrong Device Type ............................................................... 5548
148.12.1 Solution ................................................................................ 5549
148.13 Downloading Application to MNL-800 LonWorks Device Fails Due
to Older Firmware Revision .................................................... 5550
148.13.1 Solution ................................................................................ 5550
148.14 Cannot Assign Application Using New Command ................ 5551
148.14.1 Solution ................................................................................ 5551
148.15 Commissioning or Downloading of MNL LonWorks Device Fails
Due to Communications Error ................................................ 5552
148.15.1 Solution ................................................................................ 5552
148.16 MNL LonWorks Device Out of Sync with Database After Server
Restore .................................................................................. 5553

04-30006-02-en, May 2019 Technical


123
148.16.1 Solution ................................................................................ 5553
148.17 Command Inactive for MNL LonWorks Device ...................... 5554
148.17.1 Solution ................................................................................ 5554
148.18 Dragging Discovered MNL LonWorks Device to System Tree
Pane Does Not Acquire Neuron ID ........................................ 5556
148.18.1 Solution ................................................................................ 5556
148.19 Dragging Discovered MNL LonWorks Device to System Tree
Pane Does Not Create New MNL Device .............................. 5557
148.19.1 Solution ................................................................................ 5557
148.20 MNL LonWorks Device Needs Commissioning Following Deletion
of LonWorks Device ............................................................... 5558
148.20.1 Solution ................................................................................ 5558
148.21 Name Conflicts During MNL or MNB Solution Import ............ 5559
148.21.1 Solution ................................................................................ 5559
148.22 Failed Setting SNVT to NaN ................................................... 5560
148.22.1 Solutions .............................................................................. 5560

149 Modbus Introduction .............................................. 5561


149.1 Modbus Overview .................................................................. 5563
149.1.1 Master/Slave Networks ........................................................ 5563
149.1.2 Client/Server Networks ........................................................ 5563
149.1.3 Modbus Interfaces ............................................................... 5563
149.1.4 Network Configuration ......................................................... 5564
149.1.5 Modbus Devices .................................................................. 5564
149.1.6 Modbus Points and Values .................................................. 5564
149.1.7 Modbus Communications .................................................... 5564
149.1.8 Modbus Connections .......................................................... 5564
149.1.9 EcoStruxure BMS server Capacities for Modbus Networks . 5565
149.1.10 Modbus Interface Selection Workflow ................................. 5565
149.2 Modbus Interface Selection Workflow ................................... 5566
149.3 Master/Slave Networks .......................................................... 5568
149.3.1 Master/Slave Concept ......................................................... 5568
149.3.2 Master and Slave Networks ................................................. 5568
149.3.3 Modbus Serial Networks ...................................................... 5568
149.4 Master/Slave Concept ........................................................... 5569
149.5 Master and Slave Networks ................................................... 5571
149.6 Client/Server Networks .......................................................... 5573
149.6.1 Client/Server Concept .......................................................... 5573
149.6.2 Client and Server Networks ................................................. 5573
149.6.3 Modbus TCP Networks ........................................................ 5573
149.7 Client/Server Concept ............................................................ 5574
149.8 Client and Server Networks ................................................... 5575
149.9 Modbus Communications ...................................................... 5577
149.9.1 Modbus Addressing ............................................................ 5578
149.9.2 Function Code Definition and Selection ............................... 5579
149.9.3 Modbus Batch Read Function ............................................. 5579
149.9.4 Device and Register Polling ................................................. 5579
149.9.5 Modbus Message Formats .................................................. 5579

Technical 04-30006-02-en, May 2019


124
149.9.6 Serial Transmission Modes .................................................. 5580
149.9.7 Error Handling ...................................................................... 5580
149.9.8 Generic RS-485 Network Devices ....................................... 5580
149.10 Modbus Addressing .............................................................. 5581
149.10.1 Modbus Device Addressing ................................................ 5581
149.10.2 Modbus Register Addressing .............................................. 5581
149.11 Function Code Definition and Selection ................................. 5582
149.11.1 Read Function Code Selection ............................................ 5582
149.11.2 Write Function Code Selection ............................................. 5583
149.12 Error Handling ....................................................................... 5584
149.12.1 RTU Mode CRC Checking ................................................... 5584
149.12.2 ASCII Mode LRC Checking ................................................. 5584
149.12.3 Device and Network Read and Write Errors ........................ 5585
149.12.4 Point Error Count .................................................................. 5585
149.13 Modbus Connections ............................................................ 5586
149.13.1 SmartX server Connection Options ...................................... 5586
149.13.2 Enterprise Server Connection Options ................................ 5586

150 Modbus Serial Networks ......................................... 5589


150.1 Modbus Serial Networks ........................................................ 5591
150.1.1 Modbus Master Network ...................................................... 5592
150.1.2 Modbus Slave Network ........................................................ 5593
150.2 Modbus Master Network Workflow ........................................ 5595
150.3 Modbus Slave Network Workflow .......................................... 5597
150.4 Creating an RS-232 Port ........................................................ 5599
150.5 Configuring a Serial Port ........................................................ 5600
150.6 Port Allocation and Configuration .......................................... 5602
150.7 Creating a Modbus Slave Network ........................................ 5604
150.8 Configuring a Modbus Slave Network ................................... 5605
150.9 Creating a Modbus Master Network ...................................... 5607
150.10 Configuring a Modbus Master Network ................................. 5608

151 Modbus TCP Networks ........................................... 5609


151.1 Modbus TCP Networks .......................................................... 5611
151.1.1 Modbus TCP Network .......................................................... 5612
151.1.2 Modbus TCP Server ............................................................. 5613
151.1.3 Modbus TCP Gateway ......................................................... 5614
151.2 Modbus TCP Network Workflow ............................................ 5616
151.3 Modbus TCP Gateway Workflow ........................................... 5618
151.4 Modbus TCP Server Workflow ............................................... 5620
151.5 Creating a Modbus TCP Network .......................................... 5621
151.6 Configuring a Modbus TCP Network ..................................... 5622
151.7 Creating a Modbus TCP Gateway ......................................... 5624
151.8 Configuring a Modbus TCP Gateway .................................... 5625
151.9 Creating a Modbus TCP Server ............................................. 5627
151.10 Configuring a Modbus TCP Server ........................................ 5628

152 Network Configuration ............................................ 5629

04-30006-02-en, May 2019 Technical


125
152.1 Network Configuration ........................................................... 5631
152.1.1 Framing Mode ...................................................................... 5631
152.1.2 Baud Rate Selection ............................................................ 5631
152.1.3 Port Reference ..................................................................... 5632
152.1.4 Parity Checking .................................................................... 5632
152.1.5 Stop Bits ............................................................................... 5632
152.1.6 J-Bus Mode Selection .......................................................... 5632
152.1.7 Silence Characters .............................................................. 5633
152.1.8 Receive Timeout .................................................................. 5633
152.1.9 Point Poll Delay .................................................................... 5633
152.1.10 Poll Duty Cycle ..................................................................... 5633
152.1.11 Transmit Guard Bits ............................................................. 5634
152.1.12 Device Retime ...................................................................... 5634

153 Modbus Interfaces .................................................. 5635


153.1 Modbus Interfaces ................................................................. 5637
153.1.1 Modbus Interface to EcoStruxure BMS Server .................... 5637
153.1.2 Modbus Interface ................................................................. 5637
153.2 Modbus Interface .................................................................. 5638
153.2.1 General Interface Configuration .......................................... 5638
153.2.2 Configuration with HMI Device as Master ............................ 5639
153.3 Creating a Modbus Interface ................................................. 5640
153.4 Configuring a Modbus Interface ............................................ 5641

154 Modbus Devices ..................................................... 5643


154.1 Modbus Devices .................................................................... 5645
154.1.1 Discrete Output Coils ........................................................... 5646
154.1.2 Discrete Input Status ........................................................... 5646
154.1.3 Input Registers ..................................................................... 5646
154.1.4 Holding Registers ................................................................ 5646
154.1.5 Device Identification ............................................................ 5646
154.1.6 Device Communications Configuration ............................... 5647
154.2 Creating a Modbus TCP Device ............................................ 5649
154.3 Configuring a Modbus TCP Device ....................................... 5650
154.4 Creating a Modbus Device .................................................... 5653
154.5 Configuring a Modbus Device ............................................... 5654
154.6 Creating Multiple Modbus Devices ........................................ 5656
154.7 Refreshing Modbus Device Identification .............................. 5657
154.8 Manually Retiming a Modbus Device ................................... 5658
154.9 Retiming a Modbus Device using a Trigger Variable ............ 5659

155 Modbus Points and Values ..................................... 5661


155.1 Point and Value Types ........................................................... 5663
155.1.1 Point Types .......................................................................... 5663
155.1.2 Value Types ......................................................................... 5663
155.2 Modbus Points and Values .................................................... 5664
155.2.1 Point Types .......................................................................... 5664
155.2.2 Value Types ......................................................................... 5664

Technical 04-30006-02-en, May 2019


126
155.2.3 Point and Value Configuration ............................................. 5665
155.3 Creating a Modbus Point ....................................................... 5666
155.4 Point and Value Configuration ............................................... 5667
155.4.1 Register Number .................................................................. 5667
155.4.2 Register Type ....................................................................... 5667
155.4.3 Read Function Code ............................................................ 5669
155.4.4 Write Function Code ............................................................ 5669
155.4.5 Bitmask ................................................................................ 5669
155.4.6 Gain and Offset ................................................................... 5671
155.5 Configuring a Modbus Point .................................................. 5672
155.6 Configuring a Modbus Multibit Point ...................................... 5673
155.7 Creating a Modbus Value ...................................................... 5677
155.8 Configuring a Modbus Value ................................................. 5678
155.9 Creating Multiple Modbus Points ........................................... 5679

156 Modbus Batch Read Function ................................ 5681


156.1 Modbus Batch Read Function ............................................... 5683
156.1.1 Modbus Register Groups .................................................... 5684
156.1.2 Grouping Guidelines ............................................................ 5684
156.1.3 Grouping Methods ............................................................... 5684
156.1.4 Scattered Read .................................................................... 5685
156.2 Modbus Register Groups ....................................................... 5686
156.3 Grouping Guidelines ............................................................. 5691
156.3.1 Poll Block Operation ........................................................... 5692
156.3.2 Exception Handling ............................................................ 5692
156.3.3 Factorization ........................................................................ 5692
156.3.4 Poll Interval .......................................................................... 5693
156.4 Grouping Methods ................................................................. 5694
156.4.1 Manual Grouping ................................................................. 5695
156.4.2 Semi-Automatic Grouping ................................................... 5696
156.5 Creating a Modbus Register Group ....................................... 5697
156.6 Configuring a Modbus Register Group .................................. 5698
156.7 Modbus Register Group Properties – Basic Tab ................... 5699
156.8 Adding Modbus Points to a Modbus Register Group ............ 5701

157 Modbus Device User Interface ............................... 5703


157.1 Modbus Icons ........................................................................ 5705
157.2 Serial Port Properties – Basic Tab .......................................... 5706
157.3 Modbus Master Network Properties – Basic Tab ................... 5708
157.4 Modbus Master Network Properties – Advanced Tab ........... 5710
157.5 Modbus Device Properties – Basic Tab ................................. 5712
157.6 Modbus Device Properties – Date & Time Tab ..................... 5714
157.7 Modbus Slave Network Properties – Basic Tab ..................... 5715
157.8 Modbus Slave Network Properties – Advanced Tab ............. 5717
157.9 Modbus TCP Network Properties – Basic Tab ....................... 5718
157.10 Modbus TCP Network Properties – Advanced Tab ............... 5720
157.11 Modbus TCP Gateway Properties – Basic Tab ...................... 5722

04-30006-02-en, May 2019 Technical


127
157.12 Modbus TCP Gateway Properties – Advanced Tab .............. 5724
157.13 Modbus TCP Device Properties – Basic Tab ......................... 5726
157.14 Modbus TCP Device Properties – Date & Time Tab .............. 5728
157.15 Modbus TCP Server Properties – Basic Tab .......................... 5729
157.16 Modbus Interface Properties – Basic Tab .............................. 5730
157.17 Modbus Analog Value Properties – Basic Tab ....................... 5732
157.18 Modbus Digital Value Properties – Basic Tab ........................ 5734
157.19 Modbus Multistate Value Properties – Basic Tab ................... 5735
157.20 Modbus Analog Input Point Properties – Basic Tab .............. 5737
157.21 Modbus Analog Output Point Properties – Basic Tab ............ 5739
157.22 Modbus Digital Input Point Properties – Basic Tab ................ 5741
157.23 Modbus Digital Output Point Properties – Basic Tab ............. 5743
157.24 Modbus Multistate Input Point Properties – Basic Tab .......... 5745
157.25 Modbus Multistate Output Point Properties – Basic Tab ........ 5747
157.26 Modbus Multibit Input Point Properties – Basic Tab .............. 5749
157.27 Modbus Multibit Output Point Properties – Basic Tab ........... 5751

158 Modbus Troubleshooting ........................................ 5753


158.1 Error Count Not Zero .............................................................. 5755
158.1.1 Solutions .............................................................................. 5755
158.2 Modbus Interface Status Offline ............................................ 5756
158.2.1 Solutions .............................................................................. 5756
158.3 Modbus Point Has Unexpected Value ................................... 5757
158.3.1 Solutions .............................................................................. 5757
158.4 Modbus Point Value Has Red Indicator ................................. 5758
158.4.1 Solutions .............................................................................. 5758
158.5 Modbus TCP Device Status Offline ........................................ 5759
158.5.1 Solutions .............................................................................. 5759
158.6 Modbus TCP Gateway Status Offline ..................................... 5760
158.6.1 Solutions .............................................................................. 5760
158.7 Modbus TCP Server Status Offline ........................................ 5761
158.7.1 Solution ................................................................................ 5761
158.8 Modbus TCP Network Status Offline ...................................... 5762
158.8.1 Solutions .............................................................................. 5762
158.9 Read or Write Failure ............................................................. 5763
158.9.1 Solutions .............................................................................. 5763
158.10 Serial Device Status Offline ................................................... 5764
158.10.1 Solutions .............................................................................. 5764
158.11 Serial Network Status Offline ................................................. 5765
158.11.1 Solution ................................................................................ 5765
158.12 Serial Port Status Offline ........................................................ 5766
158.12.1 Solution ................................................................................ 5766

159 NETWORK 8000 Introduction ................................. 5767


159.1 NETWORK 8000 Overview ................................................... 5769
159.1.1 NETWORK 8000 System Migration ...................................... 5769
159.1.2 GCM Block Migration Synopsis ........................................... 5769

Technical 04-30006-02-en, May 2019


128
159.1.3 NETWORK 8000 ASD Devices ............................................ 5769
159.1.4 NETWORK 8000 LCMs ........................................................ 5769
159.2 NETWORK 8000 System Migration ........................................ 5770
159.2.1 NETWORK 8000 Interface ................................................... 5771
159.2.2 NETWORK 8000 Workflows ................................................. 5772
159.2.3 GCM Block Migration ........................................................... 5772
159.2.4 NETWORK 8000 Objects ..................................................... 5772
159.2.5 LCMs ................................................................................... 5772
159.2.6 Migration of Engineering Units ............................................. 5772
159.2.7 Schedules for NETWORK 8000 ........................................... 5773
159.2.8 Trends for NETWORK 8000 ................................................. 5773
159.2.9 Alarms for NETWORK 8000 ................................................. 5773
159.3 NETWORK 8000 Workflows ................................................... 5774
159.3.1 GCM Migration ..................................................................... 5774
159.3.2 Signal Migration ................................................................... 5775
159.4 NETWORK 8000 Interface ..................................................... 5778
159.4.1 Application .......................................................................... 5779
159.4.2 ASD Network ........................................................................ 5779
159.4.3 LCM Network ....................................................................... 5779
159.4.4 NETWORK 8000 Statistics ................................................... 5779
159.5 GCM Block Migration ............................................................. 5780
159.5.1 Import Migrated GCM Data ................................................ 5780
159.5.2 NETWORK 8000 and EcoStruxure Building Operation software
Term Comparison ................................................................ 5780
159.5.3 GCM Blocks Converted to Standard EcoStruxure Building
Operation software Objects ................................................. 5781
159.5.4 Object Name ........................................................................ 5781
159.5.5 Property Name and Abbreviation ........................................ 5782
159.6 NETWORK 8000 Objects ....................................................... 5783
159.6.1 NETWORK 8000 Block Migration Synopsis ......................... 5783
159.6.2 NETWORK 8000 Object Input Properties ............................ 5783
159.6.3 NETWORK 8000 Forced Value ............................................ 5783
159.7 GCM Block Migration Synopsis ............................................. 5784
159.8 NETWORK 8000 Object Input Properties .............................. 5792
159.9 Learn LCM Blocks ................................................................. 5793
159.10 Learning LCM Blocks ............................................................. 5794
159.11 Migration of Engineering Units .............................................. 5795
159.11.1 Analog Engineering Units .................................................... 5795
159.11.2 Digital Engineering Units ..................................................... 5795
159.11.3 Digital Units .......................................................................... 5795
159.11.4 NETWORK 8000 Object Value Conversion by Units ............ 5796
159.12 Analog Engineering Units ...................................................... 5797
159.13 Digital Engineering Units ....................................................... 5798
159.14 Digital Units ............................................................................ 5799
159.15 NETWORK 8000 Object Value Conversion by Units .............. 5800
159.16 Schedules for NETWORK 8000 ............................................. 5802
159.17 Trends for NETWORK 8000 ................................................... 5804

04-30006-02-en, May 2019 Technical


129
159.17.1 Conversion to a Variable Triggered Trend Log .................... 5804
159.17.2 Conversion to an Interval Trend Log .................................... 5804
159.18 Alarms for NETWORK 8000 ................................................... 5805
159.18.1 Alarm Features ..................................................................... 5805
159.18.2 Alarm Message Text ............................................................ 5806
159.19 Editing OSS Pre-Start and Pre-Stop Values ........................... 5807
159.20 Viewing NETWORK 8000 Interface Statistics ......................... 5808

160 NETWORK 8000 Devices ....................................... 5809


160.1 NETWORK 8000 ASD Devices .............................................. 5811
160.1.1 Supported Devices .............................................................. 5811
160.1.2 ASD Devices Network Wiring within EcoStruxure BMS ....... 5811
160.1.3 Field Device Alarms ............................................................. 5811
160.1.4 ASD Field Device Alarm Message Text ............................... 5811
160.1.5 ASD and LCM Device Communication Confirmation ........... 5812
160.1.6 MICROFLO II Backup and Restore ...................................... 5812
160.1.7 MICROZONE II Force Output Workflow ............................... 5812
160.2 Supported Devices ................................................................ 5813
160.3 ASD Devices Network Wiring within an EcoStruxure BMS .... 5814
160.3.1 ASD Device Transceiver ...................................................... 5814
160.3.2 Non-isolated Devices ........................................................... 5814
160.3.3 ASD Network Configuration Guidelines ............................... 5814
160.4 Field Device Alarms ............................................................... 5819
160.5 ASD Field Device Alarm Message Text ................................. 5820
160.6 NETWORK 8000 LCMs .......................................................... 5824
160.6.1 Supported Devices .............................................................. 5824
160.6.2 Generic RS-485 Network Devices ....................................... 5824
160.6.3 LCM Device Communication Confirmation .......................... 5824
160.6.4 Alarms for LCMs .................................................................. 5825
160.6.5 Schedules for LCMs ............................................................ 5825
160.6.6 Trends for LCMs .................................................................. 5825
160.6.7 LCM Exception Routing ....................................................... 5826
160.6.8 Learn LCM Blocks ............................................................... 5826
160.6.9 Block Update ....................................................................... 5826
160.6.10 LCM Properties Displayed in Graphics and Watch Pane .... 5826
160.7 Configuring ASD Communications ........................................ 5827
160.8 Configuring LCM Communications ........................................ 5828
160.9 Resetting LCM Blocks ........................................................... 5830
160.10 Updating a Block or Object ................................................... 5831
160.11 Synchronizing LCM Date and Time ...................................... 5832
160.12 LCM Message Routing .......................................................... 5833
160.13 Configuring LCM Message Routing ....................................... 5834
160.14 ASD and LCM Device Communication Confirmation ............. 5835
160.15 Confirming ASD or LCM Communications Using Search ..... 5836
160.16 Confirming ASD and LCM Communications Using Alarm
View ....................................................................................... 5837

Technical 04-30006-02-en, May 2019


130
160.17 Confirming ASD and LCM Communications Using Event
View ....................................................................................... 5838
160.18 MICROFLO II Backup and Restore ........................................ 5839
160.18.1 Backup ................................................................................ 5839
160.18.2 Restore ................................................................................ 5839
160.19 Backing Up a Flo2 Controller ................................................. 5840
160.20 Restoring a Flo2 Controller .................................................... 5841
160.21 Checking the Backup Status of a Flo2 Controller .................. 5842
160.22 MICROZONE II or PEM Force Output Workflow ..................... 5843
160.23 Creating a MICROZONE II or PEM Output Block ................... 5845
160.24 Configuring a MICROZONE II Output Block .......................... 5846
160.25 Configuring a PEM Output Block ........................................... 5847
160.26 Logging on to an ASD Session .............................................. 5848
160.27 Forcing a Timed Override ...................................................... 5849
160.28 Forcing a Forever Override .................................................... 5850
160.29 Forcing an Until Override ....................................................... 5851
160.30 Refreshing the Install Data of a MICROZONE II or PEM
Controller ............................................................................... 5852
160.31 Logging off from an ASD Session .......................................... 5853

161 NETWORK 8000 User Interface .............................. 5855


161.1 NETWORK 8000 System Tree Icons ...................................... 5869
161.2 NETWORK 8000 ASD Network – List View ............................. 5870
161.3 NETWORK 8000 Interface – Basic Tab .................................. 5871
161.4 NETWORK 8000 Interface – ASD Tab ................................... 5873
161.5 NETWORK 8000 Interface – LCM Tab ................................... 5875
161.6 Lcm Device – Basic Tab ........................................................ 5877
161.7 AI Properties – Basic Tab ....................................................... 5879
161.8 AI Properties – Inputs Tab ...................................................... 5880
161.9 AI Properties – Parameters Tab ............................................. 5882
161.10 Alarm Properties – Basic Tab ................................................. 5885
161.11 Alarm Properties – Inputs Tab ................................................ 5887
161.12 Alarm Properties – Parameters Tab ....................................... 5889
161.13 AO Block Object Properties – Basic Tab ............................... 5891
161.14 AO Properties – Basic Tab ..................................................... 5892
161.15 AO Properties – Inputs Tab .................................................... 5894
161.16 AO Properties – Parameters Tab ........................................... 5896
161.17 Apt Properties – Basic Tab .................................................... 5898
161.18 Apt Properties – Inputs Tab ................................................... 5899
161.19 Apt Properties – Parameters Tab ........................................... 5901
161.20 Btuh Properties – Basic Tab ................................................... 5902
161.21 Btuh Properties – Inputs Tab .................................................. 5903
161.22 Btuh Properties – Parameters Tab ......................................... 5905
161.23 Cos Properties – Basic Tab .................................................... 5906
161.24 Cos Properties – Inputs Tab ................................................... 5908
161.25 Cos Properties – Parameters Tab .......................................... 5910
161.26 Curve Properties – Basic Tab ................................................ 5912

04-30006-02-en, May 2019 Technical


131
161.27 Curve Properties – Inputs Tab ............................................... 5913
161.28 Curve Properties – Parameters Tab ....................................... 5915
161.29 DccComp Properties – Basic Tab .......................................... 5917
161.30 DccComp Properties – Inputs Tab ......................................... 5918
161.31 DccComp Properties – Parameters Tab ................................ 5920
161.32 DccFix Properties – Basic Tab ............................................... 5921
161.33 DccFix Properties – Inputs Tab .............................................. 5922
161.34 DccFix Properties – Parameters Tab ..................................... 5924
161.35 DegDa Properties – Basic Tab ............................................... 5925
161.36 DegDa Properties – Inputs Tab .............................................. 5927
161.37 DegDa Properties – Parameters Tab ..................................... 5929
161.38 Delay Properties – Basic Tab ................................................. 5931
161.39 Delay Properties – Inputs Tab ................................................ 5933
161.40 Delay Properties – Parameters Tab ....................................... 5935
161.41 DI Properties – Basic Tab ...................................................... 5936
161.42 DI Properties – Inputs Tab ..................................................... 5938
161.43 DI Properties – Parameters Tab ............................................. 5940
161.44 DO Block Object Properties – Basic Tab ............................... 5942
161.45 DO Properties – Basic Tab ..................................................... 5943
161.46 DO Properties – Inputs Tab .................................................... 5945
161.47 DO Properties – Parameters Tab ........................................... 5947
161.48 Dpt Properties – Basic Tab .................................................... 5949
161.49 Dpt Properties – Inputs Tab ................................................... 5951
161.50 Dpt Properties – Parameters Tab ........................................... 5953
161.51 EDL Properties – Basic Tab ................................................... 5954
161.52 EDL Properties – Priority Slots Tab ........................................ 5957
161.53 EDL Properties – Inputs Tab .................................................. 5958
161.54 EDL Properties – Load Status Inputs Tab .............................. 5961
161.55 EDL Properties – Load Status Inputs 2 Tab ........................... 5963
161.56 EDL Properties – Parameters Tab .......................................... 5965
161.57 EnthlDew Properties – Basic Tab ........................................... 5969
161.58 EnthlDew Properties – Inputs Tab .......................................... 5970
161.59 EnthlDew Properties – Parameters Tab ................................. 5972
161.60 EnthlRh Properties – Basic Tab .............................................. 5973
161.61 EnthlRh Properties – Inputs Tab ............................................ 5974
161.62 EnthlRh Properties – Parameters Tab .................................... 5976
161.63 Flo2 Properties – Basic Tab ................................................... 5977
161.64 Flo2 Properties – Control Values Tab ..................................... 5980
161.65 Flo2 Properties – Command Inputs Tab ................................ 5982
161.66 Flo2 Properties – EMS Inputs Tab .......................................... 5986
161.67 Flo2 Properties – Parameters Tab .......................................... 5990
161.68 Flo2 Properties – Controller Configuration Tab ...................... 5991
161.69 Flow Properties – Basic Tab ................................................... 5996
161.70 Flow Properties – Inputs Tab .................................................. 5998
161.71 Flow Properties – Parameters Tab ......................................... 6000
161.72 HiLo Properties – Basic Tab ................................................... 6002
161.73 HiLo Properties – Inputs Tab .................................................. 6004

Technical 04-30006-02-en, May 2019


132
161.74 HiLo Properties – Parameters Tab ......................................... 6006
161.75 Invert Properties – Basic Tab ................................................. 6008
161.76 Invert Properties – Inputs Tab ................................................ 6009
161.77 Invert Properties – Parameters Tab ........................................ 6011
161.78 LcmAI Properties – Basic Tab ................................................ 6012
161.79 LcmAI Properties – Inputs Tab ............................................... 6014
161.80 LcmAI Properties – Parameters Tab ...................................... 6015
161.81 LcmAlarm Properties – Basic Tab .......................................... 6018
161.82 LcmAlarm Properties – Inputs Tab ......................................... 6020
161.83 LcmAlarm Properties – Parameters Tab ................................ 6022
161.84 LcmAO Properties – Basic Tab .............................................. 6024
161.85 LcmAO Properties – Inputs Tab ............................................. 6026
161.86 LcmAO Properties – Parameters Tab .................................... 6028
161.87 LcmApt Properties – Basic Tab ............................................. 6030
161.88 LcmApt Properties – Inputs Tab ............................................ 6032
161.89 LcmApt Properties – Parameters Tab .................................... 6034
161.90 LcmBtuh Properties – Basic Tab ............................................ 6036
161.91 LcmBtuh Properties – Inputs Tab ........................................... 6037
161.92 LcmBtuh Properties – Parameters Tab .................................. 6039
161.93 LcmCalen Properties – Basic Tab .......................................... 6041
161.94 LcmCalen Properties – Inputs Tab ......................................... 6043
161.95 LcmCalen Properties – Parameters Tab ................................ 6045
161.96 LcmCos Properties – Basic Tab ............................................. 6047
161.97 LcmCos Properties – Inputs Tab ............................................ 6049
161.98 LcmCos Properties – Parameters Tab ................................... 6051
161.99 LcmCurve Properties – Basic Tab ......................................... 6053
161.100 LcmCurve Properties – Inputs Tab ........................................ 6054
161.101 LcmCurve Properties – Parameters Tab ................................ 6056
161.102 LcmDaily Properties – Basic Tab ........................................... 6058
161.103 LcmDaily Properties – Inputs Tab .......................................... 6060
161.104 LcmDaily Properties – Parameters Tab .................................. 6062
161.105 LcmDcc Properties – Basic Tab ............................................ 6064
161.106 LcmDcc Properties – Inputs Tab ........................................... 6066
161.107 LcmDcc Properties – Parameters Tab ................................... 6068
161.108 LcmDegDa Properties – Basic Tab ........................................ 6070
161.109 LcmDegDa Properties – Inputs Tab ....................................... 6073
161.110 LcmDegDa Properties – Parameters Tab .............................. 6075
161.111 LcmDelay Properties – Basic Tab .......................................... 6077
161.112 LcmDelay Properties – Inputs Tab ......................................... 6079
161.113 LcmDelay Properties – Parameters Tab ................................ 6081
161.114 LcmDI Properties – Basic Tab ............................................... 6082
161.115 LcmDI Properties – Inputs Tab .............................................. 6084
161.116 LcmDI Properties – Parameters Tab ...................................... 6085
161.117 LcmDO Properties – Basic Tab .............................................. 6087
161.118 LcmDO Properties – Inputs Tab ............................................. 6089
161.119 LcmDO Properties – Parameters Tab .................................... 6091
161.120 LcmDpt Properties – Basic Tab ............................................. 6093

04-30006-02-en, May 2019 Technical


133
161.121 LcmDpt Properties – Inputs Tab ............................................ 6095
161.122 LcmDpt Properties – Parameters Tab ................................... 6097
161.123 LcmEDL Properties – Basic Tab ............................................ 6099
161.124 LcmEDL Properties – Priority Slots Tab ................................. 6102
161.125 LcmEDL Properties – Inputs Tab ........................................... 6103
161.126 LcmEDL Properties – Load Status Inputs Tab ....................... 6106
161.127 LcmEDL Properties – Load Status Inputs 2 Tab .................... 6108
161.128 LcmEDL Properties – Parameters Tab ................................... 6110
161.129 LcmEnthl Properties – Basic Tab ........................................... 6114
161.130 LcmEnthl Properties – Inputs Tab .......................................... 6116
161.131 LcmEnthl Properties – Parameters Tab .................................. 6118
161.132 LcmFlow Properties – Basic Tab ............................................ 6120
161.133 LcmFlow Properties – Inputs Tab ........................................... 6122
161.134 LcmFlow Properties – Parameters Tab .................................. 6124
161.135 LcmHiLo Properties – Basic Tab ............................................ 6126
161.136 LcmHiLo Properties – Inputs Tab ........................................... 6128
161.137 LcmHiLo Properties – Parameters Tab .................................. 6130
161.138 LcmHoli Properties – Basic Tab ............................................. 6132
161.139 LcmHoli Properties – Inputs Tab ............................................ 6133
161.140 LcmHoli Properties – Parameters Tab ................................... 6135
161.141 LcmLimit Properties – Basic Tab ........................................... 6140
161.142 LcmLimit Properties – Inputs Tab .......................................... 6142
161.143 LcmLimit Properties – Parameters Tab .................................. 6144
161.144 LcmLogic Properties – Basic Tab .......................................... 6146
161.145 LcmLogic Properties – Inputs Tab ......................................... 6148
161.146 LcmLogic Properties – Parameters Tab ................................. 6150
161.147 LcmLoop Properties – Basic Tab ........................................... 6152
161.148 LcmLoop Properties – Inputs Tab .......................................... 6154
161.149 LcmLoop Properties – Parameters Tab ................................. 6157
161.150 LcmMath Properties – Basic Tab ........................................... 6161
161.151 LcmMath Properties – Inputs Tab .......................................... 6162
161.152 LcmMath Properties – Parameters Tab .................................. 6164
161.153 LcmMomen Properties – Basic Tab ....................................... 6166
161.154 LcmMomen Properties – Inputs Tab ...................................... 6168
161.155 LcmMomen Properties – Parameters Tab .............................. 6170
161.156 LcmMtr Properties – Basic Tab .............................................. 6172
161.157 LcmMtr Properties – Inputs Tab ............................................. 6174
161.158 LcmMtr Properties – Parameters Tab .................................... 6176
161.159 LcmOSS Properties – Basic Tab ............................................ 6178
161.160 LcmOSS Properties – Inputs Tab ........................................... 6181
161.161 LcmOSS Properties – Parameters Tab .................................. 6184
161.162 LcmOSS Properties – WeeklySchedule Tab .......................... 6186
161.163 LcmPoll Properties – Basic Tab ............................................. 6189
161.164 LcmPoll Properties – Inputs Tab ............................................ 6191
161.165 LcmPoll Properties – Parameters Tab .................................... 6192
161.166 LcmPulse Properties – Basic Tab .......................................... 6194
161.167 LcmPulse Properties – Inputs Tab ......................................... 6196

Technical 04-30006-02-en, May 2019


134
161.168 LcmPulse Properties – Parameters Tab ................................. 6197
161.169 LcmPwm Properties – Basic Tab ........................................... 6199
161.170 LcmPwm Properties – Inputs Tab .......................................... 6201
161.171 LcmPwm Properties – Parameters Tab .................................. 6203
161.172 LcmRamp Properties – Basic Tab ......................................... 6205
161.173 LcmRamp Properties – Inputs Tab ........................................ 6206
161.174 LcmRamp Properties – Parameters Tab ................................ 6208
161.175 LcmReset Properties – Basic Tab .......................................... 6210
161.176 LcmReset Properties – Inputs Tab ......................................... 6211
161.177 LcmReset Properties – Parameters Tab ................................ 6213
161.178 LcmRgcm Properties – Basic Tab ......................................... 6215
161.179 LcmRgcm Properties – Inputs Tab ........................................ 6217
161.180 LcmRgcm Properties – Parameters Tab ................................ 6219
161.181 LcmSeq Properties – Basic Tab ............................................. 6221
161.182 LcmSeq Properties – Inputs Tab ............................................ 6223
161.183 LcmSeq Properties – Parameters Tab ................................... 6225
161.184 LcmSlcm Properties – Basic Tab ........................................... 6228
161.185 LcmSlcm Properties – Digital Inputs Tab ............................... 6229
161.186 LcmSlcm Properties – Digital Inputs 2 Tab ............................ 6230
161.187 LcmSlcm Properties – Analog Inputs Tab .............................. 6232
161.188 LcmSlcm Properties – Parameters Tab .................................. 6234
161.189 LcmSlect Properties – Basic Tab ........................................... 6236
161.190 LcmSlect Properties – Inputs Tab .......................................... 6238
161.191 LcmSlect Properties – Parameters Tab .................................. 6240
161.192 LcmTotal Properties – Basic Tab ........................................... 6242
161.193 LcmTotal Properties – Inputs Tab .......................................... 6244
161.194 LcmTotal Properties – Parameters Tab .................................. 6246
161.195 LcmTrend Properties – Basic Tab .......................................... 6248
161.196 LcmTrend Properties – Inputs Tab ......................................... 6249
161.197 LcmTrend Properties – Parameters Tab ................................ 6251
161.198 LcmTstat Properties – Basic Tab ........................................... 6254
161.199 LcmTstat Properties – Inputs Tab .......................................... 6256
161.200 LcmTstat Properties – Parameters Tab .................................. 6258
161.201 LcmWeek Properties – Basic Tab .......................................... 6260
161.202 LcmWeek Properties – Inputs Tab ......................................... 6262
161.203 LcmWeek Properties – Parameters Tab ................................. 6264
161.204 LIM Properties – Basic Tab .................................................... 6266
161.205 LIM Properties – Relay Outputs Tab ...................................... 6267
161.206 LIM Properties – Window Values Tab .................................... 6268
161.207 LIM Properties – Digital Inputs Tab ........................................ 6269
161.208 LIM Properties – Analog Inputs Tab ....................................... 6271
161.209 LIM Properties – Parameters Tab ........................................... 6273
161.210 Limit Properties – Basic Tab .................................................. 6275
161.211 Limit Properties – Inputs Tab ................................................. 6277
161.212 Limit Properties – Parameters Tab ......................................... 6279
161.213 Logic Properties – Basic Tab ................................................. 6281
161.214 Logic Properties – Inputs Tab ................................................ 6282

04-30006-02-en, May 2019 Technical


135
161.215 Logic Properties – Parameters Tab ........................................ 6284
161.216 Loop Properties – Basic Tab .................................................. 6286
161.217 Loop Properties – Inputs Tab ................................................. 6288
161.218 Loop Properties – Parameters Tab ........................................ 6292
161.219 Math Properties – Basic Tab .................................................. 6295
161.220 Math Properties – Inputs Tab ................................................ 6296
161.221 Math Properties – Parameters Tab ......................................... 6298
161.222 MathFilt Properties – Basic Tab ............................................. 6300
161.223 MathFilt Properties – Inputs Tab ........................................... 6301
161.224 MathFilt Properties – Parameters Tab .................................... 6303
161.225 MathSqRt Properties – Basic Tab .......................................... 6304
161.226 MathSqRt Properties – Inputs Tab ........................................ 6305
161.227 MathSqRt Properties – Parameters Tab ................................. 6307
161.228 Mn Properties – Basic Tab ..................................................... 6308
161.229 Mn Properties – Digital Outputs Tab ...................................... 6310
161.230 Mn Properties – Analog Outputs Tab ..................................... 6311
161.231 Mn Properties – Digital Inputs Tab ......................................... 6312
161.232 Mn Properties – Analog Inputs Tab ........................................ 6314
161.233 Mn Properties – Parameters Tab ............................................ 6316
161.234 MnFlo Properties – Basic Tab ................................................ 6318
161.235 MnFlo Properties – Setpoints Tab .......................................... 6320
161.236 MnFlo Properties – Command Inputs Tab ............................. 6322
161.237 MnFlo Properties – EMS Inputs Tab ...................................... 6326
161.238 MnFlo Properties – Parameters Tab ....................................... 6329
161.239 MnHpfc Properties – Basic Tab ............................................. 6331
161.240 MnHpfc Properties – Inputs Tab ........................................... 6334
161.241 MnHpfc Properties – Parameters Tab .................................... 6338
161.242 Momen Properties – Basic Tab .............................................. 6340
161.243 Momen Properties – Inputs Tab ............................................. 6341
161.244 Momen Properties – Parameters Tab ..................................... 6343
161.245 MtrCycle Properties – Basic Tab ............................................ 6345
161.246 MtrCycle Properties – Inputs Tab .......................................... 6347
161.247 MtrCycle Properties – Parameters Tab ................................. 6349
161.248 MtrDays Properties – Basic Tab ............................................. 6351
161.249 MtrDays Properties – Inputs Tab ............................................ 6353
161.250 MtrDays Properties – Parameters Tab .................................. 6355
161.251 MtrState Properties – Basic Tab ............................................. 6357
161.252 MtrState Properties – Inputs Tab ........................................... 6358
161.253 MtrState Properties – Parameters Tab ................................... 6360
161.254 MtrTime Properties – Basic Tab ............................................. 6362
161.255 MtrTime Properties – Inputs Tab ............................................ 6364
161.256 MtrTime Properties – Parameters Tab .................................... 6366
161.257 OSS Properties – Basic Tab ................................................... 6368
161.258 OSS Properties – Schedule Reference Tab ........................... 6372
161.259 OSS Properties – Inputs Tab ................................................. 6373
161.260 OSS Properties – Parameters Tab ......................................... 6376
161.261 PEM Properties – ASD Session Tab ....................................... 6378

Technical 04-30006-02-en, May 2019


136
161.262 Pem1 Properties – Basic Tab ................................................. 6379
161.263 Pem1 Properties – Window Values Tab ................................. 6381
161.264 Pem1 Properties – Digital Inputs Tab .................................... 6382
161.265 Pem1 Properties – Analog Inputs Tab ................................... 6384
161.266 Pem1 Properties – Parameters Tab ....................................... 6386
161.267 PollAv Properties – Basic Tab ................................................ 6387
161.268 PollAv Properties – Inputs Tab ............................................... 6388
161.269 PollAv Properties – Parameters Tab ....................................... 6390
161.270 PollDv Properties – Basic Tab ................................................ 6391
161.271 PollDv Properties – Inputs Tab ............................................... 6392
161.272 PollDv Properties – Parameters Tab ...................................... 6394
161.273 Pulse Properties – Basic Tab ................................................. 6395
161.274 Pulse Properties – Inputs Tab ................................................ 6397
161.275 Pulse Properties – Parameters Tab ........................................ 6399
161.276 Pwm Properties – Basic Tab .................................................. 6401
161.277 Pwm Properties – Inputs Tab ................................................. 6402
161.278 Pwm Properties – Parameters Tab ......................................... 6404
161.279 Ramp Properties – Basic Tab ................................................ 6406
161.280 Ramp Properties – Inputs Tab ............................................... 6407
161.281 Ramp Properties – Parameters Tab ....................................... 6409
161.282 Reset Properties – Basic Tab ................................................. 6411
161.283 Reset Properties – Inputs Tab ............................................... 6412
161.284 Reset Properties – Parameters Tab ....................................... 6414
161.285 RlcmAv Properties – Basic Tab .............................................. 6416
161.286 RlcmAv Properties – Inputs Tab ............................................. 6417
161.287 RlcmAv Properties – Parameters Tab .................................... 6419
161.288 RlcmDv Properties – Basic Tab ............................................. 6420
161.289 RlcmDv Properties – Inputs Tab ............................................ 6421
161.290 RlcmDv Properties – Parameters Tab .................................... 6423
161.291 RnetAv Properties – Basic Tab .............................................. 6424
161.292 RnetAv Properties – Inputs Tab ............................................. 6425
161.293 RnetAv Properties – Parameters Tab ..................................... 6427
161.294 RnetDv Properties – Basic Tab .............................................. 6428
161.295 RnetDv Properties – Inputs Tab ............................................. 6429
161.296 RnetDv Properties – Parameters Tab ..................................... 6431
161.297 SeqBin Properties – Basic Tab .............................................. 6432
161.298 SeqBin Properties – Inputs Tab ............................................ 6434
161.299 SeqBin Properties – Parameters Tab .................................... 6436
161.300 SeqLin Properties – Basic Tab ............................................... 6438
161.301 SeqLin Properties – Inputs Tab ............................................. 6440
161.302 SeqLin Properties – Parameters Tab ..................................... 6442
161.303 SeqRot Properties – Basic Tab .............................................. 6444
161.304 SeqRot Properties – Inputs Tab ............................................ 6446
161.305 SeqRot Properties – Parameters Tab .................................... 6448
161.306 Sgcm Properties – Basic Tab ................................................. 6450
161.307 Sgcm Properties – Digital Inputs Tab .................................... 6451
161.308 Sgcm Properties – Digital Inputs 2 Tab .................................. 6453

04-30006-02-en, May 2019 Technical


137
161.309 Sgcm Properties – Analog Inputs Tab ................................... 6454
161.310 Sgcm Properties – Parameters Tab ....................................... 6456
161.311 Sgrp2 Properties – Basic Tab ................................................ 6457
161.312 Sgrp2 Properties – Inputs Tab ............................................... 6458
161.313 Sgrp2 Properties – Parameters Tab ....................................... 6460
161.314 SgrpFlo2 Properties – Basic Tab ........................................... 6461
161.315 SgrpFlo2 Properties – Inputs Tab ......................................... 6462
161.316 SgrpFlo2 Properties – Parameters Tab .................................. 6465
161.317 SlectAv Properties – Basic Tab .............................................. 6466
161.318 SlectAv Properties – Inputs Tab ............................................ 6467
161.319 SlectAv Properties – Parameters Tab .................................... 6469
161.320 SlectDv Properties – Basic Tab .............................................. 6470
161.321 SlectDv Properties – Inputs Tab ............................................. 6471
161.322 SlectDv Properties – Parameters Tab .................................... 6473
161.323 Total Properties – Basic Tab .................................................. 6474
161.324 Total Properties – Inputs Tab ................................................. 6476
161.325 Total Properties – Parameters Tab ......................................... 6478
161.326 Tstat Properties – Basic Tab .................................................. 6480
161.327 Tstat Properties – Inputs Tab ................................................ 6482
161.328 Tstat Properties – Parameters Tab ......................................... 6484
161.329 TstatFlt Properties – Basic Tab .............................................. 6486
161.330 TstatFlt Properties – Inputs Tab ............................................ 6488
161.331 TstatFlt Properties – Parameters Tab ..................................... 6490
161.332 VvBox Properties – Basic Tab ................................................ 6492
161.333 VvBox Properties – Inputs Tab ............................................... 6494
161.334 VvBox Properties – Parameters Tab ...................................... 6498
161.335 VvBox Properties – Setpoints Tab .......................................... 6500
161.336 Zone2 Properties – Basic Tab ................................................ 6502
161.337 Zone2 Properties – UI Values Tab ......................................... 6503
161.338 Zone2 Properties – Window Values Tab ................................ 6504
161.339 Zone2 Properties – Digital Inputs Tab .................................... 6505
161.340 Zone2 Properties – Analog Inputs Tab .................................. 6507
161.341 Zone2 Properties – Parameters Tab ...................................... 6509
161.342 Zone2 Properties – ASD Session Tab .................................... 6511
161.343 NETWORK 8000 Statistics Dialog Box – Basic Tab ............... 6512
161.344 NETWORK 8000 Statistics Dialog Box – LCM Tab ................ 6515
161.345 NETWORK 8000 Statistics Dialog Box – Block List Sort Tab . 6517

162 NETWORK 8000 Troubleshooting .......................... 6519


162.1 Cannot Import a Second GCM Database .............................. 6521
162.1.1 Solution ................................................................................ 6521
162.2 Incorrect Values Displayed Due to Unit Conversion .............. 6522
162.2.1 Solution ................................................................................ 6522
162.3 Cannot Bind a Global Reference Point .................................. 6523
162.3.1 Solution ................................................................................ 6523
162.4 Entered Property Value Exceeds Specified Limits ................ 6524
162.4.1 Solution ................................................................................ 6524

Technical 04-30006-02-en, May 2019


138
162.5 Duplicate Device Address ..................................................... 6525
162.5.1 Solution ................................................................................ 6525
162.6 Cannot Reset a NETWORK 8000 OSS Object ....................... 6526
162.6.1 Solution ................................................................................ 6526
162.7 ASD and LCM Networks Cannot be Configured to Same SmartX
Server Serial Port ................................................................... 6527
162.7.1 Solution ................................................................................ 6527
162.8 SmartX Server Serial Port Assigned to ASD Network Already
Allocated ................................................................................ 6528
162.8.1 Solution ................................................................................ 6528
162.9 ASD Port Reference is Invalid ................................................ 6529
162.9.1 Solution ................................................................................ 6529
162.10 ASD Port Reference Path is Invalid ........................................ 6530
162.10.1 Solution ................................................................................ 6530
162.11 ASD Port Reference Cannot be Changed ............................. 6531
162.11.1 Solution ................................................................................ 6531
162.12 ASD Port Reference Cannot be Assigned ............................. 6532
162.12.1 Solution ................................................................................ 6532
162.13 SmartX Server Serial Port Assigned to LCM Network Already
Allocated ................................................................................ 6533
162.13.1 Solution ................................................................................ 6533
162.14 LCM Port Reference is Invalid ............................................... 6534
162.14.1 Solution ................................................................................ 6534
162.15 LCM Port Reference Path is Invalid ....................................... 6535
162.15.1 Solution ................................................................................ 6535
162.16 LCM Port Reference Cannot be Changed ............................. 6536
162.16.1 Solution ................................................................................ 6536
162.17 LCM Port Reference Cannot be Assigned ............................. 6537
162.17.1 Solution ................................................................................ 6537
162.18 LCM Block or LCM Object Does Not Update ........................ 6538
162.18.1 Solution ................................................................................ 6538
162.19 LCM Properties Do Not Update in Graphic or Watch Pane ... 6539
162.19.1 Solution ................................................................................ 6539
162.20 Cannot Delete an LCM Device Object or LCM Block ............ 6540
162.20.1 Solution ................................................................................ 6540
162.21 Maximum Number of LCM Device Objects Exceeded .......... 6541
162.21.1 Solution ................................................................................ 6541
162.22 No Indication that Write Processes Complete for ASD
Network .................................................................................. 6542
162.22.1 Solution ................................................................................ 6542

163 I/NET Introduction ................................................... 6543


163.1 I/NET Overview ...................................................................... 6545
163.1.1 I/NET Integration .................................................................. 6545
163.1.2 I/NET Workflow .................................................................... 6545
163.1.3 INET Interface ...................................................................... 6545
163.1.4 I/NET Devices ...................................................................... 6545
163.1.5 I/NET Points ......................................................................... 6546

04-30006-02-en, May 2019 Technical


139
163.1.6 I/NET Graphics ................................................................... 6546
163.1.7 I/NET Performance Considerations ..................................... 6546
163.2 I/NET Integration ................................................................... 6547
163.2.1 Basic Support for Security Applications .............................. 6549
163.2.2 Gateway Support ................................................................. 6549
163.2.3 I/O Server ............................................................................. 6549
163.2.4 I/NET Seven Application ..................................................... 6549
163.2.5 INET Interface ..................................................................... 6549
163.3 I/NET Workflow ....................................................................... 6550
163.4 I/O Server ............................................................................... 6552
163.4.1 I/O Server Clients ................................................................. 6552
163.4.2 I/O Server as a Windows Service ......................................... 6552
163.5 I/NET Seven Application ........................................................ 6553
163.5.1 I/NET Seven Editors ............................................................. 6553
163.5.2 I/NET Message Routing ....................................................... 6554
163.6 I/NET Seven Editors ............................................................... 6555
163.7 I/NET Performance Considerations ........................................ 6556
163.8 I/NET Message Routing ......................................................... 6557
163.9 Launching I/NET Seven as an Application ............................. 6558
163.10 Logging On to the I/NET System ............................................ 6559
163.11 Updating the USB-485-INET Adapter Firmware .................... 6560

164 I/NET Interface ........................................................ 6561


164.1 INET Interface ........................................................................ 6563
164.1.1 I/NET Interface on an Enterprise Server ............................... 6563
164.1.2 I/NET Interface on a SmartX Server ..................................... 6563
164.2 Creating an INET Interface .................................................... 6565
164.3 Configuring an INET Interface ............................................... 6566

165 I/NET Devices ......................................................... 6569


165.1 I/NET Devices ........................................................................ 6571
165.1.1 Hosts, Links, and Sites ......................................................... 6571
165.1.2 DCU and MCU Devices ....................................................... 6571
165.1.3 I/NET Direct Digital Control .................................................. 6572
165.1.4 I/NET Device Configuration and Point Information ............... 6572
165.2 Discovering an I/NET Device ................................................. 6573
165.3 I/NET Device Configuration and Point Information ................. 6574
165.4 Uploading an I/NET Device’s Configuration .......................... 6575
165.5 Creating a DCU Device ......................................................... 6576
165.6 Configuring a DCU Device .................................................... 6577
165.7 Creating an MCU Device ....................................................... 6579
165.8 Configuring an MCU Device .................................................. 6580
165.9 I/NET Direct Digital Control .................................................... 6581
165.9.1 DCU DDC Devices .............................................................. 6581
165.9.2 MR DDC Devices ................................................................ 6581
165.10 Creating an MR DDC Module ................................................ 6582
165.11 Creating a DCU DDC Module ................................................ 6583

Technical 04-30006-02-en, May 2019


140
165.12 Configuring a Calculation DDC Module ................................. 6584
165.13 Configuring a Floating DDC Module ...................................... 6587
165.14 Configuring a HiLo DDC Module ........................................... 6590
165.15 Configuring a PID DDC Module ............................................. 6592
165.16 Configuring a Reset DDC Module .......................................... 6595
165.17 Configuring a Relay DDC Module .......................................... 6597
165.18 Configuring a Two Position DDC Module ............................... 6599
165.19 Station Parameters, Event Actions, and Event Sequences .... 6601
165.20 Configuring a Control Description ......................................... 6602
165.21 Configuring a State Description ............................................. 6603
165.22 Configuring a Conversion Coefficient .................................... 6604
165.23 Configuring an Engineering Unit ............................................ 6605
165.24 Configuring an Event Action .................................................. 6606
165.25 Configuring an Event Sequence ............................................ 6607
165.26 Configuring a Base Sequence ............................................... 6608
165.27 Creating an I/NET Host ......................................................... 6610
165.28 Configuring an I/NET Host .................................................... 6611
165.29 Creating an I/NET Link .......................................................... 6612
165.30 Configuring an I/NET Link ..................................................... 6613
165.31 Creating an I/NET Site ........................................................... 6614
165.32 Configuring an I/NET Site ...................................................... 6615
165.33 Updating an I/NET Device's Firmware ................................... 6616
165.34 Updating a SubLAN Device's Firmware ................................ 6617
165.35 Creating a Backup of an I/NET Device’s Database ............... 6618
165.36 Downloading the Database to an I/NET Device ..................... 6619
165.37 Updating the ASC .................................................................. 6620
165.38 Uploading ASC Parameters ................................................... 6621
165.39 Editing ASC Parameters ........................................................ 6622
165.40 Updating the MCI ................................................................... 6623
165.41 Creating a Special Day .......................................................... 6624
165.42 Creating a Time Schedule Point Extension ............................ 6625
165.43 Configuring a Time Schedule Point Extension ....................... 6626
165.44 Creating an Action on an I/NET Time Schedule ..................... 6627
165.45 Configuring an I/NET Master or Independent Time Schedule
Action ..................................................................................... 6628
165.46 Configuring an I/NET Slave Time Schedule Action ................ 6630

166 I/NET Points ............................................................ 6633


166.1 I/NET Points ........................................................................... 6635
166.1.1 I/NET Point Types and Representation ................................ 6635
166.1.2 I/NET Point Bindings ............................................................ 6635
166.1.3 I/NET Alarms, Schedules and Trends .................................. 6635
166.2 I/NET Point Types and Representation .................................. 6636
166.3 I/NET Point Bindings .............................................................. 6638
166.4 Configuring an I/NET Point ..................................................... 6641
166.5 Editing an I/NET Point ............................................................ 6647
166.6 I/NET Alarms, Schedules, and Trends ................................... 6648

04-30006-02-en, May 2019 Technical


141
166.6.1 Alarms for I/NET Devices ..................................................... 6648
166.6.2 Schedules for I/NET Devices ............................................... 6648
166.6.3 Trends for I/NET Devices ..................................................... 6648
166.7 Alarms For I/NET Devices ...................................................... 6649
166.8 Schedules for I/NET Devices ................................................. 6650
166.9 Trending I/NET Data .............................................................. 6651
166.9.1 I/NET Point Extensions used for Trending ............................ 6651
166.9.2 I/NET Trends ........................................................................ 6652
166.9.3 Trend Data Routing .............................................................. 6653
166.10 Creating an I/NET Trend ........................................................ 6654
166.11 Configuring an I/NET Trend ................................................... 6655
166.12 Creating a Trend Sampling Point Extension .......................... 6656
166.13 Configuring a Trend Sampling Point Extension ..................... 6657
166.14 Creating a Runtime Point Extension ....................................... 6659
166.15 Configuring a Runtime Point Extension .................................. 6660
166.16 Creating a Consumption Point Extension ............................... 6662
166.17 Configuring a Consumption Point Extension .......................... 6663
166.18 Creating a Temperature Control Point Extension ................... 6664
166.19 Configuring a Temperature Control Point Extension .............. 6665

167 I/NET Graphics ....................................................... 6667


167.1 I/NET Graphics ...................................................................... 6669
167.1.1 I/NET Graphics Conversion ................................................. 6669
167.1.2 Folder Hierarchy .................................................................. 6669
167.1.3 Graphic Conversion Workflow ............................................. 6670
167.2 I/NET Graphics Conversion ................................................... 6672
167.3 Converting I/NET Graphics to TGML ..................................... 6678
167.4 Moving Converted I/NET Graphics to WorkStation in a
Batch ..................................................................................... 6680
167.5 Moving Converted I/NET Graphics to WorkStation Manually . 6681

168 I/NET User Interface ............................................... 6683


168.1 I/NET Icons ............................................................................ 6687
168.2 INET Interface Properties on an Enterprise Server – Basic
Tab ......................................................................................... 6688
168.3 INET Interface Properties on a SmartX Server – Basic Tab ... 6690
168.4 INET Interface Properties on an Enterprise Server – Messages
Tab ......................................................................................... 6692
168.5 INET Interface Properties on a SmartX Server – Messages
Tab ......................................................................................... 6693
168.6 INET Host Properties – Basic Tab .......................................... 6695
168.7 INET Link Properties – Basic Tab ........................................... 6696
168.8 INET Site Properties – Basic Tab ........................................... 6697
168.9 DCU Device Properties – Basic Tab ...................................... 6698
168.10 DCU Device Properties – Alarm Configuration Tab ............... 6700
168.11 DCU Device Properties – DCU Parameters Tab .................... 6701
168.12 DCU Device Properties – Date and Time Tab ........................ 6702
168.13 DCU Device Properties - Controller Details Tab .................... 6704

Technical 04-30006-02-en, May 2019


142
168.14 DCU Device Properties – Message Distribution Tab ............. 6706
168.15 MCU Device Properties – Basic Tab ...................................... 6708
168.16 MCU Device Properties – Alarm Configuration Tab ............... 6709
168.17 Control Descriptions List Properties – Basic Tab ................... 6710
168.18 Control Description Properties – Basic Tab ........................... 6711
168.19 Conversion Coefficients List Properties – Basic Tab ............. 6713
168.20 Conversion Coefficient Properties – Basic Tab ...................... 6714
168.21 Engineering Units List Properties – Basic Tab ....................... 6715
168.22 Engineering Unit Properties – Basic Tab ............................... 6716
168.23 Event Actions List Properties – Basic Tab .............................. 6717
168.24 Event Action Properties – Basic Tab ...................................... 6718
168.25 Event Definition Properties – Basic Tab ................................. 6719
168.26 Event Entry Properties – Basic Tab ........................................ 6720
168.27 Event Sequences List Properties – Basic Tab ....................... 6721
168.28 Event Sequence Properties – Basic Tab ................................ 6722
168.29 Base Sequence Properties – Basic Tab ................................ 6723
168.30 State Descriptions List Properties – Basic Tab ...................... 6725
168.31 State Description Properties – Basic Tab .............................. 6726
168.32 Floating DCU DDC Module Properties – Basic Tab ............... 6727
168.33 HiLo DCU DDC Module Properties – Basic Tab .................... 6730
168.34 PID DCU DDC Module Properties – Basic Tab ...................... 6733
168.35 Relay DCU DDC Module Properties – Basic Tab ................... 6736
168.36 Reset DCU DDC Module Properties – Basic Tab .................. 6738
168.37 Two Position DCU DDC Module Properties – Basic Tab ........ 6741
168.38 Calculation Properties – Basic Tab ........................................ 6743
168.39 Calculation MR DDC Module Properties – Basic Tab ............ 6744
168.40 Calculation MR DDC Module Properties – Points Tab ........... 6746
168.41 Calculation MR DDC Module Properties – Lines Tab ............ 6748
168.42 Calculation MR DDC Module Properties – Constants Tab ..... 6750
168.43 Floating MR DDC Module Properties – Basic Tab ................. 6752
168.44 PID MR DDC Module Properties – Basic Tab ........................ 6755
168.45 Reset MR DDC Module Properties – Basic Tab ..................... 6758
168.46 Relay MR DDC Module Properties – Basic Tab ..................... 6760
168.47 Two Position MR DDC Module Properties – Basic Tab .......... 6762
168.48 INET Point Properties – Basic Tab ......................................... 6764
168.49 INET Point Properties – Edit Tab ............................................ 6766
168.50 INET Point Properties – Message Distribution Tab ................ 6770
168.51 INET Point Properties – Extensions Tab ................................. 6772
168.52 INET Point Properties – Alarm Configuration Tab .................. 6773
168.53 INET Trend Properties – Basic Tab ........................................ 6774
168.54 Trend Sampling Properties – Basic Tab ................................ 6775
168.55 Runtime Properties – Basic Tab ............................................. 6778
168.56 Consumption Properties – Basic Tab ..................................... 6780
168.57 Actions Menu – Edit Submenu ............................................... 6781
168.58 ASC Parameters – Basic Tab (AHU) ...................................... 6783
168.59 ASC Parameters – Basic Tab (HPMP) ................................... 6791
168.60 ASC Parameters – Basic Tab (VAV) ....................................... 6797

04-30006-02-en, May 2019 Technical


143
168.61 ASC Parameters – Basic Tab (VAVX2) .................................. 6804
168.62 Special Days List – Basic Tab ................................................ 6812
168.63 Special Days Properties – Basic Tab ..................................... 6814
168.64 I/NET Time Schedule Properties – Basic Tab ........................ 6815
168.65 Master or Independent Time Schedule Action Properties – Basic
Tab ......................................................................................... 6817
168.66 Slave Time Schedule Action Properties – Basic Tab ............. 6819
168.67 I/NET Temperature Control Properties - Basic Tab ................ 6821

169 I/NET Troubleshooting ............................................ 6825


169.1 I/NET Events are Not Showing Up in WorkStation ................. 6827
169.1.1 Solution ................................................................................ 6827

170 MicroNet Introduction ............................................. 6829


170.1 MicroNet Overview ................................................................ 6831
170.1.1 MicroNet Workflow ............................................................... 6831
170.1.2 MicroNet Interface ............................................................... 6831
170.1.3 MicroNet Networks .............................................................. 6831
170.1.4 MicroNet Devices ................................................................ 6832
170.1.5 MicroNet Objects ................................................................. 6832
170.2 MicroNet Workflow ................................................................. 6833
170.2.1 Integration Flowchart ........................................................... 6834
170.2.2 MicroNet Representation .................................................... 6835
170.2.3 MicroNet Interface Creation ................................................. 6835
170.2.4 Port Allocation and Configuration ........................................ 6835
170.2.5 IP Tunneling ......................................................................... 6835
170.2.6 VisiSat Programming ........................................................... 6835
170.2.7 Update Files ......................................................................... 6836
170.2.8 Data Import .......................................................................... 6836
170.3 Integration Flowchart ............................................................. 6837
170.4 MicroNet Representation ....................................................... 6839
170.5 MicroNet Interface Creation ................................................... 6841
170.6 Port Allocation and Configuration .......................................... 6842
170.7 Creating an RS-232 Port ........................................................ 6844
170.8 Configuring a Serial Port ........................................................ 6845
170.9 Launching VisiSat ................................................................. 6847
170.10 IP Tunneling ........................................................................... 6848
170.11 VisiSat Programming ............................................................. 6849
170.12 Update Files .......................................................................... 6851
170.12.1 Update File Export ............................................................... 6851
170.12.2 Update File Path .................................................................. 6852
170.13 Data Import ............................................................................ 6853
170.13.1 Functions Available After Import .......................................... 6853
170.14 Importing MicroNet Network Data ......................................... 6854
170.15 Functions Available After Import ............................................ 6855

171 MicroNet Networks ................................................. 6857


171.1 MicroNet Interface ................................................................. 6859

Technical 04-30006-02-en, May 2019


144
171.2 MicroNet Networks ................................................................ 6860
171.2.1 MicroNet Network Protocols ................................................ 6860
171.2.2 MicroNet Network Connectivity ........................................... 6860
171.2.3 MicroNet Network Communications .................................... 6860
171.3 Configuring a MicroNet Subnet ............................................. 6861
171.4 Creating a MicroNet Interface ................................................ 6862
171.5 Configuring a MicroNet Interface ........................................... 6863
171.6 MicroNet Network Protocols .................................................. 6865
171.6.1 NCP Networks ...................................................................... 6865
171.6.2 SNP Networks ...................................................................... 6865
171.6.3 ARCNET Networks ............................................................... 6865
171.7 NCP Networks ........................................................................ 6866
171.8 SNP Networks ........................................................................ 6867
171.9 ARCNET Networks ................................................................. 6868
171.10 MicroNet Network Connectivity ............................................. 6869
171.10.1 Connectivity - SmartX Server ............................................... 6869
171.10.2 Connectivity - Enterprise Server .......................................... 6869
171.11 Connectivity – SmartX Servers ............................................... 6870
171.11.1 NCP or SNP using a Serial Link ........................................... 6870
171.11.2 ARCNET using an MNMI ...................................................... 6870
171.12 NCP or SNP using a Serial Link .............................................. 6871
171.13 ARCNET to SmartX Server Using an MNMI ........................... 6872
171.14 Connectivity – Enterprise Server ............................................ 6873
171.14.1 NCP or SNP using an RS-232 to RS-485 Converter ............. 6873
171.14.2 NCP or SNP using a USB to RS-485 Converter ................... 6873
171.14.3 NCP using a Serial Link and MNMI ...................................... 6873
171.14.4 SNP using a Serial Link and MIU ......................................... 6873
171.14.5 ARCNET using an MNMI ...................................................... 6873
171.15 NCP or SNP using an RS-232 to RS-485 Converter ............... 6875
171.16 NCP or SNP using a USB to RS-485 Converter ...................... 6876
171.17 NCP using a Serial Link and MNMI ........................................ 6877
171.18 SNP using a Serial Link and MIU ........................................... 6878
171.19 ARCNET to Enterprise Server using an MNMI ....................... 6879
171.20 MicroNet Network Communications ...................................... 6880
171.20.1 Read or Write Failure ........................................................... 6880
171.20.2 Receive Timeout .................................................................. 6880
171.20.3 Time Synchronization ........................................................... 6880
171.20.4 Online or Offline Monitoring ................................................. 6881
171.20.5 Error Count ........................................................................... 6881
171.20.6 Poll Interval .......................................................................... 6881
171.20.7 Generic RS-485 Network Devices ....................................... 6881
171.21 Read or Write Failure ............................................................. 6882
171.22 Receive Timeout .................................................................... 6883
171.23 Online or Offline Monitoring ................................................... 6884
171.24 Error Count ............................................................................. 6885
171.25 Poll Interval ............................................................................ 6886

04-30006-02-en, May 2019 Technical


145
172 MicroNet Devices ................................................... 6887
172.1 MicroNet Devices .................................................................. 6889
172.2 Configuring a MicroNet Device .............................................. 6890

173 MicroNet Objects .................................................... 6891


173.1 MicroNet Objects ................................................................... 6893
173.1.1 Standard Objects ................................................................. 6893
173.1.2 Special Objects ................................................................... 6893
173.1.3 Object Enumerations ........................................................... 6893
173.1.4 MicroNet Alarms, Schedules, Trend Logs ........................... 6894
173.1.5 Data Types ........................................................................... 6894
173.1.6 MicroNet Point Data Storage ............................................... 6894
173.2 Configuring a MicroNet Point ................................................. 6895
173.3 Viewing VisiSat Properties of a Point or Object ...................... 6896
173.4 Standard Objects ................................................................... 6897
173.5 Special Objects ..................................................................... 6899
173.5.1 Lookup Tables ..................................................................... 6899
173.5.2 Holiday Schedules ............................................................... 6899
173.5.3 Time Schedules ................................................................... 6899
173.5.4 Optimiser ............................................................................. 6899
173.5.5 Control Loops ...................................................................... 6899
173.6 Lookup Tables ....................................................................... 6901
173.6.1 MicroNet Lookup Tables ...................................................... 6901
173.6.2 MMC Lookup Tables ............................................................ 6901
173.7 Configuring a Lookup Table .................................................. 6902
173.8 Configuring an MMC Compensator Curve ............................. 6904
173.9 Configuring an MMC Output Reset Lookup Table ................. 6906
173.10 Holiday Schedules ................................................................. 6908
173.11 Configuring a Holiday Schedule ............................................ 6909
173.12 Configuring an IAC Holiday Schedule ................................... 6911
173.13 Time Schedules ..................................................................... 6913
173.13.1 MicroNet and IAC Time Schedules ...................................... 6913
173.13.2 Optimiser Time Schedule .................................................... 6913
173.14 Configuring a Time Schedule ................................................ 6914
173.15 Adding an Event to a MicroNet Time Schedule ..................... 6915
173.16 MicroNet and IAC Time Schedules ........................................ 6916
173.17 Optimiser ............................................................................... 6917
173.17.1 Optimiser Parameter Block .................................................. 6917
173.17.2 Optimiser Histogram ............................................................ 6917
173.17.3 Optimiser Time Schedule .................................................... 6917
173.18 Optimiser Parameter Block .................................................... 6919
173.18.1 Configuration ....................................................................... 6919
173.18.2 Status ................................................................................... 6919
173.19 Configuring the Optimiser Parameter Block .......................... 6920
173.20 Optimiser Histogram .............................................................. 6923
173.21 Configuring an Optimiser Histogram ..................................... 6924
173.22 Clearing an Optimiser Histogram .......................................... 6927

Technical 04-30006-02-en, May 2019


146
173.23 Optimiser Time Schedule ....................................................... 6928
173.24 Configuring an Optimiser Time Schedule .............................. 6929
173.25 Control Loops ........................................................................ 6930
173.25.1 PID Control ........................................................................... 6930
173.25.2 Two-Stage PID Control ........................................................ 6930
173.26 PID Control ............................................................................ 6931
173.26.1 Control Loop Algorithm ....................................................... 6931
173.26.2 Control Loop Override ........................................................ 6932
173.26.3 PID Control Loop Configuration ........................................... 6932
173.27 PID Control Loop Configuration ............................................. 6933
173.27.1 Loop Action .......................................................................... 6933
173.27.2 Proportional (P) Control ....................................................... 6933
173.27.3 Proportional plus Integral (PI) Control .................................. 6933
173.27.4 Proportional plus Integral plus Derivative (PID) Control ...... 6934
173.27.5 Auto-tuning .......................................................................... 6934
173.28 Configuring a PID Control Loop ............................................. 6937
173.29 Auto-tuning a PID Control Loop ............................................. 6940
173.30 Two-Stage PID Control .......................................................... 6943
173.30.1 Control Loop Algorithm ........................................................ 6943
173.30.2 Deadzones .......................................................................... 6944
173.30.3 Boost ................................................................................... 6944
173.30.4 Single-Stage Control ............................................................ 6944
173.30.5 Control State Indication ....................................................... 6945
173.31 Configuring a Two-Stage PID Control Loop ........................... 6946
173.32 Object Enumerations ............................................................. 6950
173.32.1 MicroNet Enumerations ....................................................... 6950
173.32.2 IAC Enumerations ................................................................ 6950
173.32.3 Unifact Pro Enumerations .................................................... 6950
173.32.4 Special Object Enumerations .............................................. 6950
173.33 MicroNet Enumerations ......................................................... 6951
173.34 IAC Enumerations .................................................................. 6958
173.35 Unifact Pro Enumerations ...................................................... 6962
173.36 Special Object Enumerations ................................................ 6964
173.37 Data Types ............................................................................ 6968
173.37.1 Analog Data ......................................................................... 6968
173.37.2 Digital Data .......................................................................... 6968
173.37.3 Not Active ............................................................................ 6968
173.38 Analog Data ........................................................................... 6969
173.39 Not Active .............................................................................. 6970
173.40 MicroNet Alarms, Schedules, Trend Logs ............................. 6971
173.40.1 Alarms for MicroNet Devices ............................................... 6971
173.40.2 Schedules for MicroNet Devices ......................................... 6971
173.40.3 Trend Logs for MicroNet Devices ........................................ 6972
173.41 MicroNet Point Data Storage ................................................. 6973

174 MicroNet User Interface .......................................... 6975


174.1 MicroNet System Tree Icons .................................................. 6979

04-30006-02-en, May 2019 Technical


147
174.2 MicroNet Interface Properties – Basic Tab ............................ 6980
174.3 MicroNet Interface Properties – Advanced Tab ..................... 6982
174.4 Serial Port Properties – Basic Tab .......................................... 6984
174.5 Data Import Dialog Box .......................................................... 6986
174.6 Subnet Properties – Basic Tab ............................................... 6987
174.7 MicroNet Device Properties – Basic Tab ............................... 6989
174.8 Standard Object Properties – Basic Tab ............................... 6991
174.9 Standard Object Properties – Advanced Tab ........................ 6992
174.10 Standard Object Properties – VisiSat Tab .............................. 6994
174.11 Lookup Table Properties – Basic Tab .................................... 6996
174.12 Lookup Table Properties – Advanced Tab ............................ 6997
174.13 Lookup Table Properties – VisiSat Tab .................................. 6998
174.14 Lookup Table Properties – Inputs Tab ................................... 7000
174.15 Lookup Table Properties – Outputs Tab ................................ 7002
174.16 MMC Compensator Curve Properties – Basic Tab ................ 7004
174.17 MMC Compensator Curve Properties – Advanced Tab ......... 7005
174.18 MMC Compensator Curve Properties – VisiSat Tab .............. 7006
174.19 MMC Compensator Curve Properties – X Tab ....................... 7008
174.20 MMC Compensator Curve Properties – Y Tab ....................... 7009
174.21 MMC Output Reset Lookup Table Properties – Basic Tab ..... 7010
174.22 MMC Output Reset Lookup Table Properties – Advanced
Tab ......................................................................................... 7011
174.23 MMC Output Reset Lookup Table Properties – VisiSat Tab ... 7012
174.24 MMC Output Reset Lookup Table Properties – X Tab ........... 7014
174.25 MMC Output Reset Lookup Table Properties – Y Tab ........... 7015
174.26 MicroNet Schedule Editor View ............................................. 7016
174.27 MicroNet Schedule Editor Toolbar ......................................... 7017
174.28 MicroNet Schedule Event Properties Dialog Box ................... 7018
174.29 Holiday Schedule Properties – Basic Tab .............................. 7019
174.30 Holiday Schedule Properties – Advanced Tab ...................... 7020
174.31 Holiday Schedule Properties – VisiSat Tab ............................ 7021
174.32 MicroNet Calendar Editor View .............................................. 7023
174.33 Time Schedule Properties – Basic Tab .................................. 7025
174.34 Time Schedule Properties – Advanced Tab .......................... 7026
174.35 Time Schedule Properties – VisiSat Tab ................................ 7027
174.36 IAC Holiday Schedule Properties – Basic Tab ....................... 7029
174.37 IAC Holiday Schedule Properties – Advanced Tab ............... 7031
174.38 IAC Holiday Schedule Properties – VisiSat Tab ..................... 7032
174.39 Optimiser Parameter Block Properties – Basic Tab ............... 7034
174.40 Optimiser Parameter Block Properties – Advanced Tab ....... 7036
174.41 Optimiser Parameter Block Properties – VisiSat Tab ............. 7037
174.42 Optimiser Parameter Block Properties – Parameters Tab ...... 7038
174.43 Optimiser Histogram Properties – Basic Tab ......................... 7040
174.44 Optimiser Histogram Properties – Advanced Tab ................. 7041
174.45 Optimiser Histogram Properties – VisiSat Tab ....................... 7042
174.46 Optimiser Histogram Properties – Early Tab .......................... 7044
174.47 Optimiser Histogram Properties – Late Tab ........................... 7046

Technical 04-30006-02-en, May 2019


148
174.48 Optimiser Time Schedule Properties – Basic Tab .................. 7048
174.49 Optimiser Time Schedule Properties – Advanced Tab .......... 7049
174.50 Optimiser Time Schedule Properties – VisiSat Tab ................ 7050
174.51 PID Control Properties – Basic Tab ........................................ 7052
174.52 PID Control Properties – Advanced Tab ................................ 7053
174.53 PID Control Properties – VisiSat Tab ...................................... 7054
174.54 PID Control Properties – Parameters Tab .............................. 7055
174.55 Two-Stage PID Control Properties – Basic Tab ...................... 7058
174.56 Two-Stage PID Control Properties – Advanced Tab .............. 7060
174.57 Two-Stage PID Control Properties – VisiSat Tab .................... 7061
174.58 Two-Stage PID Control Properties – Parameters Tab ............ 7062

175 MicroNet Troubleshooting ...................................... 7067


175.1 Data Import dialog displays ‘Unable to read’ message ......... 7069
175.1.1 Solution ................................................................................ 7069
175.2 Data Import dialog displays 'Type not found' message ........ 7070
175.2.1 Solution ................................................................................ 7070
175.3 Data import fails after changing Update file path .................. 7071
175.3.1 Solution ................................................................................ 7071
175.4 Read or Write Failure ............................................................. 7072
175.4.1 Solution ................................................................................ 7072
175.5 Status Information displays Offline ........................................ 7073
175.5.1 Solution ................................................................................ 7073
175.6 Object Error Count not Zero ................................................... 7074
175.6.1 Solution ................................................................................ 7074

176 Sigma Introduction ................................................. 7075


176.1 Sigma Overview ..................................................................... 7077
176.1.1 Sigma Workflow ................................................................... 7077
176.1.2 Sigma Interface .................................................................... 7077
176.1.3 Sigma Networks ................................................................... 7077
176.1.4 Sigma Devices ..................................................................... 7078
176.1.5 Sigma Objects ..................................................................... 7078
176.1.6 Sigma Action Schedules ...................................................... 7078
176.2 Sigma Workflow ..................................................................... 7079
176.2.1 Integration Flowchart ........................................................... 7080
176.2.2 Sigma Interface Creation ..................................................... 7081
176.2.3 Sigma Data Import ............................................................... 7081
176.2.4 Sigma Programming ............................................................ 7081
176.3 Integration Flowchart ............................................................. 7082
176.4 Sigma Interface Creation ....................................................... 7084
176.5 Sigma Data Import ................................................................. 7085
176.5.1 Partial Data Imports ............................................................. 7086
176.5.2 Short Form Edit (SFE) Data Imports ..................................... 7086
176.5.3 Long Texts Data Imports ...................................................... 7087
176.5.4 Data Importer Conversion Warning Messages .................... 7087
176.5.5 Data Importer Conversion Error Messages ......................... 7087

04-30006-02-en, May 2019 Technical


149
176.5.6 Data Importer Conversion Failed Messages ....................... 7087
176.5.7 Graphics Error Messages in the Trace File .......................... 7087
176.5.8 Functions Available After Import .......................................... 7088
176.6 Partial Data Imports ............................................................... 7089
176.7 Short Form Edit (SFE) Data Imports ....................................... 7090
176.8 Long Texts Data Imports ........................................................ 7091
176.9 Importing Sigma Data ........................................................... 7092
176.10 Functions Available after Import ............................................ 7093
176.11 Sigma Programming .............................................................. 7095
176.12 Sigma Interface ..................................................................... 7097
176.12.1 Sigma Representation ......................................................... 7097
176.12.2 Object Types ....................................................................... 7097
176.13 Creating a Sigma Interface .................................................... 7099
176.14 Configuring a Sigma Interface ............................................... 7100
176.15 Sigma Representation ........................................................... 7103
176.15.1 Controllers ........................................................................... 7103
176.15.2 Segments ............................................................................ 7105
176.16 Creating a Segment ............................................................... 7106
176.17 Sigma Networks ..................................................................... 7107
176.17.1 Sigma Network Protocols ..................................................... 7107
176.17.2 Sigma Network Connectivity ................................................ 7108
176.17.3 Sigma Globals and RUDs Monitoring .................................. 7109

177 Sigma Devices ........................................................ 7111


177.1 Sigma Devices ....................................................................... 7113
177.1.1 Global Values Device .......................................................... 7113
177.1.2 Controller Diagnostics ......................................................... 7113
177.1.3 Device Monitoring ................................................................ 7114
177.2 Configuring a Sigma Device .................................................. 7115
177.3 Controller Diagnostics ........................................................... 7116
177.3.1 Controller Time ..................................................................... 7116
177.3.2 Log Set Statistics ................................................................. 7116
177.3.3 Network Communication Statistics ...................................... 7116
177.3.4 Node Statistics ..................................................................... 7116
177.3.5 Sigma Diagnostics ............................................................... 7117
177.4 Retiming a Controller ............................................................. 7118
177.5 Creating a Controller Retime Action Schedule ...................... 7119
177.6 Configuring a Controller Retime Action Schedule ................. 7120
177.7 Setting a Controller Online ..................................................... 7121
177.8 Log Set Statistics ................................................................... 7122
177.9 Warm Starting and Cold Starting a Controller ....................... 7123
177.10 Network Communication Statistics ........................................ 7124
177.11 Resetting Network Communication Statistics ........................ 7125
177.12 Node Statistics ....................................................................... 7126
177.13 Device Monitoring .................................................................. 7127

178 Sigma Objects ........................................................ 7129

Technical 04-30006-02-en, May 2019


150
178.1 Sigma Objects ....................................................................... 7131
178.1.1 Sigma Hardware Objects .................................................... 7131
178.1.2 Sigma Software Objects ...................................................... 7131
178.1.3 Graphics .............................................................................. 7131
178.1.4 Sigma Short Form Edit Graphics ......................................... 7132
178.1.5 Log Sets ............................................................................... 7132
178.1.6 Contingency Logs ................................................................ 7132
178.1.7 Sigma Text Reports ............................................................. 7132
178.1.8 Global Values ....................................................................... 7132
178.1.9 Alarms ................................................................................. 7133
178.1.10 Time Extensions ................................................................... 7133
178.1.11 Sigma Values and Reasons for State ................................... 7133
178.1.12 Sigma Mnemonics ............................................................... 7134
178.1.13 Sigma Link Addressing ........................................................ 7134
178.1.14 Sigma Menus Navigation View ............................................ 7134
178.2 Sigma Values and Reasons for State ..................................... 7135
178.3 Configuring a Sigma Object .................................................. 7139
178.4 Sigma Hardware Objects ...................................................... 7140
178.4.1 Analog Input ........................................................................ 7140
178.4.2 Analog Output ...................................................................... 7140
178.4.3 Digital Input .......................................................................... 7140
178.4.4 Digital Output ....................................................................... 7140
178.4.5 Meter ................................................................................... 7140
178.4.6 Pulse Counter ...................................................................... 7141
178.4.7 Standby Generator .............................................................. 7141
178.5 Analog Output ........................................................................ 7142
178.6 Digital Output ......................................................................... 7143
178.7 Creating a Digital Output Edge Trigger Pulse ........................ 7144
178.8 Sigma Software Objects ........................................................ 7145
178.8.1 Calculation Object ............................................................... 7145
178.8.2 Control Object ...................................................................... 7145
178.8.3 Degree Day .......................................................................... 7145
178.8.4 Holiday Schedule ................................................................. 7146
178.8.5 Optimizer ............................................................................. 7146
178.8.6 Programmable Object ......................................................... 7146
178.8.7 Rotation ............................................................................... 7146
178.8.8 Setpoint Adjust ..................................................................... 7147
178.8.9 Time Schedule ..................................................................... 7147
178.9 Control Object ........................................................................ 7148
178.10 Configuring a Control Stage .................................................. 7150
178.11 Configuring a Control Stage using Short Form Edit ............... 7151
178.12 Holiday Schedule ................................................................... 7152
178.13 Configuring a Sigma Holiday Schedule ................................. 7153
178.14 Optimizer ............................................................................... 7155
178.15 Configuring an Optimizer ....................................................... 7156
178.16 Configuring a Heating Optimizer using Short Form Edit ........ 7157
178.17 Configuring a Cooling Optimizer using Short Form Edit ........ 7158

04-30006-02-en, May 2019 Technical


151
178.18 Setpoint Adjust Object ........................................................... 7159
178.19 Configuring a Setpoint Adjust Object .................................... 7160
178.20 Configuring a Setpoint Adjust using Short Form Edit ............. 7161
178.21 Rotation Object ...................................................................... 7162
178.22 Configuring a Rotation Object ............................................... 7163
178.23 Programmable Object ........................................................... 7164
178.24 Configuring a Programmable Object ..................................... 7165
178.25 Sigma Time Schedules .......................................................... 7166
178.26 Configuring a Sigma Time Schedule ..................................... 7167
178.27 Overriding a Time Schedule .................................................. 7168
178.28 Time Extensions ..................................................................... 7169
178.29 Editing a Time Extension ........................................................ 7170
178.30 Sigma Link Addressing .......................................................... 7171
178.31 Enabling Sigma Link Addressing ........................................... 7172
178.32 Sigma Menus Navigation View .............................................. 7173
178.32.1 Sigma Menus Folder ............................................................ 7173

179 Sigma Graphics ...................................................... 7175


179.1 Sigma Graphics ..................................................................... 7177
179.2 Configuring the Graphics Folder ........................................... 7181
179.3 Bind TGML Graphics to Sigma Object Properties ................. 7182

180 Sigma Logging ....................................................... 7183


180.1 Log Sets ................................................................................. 7185
180.1.1 Allocation of Log Set Numbers ............................................ 7186
180.1.2 Log Set Types and Configuration ........................................ 7186
180.1.3 Logs ..................................................................................... 7186
180.1.4 Create Logs Sets ................................................................ 7186
180.1.5 Log Set Workflow ................................................................. 7187
180.1.6 Notification Reports for Sigma Logs .................................... 7187
180.1.7 Sigma Log Set ArchiveS ...................................................... 7187
180.2 Log Set Workflow ................................................................... 7188
180.3 Configuring the Log Sets Folder ............................................ 7190
180.4 Creating a Log Set ................................................................. 7191
180.5 Configuring a Log Set ............................................................ 7192
180.6 Creating a Log ....................................................................... 7194
180.7 Configuring a Log .................................................................. 7195
180.8 Associating a Log with an Extended Trend Log .................... 7196
180.9 Sending Log Sets and Retrieving Logged Values ................. 7197
180.10 Creating a Log Set Retrieval Action Schedule ....................... 7198
180.11 Configuring a Log Set Retrieval Action Schedule .................. 7199
180.12 Contingency Logs .................................................................. 7200
180.13 Viewing a Contingency Log Chart or List ............................... 7201
180.14 Configuring a Contingency Log ............................................. 7202
180.15 Creating a Sigma Interval Log Set Using the Wizard ............ 7203
180.16 Creating a Sigma Change of Value Log Set Using the Wizard
............................................................................................... 7204
180.17 Notification Reports for Sigma Logs ...................................... 7205

Technical 04-30006-02-en, May 2019


152
180.18 Sigma Log Set Archives ......................................................... 7206
180.19 Configuring Log Set Archives Folder ..................................... 7207

181 Sigma Text Reports ................................................ 7209


181.1 Sigma Text Reports ............................................................... 7211
181.1.1 Sigma Active Alarms Report ................................................ 7211
181.1.2 Sigma Hours Run Report ..................................................... 7211
181.1.3 Sigma Plant Review Report .................................................. 7211
181.1.4 Sigma Report Text Report .................................................... 7211
181.1.5 Sigma Diagnostics Text Reports .......................................... 7211
181.2 Sigma Active Alarms Report .................................................. 7212
181.3 Sigma Hours Run Report ....................................................... 7213
181.4 Sigma Plant Review Report .................................................... 7214
181.5 Sigma Report Text Report ...................................................... 7216
181.6 Sigma Diagnostics Text Reports ........................................... 7218
181.6.1 Sigma Diagnostics Controller Contents Report ................... 7218
181.6.2 Sigma Diagnostics Controller Time Report .......................... 7219
181.6.3 Sigma Diagnostics Log Set Statistics Report ....................... 7219
181.6.4 Sigma Diagnostics Node Statistics Report .......................... 7220
181.7 Creating a Sigma Diagnostics Text Report ............................ 7223

182 Global Values ......................................................... 7225


182.1 Global Values ........................................................................ 7227
182.1.1 Global Values in Sigma ........................................................ 7227
182.1.2 Global Values from Sigma ................................................... 7228
182.1.3 Global Values to Sigma ........................................................ 7228
182.1.4 Global Values Workflows ..................................................... 7228
182.2 Global Values from Sigma ..................................................... 7229
182.3 Global Values to Sigma .......................................................... 7231
182.4 Global Values Workflows ....................................................... 7233
182.4.1 Global Values from Sigma ................................................... 7233
182.4.2 Global Values to Sigma ........................................................ 7233
182.5 Creating a Global Values Device ........................................... 7236
182.6 Configuring a Global Values Device ...................................... 7237
182.7 Creating a Global Value ......................................................... 7238
182.8 Configuring a Global Value .................................................... 7239

183 Sigma Alarms ......................................................... 7241


183.1 Sigma Alarms ........................................................................ 7243
183.1.1 Alarm Types ......................................................................... 7243
183.1.2 Alarm Creation and Acknowledgement ............................... 7244
183.1.3 Routing of Alarms ................................................................ 7244
183.1.4 Alarm Enable, Inhibit, and Edit ............................................ 7244
183.1.5 Audible Alarm Warnings ...................................................... 7244
183.1.6 Precancellation and Cancellation of Hours Limit Alarms ..... 7245
183.1.7 Alarm Status ......................................................................... 7245
183.1.8 Sigma Long Text .................................................................. 7247
183.2 Configuring a Sigma Alarm .................................................... 7249

04-30006-02-en, May 2019 Technical


153
183.3 Configuring a Window Alarm using Short Form Edit .............. 7251
183.4 Configuring a Cross Reference Alarm using Short Form Edit 7252
183.5 Configuring a High Limit Alarm using Short Form Edit ........... 7253
183.6 Configuring a Low Limit Alarm using Short Form Edit ............ 7254
183.7 Configuring a Digital Alarm using Short Form Edit ................. 7255
183.8 Enabling or Inhibiting an Alarm .............................................. 7256
183.9 Precancelling or Cancelling an Hours Limit Alarm ................. 7257

184 Sigma User Interface .............................................. 7259


184.1 Sigma Interface Properties – Basic Tab ................................. 7263
184.2 Sigma Interface Properties – Advanced Tab ......................... 7265
184.3 Sigma System Tree Icons ...................................................... 7268
184.4 Data Import Dialog Box .......................................................... 7270
184.5 Actions Menu - Sigma Diagnostics Submenu ........................ 7271
184.6 Action Schedules Folder Properties – Basic Tab ................... 7272
184.7 Log Set Retrieval Action Schedule Properties – Basic Tab .... 7273
184.8 Controller Retime Properties – Basic Tab .............................. 7274
184.9 Controllers Folder Properties – Basic Tab ............................. 7275
184.10 Sigma Device Properties – Basic Tab .................................... 7276
184.11 Device Port Properties – Basic Tab ....................................... 7278
184.12 Diagnostics Folder Properties – Basic Tab ............................ 7279
184.13 Controller Time Properties – Basic Tab .................................. 7280
184.14 Log Set Statistics Properties – Basic Tab .............................. 7281
184.15 Network Communication Statistics Properties – Basic Tab ... 7283
184.16 Network Communication Statistics Properties – Packets Tab 7285
184.17 Network Communication Statistics Properties – Subscriptions
Tab ......................................................................................... 7287
184.18 Network Communication Statistics Properties – Alarms Tab . 7289
184.19 Network Communication Statistics Properties – Logs Tab .... 7291
184.20 Network Communication Statistics Properties – File Operations
Tab ......................................................................................... 7292
184.21 Network Communication Statistics Properties – Advanced
Tab ......................................................................................... 7294
184.22 Network Communication Statistics Properties – Debug Tab . 7296
184.23 Node Statistics Properties – Basic Tab .................................. 7298
184.24 Node Statistics Properties – Ports Tab ................................... 7300
184.25 Node Statistics Properties – Entity Buffers Tab ...................... 7302
184.26 Node Statistics Properties – Data Buffers Tab ....................... 7304
184.27 Node Statistics Properties – Message Queues Tab ............... 7306
184.28 Node Statistics Properties – Data Queues Tab ...................... 7308
184.29 x96 Device Slot Properties – Basic Tab ................................. 7309
184.30 Analog Input Properties – Basic Tab ..................................... 7310
184.31 Analog Output Properties – Basic Tab ................................... 7312
184.32 Digital Input Properties – Basic Tab ....................................... 7313
184.33 Digital Output Properties – Basic Tab .................................... 7315
184.34 Control Properties – Basic Tab .............................................. 7317
184.35 Control Stage Properties – Basic Tab .................................... 7318
184.36 Degree Day Properties – Basic Tab ....................................... 7320

Technical 04-30006-02-en, May 2019


154
184.37 Edge Trigger Pulse Properties – Basic Tab ........................... 7321
184.38 Calculation Object Properties – Basic Tab ............................ 7322
184.39 Time Schedule Properties – Basic Tab .................................. 7324
184.40 Time Extension Properties – Basic Tab .................................. 7325
184.41 Holiday Schedule Properties – Basic Tab .............................. 7326
184.42 Schedule Editor View ............................................................. 7327
184.43 Sigma Schedule Event Properties Dialog Box ....................... 7328
184.44 Meter Properties – Basic Tab ................................................. 7329
184.45 Optimizer Properties – Basic Tab .......................................... 7331
184.46 Optimizer Heating Linear Properties – Basic Tab .................. 7333
184.47 Optimizer Heating Logarithmic Properties – Basic Tab ......... 7334
184.48 Optimizer Cooling Linear Properties – Basic Tab .................. 7335
184.49 Optimizer Cooling Logarithmic Properties – Basic Tab ......... 7336
184.50 Pulse Counter Properties – Basic Tab ................................... 7337
184.51 Rotation Object Properties – Basic Tab ................................. 7339
184.52 Setpoint Adjust Properties – Basic Tab .................................. 7340
184.53 Secondary Input Properties – Basic Tab ............................... 7341
184.54 Standby Generator Properties – Basic Tab ........................... 7343
184.55 Programmable Object Properties – Basic Tab ...................... 7344
184.56 Sigma Object Properties – Advanced Tab ............................ 7346
184.57 Alarm Properties – Basic Tab ................................................. 7347
184.58 Alarm Properties – Alarm Settings Tab .................................. 7349
184.59 Alarm Properties – Advanced Tab ......................................... 7352
184.60 Contingency Log Properties – Basic Tab .............................. 7354
184.61 Global Values Device Properties – Basic Tab ........................ 7355
184.62 Analog Input Global Value Properties – Basic Tab ................ 7356
184.63 Analog Output Global Value Properties – Basic Tab ............. 7357
184.64 Digital Input Global Value Properties – Basic Tab ................. 7358
184.65 Digital Output Global Value Properties – Basic Tab .............. 7359
184.66 Analog and Digital Input Global Value Properties – Advanced
Tab ......................................................................................... 7360
184.67 Graphics Folder Properties – Basic Tab ................................ 7361
184.68 Graphics Subfolder Properties – Basic Tab ........................... 7362
184.69 Graphics Item Context Menu ................................................. 7363
184.70 Graphics Item Context Menu – Commands Submenu ........... 7364
184.71 Graphics Item Context Menu – View Submenu ...................... 7366
184.72 Log Sets Folder Properties – Basic Tab ................................. 7367
184.73 Change of Value Log Set Folder Properties – Basic Tab ....... 7368
184.74 Change of Value Log Set Folder Properties – Advanced
Tab ......................................................................................... 7369
184.75 Interval Log Set Folder Properties – Basic Tab ...................... 7371
184.76 Interval Log Set Folder Properties – Advanced Tab .............. 7372
184.77 Extended Logs Folder Properties – Basic Tab ....................... 7374
184.78 Log Properties – Basic Tab .................................................... 7375
184.79 Log Set Archives – Basic Tab ................................................ 7376
184.80 Archive Log Set Folder Properties – Basic Tab ..................... 7377
184.81 Segments Folder Properties – Basic Tab ............................... 7378

04-30006-02-en, May 2019 Technical


155
184.82 Segments Subfolder Properties – Basic Tab ......................... 7379
184.83 Text Reports Folder Properties – Basic Tab ........................... 7380
184.84 Text Report Properties – Basic Tab ....................................... 7381

185 Sigma Troubleshooting ........................................... 7383


185.1 Data Import Dialog Box Displays 'Failed to connect to server'
Message ................................................................................ 7385
185.1.1 Solution ................................................................................ 7385
185.2 Data Import Dialog Box Displays 'Failed to create trace file'
Message ................................................................................ 7386
185.2.1 Solution ................................................................................ 7386
185.3 Data Import Dialog Box Displays Conversion Warning
Message ................................................................................ 7387
185.3.1 Solution ................................................................................ 7387
185.4 Data Import Dialog Box Displays Conversion Error
Message ................................................................................ 7388
185.4.1 Solution ................................................................................ 7388
185.5 Data Import Dialog Box Displays Conversion Failed
Message ................................................................................ 7389
185.5.1 Solution ................................................................................ 7389

186 Infinet Device Introduction ...................................... 7391


186.1 Infinet Device Overview ......................................................... 7393
186.1.1 Infinet Networks ................................................................... 7393
186.1.2 Infinet Network Communication ........................................... 7393
186.1.3 Infinet Devices ..................................................................... 7393
186.1.4 Value Object Configuration for Infinet Devices .................... 7393
186.1.5 Point Object Configuration for Infinet Devices ..................... 7394
186.1.6 Script Programs in an Infinet Device .................................... 7394
186.1.7 Infinet Alarms ....................................................................... 7394
186.1.8 Infinet Schedules ................................................................. 7394
186.1.9 Extended Trend Logs for Infinet Points and Value Device
Logs ..................................................................................... 7395
186.2 Infinet Networks ..................................................................... 7396
186.2.1 Supported Topologies ......................................................... 7396
186.2.2 Infinet Network Reconfiguration ........................................... 7396
186.3 Infinet Network Communication ............................................. 7397
186.3.1 Infinet I/E .............................................................................. 7397
186.3.2 Polling .................................................................................. 7397
186.3.3 Infinet Input Thresholds ....................................................... 7398
186.3.4 Typical Infinet Network Polling Scenarios ............................ 7398
186.3.5 Infinet Network Polling Configurations to Avoid ................... 7398
186.3.6 Configurations that Trigger Infinet I/E .................................. 7398
186.4 Creating an Infinet Interface ................................................. 7399
186.5 Creating an Infinet Network ................................................... 7400
186.6 Configuring the Infinet Network for Infinet Communication ... 7401
186.7 Clearing the Reconfiguration Count in an Infinet Network ..... 7402
186.8 Infinet Input Thresholds ......................................................... 7403
186.9 Typical Infinet Network Polling Scenarios .............................. 7404

Technical 04-30006-02-en, May 2019


156
186.10 Infinet Network Polling Configurations to Avoid ..................... 7405
186.11 Configurations That Trigger Infinet I/E ................................... 7407
186.11.1 AS-P Level Program Reading an Infinet Device Value ......... 7407
186.11.2 Infinet Device Program Reading an AS-P Infinity Value ....... 7407
186.11.3 Infinet Device Script Program Reading a Device Value from a
Different Infinet Device ........................................................ 7407
186.11.4 Alarm Attachment to Alarmlink 1-8 of an Object .................. 7408

187 Infinet Devices ........................................................ 7409


187.1 Infinet Devices ....................................................................... 7411
187.1.1 Infinet Interface Download All Devices ................................ 7411
187.1.2 Infinet Device Basic Features and Program Memory .......... 7411
187.1.3 Communication Between the SmartX AS-P server and Infinet
Devices ................................................................................ 7411
187.1.4 Infinet Device Workflows ...................................................... 7411
187.1.5 Best Practices for Infinet Devices ........................................ 7412
187.1.6 Infinet Folders ...................................................................... 7412
187.2 Creating an Infinet Device ..................................................... 7413
187.3 Learning Infinet Devices ....................................................... 7414
187.4 Infinet Interface Download All Devices .................................. 7415
187.5 Downloading All Devices to an Infinet Interface .................... 7416
187.6 Downloading to an Infinet Device ......................................... 7417
187.7 Commissioning an Infinet Device .......................................... 7418
187.8 Resetting an Infinet Device ................................................... 7419
187.9 Replacing an Infinet Device ................................................... 7420
187.10 Configuring Infinet Devices after an Import ........................... 7421
187.11 Infinet Device Basic Features and Program Memory ............ 7425
187.11.1 Infinet Device Basic Features .............................................. 7425
187.11.2 Infinet Device Program Memory .......................................... 7425
187.11.3 Infinet Device Logs .............................................................. 7425
187.11.4 Infinet System Variables ...................................................... 7425
187.12 Infinet Device Basic Features ................................................ 7426
187.13 Infinet Device Program Memory ........................................... 7429
187.13.1 Application Memory ............................................................. 7429
187.13.2 Flash Memory Object Backup ............................................. 7429
187.13.3 Flash Memory Limitations .................................................... 7430
187.14 Infinet Device Logs ................................................................ 7432
187.15 Backing up an Infinet Device to Flash Memory ..................... 7433
187.16 Infinet System Variables ......................................................... 7434
187.17 Communication between the SmartX AS-P Server and Infinet
Devices ................................................................................. 7435
187.17.1 System Tree Pane ................................................................ 7435
187.17.2 Infinet Time Synchronization ................................................ 7436
187.18 Infinet Time Synchronization .................................................. 7437
187.18.1 Automatic Time Sync ........................................................... 7437
187.18.2 Manual Time Sync ............................................................... 7437
187.19 Manually Synchronizing the Time Clocks of Infinet Networks and
Devices .................................................................................. 7438

04-30006-02-en, May 2019 Technical


157
187.20 Infinet Device Workflows ....................................................... 7439
187.20.1 Learn Infinet Device Workflow ............................................. 7439
187.20.2 Create Infinet Devices with PCT Workflow ........................... 7439
187.21 Learn Infinet Device Workflow ............................................... 7440
187.22 Create Infinet Devices with the Project Configuration Tool
Workflow ............................................................................... 7442
187.23 Best Practices for Infinet Devices .......................................... 7444
187.23.1 Optimizing SmartX AS-P Server Performance ..................... 7444
187.23.2 Optimizing Script Editor Performance ................................. 7444
187.23.3 Adding Infinet Devices to an Infinet Bus .............................. 7445
187.23.4 Offline Point and Value Graphics Display Best Practices .... 7445
187.24 Displaying the Offline Status of Infinet Device Points and
Values ................................................................................... 7446
187.25 Infinet Folders ........................................................................ 7447
187.26 Infinet Device I/O Point Mappings ......................................... 7448

188 Value Object Configuration for Infinet Devices ....... 7455


188.1 Value Object Configuration for Infinet Devices ..................... 7457
188.1.1 Infinet Properties .................................................................. 7457
188.1.2 Infinet Export Property ......................................................... 7457
188.2 Creating an Infinet Device Analog Value .............................. 7459
188.3 Configuring an Infinet Device Analog Value ......................... 7460
188.4 Creating an Infinet Device DateTime Value .......................... 7462
188.5 Configuring an Infinet Device DateTime Value ..................... 7464
188.6 Creating an Infinet Device Digital Value ................................ 7466
188.7 Configuring an Infinet Device Digital Value ........................... 7467
188.8 Creating an Infinet Device String Value ................................ 7469
188.9 Configuring an Infinet Device String Value ........................... 7470
188.10 Configuring an Infinet Manual Array ..................................... 7472

189 Point Object Configuration for Infinet Devices ........ 7477


189.1 Point Object Configuration for Infinet Devices ....................... 7479
189.1.1 Analog Point Configuration .................................................. 7479
189.1.2 Multistate Point Configuration .............................................. 7479
189.1.3 Digital Point Configuration ................................................... 7480
189.1.4 Infinet Export Property ......................................................... 7480
189.2 Creating an Infinet Device Analog Input Point ...................... 7481
189.3 Configuring an Infinet Device Analog Input Point ................. 7482
189.4 Creating an Infinet Device Analog Output Point ................... 7485
189.5 Configuring an Infinet Device Analog Output Point .............. 7486
189.6 Creating an Infinet Device Digital Input Point ....................... 7489
189.7 Configuring an Infinet Device Digital Input Point .................. 7490
189.8 Creating an Infinet Device Digital Output Point ..................... 7493
189.9 Configuring an Infinet Device Digital Output Point ................ 7494
189.10 Creating an Infinet Device Digital Pulsed Output Point ......... 7497
189.11 Configuring an Infinet Device Digital Pulsed Output Point .... 7498
189.12 Creating an Infinet Device Multistate Input Point .................. 7501
189.13 Configuring an Infinet Device Multistate Input Point ............. 7502

Technical 04-30006-02-en, May 2019


158
189.14 Creating an Infinet Device Multistate Output Point ............... 7505
189.15 Configuring an Infinet Device Multistate Output Point .......... 7507
189.16 Creating an Infinet Device Multistate Pulsed Output Point .... 7510
189.17 Configuring an Infinet Device Multistate Pulsed Output
Point ...................................................................................... 7511

190 Script Programs in an Infinet Device ...................... 7515


190.1 Script Programs in an Infinet Device ..................................... 7517
190.2 Creating an Infinet Script Program ........................................ 7518
190.3 Creating an Infinet Script Function ........................................ 7519
190.4 Creating Infinet Script Program Bindings ............................. 7520
190.5 Editing an Infinet Script Program or Function ........................ 7521

191 Infinet Alarms and Trend Logs ................................ 7523


191.1 Infinet Alarms ......................................................................... 7525
191.2 Creating an Infinet Expression Alarm .................................... 7527
191.3 Configuring an Infinet Expression Alarm ................................ 7529
191.4 Creating an Infinet High Limit Alarm ...................................... 7532
191.5 Configuring an Infinet High Limit Alarm ................................. 7534
191.6 Creating an Infinet Low Limit Alarm ....................................... 7537
191.7 Configuring an Infinet Low Limit Alarm .................................. 7539
191.8 Extended Trend Logs for Infinet Point and Value Logs .......... 7542
191.9 Modifying Infinet Alarm Appearance Using the Active Alarm
Enrollment .............................................................................. 7544
191.10 Disabling and Enabling Infinet Alarms in the Alarm View ...... 7545
191.11 Resolving Blank Object IDs in the Infinet Interface ................ 7546

192 Infinet Schedules .................................................... 7547


192.1 Infinet Schedules ................................................................... 7549
192.2 Creating an Infinet Calendar ................................................. 7550
192.3 Creating an Infinet Digital Schedule ...................................... 7551

193 Infinet Device User Interface .................................. 7553


193.1 Infinet Device System Tree Icons ........................................... 7557
193.2 Infinet Interface Properties – Basic Tab ................................. 7558
193.3 Infinet Interface Properties – Advanced Tab ......................... 7559
193.4 Infinet Device Properties – Basic Tab .................................... 7560
193.5 Infinet Device Properties – Advanced Tab ............................ 7561
193.6 Infinet Network Wizard – Infinet Network Basic Settings
Page ...................................................................................... 7563
193.7 Infinet Network Properties – Basic Tab .................................. 7564
193.8 Infinet Device Creation Wizard – Continuum Basic Settings
Page ...................................................................................... 7565
193.9 Infinet Device Value Object Creation Wizard – Continuum Basic
Settings Page ......................................................................... 7566
193.10 Infinet Device Point Object Creation Wizard – Continuum Basic
Settings Page ......................................................................... 7567
193.11 Infinet Device Analog Value Properties – Basic Tab .............. 7569
193.12 Infinet Device Analog Value Properties – Advanced Tab ...... 7571
193.13 Infinet Device DateTime Value Properties – Basic Tab .......... 7573

04-30006-02-en, May 2019 Technical


159
193.14 Infinet Device DateTime Value Properties – Advanced Tab .. 7574
193.15 Infinet Device Digital Value Properties – Basic Tab ............... 7576
193.16 Infinet Device Digital Value Properties – Advanced Tab ....... 7578
193.17 Infinet Device String Value Properties – Basic Tab ................ 7580
193.18 Infinet Device String Value Properties – Advanced Tab ........ 7582
193.19 Infinet Device Analog Input Properties – Basic Tab ............... 7584
193.20 Infinet Device Analog Input Properties – Advanced Tab ....... 7585
193.21 Infinet Device Analog Output Properties – Basic Tab ............ 7588
193.22 Infinet Device Analog Output Properties – Advanced Tab .... 7590
193.23 Infinet Device Digital Input Properties – Basic Tab ................ 7593
193.24 Infinet Device Digital Input Properties – Advanced Tab ........ 7595
193.25 Infinet Device Digital Output Properties – Basic Tab ............. 7597
193.26 Infinet Device Digital Output Properties – Advanced Tab ..... 7599
193.27 Infinet Device Digital Pulsed Output Properties – Basic Tab . 7601
193.28 Infinet Device Digital Pulsed Output Properties – Advanced
Tab ......................................................................................... 7603
193.29 Infinet Device Multistate Input Properties – Basic Tab ........... 7605
193.30 Infinet Device Multistate Input Properties – Advanced Tab ... 7607
193.31 Infinet Device Multistate Output Properties – Basic Tab ........ 7610
193.32 Infinet Device Multistate Output Properties – Advanced Tab 7612
193.33 Infinet Device Multistate Pulsed Output Properties – Basic
Tab ......................................................................................... 7615
193.34 Infinet Device Multistate Pulsed Output Properties – Advanced
Tab ......................................................................................... 7617
193.35 Infinet Device Manual Array Properties – View Log Tab ........ 7620
193.36 Infinet Device Calendar Properties – Basic Tab .................... 7621
193.37 Infinet Device Digital Schedule Properties – Basic Tab ......... 7623
193.38 Infinet Device Digital Schedule Properties – Advanced Tab . 7624
193.39 Infinet Script Program Properties – Basic Tab ....................... 7626
193.40 Infinet Script Program Properties – Advanced Tab ................ 7628
193.41 Infinet Script Program Properties – Inputs Tab ...................... 7629
193.42 Infinet Script Program Properties – Outputs Tab ................... 7630
193.43 Infinet Script Program Properties – Functions Tab ................. 7631
193.44 Infinet Script Function Properties – Basic Tab ....................... 7632
193.45 Infinet Script Function Properties – Advanced Tab ................ 7633
193.46 Infinet Script Function Properties – Inputs Tab ...................... 7634
193.47 Infinet Script Function Properties – Outputs Tab ................... 7635
193.48 Infinet Script Function Properties – Functions Tab ................. 7636
193.49 Infinet Interface Expression Alarm Creation Wizard – Infinity Alarm
Settings Page ......................................................................... 7637
193.50 Infinet Interface High Limit Alarm Creation Wizard – Infinity Alarm
Settings Page ......................................................................... 7638
193.51 Infinet Interface Low Limit Alarm Creation Wizard – Infinity Alarm
Settings Page ......................................................................... 7639
193.52 Infinet Interface Low Limit Alarm Properties – Basic Tab ....... 7640
193.53 Infinet Interface Low Limit Alarm Properties – Advanced
Tab ......................................................................................... 7642
193.54 Infinet Interface Low Limit Alarm Properties – Algorithm Tab 7643

Technical 04-30006-02-en, May 2019


160
193.55 Infinet Interface Low Limit Alarm Properties – Alarm Settings
Tab ......................................................................................... 7645
193.56 Infinet Interface Expression Alarm Properties – Basic Tab .... 7647
193.57 Infinet Interface Expression Alarm Properties – Advanced
Tab ......................................................................................... 7649
193.58 Infinet Interface Expression Alarm Properties – Algorithm
Tab ......................................................................................... 7650
193.59 Infinet Interface Expression Alarm Properties – Alarm Settings
Tab ......................................................................................... 7652
193.60 Infinet Interface High Limit Alarm Properties – Basic Tab ...... 7654
193.61 Infinet Interface High Limit Alarm Properties – Advanced
Tab ......................................................................................... 7656
193.62 Infinet Interface High Limit Alarm Properties – Algorithm
Tab ......................................................................................... 7657
193.63 Infinet Interface High Limit Alarm Properties – Alarm Settings
Tab ......................................................................................... 7659

194 Infinet Troubleshooting ........................................... 7661


194.1 Uniqueness Violations When Importing Infinet Objects ......... 7663
194.1.1 Solutions .............................................................................. 7663
194.2 Validation Errors When Copying and Pasting Infinet Objects 7664
194.2.1 Solution ................................................................................ 7664
194.3 Non-Functioning Go to Source Object Alarm Command in
Infinet ..................................................................................... 7665
194.3.1 Solution ................................................................................ 7665
194.4 Backup To Flash Icon Displays Despite No Recent Infinet
Configuration Changes .......................................................... 7666
194.4.1 Solution ................................................................................ 7666
194.5 Value of an Infinet Point or Value is Never Updated ............. 7667
194.5.1 Solution ................................................................................ 7667
194.6 Failure to Resolve Empty Infinet Names During a Download . 7668
194.6.1 Solutions .............................................................................. 7668
194.7 BACnet Server Failure System Alarm .................................... 7669
194.7.1 Solutions .............................................................................. 7669
194.8 Disabled Infinet Script Programs Due to Out of Order Program
Download ............................................................................... 7670
194.8.1 Solution ................................................................................ 7670
194.9 Infinet Alarms or Infinet I/E Not Operational ........................... 7671
194.9.1 Solution ................................................................................ 7671
194.10 Infinet Alarm Configuration Not Directly Converted ............... 7672
194.10.1 Solution ................................................................................ 7672
194.11 Infinet Objects Not Communicating or Alarms Not Working .. 7673
194.11.1 Solution ................................................................................ 7673
194.12 Incorrect Infinet Input Values or Outputs Not Properly
Configured ............................................................................. 7674
194.12.1 Solution ................................................................................ 7674

195 SmartDrivers Introduction ....................................... 7675


195.1 SmartDrivers Overview .......................................................... 7677
195.1.1 SmartDriver Interfaces ......................................................... 7678

04-30006-02-en, May 2019 Technical


161
195.1.2 SmartDriver Workflow .......................................................... 7678
195.1.3 SmartDriver Devices ............................................................ 7678
195.1.4 SmartDriver Data Objects .................................................... 7678
195.1.5 SmartDriver Configuration ................................................... 7678
195.1.6 SmartDriver Development .................................................... 7679
195.1.7 SmartDriver Communications .............................................. 7679
195.1.8 SmartDriver Offline Monitoring ............................................. 7679
195.1.9 Load SmartDriver Drivers at Start-up ................................... 7679
195.2 SmartDriver Workflow ............................................................ 7680
195.3 Enabling SmartDriver Deployment ......................................... 7682
195.4 Disabling SmartDriver Deployment ........................................ 7683
195.5 Deploying a SmartDriver Driver to the Server ........................ 7684
195.6 Creating a SmartDriver Custom Parameter ............................ 7685
195.7 Configuring a SmartDriver Custom Parameter ....................... 7686
195.8 SmartDriver Development ...................................................... 7687
195.9 SmartDriver Configuration ..................................................... 7688
195.9.1 Addressing and Data Format ............................................... 7688
195.9.2 Custom Parameters ............................................................. 7688
195.9.3 SmartDriver Invalid Configuration ........................................ 7688
195.10 SmartDriver Offline Monitoring ............................................... 7691
195.10.1 SmartDriver Device Offline Monitoring ................................. 7691
195.10.2 SmartDriver Interface Offline Monitoring .............................. 7692
195.11 Load SmartDriver Drivers at Startup ...................................... 7695
195.12 Disabling or Enabling Loading of SmartDriver Drivers at
Startup ................................................................................... 7696

196 SmartDriver Networks ............................................. 7697


196.1 SmartDriver Interfaces ........................................................... 7699
196.2 Creating a SmartDriver Interface ........................................... 7700
196.3 Configuring a SmartDriver Interface ...................................... 7701
196.4 Configuring a SmartDriver Serial Interface ............................ 7702
196.5 Configuring a SmartDriver Trace Log File .............................. 7703
196.6 Extracting a SmartDriver Trace Log File ................................ 7704

197 SmartDriver Devices ............................................... 7705


197.1 SmartDriver Devices .............................................................. 7707
197.2 Creating a SmartDriver Device .............................................. 7708
197.3 Configuring a SmartDriver Device ......................................... 7709

198 SmartDriver Data Objects ....................................... 7711


198.1 SmartDriver Data Objects ...................................................... 7713
198.1.1 SmartDriver Input and Output Points ................................... 7713
198.1.2 SmartDriver Values .............................................................. 7713
198.1.3 SmartDriver Unsolicited ....................................................... 7714
198.2 Creating a SmartDriver Data Object ...................................... 7715
198.3 Configuring a SmartDriver Data Object ................................. 7716

199 SmartDrivers User Interface ................................... 7717


199.1 SmartDrivers Icons ................................................................ 7719

Technical 04-30006-02-en, May 2019


162
199.2 SmartDriver Driver Properties - Basic Tab ............................. 7721
199.3 SmartDriver Interface Properties – Basic Tab ........................ 7723
199.4 SmartDriver Interface Properties – Licensing Tab ................. 7725
199.5 SmartDriver Device Properties – Basic Tab ........................... 7726
199.6 SmartDriver Data Object Properties – Basic Tab ................... 7727
199.7 SmartDriver Custom Parameter Properties – Basic Tab ........ 7728
199.8 SmartDrivers Folder Properties Dialog Box – Basic Tab ........ 7729
199.9 SmartDriver Serial Interface RS-232 Properties – Licensing
Tab ......................................................................................... 7730
199.10 SmartDriver Serial Interface RS-232 Properties – Advanced
Tab ......................................................................................... 7731
199.11 SmartDriver Serial Interface RS-485 Properties – Licensing
Tab ......................................................................................... 7732
199.12 SmartDriver Serial Interface RS-485 Properties – Advanced
Tab ......................................................................................... 7733

200 SmartDriver Troubleshooting .................................. 7735


200.1 Cannot Delete a SmartDriver Driver from the SmartDrivers
Folder ..................................................................................... 7737
200.1.1 Solution ................................................................................ 7737
200.2 Cannot Deploy SmartDriver Driver – Error Messages ............ 7738
200.2.1 Solutions .............................................................................. 7738

201 Web Services .......................................................... 7739


201.1 Web Services Overview ......................................................... 7741
201.1.1 Web Services ....................................................................... 7741
201.1.2 EcoStruxure Web Services .................................................. 7741
201.2 Web Services ........................................................................ 7742
201.2.1 Script Web Services ............................................................ 7743
201.2.2 Simple XML Web Service ..................................................... 7743
201.2.3 SOAP Web Service .............................................................. 7743
201.2.4 Limitations ........................................................................... 7744
201.2.5 Manually Created Values ..................................................... 7744
201.2.6 Time Stamp Values .............................................................. 7745
201.3 Creating a SOAP Web Service Interface ............................... 7746
201.4 Creating a Simple XML Web Service Interface ...................... 7748
201.5 Adding a New Value to the Web Service Interface ............... 7750
201.6 Changing the XPath for a Value ............................................ 7751

202 Web Services User Interface .................................. 7753


202.1 SOAP Web Service – Basic tab ............................................. 7755
202.2 SOAP Web Service – Advanced Tab .................................... 7757
202.3 SOAP Web Service Wizard – Select SOAP Operation Page .. 7758
202.4 SOAP Web Service Wizard - Connection Information Page .. 7759
202.5 SOAP Web Service Wizard – Create Web Service Values ..... 7761
202.6 Simple XML Web Service – Basic Tab ................................... 7762
202.7 Simple XML Web Service – Advanced Tab ........................... 7764
202.8 Simple XML Web Service Wizard – Connection Information .. 7765

04-30006-02-en, May 2019 Technical


163
202.9 Simple XML Web Service Wizard – Create Web Service
Values .................................................................................... 7767
202.10 Web Service Analog Value Properties – Basic Tab ............... 7768
202.11 Web Service Analog Value Properties – Advanced Tab ........ 7769
202.12 Web Service Multistate Value Properties – Basic Tab ........... 7770
202.13 Web Service Multistate Value Properties – Advanced Tab .... 7771
202.14 Web Service Digital Value Properties – Basic Tab ................. 7772
202.15 Web Service Digital Value Properties – Advanced Tab ......... 7773
202.16 Web Service String Value Properties – Basic Tab ................. 7774
202.17 Web Service String Value Properties – Advanced Tab .......... 7775
202.18 Web Service Time Stamp Value Properties – Basic Tab ........ 7776
202.19 Web Service Time Stamp Value Properties – Advanced Tab 7777
202.20 Create Web Service Value Wizard – Select XPath Page ........ 7778
202.21 XPath Editor ........................................................................... 7779

203 Web Services Troubleshooting ............................... 7781


203.1 The Create Web Service Values Page in the Wizard is
Empty ..................................................................................... 7783
203.1.1 Solution ................................................................................ 7783
203.1.2 ............................................................................................. 7783
203.2 SOAP Web Service Interface Cannot be Created ................. 7784
203.2.1 Solution ................................................................................ 7784
203.2.2 Solution ................................................................................ 7784

204 Corporate Web Services ......................................... 7785


204.1 EcoStruxure Web Services .................................................... 7787
204.1.1 EcoStruxure Web Service Server ......................................... 7787
204.1.2 EcoStruxure Web Service Client .......................................... 7787
204.2 EcoStruxure Web Service Server ........................................... 7788
204.2.1 Visibility of Folders and Object Types .................................. 7788
204.2.2 Client User Access .............................................................. 7788
204.3 Visibility of Folders and Object Types ................................... 7789
204.3.1 Path Filter ............................................................................. 7789
204.3.2 Object Type Filter ................................................................ 7790
204.4 Configuring the EcoStruxure Web Service Server ................ 7791
204.5 Enabling the EcoStruxure Web Service Server ..................... 7792
204.6 Filtering the Hardware Folder by Path ................................... 7793
204.7 Hiding an Object Type from the EcoStruxure Web Service
Client ...................................................................................... 7794
204.8 EcoStruxure Web Service Client ............................................ 7795
204.8.1 Filter Alarms Using the Alarm Event Types Object .............. 7798
204.8.2 EcoStruxure Web Service Alarm Item .................................. 7798
204.8.3 History Item .......................................................................... 7798
204.8.4 Common EcoStruxure Web Service Object Properties ........ 7798
204.8.5 Forced Values ...................................................................... 7799
204.8.6 Host Values in Graphics and Watch Panes ......................... 7799
204.8.7 Domains in EcoStruxure BMS Servers ................................. 7799
204.9 EcoStruxure Web Service Alarm Item .................................... 7800

Technical 04-30006-02-en, May 2019


164
204.10 Filter Alarms Using the Alarm Event Types Object ................ 7801
204.11 Common EcoStruxure Web Service Object Properties ......... 7803
204.11.1 EcoStruxure Web Service Identity ....................................... 7803
204.11.2 State .................................................................................... 7803
204.12 Creating an EcoStruxure Web Service Interface ................... 7805
204.13 Creating an EcoStruxure Web Service Object ....................... 7806
204.14 Enabling History Polling ......................................................... 7807
204.15 Filtering Alarms by Category ................................................. 7808

205 Corporate Web Services User Interface ................. 7809


205.1 EcoStruxure Web Service Interface Properties – Basic Tab .. 7811
205.2 EWS Server Properties – Basic Tab ....................................... 7813
205.3 EWS Device Properties – Basic Tab ...................................... 7814
205.4 EWS Structure Properties – Basic Tab ................................... 7815
205.5 EWS Folder Properties – Basic Tab ....................................... 7816
205.6 EWS Integer Value Properties – Basic Tab ........................... 7817
205.7 EWS String Value Properties – Basic Tab .............................. 7819
205.8 EWS Long Value Properties – Basic Tab ............................... 7821
205.9 EWS DateTime Value Properties – Basic Tab ........................ 7823
205.10 EWS Boolean Value Properties – Basic Tab .......................... 7825
205.11 EWS Double Value Properties – Basic Tab ............................ 7827
205.12 EWS History Item Properties – Basic Tab .............................. 7829
205.13 EWS Alarm Item Properties – Basic Tab ................................ 7831
205.14 EWS Alarm Item Properties – Advanced Tab ......................... 7833
205.15 EWS Alarm Item – Configuration Tab ..................................... 7836
205.16 EWS Alarm Item - Presentation Tab ....................................... 7837
205.17 Alarm Event Types Properties ................................................ 7839
205.18 Alarm Event Types Configuration Settings Dialog ................. 7841
205.19 EWS Server Configuration – Basic Tab .................................. 7842
205.20 EWS Server Configuration – Filter Hardware Folder Tab ....... 7844
205.21 EWS Consume Configuration Properties ............................... 7846
205.22 Create Object EcoStruxure Web Service Wizard – Connection
Information ............................................................................. 7847

206 Cloud Connectivity ................................................. 7849


206.1 Cloud Connectivity Overview ................................................. 7851
206.1.1 Site Management Service .................................................... 7851
206.1.2 Telemetry ............................................................................. 7852
206.1.3 File Upload ........................................................................... 7852
206.2 Configuring Cloud Connectivity ............................................. 7853
206.3 Checking Cloud Connectivity Status ..................................... 7854
206.4 Cloud Connectivity Tab .......................................................... 7855

207 Security ................................................................... 7857


207.1 Security Overview ................................................................. 7859
207.1.1 Firewall ................................................................................ 7859
207.1.2 Password Policy ................................................................... 7859
207.1.3 Embedded Content in WebStation ...................................... 7859

04-30006-02-en, May 2019 Technical


165
207.1.4 Automatic Log Off ................................................................ 7859
207.1.5 Security Banner ................................................................... 7859
207.1.6 Certificates .......................................................................... 7860
207.1.7 Encrypted Communication .................................................. 7860
207.1.8 Web Server Access Logging ............................................... 7860
207.1.9 SmartX Server Remote System Logging .............................. 7860
207.1.10 Connect Agent ..................................................................... 7860
207.1.11 Document Policy .................................................................. 7860
207.1.12 Disable SmartX Server Ports ................................................ 7861
207.2 Firewall ................................................................................... 7862
207.3 Adding a SmartX Server to the Whitelist ................................ 7863
207.4 Removing a Device from the Whitelist ................................... 7864
207.5 Password Policy ..................................................................... 7865
207.6 Configuring the Password Policy ........................................... 7866
207.7 Security Banner .................................................................... 7867
207.8 Adding a Security Banner ..................................................... 7868
207.9 Removing a Security Banner ................................................. 7869
207.10 Certificates ............................................................................. 7870
207.10.1 Default Certificates .............................................................. 7870
207.10.2 Self-Signed Certificate ......................................................... 7870
207.10.3 CA Certificates ..................................................................... 7870
207.10.4 Status of Certificate .............................................................. 7871
207.10.5 Certificates and Licensing ................................................... 7871
207.11 Adding a Certificate ............................................................... 7872
207.12 Generating a Certificate ......................................................... 7873
207.13 Activating a Certificate ........................................................... 7875
207.14 Removing a Certificate ........................................................... 7876
207.15 Checking the Status of the Certificate .................................... 7877
207.16 Encrypted Communication .................................................... 7878
207.16.1 Disable HTTP Communication ............................................. 7878
207.16.2 Disable MD5 Hash ............................................................... 7878
207.16.3 Redirect Web Client to HTTPS ............................................. 7878
207.17 Disabling Incoming HTTP Communication ............................ 7879
207.18 Disabling MD5 Hash .............................................................. 7880
207.19 Embedded Content in WebStation ........................................ 7881
207.20 Enabling External Content to be Embedded in WebStation .. 7882
207.21 Enabling WebStation to be Embedded in Another Site ......... 7883
207.22 Setting the SSH Console Lockout Time ................................. 7884
207.23 Redirecting Web Clients to HTTPS ........................................ 7885
207.24 Web Server Access Logging ................................................. 7886
207.25 Enabling Web Server Access Logging .................................. 7887
207.26 SmartX Server Remote System Logging ................................ 7888
207.27 Enabling SmartX Server Remote System Logging ................. 7889
207.28 Checking the Software Version on the SmartX Server Using
Device Administrator ............................................................. 7890
207.29 Checking the Software Version on the SmartX Server Using
WorkStation ............................................................................ 7891

Technical 04-30006-02-en, May 2019


166
207.30 Enabling Access Logging for SNMP ...................................... 7892
207.31 Disable SmartX Server Ports .................................................. 7893
207.32 Disabling Port 22 on SmartX Server ....................................... 7894
207.33 Adding an Additional SSH Port for a SmartX Server .............. 7895
207.34 Disabling the USB Port on SmartX Server ............................. 7896

208 Security User Interface ........................................... 7897


208.1 Password Policy View ............................................................ 7899
208.2 Password Rules Dialog Box ................................................... 7902
208.3 Security Certificate Risk Dialog Box ....................................... 7903
208.4 Certificates Tab ...................................................................... 7904
208.5 Manage Certificates Dialog Box ............................................ 7905
208.6 Add Certificate Dialog Box .................................................... 7906
208.7 Generate Certificate Dialog Box ............................................ 7907
208.8 Edit Banner – Dialog Box ....................................................... 7909
208.9 Security Settings – Control Panel ........................................... 7910

209 Security Troubleshooting ........................................ 7913


209.1 Invalid Password Change ...................................................... 7915
209.1.1 Solution ................................................................................ 7915

210 Continuum Conversion ........................................... 7917


210.1 Continuum Conversion Overview .......................................... 7919
210.1.1 Sites to Convert First ............................................................ 7919
210.1.2 Sites with Extensive PE Driver Usage .................................. 7919
210.1.3 Continuum and EcoStruxure BMS Architectural
Differences .......................................................................... 7919
210.1.4 Checking Site Operation ...................................................... 7920
210.1.5 Configuration and Programming Changes .......................... 7920
210.1.6 Continuum Objects .............................................................. 7920
210.1.7 Continuum Conversion Guidelines ...................................... 7920
210.1.8 Continuum Conversion Workflow ......................................... 7920
210.1.9 Continuum Conversion Errors .............................................. 7921
210.1.10 Continuum ASCII Dump Files .............................................. 7921
210.1.11 Supported Continuum Conversion Tool Field Bus Controller
Device Models ..................................................................... 7921
210.2 Sites to Convert First .............................................................. 7922
210.3 Sites with Extensive PE Driver Usage .................................... 7923
210.4 Continuum and EcoStruxure BMS Architectural Differences . 7924
210.4.1 Continuum and EcoStruxure BMS Components .................. 7924
210.4.2 Continuum Controller Scan .................................................. 7924
210.4.3 Application Scheduler ......................................................... 7924
210.4.4 Application Scheduler and Continuum Controller Scan
Differences .......................................................................... 7924
210.5 Continuum and EcoStruxure BMS Components .................... 7925
210.6 Continuum Controller Scan .................................................... 7926
210.7 Application Scheduler ........................................................... 7927
210.8 Application Scheduler and Continuum Controller Scan
Differences ............................................................................ 7929

04-30006-02-en, May 2019 Technical


167
210.9 Site Operation ........................................................................ 7930
210.10 Configuration and Programming Changes ............................ 7931
210.11 Continuum Object Types ....................................................... 7932
210.11.1 Supported Object Types ..................................................... 7932
210.11.2 Recreated Continuum Objects ............................................ 7932
210.12 Continuum Conversion Guidelines ........................................ 7934
210.13 Continuum Conversion Workflow ........................................... 7935
210.13.1 Prepare the Andover Continuum Site .................................. 7935
210.13.2 Prepare the EcoStruxure BMS Site ...................................... 7937
210.13.3 Convert the Andover Continuum Site ................................... 7939
210.14 Continuum Conversion Errors ................................................ 7944
210.15 Continuum ASCII Dump Files ................................................ 7947
210.16 Resolving Missing Bindings for Script Programs and
Functions ............................................................................... 7951
210.17 Searching for Disabled Infinet Script Programs ..................... 7952
210.18 Continuum PE Command Errors ............................................ 7953
210.19 Logging on to the Conversion Tool Using a SmartX Server ... 7956
210.20 Logging on to the Conversion Tool Using a Project Configuration
Tool ........................................................................................ 7957
210.21 Importing the Andover Continuum Dump File ........................ 7958
210.22 Analyzing the Andover Continuum Dump File ....................... 7959
210.23 Saving the Continuum to EcoStruxure Building Operation Analysis
Report .................................................................................... 7960
210.24 Selecting a Target Network and Converting b3 or Infinet Field
Devices .................................................................................. 7961
210.25 Supported Continuum Conversion Tool Field Bus Controller
Models ................................................................................... 7962
210.26 Saving the Continuum to EcoStruxure Building Operation
Conversion Report ................................................................. 7964
210.27 Moving the MS/TP Bus from the bCX1 Series Device ............ 7965
210.28 Identifying Points or Values to Manually Disable ................... 7966
210.29 Configuring Units in the Continuum Conversion Tool ............ 7967

211 Continuum Conversion User Interface .................... 7971


211.1 Continuum Conversion Tool Log on Dialog Box .................... 7973
211.2 Continuum Conversion Tool ................................................... 7975

212 Continuum Conversion Troubleshooting ................ 7977


212.1 Conversion Tool Dump File Import Errors .............................. 7979
212.1.1 Solution ................................................................................ 7979
212.2 Conversion Tool Device Cannot Convert Errors .................... 7980
212.2.1 Solution ................................................................................ 7980
212.3 Conversion Tool Property Cannot Be Converted Errors ........ 7981
212.3.1 Solution ................................................................................ 7981

213 Spreadsheet View ................................................... 7983


213.1 Spreadsheet Overview .......................................................... 7985
213.1.1 Configuration Types ............................................................. 7985
213.1.2 Autofill .................................................................................. 7986

Technical 04-30006-02-en, May 2019


168
213.1.3 Navigation ........................................................................... 7986
213.1.4 Selection .............................................................................. 7987
213.1.5 Editing ................................................................................. 7987
213.1.6 Shortcut Keys ....................................................................... 7987
213.2 Creating Multiple Objects ...................................................... 7989
213.3 Configuring Multiple Objects ................................................. 7990
213.4 Copying from MS Excel to Spreadsheet View ........................ 7991
213.5 Copying from Spreadsheet View to MS Excel ........................ 7992

214 Spreadsheet View User Interface ........................... 7993


214.1 Spreadsheet View .................................................................. 7995
214.2 Failed to Paste Data Dialog Box ............................................ 7997

215 Text Reports ........................................................... 7999


215.1 Text Reports Overview ........................................................... 8001
215.1.1 Text Reports ......................................................................... 8001
215.1.2 Types of Text Reports .......................................................... 8001
215.1.3 Text Report Groups ............................................................. 8001
215.2 Text Reports ........................................................................... 8002
215.3 Types of Text Reports ............................................................ 8004
215.3.1 I/A Series Text Reports ........................................................ 8004
215.3.2 Sigma Text Reports ............................................................. 8004
215.4 I/A Series and NETWORK 8000 Text Reports ........................ 8005
215.4.1 I/A Series Flow Balance Report ........................................... 8005
215.4.2 I/A Series S-Link Calibration Report ..................................... 8005
215.4.3 I/A Series Analog Input Calibration Report .......................... 8005
215.4.4 NETWORK 8000 OSS Text Report ....................................... 8005
215.5 I/A Series Flow Balance Report .............................................. 8006
215.6 I/A Series S-Link Calibration Report ....................................... 8007
215.7 I/A Series Analog Input Calibration Report ............................ 8008
215.8 NETWORK 8000 OSS Text Report ......................................... 8011
215.9 Sigma Text Reports ............................................................... 8012
215.9.1 Sigma Active Alarms Report ................................................ 8012
215.9.2 Sigma Hours Run Report ..................................................... 8012
215.9.3 Sigma Plant Review Report .................................................. 8012
215.9.4 Sigma Report Text Report .................................................... 8012
215.9.5 Sigma Diagnostics Text Reports .......................................... 8012
215.10 Sigma Active Alarms Report .................................................. 8013
215.11 Sigma Hours Run Report ....................................................... 8014
215.12 Sigma Plant Review Report .................................................... 8015
215.13 Sigma Report Text Report ...................................................... 8017
215.14 Sigma Diagnostics Text Reports ........................................... 8019
215.14.1 Sigma Diagnostics Controller Contents Report ................... 8019
215.14.2 Sigma Diagnostics Controller Time Report .......................... 8020
215.14.3 Sigma Diagnostics Log Set Statistics Report ....................... 8020
215.14.4 Sigma Diagnostics Node Statistics Report .......................... 8021
215.15 Creating a Text Report ........................................................... 8024

04-30006-02-en, May 2019 Technical


169
215.16 Configuring a Text Report ...................................................... 8025
215.17 Viewing a Text Report ............................................................ 8026
215.18 Clearing a Text Report ........................................................... 8027
215.19 Printing a Text Report ............................................................ 8028
215.20 Exporting a Text Report ......................................................... 8029

216 Text Report Groups ................................................ 8031


216.1 Text Report Groups ............................................................... 8033
216.2 Creating a Text Report Group ................................................ 8034
216.3 Configuring a Text Report Group ........................................... 8035
216.4 Viewing a Text Report from a Text Report Group ................... 8036

217 Text Reports User Interface .................................... 8037


217.1 Text Reports Icons ................................................................. 8039
217.2 Text Report Properties – Basic Tab ....................................... 8040
217.3 Text Report Group Properties – Basic Tab ............................ 8042
217.4 Text Report View .................................................................... 8043
217.5 Text Report View Toolbar ....................................................... 8045

218 SmartXKiosk Introduction ....................................... 8047


218.1 SmartXKiosk Overview .......................................................... 8049
218.1.1 SmartXKiosk Workflow ......................................................... 8049
218.1.2 AD Upgrade Workflow ......................................................... 8049
218.2 SmartXKiosk Workflow ........................................................... 8050
218.3 Activating Kiosk Mode ........................................................... 8052
218.4 Changing the WebStation Address ....................................... 8053
218.5 Configuring the Screen Timeout ............................................ 8054
218.6 Selecting the WebStation Shortcut to Run in Kiosk Mode ...... 8055
218.7 Exiting Kiosk Mode ................................................................ 8056
218.8 Changing the PIN Code ......................................................... 8057
218.9 Resetting PIN Code ............................................................... 8058
218.10 Disabling Google Now Feature .............................................. 8059
218.11 AD Upgrade Workflow ........................................................... 8060
218.12 Upgrading SmartXKiosk ........................................................ 8062

219 SmartXKiosk User Interface .................................... 8063


219.1 Activate Device Administrator Screen ................................... 8065
219.2 Privacy Policy Screen ............................................................ 8066
219.3 Kiosk Mode PIN Setup Screen ............................................... 8067
219.4 SmartXKiosk Container .......................................................... 8068
219.5 WebStation Address Setup Screen ....................................... 8069
219.6 Screen Timeout Setting Screen ............................................. 8070
219.7 Exit Kiosk Mode Screen ......................................................... 8071
219.8 Change PIN Screen ............................................................... 8072
219.9 Session ID Screen ................................................................. 8073
219.10 Recover PIN Screen .............................................................. 8074
219.11 SmartXKiosk Install Updated App Screen ............................. 8075
219.12 SmartXKiosk App Installed Screen ........................................ 8077

Technical 04-30006-02-en, May 2019


170
220 SmartXKiosk Troubleshooting ................................ 8079
220.1 AD in Kiosk Mode allows Access to Google Now Feature ..... 8081
220.1.1 Solution ................................................................................ 8081
220.2 Cannot Uninstall SmartXKiosk .............................................. 8082
220.2.1 Solution ................................................................................ 8082

221 SmartX AD-Link Introduction .................................. 8085


221.1 SmartX AD-Link Overview ...................................................... 8087
221.1.1 SmartX AD-Link Workflow .................................................... 8087
221.1.2 AD Upgrade Workflow ......................................................... 8087
221.2 SmartX AD-Link Workflow ...................................................... 8088
221.3 Enabling an IP over USB Connection .................................... 8089
221.4 Disabling an IP over USB Connection ................................... 8090
221.5 AD Upgrade Workflow ........................................................... 8091
221.6 Installing SmartX AD-Link ...................................................... 8093

222 SmartX AD-Link User Interface ............................... 8095


222.1 AD-Link Network Configuration Screen ................................. 8097
222.2 Activate Device Administrator Screen ................................... 8098
222.3 Enable AD-Link Screen .......................................................... 8099
222.4 Disable AD-Link Screen ......................................................... 8100
222.5 SmartX AD-Link Install App Screen ....................................... 8101
222.6 SmartX AD-Link App Installed Screen ................................... 8102

223 SmartX AD-Link Troubleshooting ............................ 8103


223.1 Recent Apps Button Not Working and Cannot Access
Settings .................................................................................. 8105
223.1.1 Solution ................................................................................ 8105
223.2 Cannot Access WebStation Through Chrome When Using SmartX
AD-Link ................................................................................. 8106
223.2.1 Solution ................................................................................ 8106

224 Alarms Troubleshooting .......................................... 8107


224.1 Alarm Is Not Displayed in the Alarms Pane and Alarm View . 8109
224.1.1 Solutions .............................................................................. 8109
224.2 Event Is Not Displayed in the Events Pane and Event View ... 8110
224.2.1 Solution ................................................................................ 8110
224.3 Notification Email Is Not Received ......................................... 8111
224.3.1 Solutions .............................................................................. 8111
224.4 The Alarm Is Disabled and Cannot Be Enabled ................... 8112
224.4.1 Solutions .............................................................................. 8112
224.5 User Cannot Be Assigned to an Alarm .................................. 8113
224.5.1 Solution ................................................................................ 8113
224.6 A Category Cannot Be Edited ................................................ 8114
224.6.1 Solution ................................................................................ 8114
224.7 Cause Note Cannot Be Edited ............................................... 8115
224.7.1 Solution ................................................................................ 8115
224.8 Action Note Cannot Be Edited ............................................... 8116
224.8.1 Solution ................................................................................ 8116

04-30006-02-en, May 2019 Technical


171
224.9 Checklist Cannot Be Edited ................................................... 8117
224.9.1 Solution ................................................................................ 8117

225 Archive Troubleshooting ......................................... 8119


225.1 Archive Directory Does Not Exist ........................................... 8121
225.1.1 Solution ................................................................................ 8121

226 Backup and Restore Troubleshooting .................... 8123


226.1 Backup and Restore Issues ................................................... 8125
226.1.1 Controller Output Values ...................................................... 8125
226.1.2 Input Values ......................................................................... 8125
226.1.3 Configuration Data ............................................................... 8125
226.1.4 Trend Logs and Events Data ............................................... 8126
226.1.5 Extended Trend Logs .......................................................... 8126
226.1.6 IP Address Change ............................................................. 8126
226.2 Extended Trend Logs and SmartX Server Restore ................ 8127
226.3 Diagnosing Backup or Restore Issues ................................... 8130
226.4 Restore Incomplete Due to Network Connectivity Loss ......... 8131
226.4.1 Solution ................................................................................ 8131
226.5 Checking the Online Status of the SmartX Server ................. 8132
226.6 No Restore Files Display After Backup .................................. 8133
226.6.1 Solutions .............................................................................. 8133
226.7 Renamed SmartX Server Makes Backup Sets Unavailable .. 8134
226.7.1 Solution ................................................................................ 8134
226.8 Incorrect Date Stamp on Backup Set .................................... 8135
226.8.1 Solution ................................................................................ 8135
226.9 Power Failure Occurs During Backup ................................... 8136
226.9.1 Solution ................................................................................ 8136
226.10 SmartX Server Remains Offline After Restore ........................ 8137
226.10.1 Solutions .............................................................................. 8137
226.11 Similar Restore Points Display in Restore Options Dialog ..... 8138
226.11.1 Solutions .............................................................................. 8138
226.12 Duplicate Backup Set Names in Multi-server Systems .......... 8140
226.12.1 Solution ................................................................................ 8140
226.13 Backup Set Text is Red .......................................................... 8141
226.13.1 Solution ................................................................................ 8141
226.14 SmartX Server Duplication Failed .......................................... 8142
226.14.1 Solution ................................................................................ 8142
226.15 Timeout Reached While Waiting for New Server to Come
Online .................................................................................... 8143
226.15.1 Solution ................................................................................ 8143
226.16 Disk Space Problem after SmartX Server Upgrade ............... 8144
226.16.1 Solution ................................................................................ 8144
226.17 EcoStruxure BMS Server Failed to Create Backup Set .......... 8145
226.17.1 Solutions .............................................................................. 8145

227 Upgrade Troubleshooting ...................................... 8147


227.1 Failed to Remove Files when Upgrading ............................... 8149

Technical 04-30006-02-en, May 2019


172
227.1.1 Solution ............................................................................... 8149
227.2 Restarting the Computer when Upgrade Failed to Remove Files
............................................................................................... 8150
227.3 Restoring the Database when Upgrade Failed to Remove
Files ....................................................................................... 8151

228 Connect Agent Troubleshooting ............................. 8153


228.1 System and crash information not available on Connect storage
server ..................................................................................... 8155
228.1.1 Solution ................................................................................ 8155
228.2 Enterprise Server Registration Information not pass on ......... 8156
228.2.1 Solution ................................................................................ 8156
228.3 EcoStruxure Building Operation Registration Page is not
Displayed ............................................................................... 8157
228.3.1 Solution ................................................................................ 8157
228.4 System ID is Already Registered ........................................... 8158
228.4.1 Solution ................................................................................ 8158
228.5 Resetting the System ID ......................................................... 8159

229 Installation Troubleshooting .................................... 8161


229.1 Enterprise Server does not Start ............................................ 8163
229.1.1 Solutions .............................................................................. 8163
229.2 Failed to access the server, a network error occurred .......... 8164
229.2.1 Solution ................................................................................ 8164
229.3 Configuration Database is Invalid .......................................... 8165
229.3.1 Solution ................................................................................ 8165
229.3.2 ............................................................................................. 8166

230 Licensing Troubleshooting ..................................... 8167


230.1 Unable to Check Out License ................................................ 8169
230.1.1 Solutions .............................................................................. 8169
230.2 Problem with the Licenses on the License Server ................ 8170
230.2.1 Solutions .............................................................................. 8170
230.3 Network Licenses are Broken ................................................ 8171
230.3.1 Solution ................................................................................ 8171
230.4 Unable to Activate or Return a License ................................ 8172
230.4.1 Solutions .............................................................................. 8172
230.5 Opening the Transaction Error Dialog Box ............................ 8173
230.6 Cannot Access lmadmin, License Server Manager .............. 8174
230.6.1 Solutions .............................................................................. 8174
230.7 The License Server does not Automatically Restart .............. 8175
230.7.1 Solution ................................................................................ 8175

231 Localization Troubleshooting .................................. 8177


231.1 WorkStation does not Display Correct Values ....................... 8179
231.1.1 Solution ................................................................................ 8179
231.2 Enterprise Server does not Synchronize its Clock ................ 8180
231.2.1 Solution ................................................................................ 8180
231.3 Incorrect Time Stamps in WorkStation ................................... 8181

04-30006-02-en, May 2019 Technical


173
231.3.1 Solution ................................................................................ 8181
231.4 Delta Temperature Conversion is Incorrect ........................... 8182
231.4.1 Solution ................................................................................ 8182

232 Schedules Troubleshooting .................................... 8185


232.1 Using Schedules to Control BACnet Multistate Objects ........ 8187
232.1.1 Solution ................................................................................ 8187
232.2 Exception Event Does Not Delete .......................................... 8188
232.2.1 Solution ................................................................................ 8188

233 Trends Troubleshooting .......................................... 8189


233.1 Trend Log Does Not Start Record Due to the Start Condition 8191
233.1.1 Solutions .............................................................................. 8191
233.2 Meter Trend Log Calculation Fails ......................................... 8192
233.2.1 Solution ................................................................................ 8192
233.3 Missing Trend Log Records .................................................. 8193
233.3.1 Solutions .............................................................................. 8193
233.4 Illogical or Missing Records in the Trend Log List ................. 8194
233.4.1 Solutions .............................................................................. 8194
233.5 Trend Chart Does Not Show Trend Log Series ..................... 8195
233.5.1 Solutions .............................................................................. 8195
233.6 Interrupted Series in the Trend Chart .................................... 8196
233.6.1 Solution ................................................................................ 8196
233.7 Trend Chart Y-Axis has Scale Problems ................................ 8197
233.7.1 Solutions .............................................................................. 8197
233.8 Trend Chart Live Update does not Work ............................... 8198
233.8.1 Solutions .............................................................................. 8198
233.9 Records Are Not Transferred to the Extended Trend Log ..... 8199
233.9.1 Solution ................................................................................ 8199
233.10 Cannot Delete Trend Log or Its Container ............................. 8200
233.10.1 Solution ................................................................................ 8200

234 User Management Troubleshooting ....................... 8201


234.1 Wrong Domain, User Name or Password .............................. 8203
234.1.1 Solutions .............................................................................. 8203
234.2 Server is not Available ........................................................... 8204
234.2.1 Solutions .............................................................................. 8204
234.3 Failed to Establish Connection .............................................. 8205
234.3.1 Solutions .............................................................................. 8205
234.4 User Account has been Disabled .......................................... 8206
234.4.1 Solution ................................................................................ 8206
234.5 User Account Has Expired .................................................... 8207
234.5.1 Solution ................................................................................ 8207
234.6 Your Account Has Insufficient Permissions to Use the
System ................................................................................... 8208
234.6.1 Solutions .............................................................................. 8208
234.7 Logon Button Greyed Out ...................................................... 8209
234.7.1 Solution ................................................................................ 8209

Technical 04-30006-02-en, May 2019


174
234.8 Cannot Close WorkStation ..................................................... 8210
234.8.1 Solution ................................................................................ 8210
234.9 Workspace Layout Changes Have Disappeared .................. 8211
234.9.1 Solutions .............................................................................. 8211
234.10 Cannot Access EcoStruxure BMS Servers or Folders that You
Earlier had Access to ............................................................. 8212
234.10.1 Solution ................................................................................ 8212
234.11 User Session Has Expired ..................................................... 8213
234.11.1 Solution ................................................................................ 8213
234.12 Windows Group Name List Is Empty ..................................... 8214
234.12.1 Solution ................................................................................ 8214
234.13 Guest Log on Does Not Work ............................................... 8215
234.13.1 Solution ................................................................................ 8215

235 WebReports Troubleshooting ................................. 8217


235.1 SQL Configuration Failed ....................................................... 8219
235.1.1 Solutions .............................................................................. 8219
235.2 WebReports Read Failure ...................................................... 8221
235.2.1 Solution ................................................................................ 8221
235.3 Authentication Failed ............................................................. 8222
235.3.1 Solution ................................................................................ 8222
235.4 Could not Connect to Reports Database ............................... 8223
235.4.1 Solution ................................................................................ 8223
235.5 It takes Several Minutes to Generate Report ......................... 8224
235.5.1 Solution ................................................................................ 8224
235.6 Reporting Agent does not Connect to Enterprise Server ....... 8225
235.6.1 Solution ................................................................................ 8225
235.7 Cannot Access Report Manager URL ................................... 8227
235.7.1 Solution ................................................................................ 8227

236 WorkStation Troubleshooting .................................. 8229


236.1 Cannot Mass Create Trend Logs or Alarms ........................... 8231
236.1.1 Solution ................................................................................ 8231
236.2 Timed Force Cannot be Created ........................................... 8232
236.2.1 Solution ................................................................................ 8232
236.3 Panes using Auto Hidden are Hidden by a Web Page .......... 8233
236.3.1 Solution ................................................................................ 8233

237 Alarms Deep Technical Reference ......................... 8235


237.1 Hidden Alarms with Normal State .......................................... 8237
237.2 Basic Evaluation State ........................................................... 8238

238 Backup and Restore Deep Technical Reference ... 8239


238.1 Backup and Restore Alarms .................................................. 8241
238.2 Copying a Backup Set from One Enterprise Server to
Another .................................................................................. 8242

239 Licensing Deep Technical Reference .................... 8243


239.1 Trusted Storage ..................................................................... 8245

04-30006-02-en, May 2019 Technical


175
239.2 License Activation Server Registry Key ................................. 8246
239.3 Stored License Server Addresses ....................................... 8247

240 LonWorks Deep Technical Reference .................... 8249


240.1 LonTalk Addressing Overview ............................................... 8251
240.1.1 Domain, Subnet and Node .................................................. 8253
240.1.2 LonWorks D/S/N Addressing ............................................... 8253
240.1.3 LonWorks Domains in EcoStruxure Building Operation
software ............................................................................... 8255
240.1.4 Addressing over ECS .......................................................... 8255
240.2 Customized DRF kit in Externally Managed LonWorks
Network .................................................................................. 8256
240.3 Configuration Property Flags ................................................. 8257
240.4 Bandwidth Throttling .............................................................. 8260

241 MicroNet Deep Technical Reference ..................... 8261


241.1 VisiSat Point Upper and Lower Limits .................................... 8263

242 MNL LonWorks Deep Technical Reference ............ 8269


242.1 Source File Error .................................................................... 8271
242.1.1 Solution ................................................................................ 8271

243 Modbus Deep Technical Reference ....................... 8273


243.1 Modbus Message Formats .................................................... 8275
243.2 Serial Transmission Modes .................................................... 8277
243.2.1 RTU Transmission Mode Message Data Byte Format ......... 8279
243.2.2 RTU Transmission Mode Message Frame Format ............... 8279
243.2.3 ASCII Transmission Mode Message Data Byte Format ....... 8280
243.2.4 ASCII Transmission Mode Message Frame Format ............. 8281
243.3 Device and Register Polling .................................................. 8283
243.3.1 Poll Manager ........................................................................ 8283
243.3.2 Poll List ................................................................................. 8283
243.3.3 Poll List Management .......................................................... 8283
243.4 Modbus Poll Duty Cycle ......................................................... 8285

244 NETWORK 8000 Deep Technical Reference .......... 8287


244.1 Delta Time .............................................................................. 8289

245 Sigma Deep Technical Reference .......................... 8291


245.1 Data Importer Conversion Warning Messages ...................... 8293
245.1.1 General Warning Messages ................................................ 8293
245.1.2 Programmable Object Warning Messages .......................... 8294
245.2 Data Importer Conversion Error Messages ............................ 8297
245.3 Data Importer Conversion Failed Messages .......................... 8299
245.4 Graphics Error Messages in the Trace File ............................ 8300

246 SmartX Server Deep Technical Reference ............. 8303


246.1 Automation Server Principles ................................................. 8305
246.1.1 CPU and Memory ................................................................ 8305
246.1.2 Data Retention ..................................................................... 8306

Technical 04-30006-02-en, May 2019


176
246.1.3 Device Addressing .............................................................. 8306
246.2 SmartX AS-P Server Principles .............................................. 8307
246.2.1 CPU and Memory ................................................................ 8307
246.2.2 Data Retention ..................................................................... 8308
246.3 SmartX AS-B Server Principles .............................................. 8309
246.3.1 Main CPU and Memory ........................................................ 8310
246.3.2 I/O CPU ................................................................................ 8310
246.3.3 Data Retention ..................................................................... 8310
246.4 Device Administrator USB Hubs ............................................ 8311
246.5 License Information ............................................................... 8312

247 Trends Deep Technical Reference ......................... 8313


247.1 Trend Log Tick ....................................................................... 8315
247.2 Block Transfer ........................................................................ 8316
247.3 Smart Log .............................................................................. 8317

248 Xenta LonWorks Device Deep Technical


Reference ............................................................... 8319
248.1 Xenta Progress Error Texts ................................................... 8321
248.1.1 Commission Errors ............................................................... 8321
248.1.2 Device Type Errors .............................................................. 8321
248.1.3 MTA Parsing Errors .............................................................. 8321
248.2 Xenta 280/300/400 LonWorks Device SNVT Support ............ 8324
248.3 Xenta Trend Log Online Parameters ...................................... 8327
248.3.1 Editable Online Parameters ................................................. 8327
248.4 Bandwidth Throttling .............................................................. 8328

04-30006-02-en, May 2019 Technical


177
Introduction

The Introduction part contains information on the purpose of


this guide, how this guide is organized, where to find more
information, and information on regulatory notices.
1 About This Guide

Topics
Purpose of This Guide
How This Guide is Organized
Safety Information
1 About This Guide
1.1 Purpose of This Guide

1.1 Purpose of This Guide


This guide provides an overview of the EcoStruxure BMS with information on
how to engineer a system consisting of EcoStruxure BMS servers, I/O modules,
SmartX IP controllers, SmartX Sensors, and various communication interfaces.
The guide describes how to configure the server communications and bindings
for data exchange using the EcoStruxure Building Operation software.
Information on Graphics, Script and Function Block programming, Custom
Types, Cloud Connectivity, Cybersecurity and other software features are also
included. This guide includes technical information and troubleshooting
information, as well as concepts and procedures.

04-30006-02-en, May 2019 Technical


183
1 About This Guide
1.2 How This Guide is Organized

1.2 How This Guide is Organized


This EcoStruxure Building Operation Guide is divided into the following parts:

Introduction
The Introduction part contains information on the purpose of this guide, how this
guide is organized, where to find more information, and information on
regulatory notices.

Reference
The Reference part contains conceptual information, procedures, user interface
descriptions and troubleshooting information. If you want more information, see
WebHelp or the other EcoStruxure BMS guides.

Technical 04-30006-02-en, May 2019


184
1 About This Guide
1.3 Safety Information

1.3 Safety Information


Important Information
Read these instructions carefully and look at the equipment to become familiar
with the device before trying to install, operate, service or maintain it. The
following special messages may appear throughout this bulletin or on the
equipment to warn of potential hazards or to call attention to information that
clarifies or simplifies a procedure.

The addition of either symbol to a “Danger” or “Warning” safety label


indicates that an electrical hazard exists which will result in personal
injury if the instructions are not followed.

This is the safety alert symbol. It is used to alert you to potential


personal injury hazards. Obey all safety messages that follow this
symbol to avoid possible injury or death.

DANGER
DANGER indicates a hazardous situation which, if not avoided, will result in
death or serious injury.

WARNING
WARNING indicates a hazardous situation which, if not avoided, could result
in death or serious injury.

CAUTION
CAUTION indicates a hazardous situation which, if not avoided, could result
in minor or moderate injury.

NOTICE
NOTICE is used to address practices not related to physical injury.

Please Note
Electrical equipment should be installed, operated, serviced, and maintained
only by qualified personnel. No responsibility is assumed by Schneider Electric
for any consequences arising out of the use of this material.
A qualified person is one who has skills and knowledge related to the
construction, installation, and operation of electrical equipment and has
received safety training to recognize and avoid the hazards involved.

04-30006-02-en, May 2019 Technical


185
2 Additional Information

Topics
Where to Find Additional Information
2 Additional Information
2.1 Where to Find Additional Information

2.1 Where to Find Additional Information


All the technical EcoStruxure BMS information is available online, on WebHelp.
WebHelp is a web-based help system for the EcoStruxure Building Operation
software and SmartX devices, the software and hardware that powers the
EcoStruxure BMS.
By pressing F1 or clicking a Help button in the EcoStruxure Building Operation
software your web browser opens WebHelp with the latest, up-to-date, technical
documentation.

Figure: Help in EcoStruxure Building Operation software

Some EcoStruxure Building Operation software products give you context-


sensitive help by opening a WebHelp page that explains the view or dialog box
you have in focus. Some programs open up an overview page. From these
pages, you can follow the links to get more detailed information.
WebHelp contains all the technical information that is in the guides, specification
sheets, and installation sheets.

The WebHelp site


One of the advantages with WebHelp is that you can reach Help without having
the EcoStruxure Building Operation software installed on your computer. By
entering the URL address help.sbo.schneider-electric.com you can access
WebHelp from any computer, smartphone, or tablet connected to the internet.

Finding information
The easiest way to find information on WebHelp is to search for it.

Figure: Home page search

All technical information is gathered in one place, so you do not need to know
which guide, specification sheet, or installation sheet the information is in.

Filtering the information


To narrow down the search results, you can use these filters:
• Product
• Functionality
• Information type

04-30006-02-en, May 2019 Technical


189
2 Additional Information
2.1 Where to Find Additional Information

Figure: Search filters

Technical 04-30006-02-en, May 2019


190
Reference

The Reference part contains conceptual information,


procedures, user interface descriptions and troubleshooting
information. If you want more information, see WebHelp or
the other EcoStruxure BMS guides.
3 EcoStruxure BMS Servers

Topics
EcoStruxure BMS Server Overview
Creating an EcoStruxure BMS server
3 EcoStruxure BMS Servers
3.1 EcoStruxure BMS Server Overview

3.1 EcoStruxure BMS Server Overview


EcoStruxure BMS servers are used to engineer and supervise Building
Management Systems.

3.1.1 Enterprise Central


Enterprise Central is the hierarchical EcoStruxure BMS server at the top of the
system architecture hierarchy of a large Building Management System.
Enterprise Central is primarily used for administration and data aggregation in
an EcoStruxure BMS that has multiple Enterprise Servers. From one location,
you can manage operations across large Building Management Systems that
have multiple Enterprise Server subsystems.
For more information, see section 4.1 “Enterprise Central” on page 201.

3.1.2 Enterprise Server


Enterprise Server is the hierarchical EcoStruxure BMS server at the top of the
system architecture hierarchy of a medium size Building Management System,
or at the middle of the hierarchy in a large system. Enterprise Server is primary
used for administration, system supervision and engineering of SmartX servers.
Enterprise Server aggregates data that can be accessed by Enterprise Central.
For more information, see section 5.1 “Enterprise Server” on page 209.

3.1.3 SmartX Servers


There are three types of SmartX servers: Automation Server, SmartX AS-P
servers, and SmartX AS-B servers. SmartX servers constitute the server base
tier, and are typically supervised through an Enterprise Server. The primary
function of the SmartX servers is to control I/O and to monitor field bus devices.
For more information, see section 6.1 “SmartX Servers” on page 217.

3.1.4 EcoStruxure BMS Server Communication


You configure communication parameters when you add an EcoStruxure BMS
server. The Enterprise Central distributes its communication parameters to the
Enterprise Servers and the Enterprise Server distributes its communication
parameters to the SmartX servers so that they know how to communicate with
the newly added EcoStruxure BMS server. SmartX server does not get
communication parameters from Enterprise Central, nor vice-versa.
For more information, see section 8.1 “EcoStruxure BMS Server Communication”
on page 289.

04-30006-02-en, May 2019 Technical


195
3 EcoStruxure BMS Servers
3.1 EcoStruxure BMS Server Overview

3.1.5 EcoStruxure BMS Server Status


The status of an EcoStruxure BMS server can be either online or offline. Being
online or offline depends on the operational situation of the EcoStruxure BMS
server and its connectivity with other EcoStruxure BMS servers. An EcoStruxure
BMS server can actually be online and communicating with one EcoStruxure
BMS server, while at the same time appear to be offline to another EcoStruxure
BMS server.
EcoStruxure BMS server status has implications on EcoStruxure BMS server
management. An EcoStruxure BMS server needs to be online to be configured.
Another consideration is that configuring an EcoStruxure BMS server, while
another EcoStruxure BMS server is offline, can cause the offline EcoStruxure
BMS server to come out of synch when it comes back online again.
For more information, see section 8.4 “EcoStruxure BMS Server Status” on page
298.

3.1.6 EcoStruxure BMS Server Management


You use Enterprise Central to manage Enterprise Servers, which includes
adding, configuring, and removing Enterprise Servers.
For more information, see section 9.1 “EcoStruxure BMS Server Management”
on page 305.

3.1.7 Multi-server Systems


Large EcoStruxure BMS systems can contain a top-tier Enterprise Central, mid-
tier Enterprise Servers, and a number of base-tier SmartX servers. Smaller
EcoStruxure BMS systems can contain a top-tier Enterprise Server and a
number of base-tier SmartX servers.
For more information, see section 10.1 “Multi-server Systems” on page 317.

Technical 04-30006-02-en, May 2019


196
3 EcoStruxure BMS Servers
3.2 Creating an EcoStruxure BMS server

3.2 Creating an EcoStruxure BMS server


How to create an EcoStruxure BMS server.
For more information, see section 3.1 “EcoStruxure BMS Server Overview” on
page 195.

To create an EcoStruxure BMS server


1. In WorkStation, in the System Tree pane, select the Servers folder.
2. On the File menu, point to New and then click Server
Server.
3. In the Create Object wizard, in the Name box, type a name for the server.
4. In the Description box, type descriptive information about the server.
5. Click Next
Next.
6. In the Configure IP/DNS Address and Port page, in the Address box, type
the IP address or fully qualified domain name of the server.

NOTICE
• If the EcoStruxure BMS server has been assigned a dynamic IP
address, use the fully qualified domain name of the EcoStruxure BMS
server instead of the IP address.

7. In the Protocol box, select a protocol for the server. For more information,
see section 8.1 “EcoStruxure BMS Server Communication” on page 289.
8. In the Port box, enter a port number.
9. Click Next
Next.
10. In the Create Server from a Backup Set page, in the File box, enter the
name of the backup set file if you want to create the server from a backup
set.
11. Click Create
Create.

04-30006-02-en, May 2019 Technical


197
4 Enterprise Central

Topics
Enterprise Central
EcoStruxure BMS Server Hierarchy
Engineering in Enterprise Central
Features of Enterprise Central
4 Enterprise Central
4.1 Enterprise Central

4.1 Enterprise Central


Enterprise Central is the hierarchical EcoStruxure BMS server at the top of the
system architecture hierarchy of a large Building Management System.
Enterprise Central is primarily used for administration and data aggregation in
an EcoStruxure BMS that has multiple Enterprise Servers. From one location,
you can manage operations across large Building Management Systems that
have multiple Enterprise Server subsystems.
Enterprise Central is a licenced product and it runs only with a valid license
installed.For more information, see the Licenses topic on WebHelp.

4.1.1 EcoStruxure BMS Server Hierarchy


An EcoStruxure BMS that contains Enterprise Central has three tiers of servers:
• Top-tier Enterprise Central
• Middle-tier Enterprise Servers
• Base-tier SmartX servers
For more information, see section 4.2 “EcoStruxure BMS Server Hierarchy” on
page 202.

4.1.2 Engineering in Enterprise Central


You use Enterprise Central to engineer the entire EcoStruxure BMS.
For more information, see section 4.3 “Engineering in Enterprise Central” on
page 203.

4.1.3 Features of Enterprise Central


Enterprise Central provides features for system supervision and tools for
engineering. The table shows the different tasks that can be performed by each
of the servers.
For more information, see section 4.4 “Features of Enterprise Central” on page
204.

04-30006-02-en, May 2019 Technical


201
4 Enterprise Central
4.2 EcoStruxure BMS Server Hierarchy

4.2 EcoStruxure BMS Server Hierarchy


An EcoStruxure BMS that contains Enterprise Central has three tiers of servers:
• Top-tier Enterprise Central
• Middle-tier Enterprise Servers
• Base-tier SmartX servers
An Enterprise Central cannot contain the following devices and applications:
• SmartX servers
• Field buses
• SmartDrivers
An Enterprise Central can currently host up to 10 Enterprise Servers, which in
turn can host up to 250 SmartX servers connected to the full complement of
SmartX IP controllers and field bus devices.
In multi-server systems that include an Enterprise Central, a SmartX server has
information on its parent Enterprise Server, but not the Enterprise Central.
Enterprise Server has information on its hosted SmartX servers and on the
Enterprise Central. Enterprise Servers may also have information on other
Enterprise Servers hosted by the same Enterprise Central and provided they are
members of the same domain(s). For more information, see the Domains topic
on WebHelp.
Enterprise Central supports lead-shadow relationships between the Enterprise
Central and Enterprise Servers in the EcoStruxure BMS. For more information,
see the Lead and Shadow Relationship topic on WebHelp.

Technical 04-30006-02-en, May 2019


202
4 Enterprise Central
4.3 Engineering in Enterprise Central

4.3 Engineering in Enterprise Central


You use Enterprise Central to engineer the entire EcoStruxure BMS.
The Enterprise Central provides the system entry point. You access Enterprise
Central from WorkStation or Webstation.
To get permissions to all servers in the EcoStruxure BMS, you log on to the
Enterprise Central with a user account that has administrator permissions. For
more information, see the User Account Management Overview topic on
WebHelp.
When logged on to Enterprise Central, you can monitor and engineer the entire
EcoStruxure BMS. You can access and configure any Enterprise Server and all
resources that reside below it. For instance, you can use Enterprise Central to
gather and view alarms, trend logs, event logs, graphics, schedules, search
objects, and watch objects and store them all in a central database.
You can use Enterprise Central to configure new Enterprise Servers in the
system. You can also use Enterprise Central to set up domains, user groups,
and permissions for the entire EcoStruxure BMS.

04-30006-02-en, May 2019 Technical


203
4 Enterprise Central
4.4 Features of Enterprise Central

4.4 Features of Enterprise Central


Enterprise Central provides features for system supervision and tools for
engineering. The table shows the different tasks that can be performed by each
of the servers.
Enterprise Central has the following live features:
• Scalability
• Global view, access and search of the system
• Program runtime environment
• Centralized alarms and data management
– Alarms from multiple servers
– Event logs from multiple servers
– Extended trend logs from multiple servers
– Historical data storage from multiple servers
Enterprise Central has the following engineering features:
• Programming editors
• Binding tool
• Graphics Editor
• User and domain management
• Domain management
• Windows Active Directory integration

Table: Distinguishing Tasks Table


Task Enterprise Enterprise Automation SmartX AS- SmartX AS-
Central Server Server P Server B Server

Create and X X X X X
configure
objects
(programs,
graphics,
alarms, trend
logs,
schedules)

Bind values X X X X X

Use binding X X X X X
templates

Create - X - - -
SmartX
server

Set up X X - - -
domains

Set up user X X X X X
groups

Technical 04-30006-02-en, May 2019


204
4 Enterprise Central
4.4 Features of Enterprise Central

Continued
Task Enterprise Enterprise Automation SmartX AS- SmartX AS-
Central Server Server P Server B Server

Discover and - X - - -
create
SmartX
servers

Discover and - X X X X
create field
bus devices

Discover and - X X X -a
create I/O
modules

Download, - X X X X
commission,
and upload
device
configuration

View and X X - - -
access
remote
SmartX
servers

Run X X X X X
programs

View live X X X X X
data

Store logs X X X X X

Store multi- X X - - -
server logs

Monitor field - X X X X
bus devices

Control I/O - - X X Xa

a) SmartX AS-B servers have built-in I/O.

04-30006-02-en, May 2019 Technical


205
5 Enterprise Servers

Topics
Enterprise Server
Engineering in Enterprise Server
Device Discovery
Warm Starting an Enterprise Server
5 Enterprise Servers
5.1 Enterprise Server

5.1 Enterprise Server


Enterprise Server is the hierarchical EcoStruxure BMS server at the top of the
system architecture hierarchy of a medium size Building Management System,
or at the middle of the hierarchy in a large system. Enterprise Server is primary
used for administration, system supervision and engineering of SmartX servers.
Enterprise Server aggregates data that can be accessed by Enterprise Central.

NOTICE
Ensure that you have a working and available Enterprise Server license. A
working license is required to start the Enterprise Server. For more information,
see the Licenses topic on WebHelp.

5.1.1 Engineering in Enterprise Server


You can logon to the Enterprise Server and engineer the entire EcoStruxure
BMS.
For more information, see section 5.2 “Engineering in Enterprise Server” on
page 211.

5.1.2 Features
The Enterprise Server provides features for system supervision and tools for
engineering.
The Enterprise Server has the following live features:
• Global view and access
• Program runtime environment
• Centralized alarms: manage alarms from multiple servers
• View extended trend logs from mulitple servers
• View Event logs from multiple servers
• Store historical data from multiple servers
• Capable of monitoring field bus:
– Connects to Lon field bus through RNI, L-IP, or NIC network interface
– Connects to BACnet field bus through a BACnet/IP router
The Enterprise Server has the following engineering features:
• SmartX server device management
• Tools for device discovery and commissioning
• Programming editors
• Binding tool
• Graphic Editor
• User management
• Domain management

04-30006-02-en, May 2019 Technical


209
5 Enterprise Servers
5.1 Enterprise Server

• Windows Active Directory integration

5.1.3 Device Discovery


You discover installed devices to create them in the System Tree pane.
For more information, see section 5.3 “Device Discovery” on page 212.

Technical 04-30006-02-en, May 2019


210
5 Enterprise Servers
5.2 Engineering in Enterprise Server

5.2 Engineering in Enterprise Server


You can logon to the Enterprise Server and engineer the entire EcoStruxure
BMS.
Through the Enterprise Server, you can access and engineer any SmartX server
and any resource that resides under a SmartX server. You can use the
Enterprise Server to gather and view all alarms, trend logs, and event logs in list
and chart views, and store it all in a central database.
You can use the Enterprise Server to configure new SmartX server in the system.
You can also use the Enterprise Server to set up domains, user groups, and
permissions, which is outside the scope of the SmartX server.

04-30006-02-en, May 2019 Technical


211
5 Enterprise Servers
5.3 Device Discovery

5.3 Device Discovery


You discover installed devices to create them in the System Tree pane.
You typically create an object in the System Tree pane that represents a device,
discover the physical hardware in the Device Discovery view, and associate the
device to the object representation in the System Tree pane.
You can also discover the physical hardware in the Device Discovery view and
create an object representation automatically as you drag the discovered
device to the System Tree pane.
There are several scenarios where you use Device Discovery:
• Discover a LonWorks interface on an EcoStruxure BMS server.
• Discover LonWorks devices on the field bus of an EcoStruxure BMS server.
• Discover BACnet devices on the field bus of an EcoStruxure BMS server.
• Discover I/O modules on a SmartX server.

Technical 04-30006-02-en, May 2019


212
5 Enterprise Servers
5.4 Warm Starting an Enterprise Server

5.4 Warm Starting an Enterprise Server


You warm start an Enterprise Server when you want the server to reset itself.
When you warm start an Enterprise Server, the server retains all configuration
data, historic data, and variable values according to the configured retain levels
for the variables.

To warm start an Enterprise Server


1. In Workstation, in the System Tree pane, select the Enterprise Server you
want to warm start.
2. On the Actions menu, click Warm start
start.

04-30006-02-en, May 2019 Technical


213
6 SmartX Servers

Topics
SmartX Servers
I/O and Field Buses
Features of SmartX Servers
Installing SmartX AS-P or SmartX AS-B Software
Creating a SmartX Server
Creating a SmartX Server from a Backup Set
Warm Starting a SmartX Server
Enabling or Disabling DHCP
Disabling the Ethernet 2 Port
Resetting a SmartX Server
Disabling DNS Updates
SNMP
Creating an SNMP User
Disabling SNMP for Managing a SmartX Server
SmartX Server Device Configuration in WebStation
Changing the SmartX Server TCP/IP Settings and Ports
Displaying the SmartX Server System Information
Exporting SmartX Server Log Files
6 SmartX Servers
6.1 SmartX Servers

6.1 SmartX Servers


There are three types of SmartX servers: Automation Server, SmartX AS-P
servers, and SmartX AS-B servers. SmartX servers constitute the server base
tier, and are typically supervised through an Enterprise Server. The primary
function of the SmartX servers is to control I/O and to monitor field bus devices.
SmartX servers provide distributed intelligence around a building. This is in
contrast to centralizing all control into one building mainframe. Distributing the
logic makes the different automation systems in the building autonomous and
fault tolerant. In the process, the SmartX server also makes the physical
installation and wiring more manageable.
Install the SmartX server and deploy the logic as close as possible to the
apparatus that they monitor and control. This way, most parts of the system
function autonomously and continue to function as a whole, even if
communication, individual SmartX servers fail or go offline.

6.1.1 I/O and Field Buses


SmartX AS-P servers and Automation Servers can have direct control of
automation apparatus through the central I/O modules. Central I/O implies it is
connected directly to the SmartX server backplane, and that relevant logic and
programs are deployed and reside directly in the SmartX server. SmartX AS-B
servers use built-in I/O instead of central I/O modules.
For more information, see section 6.2 “I/O and Field Buses” on page 220.

6.1.2 Features of SmartX Servers


The SmartX server facilitates features for automation control, monitoring, and
tools and services that you can use for local engineering.
For more information, see section 6.3 “Features of SmartX Servers ” on page
221.

6.1.3 Automation Servers


An Automation Server is a Schneider Electric manufactured embedded device
that generally serves as the lowest tier EcoStruxure BMS server within the
EcoStruxure BMS. The Automation Server controls and supervises equipment,
typically HVAC equipment. The Automation Server uses I/O modules with
connected field devices, such as sensors and actuators, to do that.
For more information, see the Automation Servers topic on WebHelp.

04-30006-02-en, May 2019 Technical


217
6 SmartX Servers
6.1 SmartX Servers

6.1.4 SmartX AS-P Servers


The SmartX AS-P server is the successor to Automation Server, and offers
several improvements such as enhanced processor performance, increased
memory size, dual Ethernet ports, and high speed USB interfaces. Like the
Automation Server, the SmartX AS-P server is a Schneider Electric
manufactured embedded device that generally serves as the lowest tier
EcoStruxure BMS server within the EcoStruxure BMS. The SmartX server
controls and supervises equipment, typically HVAC equipment. SmartX AS-P
servers use I/O modules with connected field devices, such as sensors and
actuators, to do that.
For more information, see the SmartX AS-P Servers topic on WebHelp.
SmartX AS-P server is delivered without any software. You need to install the
software before you can configure SmartX AS-P server.
For more information, see section 6.4 “Installing SmartX AS-P or SmartX AS-B
Software” on page 222.

6.1.5 SmartX AS-B Servers


A SmartX AS-B server is a powerful SmartX server that features both onboard I/O
and built-in power supply. Like the other SmartX servers, the SmartX AS-B
server is a Schneider Electric manufactured embedded device that generally
serves as the lowest tier EcoStruxure BMS server within the EcoStruxure BMS.
The SmartX server controls and supervises equipment, typically HVAC
equipment. The SmartX AS-B server uses its onboard I/O with connected field
devices, such as sensors and actuators, to do that.
For more information, see the SmartX AS-B Servers topic on WebHelp.
SmartX AS-B server is delivered without any software. You need to install the
software before you can configure SmartX AS-B server.
For more information, see section 6.4 “Installing SmartX AS-P or SmartX AS-B
Software” on page 222.

6.1.6 SmartX Server Administration


You use Device Administrator to connect to and administer the SmartX servers.
For example, you use Device Administrator to install or upgrade the software,
configure the time, or change the IP address of the SmartX server.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

6.1.7 SNMP
Simple Network Management Protocol (SNMP) is an Internet-standard protocol
for managing devices on IP networks. The EcoStruxure BMS servers support
SNMP version 3. The SmartX servers support several SNMP traps.
For more information, see section 6.12 “SNMP” on page 231.

Technical 04-30006-02-en, May 2019


218
6 SmartX Servers
6.1 SmartX Servers

6.1.8 SmartX Server Device Configuration in


WebStation
The SmartX server Device configuration pages can only be accessed through
WebStation. Through the SmartX server Device configuration pages, you can
change TCP/IP settings, download logs, and check the version of the SmartX
server.
For more information, see section 6.15 “SmartX Server Device Configuration in
WebStation” on page 235.

04-30006-02-en, May 2019 Technical


219
6 SmartX Servers
6.2 I/O and Field Buses

6.2 I/O and Field Buses


SmartX AS-P servers and Automation Servers can have direct control of
automation apparatus through the central I/O modules. Central I/O implies it is
connected directly to the SmartX server backplane, and that relevant logic and
programs are deployed and reside directly in the SmartX server. SmartX AS-B
servers use built-in I/O instead of central I/O modules.
A SmartX server can also connect to intelligent, more autonomous devices by
the means of a field bus, such as when integrating Xenta and b3 devices. These
field bus devices run their own programs and control their own subordinate
automation apparatus. The SmartX server assumes more of a monitoring role
towards these field bus devices.

Figure: I/O and field buses

Technical 04-30006-02-en, May 2019


220
6 SmartX Servers
6.3 Features of SmartX Servers

6.3 Features of SmartX Servers


The SmartX server facilitates features for automation control, monitoring, and
tools and services that you can use for local engineering.

Live Features
SmartX server have the following live features:
• Local view and access
• Program runtime environment
• Local alarm management
• Data managemenet: view local trend logs and event logs, store historical
data in local database
• Capable of controlling central I/O (AS-Bs have built-in I/O)
• Capable of monitoring field bus:
– Connects to the LonWorks field bus through port (not supported by AS-
Bs)
– Connects to the BACnet field bus through port

Live Engineering Features


SmartX server have the following live engineering features:
• Tools for device discovery and commissioning
• Programming editors
• Binding tool
• Graphic Editor

04-30006-02-en, May 2019 Technical


221
6 SmartX Servers
6.4 Installing SmartX AS-P or SmartX AS-B Software

6.4 Installing SmartX AS-P or SmartX AS-B


Software
The SmartX AS-P and SmartX AS-B servers are delivered without any software.
Use this procedure to install the software.
For more information, see section 6.1 “SmartX Servers” on page 217.

To install SmartX AS-P or SmartX AS-B software


1. Start Device Administrator.
2. Connect to SmartX AS-P or SmartX AS-B. For more information, see section
7.8 “Connecting to a SmartX Server Using the USB Device Port” on page
249.
3. In Device Administrator
Administrator, select SmartX AS-P or SmartX AS-B in the list.
4. Click the Upgrade
Upgrade.
5. In the Upgrade dialog box, In the Type of upgrade list, select New
Database
Database.
6. Click OK
OK.
The SmartX AS-P or SmartX AS-B is now ready to be configured.

Technical 04-30006-02-en, May 2019


222
6 SmartX Servers
6.5 Creating a SmartX Server

6.5 Creating a SmartX Server


You use this procedure to add an empty SmartX server to the system.
For more information, see section 6.1 “SmartX Servers” on page 217.

To create a SmartX server


1. In WorkStation, in the System Tree pane, select the Servers folder.
2. On the File menu, point to New and then click Server
Server.
3. In the Create Object wizard, in the Name box, type a name for the SmartX
server.
4. In the Description box, type descriptive information about the SmartX
server.
5. Click Next
Next.
6. In the Configure IP/DNS Address and Port page, in the Address box, type
the IP address or fully qualified domain name of the SmartX server.

NOTICE
• If the SmartX server has been assigned a dynamic IP address, use the
fully qualified domain name of the SmartX server instead of the IP
address.

7. In the Protocol box, select a protocol for the SmartX server. For more
information, see section 8.1 “EcoStruxure BMS Server Communication” on
page 289.
8. In the Port box, enter a port number.
9. Click Create
Create.
10. In the Log on dialog box, in the Password box , type the custom password
if required.
11. Click OK
OK.

04-30006-02-en, May 2019 Technical


223
6 SmartX Servers
6.6 Creating a SmartX Server from a Backup Set

6.6 Creating a SmartX Server from a


Backup Set
You create a SmartX server from a backup set to reuse configuration data from
an existing SmartX server when adding a new SmartX server to the system.

NOTICE
When you create a SmartX server from a backup set all passwords are deleted
on the created device due to security reasons. The only exception is the
default admin password. When the SmartX server is created the administrator
is forced to change the password at the first logon. Then all users must be
given new passwords by the administrator.

NOTICE
You have to backup the SmartX server whose backup set you want to reuse
before starting to create the new SmartX server.

For more information, see the Backup topic on WebHelp.

To create a SmartX server from a backup set


1. In WorkStation, in the System Tree pane, select the Servers folder.
2. On the File menu, point to New and then click Server
Server.
3. In tthe Create Object wizard, in he Name box, type a name for the SmartX
server.
4. In the Description box, type descriptive information about the SmartX
server.
5. Click Next
Next.
6. In the Configure IP/DNS Address and Port page, in the Address box, type
the IP address or fully qualified domain name of the SmartX server.

NOTICE
• If the SmartX server has been assigned a dynamic IP address, use the
fully qualified domain name of the SmartX server instead of the IP
address.

7. In the Protocol box, select a protocol for the SmartX server. For more
information, see section 8.1 “EcoStruxure BMS Server Communication” on
page 289.
8. In the Port box, enter a port number.
9. Click Next
Next.
10. In the Log on dialog box, in the Password box , type the custom password
if required.
11. Click OK
OK.

Technical 04-30006-02-en, May 2019


224
6 SmartX Servers
6.6 Creating a SmartX Server from a Backup Set

12. In the Create Server from a Backup Set page, in the File box, enter the
path to the backup set file.
13. Click Create
Create.
You have created a SmartX server containing the configuration data from the
backed up SmartX server. You can manually customize the configuration data
for the new server to meet your requirements.

04-30006-02-en, May 2019 Technical


225
6 SmartX Servers
6.7 Warm Starting a SmartX Server

6.7 Warm Starting a SmartX Server


You warm start a SmartX server when you want the server to reset itself. When
you warm start a SmartX server, the server retains all configuration data, historic
data, and variable values according to the configured retain levels for the
variables.

To warm start a SmartX server


1. In Workstation, in the System Tree pane, select the SmartX server you want
to warm start.
2. On the Actions menu, click Warm start
start.

Technical 04-30006-02-en, May 2019


226
6 SmartX Servers
6.8 Enabling or Disabling DHCP

6.8 Enabling or Disabling DHCP


You enable Dynamic Host Configuration Protocol (DHCP) to dynamically receive
IP addresses.
You disable DHCP to configure static IP addresses.

NOTICE
A reason for DHCP can be that it does not include any mechanism for
authentication.

For more information, see section 6.1 “SmartX Servers” on page 217.

To enable or disable DHCP


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click Ethernet 1 Configuration
Configuration.
4. Select or clear Enable DHCP
DHCP.
5. Click Apply
Apply.

04-30006-02-en, May 2019 Technical


227
6 SmartX Servers
6.9 Disabling the Ethernet 2 Port

6.9 Disabling the Ethernet 2 Port


You use this procedure to disable the SmartX AS-P server Ethernet 2 port.
For more information, see the SmartX AS-P Server Communication Ports topic on
WebHelp.

To disable the Ethernet 2 port


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click Ethernet 2 Configuration
Configuration.
4. In the Ethernet 2 mode box, select Disabled
Disabled.
5. Click Apply
Apply.

Technical 04-30006-02-en, May 2019


228
6 SmartX Servers
6.10 Resetting a SmartX Server

6.10 Resetting a SmartX Server


You reset your SmartX server AS-B or SmartX server AS-P for the disabling or
enabling of the USB ports to take effect.
For more information, see section 207.31 “Disable SmartX Server Ports” on page
7893.

To reset a SmartX Server


1. On the SmartX server, press the Reset button once.

04-30006-02-en, May 2019 Technical


229
6 SmartX Servers
6.11 Disabling DNS Updates

6.11 Disabling DNS Updates


You disable DNS (Dynamic Domain Name System) updates to increase the
security of your system. When you disable DNS updates, it is not possible to
reach the device by host name without knowing the current IP address of the
device.
For more information, see section 6.1 “SmartX Servers” on page 217.

To disable DNS updates


1. In Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click Ethernet 1 Configuration
Configuration.
4. Clear Dynamic DNS
DNS.
5. Click Apply
Apply.

Technical 04-30006-02-en, May 2019


230
6 SmartX Servers
6.12 SNMP

6.12 SNMP
Simple Network Management Protocol (SNMP) is an Internet-standard protocol
for managing devices on IP networks. The EcoStruxure BMS servers support
SNMP version 3. The SmartX servers support several SNMP traps.
SNMP traps enable an agent to notify the management station of significant
events by way of an unsolicited SNMP message.
SmartX servers support the following SNMP traps:
• ColdStart: The SmartX server is restarted.
• LinkUp: The SmartX server is up and running.
• AuthenticationFailure: Someone has made unsuccessful attempts to log on
to the SmartX server.
To be able to use SNMP for supervising a SmartX server, you must use a
management information base (MIB) file. The MIB file translates the binary
information from the SmartX server to readable text. The MIB file for EcoStruxure
Building Operation software is called sboProductMib.mib, and can be found on
Download Center.

Figure: The SNMP user, the MIB file, and the SNMP Manager Tool

To be able to send information from the SmartX server to the SNMP managing
system, you must create a user on the SmartX server that the SNMP manager
system uses to connect to the SmartX server.

04-30006-02-en, May 2019 Technical


231
6 SmartX Servers
6.12 SNMP

You can log all access attempts to the SNMP server in the System log.

License
To be able to use SNMP on a SmartX server you need a license. The licenses for
SmartX servers are managed using Device Administrator.
For more information, see the Device Administrator Licenses topic on WebHelp.

Technical 04-30006-02-en, May 2019


232
6 SmartX Servers
6.13 Creating an SNMP User

6.13 Creating an SNMP User


You create an SNMP user for a SmartX server so that an SNMP Manager can
access the SNMP information on the SmartX server.
For more information, see section 6.12 “SNMP” on page 231.

To create a SNMP user


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click SNMP Configuration.
4. Select Enable SNMP queries to receive SNMP queries.
5. Select Enable SNMP traps to receive SNMP traps.
6. In the Trap destination host address box, type the destination host for
traps.
7. In the Username box, type the user name for the SNMP user in the SmartX
server.
8. In the Authentication password box, type the Authentication password
(MD5) for the SNMP user in the SmartX server. The password must be at
least ten characters long.
9. In the Confirm password box, type the password again.
10. In the Privacy password box, type the privacy password (DES). The
password must be at least ten characters long.
11. In the Confirm password box, type the password again.
12. In the System contact box, type the name of the system contact.
13. In the Location box, type the location.
14. Select Enable logging to log all access attempts to the SNMP server in the
System log.
15. Click Apply
Apply.

04-30006-02-en, May 2019 Technical


233
6 SmartX Servers
6.14 Disabling SNMP for Managing a SmartX Server

6.14 Disabling SNMP for Managing a SmartX


Server
Disable SNMP for managing a SmartX server to increase the security.
For more information, see section 6.12 “SNMP” on page 231.

To disable SNMP for managing a SmartX server


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click SNMP Configuration
Configuration.
4. Clear Enable SNMP queries
queries.
5. Clear Enable SNMP traps
traps.
6. Click Apply
Apply.

Technical 04-30006-02-en, May 2019


234
6 SmartX Servers
6.15 SmartX Server Device Configuration in WebStation

6.15 SmartX Server Device Configuration in


WebStation
Using WebStation you can make network configuration on your SmartX server.
You can also download logs and check the version of the SmartX server.
The main configuration of the SmartX server is done using Device Administrator.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

6.15.1 Network Settings and System Info


You can change TCP/IP settings, change ports, and change host name using
the SmartX server Device configuration in WebStation. You can also view view
the serial number, MAC address, and hardware version for the SmartX server.
The TCP/IP settings can also be changed using Device Administrator. For more
information, see section 7.4 “Configuring the SmartX Server IP Address” on
page 245.

6.15.2 SmartX Server Log Files


The SmartX server stores its log files to the onboard flash memory. Some of the
log files store the events according to the circular storing principle: when a log
file exceeds its maximum size the oldest event is overwritten.
Using the SmartX server Device configuration in WebStation, you can export the
SmartX server log files. When exporting log files, the SmartX server compresses
the files with ZIP.
The information in the logs is essential for the product support service or when
troubleshooting. To forward the information to a troubleshooter who does not
have access to your system, download the log files and attach them to an e-
mail.

04-30006-02-en, May 2019 Technical


235
6 SmartX Servers
6.16 Changing the SmartX Server TCP/IP Settings and Ports

6.16 Changing the SmartX Server TCP/IP


Settings and Ports
You change the network settings of the SmartX server using the SmartX server
Device configuration to define the network communication of the server.
For more information, see section 6.15 “SmartX Server Device Configuration in
WebStation” on page 235.

To change the SmartX server TCP/IP settings and ports


1. In WebStation, in the Settings menu, click Options
Options.
2. Click Device configuration
configuration.
3. Click the Network tab.
4. In the DHCP box, select Enable to obtain TCP/IP configuration information
from a DHCP server.
5. In the IP address box, type the IP address of the SmartX server.
6. In the Subnet mask box, type the address of the subnet that the SmartX
server belongs to.
7. In the Default gateway box, type the address of the node that serves as an
access point to another network.
8. In the DNS server box, type the address to the DNS server where the
SmartX server address is listed.
9. In the Domain name box, type the IP domain name that the SmartX server
belongs to.
10. In the Host name box, type the IP host name of the SmartX server.
11. In the HTTP port box, type the HTTP port.
12. In the HTTPS port box, type the HTTPS port.
13. Click Save
Save.

Technical 04-30006-02-en, May 2019


236
6 SmartX Servers
6.17 Displaying the SmartX Server System Information

6.17 Displaying the SmartX Server System


Information
You view the SmartX server settings and manufacturing data to get a an
overview of the current configuration of the SmartX server.
For more information, see section 6.15 “SmartX Server Device Configuration in
WebStation” on page 235.

To display the SmartX server system information


1. In WebStation, in the Settings menu, click Options
Options.
2. Click Device configuration
configuration.
3. Click the System Info tab.

04-30006-02-en, May 2019 Technical


237
6 SmartX Servers
6.18 Exporting SmartX Server Log Files

6.18 Exporting SmartX Server Log Files


You export the log files on the SmartX server to an external storage device to
view the log information.
For more information, see section 6.15 “SmartX Server Device Configuration in
WebStation” on page 235.

To export SmartX server log files


1. In WebStation, in the Settings menu, click Options
Options.
2. Click Device configuration
configuration.
3. Click the Server Log tab.
4. Click Get all log files
files.
5. Save the ZIP file.
6. Click Close
Close.
The log files, when downloaded, are compressed to a ZIP file. To open the log
files, extract the compressed file and open the .log-files with any text editor.

Technical 04-30006-02-en, May 2019


238
7 SmartX Server Device
Administration

introduction to this topic

Topics
SmartX Server Device Administration
Getting SmartX Server Debug Information
Identifying the SmartX Server IP Address
Configuring the SmartX Server IP Address
Configuring a SmartX Server to Use DHCP
Restoring the Software of a Damaged SmartX Server
Connect to SmartX Servers
Connecting to a SmartX Server Using the USB Device Port
Connecting to a SmartX Server Using the IP Network
Editing Multiple Connections
Connecting to a SmartX Server Using a Network Cable
SmartX AS-B and AS-P Server as a DHCP Server
Configuring AS-B or AS-P Server as a DHCP Server
Locking the SmartX AS-B and AS-P Servers' DHCP Network
SmartX Server List
Save a List of SmartX Servers
Saving a List of SmartX Servers
7 Opening a List of SmartX Servers
Import and Export a List of SmartX servers
Import and Export a List of SmartX Server Workflow
Exporting a List of SmartX Servers
Importing a List of SmartX Servers
Site Specific Device Password
Changing the Site Specific Device Password
SSH Public Key Validation
Validating SSH Public Key Fingerprint
Time Settings on SmartX Servers
Configuring the Time for a SmartX Server with Factory
Settings
Certificates and SSL Security in Device Administrator
Certificates in Device Administrator
Device Administrator Certificate Workflow
Generating an SSL Root Certificate
Creating Server SSL Certificate Defaults
Installing an SSL Root Certificate to Windows Trusted Root
Certificate Storage
Generating an SSL Certificate for a SmartX Server
Transferring an SSL Certificate to SmartX Server
Deleting an SSL Certificate on a SmartX Server
Importing an SSL Server Root Certificate
Exporting an SSL Server Root Certificate
Import a Certificate
Exporting a Certificate
SSL Communication Security Settings
Configuring SSL Communication Security Settings
7 SmartX Server Device Administration
7.1 SmartX Server Device Administration

7.1 SmartX Server Device Administration


You use Device Administrator to connect to and administer the SmartX servers.
For example, you use Device Administrator to install or upgrade the software,
configure the time, or change the IP address of the SmartX server.

NOTICE
When upgrading a SmartX Server, you need to follow an upgrade workflow for
your system configuration. For more information, see the System Upgrade
Workflows topic on WebHelp.

7.1.1 Connect to SmartX Servers


You can connect Device Administrator to a SmartX server using a USB
connection or the IP network.
For more information, see section 7.7 “Connect to SmartX Servers” on page 248.

7.1.2 SmartX Server List


You can create a list of SmartX servers in Device Administrator. The list can be
saved and you can move the list from one computer to another using import and
export.
For more information, see section 7.15 “SmartX Server List” on page 256.

7.1.3 Time Settings on SmartX Servers


You can manage the time settings on the SmartX server. The Set time on device
function transfers the time from the computer that runs Device Administrator to
the SmartX server.
For more information, see section 7.27 “Time Settings on SmartX Servers” on
page 268.

7.1.4 SmartX Server as a DHCP Server


SmartX AS-B and AS-P servers can act as a DHCP server on a separate
network.
For more information, see section 7.12 “SmartX AS-B and AS-P Server as a
DHCP Server” on page 253.

7.1.5 SmartX Server Licenses


Device Administrator is used to manage and organize the licenses on SmartX
server.

04-30006-02-en, May 2019 Technical


241
7 SmartX Server Device Administration
7.1 SmartX Server Device Administration

For more information, see the Device Administrator Licenses topic on WebHelp.

7.1.6 Certificates and SSL Security


You can increase the security between the Device Administrator and SmartX
servers using certificates and SSL security configuration.
For more information, see section 7.29 “Certificates and SSL Security in Device
Administrator” on page 270.

Technical 04-30006-02-en, May 2019


242
7 SmartX Server Device Administration
7.2 Getting SmartX Server Debug Information

7.2 Getting SmartX Server Debug


Information
Debug information is retrieved through the IP network or USB device port. The
debug information contains many different files and detailed information.
However, for the ordinary user this information is too complex. After the debug
information has been retrieved, the files are normally sent to product support.
The debug information is enclosed in a zip file. If you choose to get debug
information from many SmartX servers at the same time, all information is
enclosed in one zip file.

NOTICE
If the SmartX server does not respond to normal communication, you must
reset the SmartX server and connect through the USB device port. For more
information, see the Resetting a SmartX Server to DFU Mode topic on
WebHelp.

For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

To get SmartX server debug information


1. In Device Administrator, click Server
Server.
2. In the Server list menu, in the checkbox, select the SmartX server.
3. Click Debug info
info.
4. In the Save as dialog box, select where to save the debug information file.

04-30006-02-en, May 2019 Technical


243
7 SmartX Server Device Administration
7.3 Identifying the SmartX Server IP Address

7.3 Identifying the SmartX Server IP


Address
In Device Administrator, you can identify the SmartX server IP address.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

To identify the SmartX server IP address


1. Connect to the USB device port. For more information, see section 7.8
“Connecting to a SmartX Server Using the USB Device Port” on page 249.
2. In Device Administrator, click Servers and then click the server name.
3. Click Ethernet 1 Configuration
Configuration.
4. Note the IP address and the Host name
name. For more information, see section
11.10 “General Dialog Box” on page 337.
5. Disconnect the USB cable from the SmartX server to enable upgrading
through the network.

Technical 04-30006-02-en, May 2019


244
7 SmartX Server Device Administration
7.4 Configuring the SmartX Server IP Address

7.4 Configuring the SmartX Server IP


Address
You use Device Administrator to configure a static IP address for a SmartX
server.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

To configure the SmartX server IP address


1. In Device Administrator, click Servers and then click the server name.
2. Click Ethernet 1 Configuration
Configuration.
3. In the Ethernet 1 Configuration dialog box, clear Enable DHCP
DHCP.
4. In the Host name box, type a unique host name for the SmartX server.
5. In the Domain box, type the name of the domain.
6. In the Static IP address box, type an IP address for the SmartX server.
7. In the Netmask box, type the prefix of the subnet.
8. In the Gateway box, type the address to the router.
9. In the Primary DNS box, type the address to the primary DNS server.
10. In the Secondary DNS box, type the address to the secondary DNS server.
11. In the Tertiary DNS box, type the address to the tertiary DNS server.
12. Click Apply
Apply.

NOTICE
The SmartX server is removed from the list when this configuration is done and
must be added again.

04-30006-02-en, May 2019 Technical


245
7 SmartX Server Device Administration
7.5 Configuring a SmartX Server to Use DHCP

7.5 Configuring a SmartX Server to Use


DHCP
You use Device Administrator to configure the SmartX server to use DHCP.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

To configure a SmartX server to use DHCP


1. In Device Administrator, click Servers and then click the server name.
2. Click Ethernet 1 Configuration
Configuration.
3. Select Enable DHCP
DHCP.
4. In the Host name box, type a unique host name for the SmartX server.
5. Click Apply
Apply.
6. In the IP changes dialog box, click OK
OK.

NOTICE
The SmartX server is removed from the list when this configuration is done and
must be added again.

Technical 04-30006-02-en, May 2019


246
7 SmartX Server Device Administration
7.6 Restoring the Software of a Damaged SmartX Server

7.6 Restoring the Software of a Damaged


SmartX Server
When you connect the PC to the SmartX server by the USB device port, the
Device Administrator automatically identifies the SmartX server. However, if the
SmartX server software is damaged, you need to reset the SmartX server. When
the SmartX server is reset, you have to upgrade the software using the USB
device port. You cannot use the network to upgrade a damaged SmartX server
that has been reset.
For more information, see section 7.1 “ SmartX Server Device Administration” on
page 241.

To restore the software of a damaged SmartX server


1. Start Device Administrator.
2. Connect to the SmartX server. For more information, see section 7.8
“Connecting to a SmartX Server Using the USB Device Port” on page 249.
3. Perform a DFU mode restart by pressing the Reset button three times
within two seconds. For more information, see the Reset Functions topic on
WebHelp.
4. In Device Administrator, wait for the Device Status to show DFU mode.
5. On the Tools menu, click Upgrade device(s)
device(s).
6. In the Upgrade Devices dialog box, select the type of database upgrade.
For more information, see the Uploading and Upgrading a SmartX Server
topic on WebHelp.
7. Wait for the Device Status to show Ready.
Now you can assign the IP address and host name of the SmartX server and
download the software.

04-30006-02-en, May 2019 Technical


247
7 SmartX Server Device Administration
7.7 Connect to SmartX Servers

7.7 Connect to SmartX Servers


You can connect Device Administrator to a SmartX server using a USB
connection or the IP network.

Connect using USB


When you connect a USB cable to the USB device port on the SmartX server
and a USB port on the PC, the SmartX server is immediately displayed in the list
of accessible SmartX servers. For more information, see section 7.8 “Connecting
to a SmartX Server Using the USB Device Port” on page 249.

Connect using the network


If you know the IP address of a SmartX server, you can connect it via the network
and add it to the list of accessible devices. For more information, see section 7.9
“Connecting to a SmartX Server Using the IP Network” on page 250.
You can identify the IP address of the SmartX server two different ways:
• Use a configuration drawing to identify the IP address.
• Use the USB connection to determine the IP address and/or the host name
(the name assigned to the SmartX server). For more information, see section
7.3 “Identifying the SmartX Server IP Address” on page 244.
Device Administrator always uses the admin user and its password to log on to
the SmartX server. If someone changes the admin password on the SmartX
server, you cannot use the password that is saved in a list. In this case, you have
to enter the new password.

Connect using the network cable without network access


A computer or a similar device can be directly connected to a SmartX server
using a network cable and a dongle in the USB port.
When the computer is connected to the SmartX server you can reach the SmartX
server, using the address 10.110.220.1. The SmartX server acts as a DHCP
server on this network. You can use WorkStation, WebStation or Device
Administrator to connect to the SmartX server.
The USB port must be enabled for the communication to work.
For more information, see section 7.11 “Connecting to a SmartX Server Using a
Network Cable” on page 252.

Technical 04-30006-02-en, May 2019


248
7 SmartX Server Device Administration
7.8 Connecting to a SmartX Server Using the USB Device Port

7.8 Connecting to a SmartX Server Using


the USB Device Port
You connect to a SmartX server USB device port to upgrade or install new
software and to assign the IP address of the device.
For more information, see section 7.7 “Connect to SmartX Servers” on page 248.

To connect to a SmartX server using the USB device port


1. Start Device Administrator.
2. Connect a USB 2.0 cable (maximum length 3 m) to the USB device port on
the SmartX server and a USB port on the PC:
• For Automation Servers, use a USB type-A male to type-B male cable.
• For SmartX AS-P servers and SmartX AS-B servers, use a USB type-A
male to mini-B male cable.

NOTICE
• If the Found New Hardware Wizard dialog box is displayed, follow the
instructions to install the driver for the SmartX server.

3. In the Connection column for the SmartX server, ensure that usb is
displayed.
Now you can upgrade or install new software and assign the IP address of the
device.

04-30006-02-en, May 2019 Technical


249
7 SmartX Server Device Administration
7.9 Connecting to a SmartX Server Using the IP Network

7.9 Connecting to a SmartX Server Using


the IP Network
You connect to a SmartX server using the IP network to upgrade or install new
software and to assign the IP address or host name of the device.
For more information, see section 7.7 “Connect to SmartX Servers” on page 248.

To connect to a SmartX server using the IP network


1. In Device Administrator, click Servers and then click Add server
server.
2. In the Connect to a server dialog box, in the Server address box, type the
IP address or the host name of the SmartX server. For more information,
see section 7.3 “Identifying the SmartX Server IP Address” on page 244.
3. Enter the password in one of the following ways:
• Type the password for this SmartX server.
• Select Use site specific device password to log on using the
password specified in the Device log on options dialog box.
4. Click OK
OK.
Now you can upgrade or install new software and assign the IP address of the
device.

Technical 04-30006-02-en, May 2019


250
7 SmartX Server Device Administration
7.10 Editing Multiple Connections

7.10 Editing Multiple Connections


You edit multiple connections when you want to edit the password for multiple
SmartX server devices at the same time.
For more information, see section 7.7 “Connect to SmartX Servers” on page 248.

To edit multiple connections


1. In Device Administrator, select the SmartX server you want to edit.
2. On the Edit menu, click Edit network device connection
connection.
3. In the Edit connection dialog box, in the password box, enter the
password.
4. Select Use site specific password if you want to use the site specific
password.
5. Click OK
OK.

04-30006-02-en, May 2019 Technical


251
7 SmartX Server Device Administration
7.11 Connecting to a SmartX Server Using a Network Cable

7.11 Connecting to a SmartX Server Using a


Network Cable
You connect SmartX server to your computer using a network cable when you
do not have access to the SmartX server’s network.
For more information, see section 7.7 “Connect to SmartX Servers” on page 248.

To connect to a SmartX server using a network cable


1. Insert the the dongle in the USB port on the SmartX server.
2. Insert the network cable from the computer into the dongle.

NOTICE
The SmartX server can be reached on the IP address 10.110.220.1.

Technical 04-30006-02-en, May 2019


252
7 SmartX Server Device Administration
7.12 SmartX AS-B and AS-P Server as a DHCP Server

7.12 SmartX AS-B and AS-P Server as a


DHCP Server
SmartX AS-B and AS-P servers can act as a DHCP server on a separate
network.
This seperate network runs on the Ethernet 2 port on the SmartX AS-B and AS-P
server. A device on this network cannot communicate with devices on the
network that the SmartX AS-B and AS-P server is connected to using the
Ethernet 1 port.

IP range
The IP range for the SmartX AS-B and AS-P servers DHCP server is hard coded
to the 10.110.210.x range. The leasable address range is 10.110.210.2-254
where the SmartX AS-B and AS-P server as the DHCP server have the address
10.110.210.1.

Upgrade, Backup and Restore


The DHCP server is disabled during the upgrade process.
From version 2.0 all configuration for the SmartX AS-B and AS-P servers made
using Device Administrator are stored in the backup file.
The default Ethernet 2 configuration of a new SmartX AS-B and AS-P server is
two separate networks with the DHCP server disabled. When the SmartX AS-B
and AS-P server is restored, the lease file with all addresses for the network on
Ethernet 2 is also restored.

Firewall
The firewall in the SmartX AS-B and AS-P servers is used for all network
configurations except when the DHCP Server is enabled.
When the DHCP is enabled, the SmartX AS-B and AS-P servers do not have a
firewall on the Ethernet 2 port. Instead you can configure WorkStation to lock the
SmartX AS-B and AS-P servers DHCP network when all devices on the network
are registered by the DHCP server. In this case, all active DHCP leases are
copied from the lease file to a secondary network white list. The lease time is 10
days.
The firewall only allows the clients on this list to communicate with the SmartX
AS-B and AS-P servers. You cannot manually add or remove devices from this
list. To remove or add a device on the Ethernet 2 network you have to unlock the
network, make the changes on the network, and then lock it again.
For more information, see section 7.14 “Locking the SmartX AS-B and AS-P
Servers' DHCP Network” on page 255.

04-30006-02-en, May 2019 Technical


253
7 SmartX Server Device Administration
7.13 Configuring AS-B or AS-P Server as a DHCP Server

7.13 Configuring AS-B or AS-P Server as a


DHCP Server
You configure your SmartX AS-B or AS-P server to be used as a DHCP server
when you want to configure an additional network.
For more information, see section 7.12 “SmartX AS-B and AS-P Server as a
DHCP Server” on page 253.

To configure SmartX AS-B or AS-P server as a DHCP Server


1. In Device Administrator, click Servers and then select the SmartX AS-B or
AS-P server you want to use as a DHCP server.
2. Click Ethernet 2 Configuration
Configuration.
3. In the Ethernet 2 mode list, select Dual IP
IP.
4. In the DHCP mode list, select Server
Server.
5. Click Apply
Apply.

Technical 04-30006-02-en, May 2019


254
7 SmartX Server Device Administration
7.14 Locking the SmartX AS-B and AS-P Servers' DHCP Network

7.14 Locking the SmartX AS-B and AS-P


Servers' DHCP Network
You lock the network to add all devices to the whitelist on SmartX AS-B and AS-P
servers that act as a DHCP servers.
For more information, see section 7.12 “SmartX AS-B and AS-P Server as a
DHCP Server” on page 253.

To lock the SmartX AS-B and AS-P servers' DHCP network


1. In WorkStation, click the SmartX AS-B or AS-P server.
2. Click the Properties tab.
3. Click the Network tab.
4. Click Ethernet 2 Settings
Settings.
5. In the Private DHCP Network list, click Locked
Locked.
6. Click Save
Save.

04-30006-02-en, May 2019 Technical


255
7 SmartX Server Device Administration
7.15 SmartX Server List

7.15 SmartX Server List


You can create a list of SmartX servers in Device Administrator. The list can be
saved and you can move the list from one computer to another using import and
export.

7.15.1 Save a List of SmartX Servers


You can add SmartX servers as a list in Device Administrator.
For more information, see section 7.16 “Save a List of SmartX Servers” on page
257.

7.15.2 Import and Export a List of SmartX Servers


The list of saved SmartX servers cannot be moved from one computer to another
computer for security reasons.
For more information, see section 7.19 “Import and Export a List of SmartX
servers ” on page 260.

7.15.3 Site Specific Device Password


You can create a site specific password to be able to use the same password
for all the SmartX servers on a site.
For more information, see section 7.23 “Site Specific Device Password” on page
264.

7.15.4 SSH Public Key Validation


The fingerprints of the public key of each SmartX server are stored automatically
the first time you connect to the SmartX server using Device Administrator.
For more information, see section 7.25 “SSH Public Key Validation” on page
266.

Technical 04-30006-02-en, May 2019


256
7 SmartX Server Device Administration
7.16 Save a List of SmartX Servers

7.16 Save a List of SmartX Servers


You can add SmartX servers as a list in Device Administrator.
After you create the list of SmartX servers, you can save the list. The list includes
only SmartX servers that are connected through the IP network. The list does not
include SmartX servers that are connected through the USB device port.
When you open Device Administrator, it automatically displays the list that was
displayed when you last closed Device Administrator.

04-30006-02-en, May 2019 Technical


257
7 SmartX Server Device Administration
7.17 Saving a List of SmartX Servers

7.17 Saving a List of SmartX Servers


You save a list of SmartX servers in the Device Administrator so that you can
restore the list.
For more information, see section 7.16 “Save a List of SmartX Servers” on page
257.

To save a list of SmartX servers


1. In Device Administrator, on the Device Administrator Server List toolbar,
click Save current server list
list.
2. Select a location for the server list file.
3. In the File name box, enter a file name.
4. Click Save
Save.

NOTICE
The list of SmartX servers does not include SmartX servers that are connected
through the USB device port. The list includes only SmartX servers that are
connected through the IP network.

Technical 04-30006-02-en, May 2019


258
7 SmartX Server Device Administration
7.18 Opening a List of SmartX Servers

7.18 Opening a List of SmartX Servers


You can open a saved lists of SmartX servers.
For more information, see section 7.16 “Save a List of SmartX Servers” on page
257.

To restore a list of SmartX servers


1. In Device Administrator, on the Device Administrator List Server toolbar,
click Open an existing server list
list.
2. Browse to the list of servers that you want to open.
3. Click Open
Open.

04-30006-02-en, May 2019 Technical


259
7 SmartX Server Device Administration
7.19 Import and Export a List of SmartX servers

7.19 Import and Export a List of SmartX


servers
The list of saved SmartX servers cannot be moved from one computer to another
computer for security reasons.
To be able to move the list from one computer to another, you have to export the
list using Device Administrator, move the list to the computer used for restore
and then import the list to Device Administrator. When you import and export a
list of saved SmartX servers, you are require you to use a password.
The list cannot be upgraded from a lower version to 1.9 or higher.
Starting in version 1.9, the encryption method is SSH. Therefore, if you open a
pre 1.9 list using a Device Administrator 1.9 and later the list can be read with
regards to all IP addresses or host name but the password cannot be read. In
this case you have to add all passwords again for the SmartX servers in the list.
For more information, see section 7.20 “Import and Export a List of SmartX
Server Workflow” on page 261.
For more information, see section 7.21 “Exporting a List of SmartX Servers” on
page 262.
For more information, see section 7.22 “Importing a List of SmartX Servers” on
page 263.

Technical 04-30006-02-en, May 2019


260
7 SmartX Server Device Administration
7.20 Import and Export a List of SmartX Server Workflow

7.20 Import and Export a List of SmartX


Server Workflow
Use this workflow to import and export a list of SmartX servers so that you can
move the list from one computer to another.

Figure: Import and Export a List of SmartX Server Workflow

Save a list of SmartX Servers


Save the list of SmartX servers that you want to export.
For more information, see section 7.17 “Saving a List of SmartX Servers” on
page 258.

Export a list of SmartX Servers


Export the list of SmartX Servers that you want to move to another computer.
For more information, see section 7.21 “Exporting a List of SmartX Servers” on
page 262.

Import a list of SmartX Servers


Import the list of SmartX servers.
For more information, see section 7.22 “Importing a List of SmartX Servers” on
page 263.

04-30006-02-en, May 2019 Technical


261
7 SmartX Server Device Administration
7.21 Exporting a List of SmartX Servers

7.21 Exporting a List of SmartX Servers


You export a list of SmartX servers from Device Administrator so that you can
move the list from one computer to another.
For more information, see section 7.19 “Import and Export a List of SmartX
servers ” on page 260.

To export a list of SmartX servers


1. In Device Administrator, on the Device Administrator Server List toolbar,
click Export server list
list.
2. Enter the server list you want to export.
3. In the Enter a file password dialog box, type a password.
4. Click OK
OK.
5. Enter the location where you want to save the server list.
6. Click OK
OK.

Technical 04-30006-02-en, May 2019


262
7 SmartX Server Device Administration
7.22 Importing a List of SmartX Servers

7.22 Importing a List of SmartX Servers


You import a list of SmartX servers from Device Administrator so that you can
use the list on another computer.
For more information, see section 7.19 “Import and Export a List of SmartX
servers ” on page 260.

To import a list of SmartX servers


1. In Device Administrator, on the Device Administrator Server List toolbar,
click Import server list
list.
2. Enter the list you want to import.
3. In the Enter the file password box, type the password you created when
you exported the list.
4. Click OK
OK.
5. Click OK again.

04-30006-02-en, May 2019 Technical


263
7 SmartX Server Device Administration
7.23 Site Specific Device Password

7.23 Site Specific Device Password


You can create a site specific password to be able to use the same password
for all the SmartX servers on a site.
The site specific password is the password you use to log on to the SmartX
server when you engineer all server devices on a site. When you want to add the
SmartX server to the Device Administrator you can use site specific password so
that you do not have to add the password every time you add a server device to
the Device Administrator.
The site specific password is stored in the list of SmartX server in Device
Administrator.
If the password of the SmartX server is changed, you can change the site
specific password.
You can also use the site specific password when you edit multiple connections.
For more information, see section 7.24 “Changing the Site Specific Device
Password” on page 265.
For more information, see section 7.10 “Editing Multiple Connections” on page
251.

Technical 04-30006-02-en, May 2019


264
7 SmartX Server Device Administration
7.24 Changing the Site Specific Device Password

7.24 Changing the Site Specific Device


Password
When a SmartX server is upgraded, you have to enter the correct user name and
password. If several SmartX servers have the same user name and password, it
is convenient to configure the password to a site specific value to be used by
Device Administrator when adding or upgrading multiple devices.
For more information, see section 7.23 “Site Specific Device Password” on page
264.

To change the site specific device password


1. In Device Administrator, click Servers
Servers, and then click Site specific device
password.
2. In the Site specific server password dialog box, in the Password box, type
the site specific device password.
3. In the Confirm password box, type the site specific device password
again.
4. Click OK
OK.
The user name and password appear as site specific values when you connect
to a SmartX server with Device Administrator.

04-30006-02-en, May 2019 Technical


265
7 SmartX Server Device Administration
7.25 SSH Public Key Validation

7.25 SSH Public Key Validation


The fingerprints of the public key of each SmartX server are stored automatically
the first time you connect to the SmartX server using Device Administrator.
The reason for this is to increase the security of the system. The fingerprints are
stored and encrypted the same way as the user credentials for each server
device.
When you open a list of SmartX servers, Device Administrator immediately
checks that the fingerprints of the connected devices match the fingerprints
stored in the list. If they do not match, Device Administrator does not connect to
the SmartX server. Instead you receive a warning in the Device status column in
Device Administrator. This is done to prevent a malicious device mimicking a
SmartX server in the list, and by doing so receive the SmartX server's user name
and password.
There are three main reasons for mismatching fingerprints:
• A SmartX server in your system has been replaced with a new SmartX
server or it has been installed with DFU mode. The new server device is
configured to use the same IP and hostname as the old one.
• The file containing the list of SmartX servers and their credentials is
damaged.
• The network you are connected to is compromised and a device is trying to
mimic a SmartX server to get hold of the the user name and password of the
SmartX server.
You can manually check the fingerprint of a single SmartX server.

Technical 04-30006-02-en, May 2019


266
7 SmartX Server Device Administration
7.26 Validating SSH Public Key Fingerprint

7.26 Validating SSH Public Key Fingerprint


You validate SSH Public Key Fingerprint to make sure that the SmartX server has
not been tampered with.
For more information, see section 7.25 “SSH Public Key Validation” on page
266.

To validate SSH public key fingerprint


1. In Device Administrator, click Servers and then click the server.
2. Click SSH Validation
Validation.
3. In the SSH Public Key Fingerprint validation dialog box, if you get a
mismatch due to the fact that a SmartX server has been replaced, select
Accept current fingerprint and then click OK
OK.
4. If you think that someone has tampered with the SmartX server, click
Cancel and contact the IT department on the site.

04-30006-02-en, May 2019 Technical


267
7 SmartX Server Device Administration
7.27 Time Settings on SmartX Servers

7.27 Time Settings on SmartX Servers


You can manage the time settings on the SmartX server. The Set time on device
function transfers the time from the computer that runs Device Administrator to
the SmartX server.
A SmartX server with factory settings does not have the correct time by default.
To avoid obsolete time stamps on the events in the Event log, transfer the time
from the computer that runs Device Administrator to the SmartX server. For more
information, see section 7.28 “Configuring the Time for a SmartX Server with
Factory Settings” on page 269.
When you upgrade a SmartX server with a new database, you can overwrite the
time setting on the SmartX server with the time from the computer that runs
Device Administrator. Use the Set time on device function during upgrade. For
more information, see the System Upgrade Workflows topic on WebHelp.

Technical 04-30006-02-en, May 2019


268
7 SmartX Server Device Administration
7.28 Configuring the Time for a SmartX Server with Factory Settings

7.28 Configuring the Time for a SmartX


Server with Factory Settings
A SmartX server with factory settings does not have the correct time. To avoid
obsolete time stamps on the events in the event log, use the Set time on device
function to transfer the time from the computer that runs Device Administrator.
For more information, see section 7.27 “Time Settings on SmartX Servers” on
page 268.

To configure the time for a SmartX server with factory settings


1. In Device Administrator, click Servers and then click the server.
2. Click Time
Time.
3. Select Set time on device
device.
4. Click Apply
Apply.

04-30006-02-en, May 2019 Technical


269
7 SmartX Server Device Administration
7.29 Certificates and SSL Security in Device Administrator

7.29 Certificates and SSL Security in Device


Administrator
You can increase the security between the Device Administrator and SmartX
servers using certificates and SSL security configuration.

7.29.1 SSL Communication Security Settings in


Device Administrator
The SSL communication security settings can be changed to increase the
security of your system. SSL is used for the communication between servers and
clients.
For more information, see section 7.42 “SSL Communication Security Settings”
on page 284.

7.29.2 Certificates in Device Administrator


Certificates are used to increase the security of the communication between
Device Administrator and SmartX server.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

Technical 04-30006-02-en, May 2019


270
7 SmartX Server Device Administration
7.30 Certificates in Device Administrator

7.30 Certificates in Device Administrator


Certificates are used to increase the security of the communication between
Device Administrator and SmartX server.
Certificates are used to establish a trust chain between Device Administrator
and the SmartX servers. A trusted chain communication with HTTPS consists of
two parts:
• An SSL root certificate installed in Windows on the computer that runs
Device Administrator
• An SSL certificate on the SmartX server
Both Device Administrator and SmartX servers supports self-signed certificates
as well as CA certificates. Device Administrator allows you to create your own
self-signed certificate.

Import and Export


Certificates can be imported and exported. For example, you have established a
trust chain between computer 1, running Device Administrator, and a list of
SmartX servers. You want to access the same SmartX servers using computer 2.
In this case, you install Device Administrator on computer 2, export the SSL root
certificate from computer 1, and import it to computer 2.

Backup
The certificates are included in the SmartX server’s backup. You do not need to
generate a new certificate if you restore a SmartX server from a backup
generated after the certificate was transferred to the SmartX server if you retain
the original root certificate.

Licenses
Certificates are used when you want to establish a secure communication when
you use features on the SmartX servers that require licenses.
For more information, see the Device Administrator Licenses topic on WebHelp.

Certificates generated in WorkStation


Certificates generated using Workstation cannot be used for licensing in SmartX
servers since these certificates do not provide a root certificate or other trust
chain for validation. If you use WorkStation certificates, we recommend that you
generate new ones for your SmartX servers from Device Administrator when you
use licensing in SmartX servers.

04-30006-02-en, May 2019 Technical


271
7 SmartX Server Device Administration
7.31 Device Administrator Certificate Workflow

7.31 Device Administrator Certificate


Workflow
Use this workflow to create a trusted chain between Device Administrator and
SmartX server using a self-signed certificate.

Figure: Device Administrator Certificate Workflow

Start the Device Administrator as an Administrator


You need to be an administrator to install the certificate in Windows trusted
storage. Refer to Windows for information on how to run a program as
administrator.

Generate an SSL root certificate


Generate the SSL root certificate that is to be installed in Windows.
For more information, see section 7.32 “Generating an SSL Root Certificate” on
page 274.

Technical 04-30006-02-en, May 2019


272
7 SmartX Server Device Administration
7.31 Device Administrator Certificate Workflow

Install the SSL root certificate in Windows trusted storage


Install the SSL root certificate in Windows trusted storage.
For more information, see section 7.34 “Installing an SSL Root Certificate to
Windows Trusted Root Certificate Storage” on page 276.text

Generate an SSL certificate for each SmartX server


Generate an SSL certificate for each SmartX server.
For more information, see section 7.35 “Generating an SSL Certificate for a
SmartX Server” on page 277.
If you have many SmartX servers in the list, you can use the Manage SSL
Certificate Template to add default values for every new SSL certificate you want
to generate.
For more information, see section 7.35 “Generating an SSL Certificate for a
SmartX Server” on page 277.

Save the server list


You save the list after you have generated the certificates for each SmartX
server. It is recommended that you save the list after that you have generated
the certificate for each SmartX server.
For more information, see section 7.17 “Saving a List of SmartX Servers” on
page 258.text

Transfer the SSL certificate to the SmartX server


Transfer the SSL certificate to all SmartX servers in the list. This must be done
manually for each server.
For more information, see section 7.36 “Transferring an SSL Certificate to
SmartX Server” on page 278.

NOTICE
The certificates are included in the SmartX server’s backup. You do not need
to generate a new certificate if you restore a SmartX server from a backup
generated after the certificate was transferred to the SmartX server if you retain
the original root certificate.

04-30006-02-en, May 2019 Technical


273
7 SmartX Server Device Administration
7.32 Generating an SSL Root Certificate

7.32 Generating an SSL Root Certificate


You generate a root certificate on the Device Administrator so that the Device
Administrator can communicate with SmartX servers using HTTPS.

NOTICE
When you create a root certificate, make sure to give it a unique name. If you
have more than one root certificate installed in Windows or another operating
system, the validation of the root certificate might fail.

For more information, see section 7.30 “Certificates in Device Administrator” on


page 271.

To generate an SSL root certificate


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server.
3. Click SSL Root Certificate
Certificate.
4. Enter the values.
5. Click OK
OK.

Technical 04-30006-02-en, May 2019


274
7 SmartX Server Device Administration
7.33 Creating Server SSL Certificate Defaults

7.33 Creating Server SSL Certificate Defaults


You create an SSL server certificate template to get default values on all
certificates that you want to install on the SmartX servers.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To create server SSL certificate defaults


1. In Device Administrator, click Servers and then click Server SSL
Certificate Defaults
Defaults.
2. Enter the default values.
3. Click OK
OK.
When you open a SmartX server in the list and generate a certificate, all the
values from the template are entered as default values for the SSL certificate for
the SmartX server. The default values in the SSL server certificate for the SmartX
server can be changed to customize the certificate for each SmartX server.

04-30006-02-en, May 2019 Technical


275
7 SmartX Server Device Administration
7.34 Installing an SSL Root Certificate to Windows Trusted Root Certificate Storage

7.34 Installing an SSL Root Certificate to


Windows Trusted Root Certificate
Storage
You install the certificate to Windows Trusted Root Certificate so that the
certificate can be used in the communication.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To install an SSL root certificate to Windows trusted root


certificate storage
1. In the Device Administrator, click Servers
Servers.
2. Click SSL Root Certificate
Certificate.
3. In the Manage Root CA Certificate dialog box, click Install to Windows
trusted root CA
CA.
4. Click OK
OK.

Technical 04-30006-02-en, May 2019


276
7 SmartX Server Device Administration
7.35 Generating an SSL Certificate for a SmartX Server

7.35 Generating an SSL Certificate for a


SmartX Server
You generate an SSL certificate for a SmartX server so that the server can
communicate with Device Administrator using HTTPS.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To generate an SSL certificate for a SmartX server


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the SmartX server name.
3. Click SSL Certificate
Certificate.
4. Click Generate new certificate
certificate.
5. Click OK
OK.
6. Click OK
OK.
The certificate is now in the SmartX server list and needs to be transferred to the
device to enable communication between the server and Device Administrator.
For more information, see section 7.36 “Transferring an SSL Certificate to
SmartX Server” on page 278.

04-30006-02-en, May 2019 Technical


277
7 SmartX Server Device Administration
7.36 Transferring an SSL Certificate to SmartX Server

7.36 Transferring an SSL Certificate to


SmartX Server
You transfer the SSL certificate to the SmartX server to establish a
communication using HTTPS between the server and Device Administrator.

NOTICE
When you transfer a certificate to a SmartX server, the current active certificate
on that SmartX server is deactivated and the new certificate is activated. If you
want to change back to the orginal certificate you must log on to the SmartX
server using WorkStation and choose the preferred certificate.

For more information, see section 7.30 “Certificates in Device Administrator” on


page 271.

To transfer an SSL certificate to SmartX server


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click SSL Certificate
Certificate.
4. Click Transfer to server
server.
5. Click OK
OK.
When the SSL certificate is transferred to the SmartX server, HTTPS
communication can be used.

Technical 04-30006-02-en, May 2019


278
7 SmartX Server Device Administration
7.37 Deleting an SSL Certificate on a SmartX Server

7.37 Deleting an SSL Certificate on a SmartX


Server
You delete unused certificates from the Server list.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To delete an SSL certificate on a SmartX server


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server name.
3. Click SSL Certificate
Certificate.
4. Click Delete certificate
certificate.
5. Click OK
OK.
6. Click OK
OK.

NOTICE
The certificate is deleted from the list. But if it was transferred to the SmartX
server before it was deleted from the list, the certificate is still installed on the
SmartX server.

04-30006-02-en, May 2019 Technical


279
7 SmartX Server Device Administration
7.38 Importing an SSL Server Root Certificate

7.38 Importing an SSL Server Root


Certificate
You export and import a generated certificate to establish a trusted chain
between the SmartX servers and Device Administrator running on a different
computer than the one where the root certificate was created.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To import an SSL root certificate


1. In Device Administrator, click Servers
Servers, and then click SSL Root certificate
certificate.
2. In the Manage root certificate dialog box, click Import certificate
certificate.
3. In the Browse SSL Certificate dialog box, in the Server certificate box,
browse to the server certificate.
4. In the Private key box, browse to the private key.
5. In the Private key password box, enter the password for the private key.
6. Click OK
OK.

Technical 04-30006-02-en, May 2019


280
7 SmartX Server Device Administration
7.39 Exporting an SSL Server Root Certificate

7.39 Exporting an SSL Server Root


Certificate
You export and import a generated certificate to establish a trusted chain
between the SmartX servers and Device Administrator running on a different
computer than the one where the root certificate was created.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To export an SSL server root certificate


1. In Device Administrator, click Servers
Servers, and then click SSL Root certificate
certificate.
2. In the Manage root certificate dialog box, click Export root certificate
certificate.
3. Browse to the location where you want to save the certificate.
4. Click Save
Save.

04-30006-02-en, May 2019 Technical


281
7 SmartX Server Device Administration
7.40 Import a Certificate

7.40 Import a Certificate


You import a certificate so that you can use it on your computer.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To import a certificate
1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server.
3. Click SSL Certificate
Certificate.
4. Click Import certificate
certificate.

Technical 04-30006-02-en, May 2019


282
7 SmartX Server Device Administration
7.41 Exporting a Certificate

7.41 Exporting a Certificate


You export a certificate so that you can use on another computer.
For more information, see section 7.30 “Certificates in Device Administrator” on
page 271.

To export a certificate
1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server.
3. Click SSL Certificate
Certificate.
4. Click Export certificate
certificate.

04-30006-02-en, May 2019 Technical


283
7 SmartX Server Device Administration
7.42 SSL Communication Security Settings

7.42 SSL Communication Security Settings


The SSL communication security settings can be changed to increase the
security of your system. SSL is used for the communication between servers and
clients.
You can configure SmartX servers to allow only the SSL communication that you
have decided to use.

NOTICE
Configuring the SSL communication to an inaccurate value might block
communication.

Technical 04-30006-02-en, May 2019


284
7 SmartX Server Device Administration
7.43 Configuring SSL Communication Security Settings

7.43 Configuring SSL Communication


Security Settings
You configure the SSL communication to increase the security of your system.
For more information, see section 7.42 “SSL Communication Security Settings”
on page 284.

NOTICE
Configuring the SSL communication to an inaccurate value might block
communication.

To configure SSL communication security settings


1. In the Device Administrator, click Servers
Servers.
2. In the Server list, click the server.
3. Click SSL Settings
Settings.
4. In the Blocked SSL Protocol box, add the protocol you want to block.
5. In the Enabled SSL Cipher box, add the cipher you want to enable.
6. Click Apply
Apply.

04-30006-02-en, May 2019 Technical


285
8 EcoStruxure BMS Server
Communication

Topics
EcoStruxure BMS Server Communication
Updating Communication Parameters
Selecting and Specifying an Email Server for Email
Notifications
EcoStruxure BMS Server Status
Repairing EcoStruxure BMS Server Communication
Repairing References
Network Interface Card for Enterprise Server or Enterprise
Central
Configuring Network Interface Card for an Enterprise Server
or for an Enterprise Central
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

8.1 EcoStruxure BMS Server


Communication
You configure communication parameters when you add an EcoStruxure BMS
server. The Enterprise Central distributes its communication parameters to the
Enterprise Servers and the Enterprise Server distributes its communication
parameters to the SmartX servers so that they know how to communicate with
the newly added EcoStruxure BMS server. SmartX server does not get
communication parameters from Enterprise Central, nor vice-versa.

8.1.1 Communication Parameters


Communication parameters include address, protocol, and port. You configure
these parameters in the Server wizard when you add an EcoStruxure BMS
server.

Address
Every EcoStruxure BMS server needs an IP address to communicate in the
network. You either use the installation default IP address, or specify a static
address that is unique in the network. We advise against using DHCP (Client) for
any EcoStruxure BMS server that contains a BACnet Interface.
You can also specify the EcoStruxure BMS server's fully qualified domain name,
if one is defined and the DNS service is enabled. A fully qualified domain name
for a server consists of two parts: the host name and the domain name. For
example, a server with a host name “es1” and the domain name
“universityx.edu” has the fully qualified domain name “es1.universityx.edu”.
Always use the EcoStruxure BMS server's fully qualified domain name, rather
than its host name (without the domain information), to avoid server
communication problems with lead-shadow relationship. For more information,
see section 14.4 “Lead-Shadow Reference EcoStruxure BMS Server
Communication Problems ” on page 400.

Protocols
EcoStruxure BMS servers can use three different communication protocols:
• TCP is fast and you can set up domain authentication which makes for easy,
yet secure access.
• HTTP is slower than TCP but better for accessing resources outside the
LAN/firewalls.
• HTTPS is slower than HTTP but safer for accessing resources outside the
LAN/firewalls.

Ports
Each EcoStruxure BMS servers listens on three communication ports, one for
each communication protocol:
• TCP on port 4444 (fixed)
• HTTP on port 80 (default)
• HTTPS on port 443 (default)

04-30006-02-en, May 2019 Technical


289
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

8.1.2 EcoStruxure BMS Server Communication


Parameters
The communication parameters of an EcoStruxure BMS server tell other
EcoStruxure BMS servers where and how to communicate with that particular
EcoStruxure BMS server.

Technical 04-30006-02-en, May 2019


290
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

Figure: Different ways of accessing communication parameters

04-30006-02-en, May 2019 Technical


291
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

To change the communication parameters of an Enterprise Central or an


Enterprise Server after it has been commissioned, you need to open the
Software Administrator application. In the Software Administrator, you must first
stop the EcoStruxure BMS server service before configuring the parameters.
To change the communication parameters of a SmartX server after it has been
commissioned, you need to access it through the web interface. For more
information, see the Accessing the Automation Server Web Configuration topic
on WebHelp.

8.1.3 EcoStruxure BMS Server-to-Server


Communication Parameters
Each EcoStruxure BMS server maintains a list of all the other EcoStruxure BMS
servers in the system and the communication parameters of those EcoStruxure
BMS servers.

Figure: Keeping track of the other EcoStruxure BMS servers

Technical 04-30006-02-en, May 2019


292
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

In WorkStation, you can select an EcoStruxure BMS server in the System Tree
pane and view its communication parameters in the Network tab of its
properties. In the Communication view, you can view the information the
EcoStruxure BMS server has about the communication parameters of other
EcoStruxure BMS servers in the system. Each EcoStruxure BMS server needs to
know where and how to address other servers.
When a SmartX server is added, its communication parameters are distributed
by the Enterprise Server to all other EcoStruxure BMS servers in the system, and
if an Enterprise Server is added, its communication parameters are distributed
by the Enterprise Central. Every EcoStruxure BMS server’s communication
parameters end up in the Communication view of every other EcoStruxure BMS
server.
However, if you change the IP address or protocol port number in an already
commissioned EcoStruxure BMS server, you must manually update this
information in the Enterprise Central or Enterprise Server Communication view.
The Enterprise Central or Enterprise Server then distributes the new parameters
to the other EcoStruxure BMS servers.
EcoStruxure BMS servers use a Network Interface Card (NIC) for
communication between parent and child servers.
For more information, see section 8.7 “Network Interface Card for Enterprise
Server or Enterprise Central” on page 301.

8.1.4 EcoStruxure BMS Server Communication in


Project Configuration Tool
When you create a new virtual EcoStruxure BMS server, the communication
settings are already filled in, such as on-site IP and communication ports.
However, the on-site IP address has to be configured in Project Configuration
Tool before you deploy all servers to a site with a functional IP network.
For more information, see the EcoStruxure BMS Server Communication in
Project Configuration Tool topic on WebHelp.

8.1.5 Email Server Settings


Some EcoStruxure Building Operation software features, alarms in particular,
can be configured to send emails to notify users about important events. For
more information, see the Email Notifications topic on WebHelp.
For example, if an alarm is triggered, the EcoStruxure BMS server notifies the
email recipient specified in the alarm. The EcoStruxure BMS server sends the
email through the email server. The Sender email specified on the EcoStruxure
BMS server is also the receiver of the replies from the email recipient.
You select and specify a primary email server for email communication. You can
also specify a secondary email server in case the connection to your primary
choice fails.
The EcoStruxure BMS server tries to connect to the primary email server, and
then to the secondary if the primary fails, and then to the primary again, and so
on.

04-30006-02-en, May 2019 Technical


293
8 EcoStruxure BMS Server Communication
8.1 EcoStruxure BMS Server Communication

When sending emails, you can send them not encrypted or encrypted using
either the TSL or the SSL protocol. You can select one method for the primary
email server and another method for the secondary email server.
When logging on to the email server, the user is authenticated using an
authentication protocol. If no user name is specified, no authentication protocol
is specified. If a user name is specified, the EcoStruxure BMS server tries to
authorize the user using the CRAM-MD5 protocol. If the first authentication fails,
the EcoStruxure BMS server tries to authorize the user using the LOGIN protocol
using the CRAM-MD5 protocol.

Technical 04-30006-02-en, May 2019


294
8 EcoStruxure BMS Server Communication
8.2 Updating Communication Parameters

8.2 Updating Communication Parameters


You use this procedure to update the communication parameters that an
EcoStruxure BMS server maintains about other EcoStruxure BMS servers. You
need to do this manually if the IP address or any of the configurable ports have
been changed in anotherEcoStruxure BMS server.
For more information, see section 8.1 “EcoStruxure BMS Server Communication”
on page 289.

To update communication parameters


1. In WorkStation, in the System Tree pane, select the Enterprise Central or
Enterprise Server.
2. Click the Communication view.
3. In the Server list, select the server that has a new IP address, a new port
number, or a new communication protocol.
4. Expand Communication settings
settings.
5. In the Address box, type the new IP address or fully qualified domain name
of the EcoStruxure BMS server.

NOTICE
• If the SmartX server has been assigned a dynamic IP address, use the
fully qualified domain name of the SmartX server instead of the IP
address.

6. In the Protocol box, select a new protocol if you want to change the way
this EcoStruxure BMS server communicates with the other EcoStruxure
BMS server.
7. In the Port box, enter the new port number.

8. On the toolbar, click the Save button .

04-30006-02-en, May 2019 Technical


295
8 EcoStruxure BMS Server Communication
8.3 Selecting and Specifying an Email Server for Email Notifications

8.3 Selecting and Specifying an Email


Server for Email Notifications
You configure an EcoStruxure BMS server to connect to and send notifications
by email through an email server or SMTP server.
For more information, see section 8.1 “EcoStruxure BMS Server Communication”
on page 289.

To select and specify an email server for email notifications


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server that you want to configure.
2. On the File menu, click Properties.
3. Click the Email tab.
4. In the Select email server box, make sure Primary/Secondary is selected.
5. In the Sender email box, type a sender address for the emails that are
generated by this EcoStruxure BMS server. The sender email address is
the receiver of replies.
6. In the Maximum queue size box, enter the maximum number of emails that
is allowed in queue.
7. In the Response time-out box, enter the number of seconds the server
waits for response when communicating with the email server.
8. In the Maximum retry count box, enter the number of attempts to send an
email that are performed before abandoning the email.
9. In the Retry time box, enter the number of minutes between each attempt.
10. In the Primary host box, type the primary email server web address.
11. In the Primary user name box, type the user name for the email user
account on the primary email server.
12. In the Primary password box, type the password for the email user
account on the primary email server.
13. In the primary Confirm password box, type the password again for the
email user account on the primary email server.
14. In the Primary encryption method box, select the encryption protocol you
want to use when sending encrypted emails from the primary host.
15. In the Primary port box, enter the port that is designated for incoming
SMTP traffic on the primary email server.
16. In the Secondary host box, type the secondary email server web address.
17. In the Secondary user name box, type the user name that authenticates
the usage of the secondary email server.
18. In the Secondary password box, type the password for the email user
account on the primary email server.
Continued on next page

Technical 04-30006-02-en, May 2019


296
8 EcoStruxure BMS Server Communication
8.3 Selecting and Specifying an Email Server for Email Notifications

19. In the secondary Confirm password box, type the password again for the
email user account on the primary email server.
20. In the Secondary encryption method box, select the encryption protocol
you want to use when sending encrypted emails from the secondary host.
21. In the Secondary port box, enter the port that is designated for incoming
SMTP traffic on the primary email server.
22. Click OK
OK.

04-30006-02-en, May 2019 Technical


297
8 EcoStruxure BMS Server Communication
8.4 EcoStruxure BMS Server Status

8.4 EcoStruxure BMS Server Status


The status of an EcoStruxure BMS server can be either online or offline. Being
online or offline depends on the operational situation of the EcoStruxure BMS
server and its connectivity with other EcoStruxure BMS servers. An EcoStruxure
BMS server can actually be online and communicating with one EcoStruxure
BMS server, while at the same time appear to be offline to another EcoStruxure
BMS server.
EcoStruxure BMS server status has implications on EcoStruxure BMS server
management. An EcoStruxure BMS server needs to be online to be configured.
Another consideration is that configuring an EcoStruxure BMS server, while
another EcoStruxure BMS server is offline, can cause the offline EcoStruxure
BMS server to come out of synch when it comes back online again.
Engineering an EcoStruxure BMS server while another EcoStruxure BMS server
is offline can cause the offline EcoStruxure BMS server to come out of synch
when it comes back online again.
Offline server object references become invalid:
• If you delete the referenced object
• If you move the referenced object
• If you rename the referenced object
• If a subsystem is detached
The following object references become invalid when a subsystem is detached:
• References from an Enterprise Central to an Enterprise Server
• References from an Enterprise Central to a SmartX server
• References from an Enterprise Server to an Enterprise Central
• References from a SmartX server to an Enterprise Central

Technical 04-30006-02-en, May 2019


298
8 EcoStruxure BMS Server Communication
8.5 Repairing EcoStruxure BMS Server Communication

8.5 Repairing EcoStruxure BMS Server


Communication
You use this procedure to repair EcoStruxure BMS server communication.
Specifically, offline EcoStruxure BMS servers, when they come back online
again, need to know if other EcoStruxure BMS servers have been added or
removed.
For more information, see section 8.4 “EcoStruxure BMS Server Status” on page
298.

To repair EcoStruxure BMS server communication


1. In WorkStation, in the System Tree pane, select the Enterprise Server.
2. On the Actions menu, point to Advanced and then click Repair server
communication
communication.

04-30006-02-en, May 2019 Technical


299
8 EcoStruxure BMS Server Communication
8.6 Repairing References

8.6 Repairing References


You use this procedure to repair broken references. Object references can
break if the EcoStruxure BMS server on which they reside is offline at the time
when the referred object is either deleted, moved, or renamed.
When a change is made to an object that is referred to by offline objects, a
confirm dialog box is displayed with a list of those objects that are affected.
Save that list and use it to find and update the broken references when they
come back online again.
For more information, see section 8.4 “EcoStruxure BMS Server Status” on page
298.

To repair references
1. In WorkStation, in the System Tree pane, select the object that has a
broken reference.
2. On the Actions menu, point to Advanced and then click Repair references
references.

Technical 04-30006-02-en, May 2019


300
8 EcoStruxure BMS Server Communication
8.7 Network Interface Card for Enterprise Server or Enterprise Central

8.7 Network Interface Card for Enterprise


Server or Enterprise Central
EcoStruxure BMS servers use a Network Interface Card (NIC) for
communication between parent and child servers.
When the computer running the EcoStruxure BMS software has more than one
Network Interface Card (NIC), Enterprise Server and Enterprise Central use the
first NIC provided by the operating system, regardless if it is a physical NIC or a
virtual NIC. You can configure which NIC the Enterprise Server or Enterprise
Central uses for communicating with child servers. NIC is not used to
communicate with the Interfaces, BACnet or Sigma. For more information, see
section 8.8 “Configuring Network Interface Card for an Enterprise Server or for
an Enterprise Central” on page 302.

NOTICE
The server listens for incoming requests on all network adapters. This setting is
only used for selecting the communication settings that the server uses to
communicate with child servers.

NOTICE
If you have VMWare, VirtualBox, Docker or another virtual NIC on your PC,
Windows might provide that NIC to your Enterprise Server or your Enterprise
Central. This leads to incorrect communication settings when you add child
servers. For more information, see section 14.10 “IP Address from a Virtual
Network Interface Card is Used for Communication Settings in Enterprise
Server or Enterprise Central” on page 406.

04-30006-02-en, May 2019 Technical


301
8 EcoStruxure BMS Server Communication
8.8 Configuring Network Interface Card for an Enterprise Server or for an Enterprise Central

8.8 Configuring Network Interface Card for


an Enterprise Server or for an Enterprise
Central
You configure settings for the Network Interface Card (NIC) for an Enterprise
Server or an Enterprise Central to guarantee that you use a physical and not a
virtual NIC.
For more information, see section 8.7 “Network Interface Card for Enterprise
Server or Enterprise Central” on page 301.

To configure a Network Interface Card for an EcoStruxure BMS


server
1. In File Explorer, search for
• C:\Program Files (x86)\Schneider Electric EcoStruxure\Building
Operation 2.0\Enterprise Server\etc\config\ES.properties, or for
• C:\Program Files (x86)\Schneider Electric EcoStruxure\Building
Operation 2.0\Enterprise Central\etc\config\EC.properties.
2. Open the file in a text editor.
3. In the file, search for "NspServer.nic.select".
4. Enter the name of the preferred NIC from your OS.
5. Save the file.

Technical 04-30006-02-en, May 2019


302
9 EcoStruxure BMS Server
Management

Topics
EcoStruxure BMS Server Management
Displaying CPU and System Memory Usage
Deleting a SmartX Server
Add and Detach EcoStruxure BMS Servers
Adding an Existing Enterprise Server to an Enterprise
Central
Detaching an EcoStruxure BMS Server
Server Rename
Renaming an EcoStruxure BMS Server
9 EcoStruxure BMS Server Management
9.1 EcoStruxure BMS Server Management

9.1 EcoStruxure BMS Server Management


You use Enterprise Central to manage Enterprise Servers, which includes
adding, configuring, and removing Enterprise Servers.
You create Enterprise Servers in the Server folder in the System Tree pane. You
can remove Enterprise Servers from the Server folder, but you cannot move
them from that folder to another location in the System Tree pane.
You use Enterprise Servers to manage SmartX server, which includes adding,
configuring, and removing SmartX server.
You create SmartX servers in the Server folder in the System Tree pane. You can
remove SmartX servers from the Server folder, but you cannot move them from
that folder to another location in the System Tree pane.
When you change an address or port of a SmartX server, that information must
be updated on the Communication tab of the SmartX server peers. You can
update this information manually on the Communication tab of the SmartX server
peers. You can also delete the SmartX server that has changed and then add it
again. The Enterprise Server automatically collects and distributes information
about added SmartX servers to the other SmartX servers.
Task SmartX server SmartX server SmartX server
online, peers online online, peers offline offline

Add SmartX server Yes Yesa No

Configure SmartX Yes Yes No


server

Move SmartX server No No No

Rename SmartX Yes Yes Yes


server

Remove SmartX Yes Yesa Yes


server

a) Not recommended.

When you change an address or port of an Enterprise Server , that information


must be updated on the Communication tab of the Enterprise Server peers. You
can update this information manually on the Communication tab of the
Enterprise Server peers. You can also delete the Enterprise Server that has
changed and then add it again. The Enterprise Central automatically collects
and distributes information about added Enterprise Servers to the other
EcoStruxure BMS server Enterprise Servers.
Port changes you have made using Software Administrator are not automatically
updated in the Communication view for EcoStruxure BMS servers.

NOTICE
When changing the name of a folder or EcoStruxure BMS server, you also
have to reconfigure users and user groups path permissions to this
EcoStruxure BMS server or folder. For more information, see the Path
Permissions topic on WebHelp.

04-30006-02-en, May 2019 Technical


305
9 EcoStruxure BMS Server Management
9.1 EcoStruxure BMS Server Management

SmartX Server Online, Peers Online


You can use the Enterprise Server to add, configure, and remove a SmartX
server that is online without consequence if all of the SmartX server peers are
also online.

SmartX Server Online, Peers Offline


You can use the Enterprise Server to add, configure, and remove a SmartX
server that is online but has SmartX server peers that are offline.
However, adding or removing a SmartX server while other SmartX servers are
offline can result in broken references or communication when those offline
SmartX servers come back online.

9.1.1 Add and Detach EcoStruxure BMS Servers


You add EcoStruxure BMS servers to the EcoStruxure Building Operation
database to expand the EcoStruxure BMS and you detach EcoStruxure BMS
servers from the EcoStruxure Building Operation database when you no longer
want them to be part of the EcoStruxure BMS.
For more information, see section 9.4 “Add and Detach EcoStruxure BMS
Servers” on page 309.

9.1.2 Server Rename


In a multi-server system, two EcoStruxure BMS servers cannot have identical
names. Before adding an EcoStruxure BMS server to your system, you may
need to rename it.
For more information, see section 9.7 “Server Rename” on page 312.

Technical 04-30006-02-en, May 2019


306
9 EcoStruxure BMS Server Management
9.2 Displaying CPU and System Memory Usage

9.2 Displaying CPU and System Memory


Usage
You view the CPU usage and system memory usage of an EcoStruxure BMS
server polling large graphics, or a significant number of objects in the Watch
pane.

To display CPU and system memory usage


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server that you want to diagnose.
2. On the Actions menu, point to View
View, point to In Watch pane
pane, and then click
Other properties
properties.
3. Select CPU usage
usage.
4. Select System memory usage
usage.
5. If the CPU usage and system memory usage is above 50%, adjust the
polling interval settings on the network to optimize system performance.

04-30006-02-en, May 2019 Technical


307
9 EcoStruxure BMS Server Management
9.3 Deleting a SmartX Server

9.3 Deleting a SmartX Server


You use this procedure to delete SmartX server. You can delete both online and
offline servers.
For more information, see section 9.1 “EcoStruxure BMS Server Management”
on page 305.

To delete a SmartX server


1. In WorkStation, in the System Tree pane, in the Servers folder, select the
SmartX server that you want to delete.
2. On the Edit menu, click Delete
Delete.
3. In the Confirm Delete dialog box, click Yes
Yes.
You would typically update references and repair SmartX server communication,
if any has been broken.

Technical 04-30006-02-en, May 2019


308
9 EcoStruxure BMS Server Management
9.4 Add and Detach EcoStruxure BMS Servers

9.4 Add and Detach EcoStruxure BMS


Servers
You add EcoStruxure BMS servers to the EcoStruxure Building Operation
database to expand the EcoStruxure BMS and you detach EcoStruxure BMS
servers from the EcoStruxure Building Operation database when you no longer
want them to be part of the EcoStruxure BMS.
You can add EcoStruxure BMS servers to the EcoStruxure Building Operation
database either by creating new Enterprise Servers to a top-tier Enterprise
Central and SmartX servers to a top-tier or middle-tier Enterprise Server. You
can also add existing EcoStruxure BMS servers to the EcoStruxure Building
Operation database.
For more information, see section 3.2 “Creating an EcoStruxure BMS server” on
page 197.
For more information, see section 6.5 “Creating a SmartX Server ” on page 223.
For more information, see section 6.6 “Creating a SmartX Server from a Backup
Set” on page 224.
For more information, see section 9.5 “Adding an Existing Enterprise Server to
an Enterprise Central” on page 310.
You can detach SmartX servers from the EcoStruxure Building Operation
database. You can also detach Enterprise Servers whether they contain SmartX
servers or not. You detach the EcoStruxure BMS server on the server itself or
from an EcoStruxure BMS server on a higher tier. After you detach an
EcoStruxure BMS server, it is no longer part of the EcoStruxure BMS.
For more information, see section 9.6 “Detaching an EcoStruxure BMS Server”
on page 311.

9.4.1

04-30006-02-en, May 2019 Technical


309
9 EcoStruxure BMS Server Management
9.5 Adding an Existing Enterprise Server to an Enterprise Central

9.5 Adding an Existing Enterprise Server to


an Enterprise Central
You add an existing Enterprise Server to an Enterprise Central to expand the
EcoStruxure BMS.
For more information, see section 10.1 “Multi-server Systems” on page 317.

To add an existing Enterprise Server to an Enterprise Central


1. Log on to the Entreprise Central.
2. In WorkStation, in the System Tree pane, select the Servers folder.
3. On the File menu, point to New and then click Server
Server.
4. In the Create Object dialog box, in the Name box, type a name for the
Enterprise Server.
5. In the Description box, type descriptive information about the Enterprise
Server.
6. Click Next
Next.
7. In the Configure IP/DNS Address and Port page, in the Address box, type
the IP address or fully qualified domain name of the Enterprise Server.

NOTICE
• If the EcoStruxure BMS server has been assigned a dynamic IP
address, use the fully qualified domain name of the EcoStruxure BMS
server instead of the IP address.

8. In the Protocol box, select the protocol you want to use to communicate
with the Enterprise Server. For more information, see section 8.1
“EcoStruxure BMS Server Communication” on page 289.
9. In the Port box, enter a port number.
10. Click Next
Next.
11. In the Create Server from a Backup Set page, in the File box, enter the
name of the backup set file if you want to create the Enterprise Server from
a backup set.
12. Click Create
Create.
13. In the Log On dialog box, in the Password box, type the custom password
if required.
14. Click OK
OK.

Technical 04-30006-02-en, May 2019


310
9 EcoStruxure BMS Server Management
9.6 Detaching an EcoStruxure BMS Server

9.6 Detaching an EcoStruxure BMS Server


You detach an EcoStruxure BMS server that you want to delete from the
EcoStruxure BMS. You detach from the EcoStruxure BMS server you want to
detach or from a higher-tier EcoStuxure BMS server.
For more information, see section 6.1 “SmartX Servers” on page 217.
For more information, see the Enterprise Server topic on WebHelp.

To detach an EcoStruxure BMS server


1. Log on to the EcoStruxure BMS server or a higher-tier server.
2. On the Actions menu, point to Advanced and then click Detach server
server.
The SmartX server is removed from the EcoStruxure BMS and the following
object references become invalid: References from an Enterprise Central to an
Enterprise Server, references from an Enterprise Central to a SmartX server,
references from an Enterprise Server to an Enterprise Central, and references
from a SmartX server to an Enterprise Central.

04-30006-02-en, May 2019 Technical


311
9 EcoStruxure BMS Server Management
9.7 Server Rename

9.7 Server Rename


In a multi-server system, two EcoStruxure BMS servers cannot have identical
names. Before adding an EcoStruxure BMS server to your system, you may
need to rename it.
When you rename an EcoStruxure BMS server already in a system, all
references to and from that server are updated.
You rename the EcoStruxure BMS server on the server itself or on a higher-tier
EcoStruxure BMS server in the EcoStruxure BMS the EcoStruxure BMS server
requiring a new name belongs to.

Table: Renaming Options


Server Type Rename from Rename from Rename from
Enterprise Central Enterprise Server SmartX server

Enterprise Central Yes No No

Enterprise Server Yes Yes No

SmartX server Yes Yes Yes

Technical 04-30006-02-en, May 2019


312
9 EcoStruxure BMS Server Management
9.8 Renaming an EcoStruxure BMS Server

9.8 Renaming an EcoStruxure BMS Server


You use this procedure to rename an EcoStruxure BMS server.

NOTICE
When changing the name of a folder or EcoStruxure BMS server, you also
have to reconfigure users and user groups path permissions to this
EcoStruxure BMS server or folder. For more information, see the Path
Permissions topic on WebHelp.

NOTICE
Renaming requires that you log off from the EcoStruxure Building Operation
software and then log back on.

For more information, see section 9.7 “Server Rename” on page 312.

To rename an EcoStruxure BMS server


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server that you want to rename.
2. On the Edit menu, click Rename
Rename.
3. In the Rename Object dialog box, in the Object Name box, type a new
name for the EcoStruxure BMS server.
4. Click OK
OK.
5. In the Confirm Rename dialog box, click Yes
Yes.
6. Click OK
OK.
7. Log on to WorkStation and update references, if any have been broken.

04-30006-02-en, May 2019 Technical


313
10 Multi-server Systems

Topics
Multi-server Systems
Enterprise Central System
Enterprise Server System
10 Multi-server Systems
10.1 Multi-server Systems

10.1 Multi-server Systems


Large EcoStruxure BMS systems can contain a top-tier Enterprise Central, mid-
tier Enterprise Servers, and a number of base-tier SmartX servers. Smaller
EcoStruxure BMS systems can contain a top-tier Enterprise Server and a
number of base-tier SmartX servers.

Figure: EcoStruxure BMS server topology

In a multi-server system with an Enterprise Central, a number of Enterprise


Servers, and a number of SmartX servers, the EcoStruxure BMS servers are
aware of the server on the tier above and below.
Enterprise Central is aware of the Enterprise Servers in the system.

04-30006-02-en, May 2019 Technical


317
10 Multi-server Systems
10.1 Multi-server Systems

Figure: The tier of servers Enterprise Central is aware of

Enterprise Servers are aware of the Enterprise Central and SmartX servers.

Figure: The tiers of servers Enterprise Servers are aware of

and SmartX servers are aware of the Enterprise Server they belong to.

Technical 04-30006-02-en, May 2019


318
10 Multi-server Systems
10.1 Multi-server Systems

Figure: The tier of servers SmartX servers are aware of

NOTICE
On a Local domain, you cannot view bound values from an EcoStruxure BMS
server higher or on the same tier in the EcoStruxure BMS hierarchy.

10.1.1 Enterprise Central System


In a system with an Enterprise Central, a number of Enterprise Servers, and a
number of SmartX servers, the Enterprise Central is the system entry point from
the monitoring point of view. For more information, see section 4.1 “Enterprise
Central” on page 201.
For more information, see section 10.2 “Enterprise Central System” on page 321.

10.1.2 Enterprise Server System


In a system with an Enterprise Server and a number of lower-tier SmartX servers,
the Enterprise Server is the system entry point from the engineering and user
point of view. For more information, see the Enterprise Server topic on WebHelp.
For more information, see section 10.3 “Enterprise Server System” on page 322.

04-30006-02-en, May 2019 Technical


319
10 Multi-server Systems
10.1 Multi-server Systems

10.1.3 EcoStruxure BMS Server Communication


You configure communication parameters when you add an EcoStruxure BMS
server. The Enterprise Central distributes its communication parameters to the
Enterprise Servers and the Enterprise Server distributes its communication
parameters to the SmartX servers so that they know how to communicate with
the newly added EcoStruxure BMS server. SmartX server does not get
communication parameters from Enterprise Central, nor vice-versa.
For more information, see section 8.1 “EcoStruxure BMS Server Communication”
on page 289.

10.1.4 EcoStruxure BMS Server Status


The status of an EcoStruxure BMS server can be either online or offline. Being
online or offline depends on the operational situation of the EcoStruxure BMS
server and its connectivity with other EcoStruxure BMS servers. An EcoStruxure
BMS server can actually be online and communicating with one EcoStruxure
BMS server, while at the same time appear to be offline to another EcoStruxure
BMS server.
EcoStruxure BMS server status has implications on EcoStruxure BMS server
management. An EcoStruxure BMS server needs to be online to be configured.
Another consideration is that configuring an EcoStruxure BMS server, while
another EcoStruxure BMS server is offline, can cause the offline EcoStruxure
BMS server to come out of synch when it comes back online again.
For more information, see section 8.4 “EcoStruxure BMS Server Status” on page
298.

10.1.5 EcoStruxure BMS Server Management


You can use the Enterprise Server to create new SmartX servers. SmartX servers
are created and accessed in the Server folder. You cannot move SmartX servers
from the Server folder.
For more information, see section 9.1 “EcoStruxure BMS Server Management”
on page 305.

10.1.6 Server Rename


In a multi-server system, two EcoStruxure BMS servers cannot have identical
names. Before adding an EcoStruxure BMS server to your system, you may
need to rename it.
For more information, see section 9.7 “Server Rename” on page 312.

10.1.7

Technical 04-30006-02-en, May 2019


320
10 Multi-server Systems
10.2 Enterprise Central System

10.2 Enterprise Central System


In a system with an Enterprise Central, a number of Enterprise Servers, and a
number of SmartX servers, the Enterprise Central is the system entry point from
the monitoring point of view. For more information, see section 4.1 “Enterprise
Central” on page 201.
You log on to Enterprise Central, and from there you can view, navigate, and
access all Enterprise Servers in the System Tree pane. You can use Enterprise
Central to manage, supervise, and perform a number of engineering tasks on
the system in an efficient manner:
• Single sign on
• Global view and access
• Global search
• Global engineering, such as bindings between EcoStruxure BMS servers
• Global EcoStruxure BMS server management
• Centralized alarms and data management:
– Manage alarms from multiple EcoStruxure BMS servers
– View trend logs from multiple EcoStruxure BMS servers
– View event logs from multiple EcoStruxure BMS servers
– Store historical data from multiple EcoStruxure BMS servers
• EcoStruxure Building Operation management:
– Domains
– User groups
• Windows integration
– Windows domains
– Active Directory user groups

10.2.1

04-30006-02-en, May 2019 Technical


321
10 Multi-server Systems
10.3 Enterprise Server System

10.3 Enterprise Server System


In a system with an Enterprise Server and a number of lower-tier SmartX servers,
the Enterprise Server is the system entry point from the engineering and user
point of view. For more information, see the Enterprise Server topic on WebHelp.
You log on to Enterprise Server, and from there you can view, navigate, and
access all SmartX servers in the System Tree pane. You can use Enterprise
Server to manage, supervise, and perform live engineering on the system in an
efficient manner:
• Single sign on
• Global view and access
• Global search
• Global engineering, such as bindings between EcoStruxure BMS servers
• Global EcoStruxure BMS server management
• Centralized alarms and data management:
– Manage alarms from multiple EcoStruxure BMS servers
– View trend logs from multiple EcoStruxure BMS servers
– View event logs from multiple EcoStruxure BMS servers
– Store historical data from multiple EcoStruxure BMS servers
• EcoStruxure Building Operation management:
– Domains
– User groups
• Windows integration
– Windows domains
– Active Directory user groups

10.3.1

Technical 04-30006-02-en, May 2019


322
11 Device Administrator User
Interface

Topics
Device Administrator
Server Administrator Toolbar
Device Administrator Server Configuration View
Device Administrator Server List Toolbar
Upgrade Dialog Box
Edit Connection Dialog Box
Detailed Progress Dialog Box
Site Specific Server Password Dialog Box
Download Dialog Box
General Dialog Box
Ethernet 1 Configuration Dialog Box
Ethernet 2 Configuration Dialog Box
SNMP Configuration Dialog Box
Firewall Dialog Box
Time Tab Dialog Box
SSH Public Key Fingerprint Validation Dialog Box
SSL Root Certificate Dialog Box
Server SSL Certificate Defaults Dialog Box
11 SSL Certificate Dialog Box
Browse SSL Certificate Dialog Box
SSL Settings Dialog Box
Server State Bar
11 Device Administrator User Interface
11.1 Device Administrator

11.1 Device Administrator


Use the Device Administrator toolbar to manage server list, check the status of
the SmartX servers and change between managing licenses and updating
SmartX servers.

Figure: Device administrator

Table: Device Administrator Components


Number Description

Server list
Use the Device Administrator toolbar to
perform operations on the SmartX servers
in the list.
For more information, see section 11.4
“Device Administrator Server List Toolbar ”
on page 330.

Work Area
Use the Work area to manage licenses,
view Entitlements, manage certificates and
upgrade SmartX servers.
For more information, see the Entitlements
View topic on WebHelp.
For more information, see the Entitlements
Contents View topic on WebHelp.
For more information, see the Entitlements
Product Licenses View topic on WebHelp.
For more information, see section 11.3
“Device Administrator Server Configuration
View” on page 328.
For more information, see the Servers
Show Features View topic on WebHelp.

Server state bar


Displays the state of the SmartX servers in
the list.
For more information, see section 11.22
“Server State Bar” on page 356.

04-30006-02-en, May 2019 Technical


325
11 Device Administrator User Interface
11.1 Device Administrator

Continued
Number Description

License status bar


Displays the license status for the SmartX
servers in the list.
For more information, see section 11.22
“Server State Bar” on page 356.

Technical 04-30006-02-en, May 2019


326
11 Device Administrator User Interface
11.2 Server Administrator Toolbar

11.2 Server Administrator Toolbar


Use the Device Administrator toolbar to list and select SmartX servers for
upgrade of the software via the USB port or the IP network.

Table: Server Administrator Toolbar


Component Description

Upgrade Click to open the Upgrade dialog box,


where you select the type of upgrade. For
more information, see section 11.5
“Upgrade Dialog Box” on page 331.

Download Click to download the updated database to


the SmartX server.

Debug Info Click to download the debug information


files from the selected SmartX server(s).

Change Password Click to change the password for the


selected server.

Edit connection Click to open the Edit connection dialog


box, where you can change the way a
SmartX server is addressed. For more
information, see the Edit Connection
Dialog Box topic on WebHelp.

Remove Click to remove the selected SmartX server


from the list. The SmartX server itself is not
affected in any way.

04-30006-02-en, May 2019 Technical


327
11 Device Administrator User Interface
11.3 Device Administrator Server Configuration View

11.3 Device Administrator Server


Configuration View
Use the Device Administrator Servers view to configure SmartX servers.

Figure: Device Administrator server configuration view

Table: Device Administrator Server Configuration View


Columns Description

General Click to open the General didalog box. For


more information, see section 11.10
“General Dialog Box” on page 337.

Ethernet 1 Configuration Click to open the Ethernet 1 Configuration


dialog box. For more information, see
section 11.11 “Ethernet 1 Configuration
Dialog Box” on page 339.

Ethernet 1 Configuration Click to open the Ethernet 2 Configuration


dialog box. For more information, see
section 11.12 “Ethernet 2 Configuration
Dialog Box” on page 341.

SNMP Configuration Click to open the SNMP Configuration


dialog box. For more information, see
section 6.12 “SNMP” on page 231.

Technical 04-30006-02-en, May 2019


328
11 Device Administrator User Interface
11.3 Device Administrator Server Configuration View

Continued
Columns Description

Firewall Click to open the Firewall dialog box. For


more information, see section 207.2
“Firewall” on page 7862.

Time Click to open the Time dialog box. For


more information, see section 7.27 “Time
Settings on SmartX Servers” on page 268.

SSH Validation Click to open the SSH Public Key


Fingerprint dialog box. For more
information, see section 7.25 “SSH Public
Key Validation” on page 266.

SSL Certificate Click to open the SSL Certificate dialog


box. For more information, see section 7.30
“Certificates in Device Administrator” on
page 271.

SSL Settings Click to open the SSL Settings dialog box.


For more information, see section 7.42
“SSL Communication Security Settings” on
page 284.

04-30006-02-en, May 2019 Technical


329
11 Device Administrator User Interface
11.4 Device Administrator Server List Toolbar

11.4 Device Administrator Server List Toolbar


Use the Device Administrator Server List toolbar to manage SmartX server lists.

Table: Device Administrator Server List Toolbar


Button Description

Create a new server list


Click to create a new server list.

Open an existing server list


Click to open an existing server list.

Save the current server list


Click to save the current server list.

Save the current list as a new list


Click to save the current server list as a
new list.

Import a server list


Click to import a server list.

Export a server list


Click to export a server list.

Technical 04-30006-02-en, May 2019


330
11 Device Administrator User Interface
11.5 Upgrade Dialog Box

11.5 Upgrade Dialog Box


Use the Upgrade Device dialog box to preserve or delete the SmartX server
database.

Figure: Upgrade servers dialog box

Table: Upgrade Servers Dialog Box


Component Description

Software version Displays the version the SmartX server will


be upgraded to.

Type of upgrade Select Upgrade database to upgrade the


software and preserve the database.
Select New database to upgrade the
software and delete the database.

Upgrade information Informs you about what happens when you


upgrade. For more information, see section
7.1 “ SmartX Server Device Administration”
on page 241.

Set time on device Select to transfer the date and time on the
computer that runs Device Administrator to
the SmartX server. For more information,
see section 7.1 “ SmartX Server Device
Administration” on page 241.

04-30006-02-en, May 2019 Technical


331
11 Device Administrator User Interface
11.6 Edit Connection Dialog Box

11.6 Edit Connection Dialog Box


Use the Edit Connection dialog box to edit a SmartX server network connection.

Figure: Edit Connection dialog box

Table: Edit Connection Dialog Box


Component Description

Server address Type the IP address or the host name for


an existing SmartX server.

User name Displays the domain administration user


name.

Password Type the password.

Port Type a port number.

SSH Select to enable the type of


communication.

Use site specific server password Select to use site specific password. This
checkbox is pre-selected if a site specific
password is created. For more information,
see section 7.23 “Site Specific Device
Password” on page 264.

Connection string Displays the selected type of


communication and the specified device
address, that is, IP address or host name,
and port number.

EBO server protocol Select the protocol used to connect to the


server.

Technical 04-30006-02-en, May 2019


332
11 Device Administrator User Interface
11.6 Edit Connection Dialog Box

Continued
Component Description

EBO server port Select the port used to connect to the


server.

04-30006-02-en, May 2019 Technical


333
11 Device Administrator User Interface
11.7 Detailed Progress Dialog Box

11.7 Detailed Progress Dialog Box


Use the Detailed Progress dialog box to monitor the progress of the installation
procedure.

Figure: Detailed progress dialog box

Table: Detailed Progress Dialog Box


Component Description

Serial number Displays the unique serial number of the


SmartX server.

Device address Displays the SmartX server IP address.

Technical 04-30006-02-en, May 2019


334
11 Device Administrator User Interface
11.8 Site Specific Server Password Dialog Box

11.8 Site Specific Server Password Dialog


Box
Use the Site specific server password dialog box to configure a site specific
password to be used by Device Administrator when you add or upgrade SmartX
servers.

Figure: Site specific server password dialog box

Table: Site Specific Server Password Dialog Box


Component Description

User name Displays the user name of the domain.

Password Type a site specific password.

Confirm password Type the password again.

04-30006-02-en, May 2019 Technical


335
11 Device Administrator User Interface
11.9 Download Dialog Box

11.9 Download Dialog Box


Use the Download dialog box to download the converted database to the
SmartX server.

Figure: Download dialog box

Table: Download Dialog Box


Property Description

Status Displays the status of the backup.

Green indicates a backup that is less


than 24 hours old.

Yellow indicates a backup that is more


than 24 hours old.
For more information, see section 7.1 “
SmartX Server Device Administration” on
page 241.

Connection Displays the connection to the SmartX


server.

Serial number Serial numbers of the SmartX server to


which the converted database is
downloaded.

Time Displays the time the backup was made.

Technical 04-30006-02-en, May 2019


336
11 Device Administrator User Interface
11.10 General Dialog Box

11.10 General Dialog Box


Use the General dialog box to view software and hardware information about the
selected SmartX server.

Figure: General dialog box

Table: General Dialog Box


Component Description

Port Displays the port on the SmartX server that


is used for Device Administrator
communication.

Software version Displays the software version currently


installed on the SmartX server. This can be
changed with a software upgrade from the
Device Administrator.

Connection Displays the current type of connection:


USB or network.

Product ID Displays the type of SmartX server.

Part number Displays the Schneider Electric part


number of the SmartX server.

Neuron ID Displays the four Neuron identities of the


SmartX server in hexadecimal form.

Hardware version Displays the general hardware version of


the SmartX server.

04-30006-02-en, May 2019 Technical


337
11 Device Administrator User Interface
11.10 General Dialog Box

Continued
Component Description

Hardware Displays the hardware platform type,


which is, the current version of the basic
hardware platform.

Serial number Displays the unique serial number of the


circuit board in the SmartX server.

Slot Displays the I/O bus address, 1-32, for the


device. (Appears only in normal mode, if
USB connection.)

Technical 04-30006-02-en, May 2019


338
11 Device Administrator User Interface
11.11 Ethernet 1 Configuration Dialog Box

11.11 Ethernet 1 Configuration Dialog Box


Use the Ethernet 1 Configuration dialog box to edit communication settings for
the selected SmartX server.

Figure: Ethernet 1 Configuration dialog box

Table: Ethernet 1 Configuration Dialog Box


Component Description

Host name Type a unique host name of the SmartX


server.

Current IP address Displays the server IP address, which is


assigned by the DHCP server.

MAC address Displays the Media Access Control


address of the processor in the SmartX
server. This hardware address uniquely
identifies each node of a network.

Enable DHCP Select to enable DHCP so the SmartX


server can obtain TCP/IP configurations
from the DHCP server.

Dynamic DNS Select to enable DNS updates to


automatically update a DNS server with
new or changed records for IP addresses
for the SmartX server.

Domain Type the name of the domain to which the


SmartX server belongs.

04-30006-02-en, May 2019 Technical


339
11 Device Administrator User Interface
11.11 Ethernet 1 Configuration Dialog Box

Continued
Component Description

Static IP address Type a static IP address for the SmartX


server.

Netmask Type the prefix of the subnet to which the


SmartX server belongs.

Gateway Type the address to the router.

Primary DNS Type the address to the primary DNS


server.

Secondary DNS Type the address to the secondary DNS


server.

Tertiary DNS Type the address to the tertiary DNS


server.

Technical 04-30006-02-en, May 2019


340
11 Device Administrator User Interface
11.12 Ethernet 2 Configuration Dialog Box

11.12 Ethernet 2 Configuration Dialog Box


Use the Ethernet 2 Configuration dialog box to edit communication settings for
the selected SmartX server.

Figure: Ethernet 2 Configuration dialog box

Table: Ethernet 2 Configuration Dialog Box


Component Description

Ethernet 2 mode Select Enable to allow the SmartX server to


act as a switch and forward messages on
the network. Select Dual IP when you want
an additional network on the Ethernet 2
port. For more information, see section
7.12 “SmartX AS-B and AS-P Server as a
DHCP Server” on page 253.

DHCP mode When Dual IP is selected you can choose


to make the SmartX server a DHCP server
on the additional network. For more
information, see section 7.12 “SmartX AS-B
and AS-P Server as a DHCP Server” on
page 253.

Host name Type a unique host name of the SmartX


server.

Current IP address Displays the server IP address, which is


assigned by the DHCP server.

04-30006-02-en, May 2019 Technical


341
11 Device Administrator User Interface
11.12 Ethernet 2 Configuration Dialog Box

Continued
Component Description

MAC address Displays the Media Access Control


address of the processor in the SmartX
server. This hardware address uniquely
identifies each node of a network.

Dynamic DNS Select to enable DNS updates to


automatically update a DNS server with
new or changed records for IP addresses
for the SmartX server.

Domain Type the name of the domain to which the


SmartX server belongs.

Static IP address Type a static IP address for the SmartX


server.

Netmask Type the prefix of the subnet to which the


SmartX server belongs.

Gateway Type the address to the router.

Primary DNS Type the address to the primary DNS


server.

Secondary DNS Type the address to the secondary DNS


server.

Tertiary DNS Type the address to the tertiary DNS


server.

Technical 04-30006-02-en, May 2019


342
11 Device Administrator User Interface
11.13 SNMP Configuration Dialog Box

11.13 SNMP Configuration Dialog Box


Use the SNMP Configuration dialog box to configure a user that the SNMP
manager uses to log on to the SmartX server.

Figure: SNMP Configuration dialog box

Table: SNMP Configuration Dialog Box


Component Description

Enable SNMP queries Select to enable SNMP queries.

Enable SNMP traps Select to have the SNMP Manager collect


information regarding SNMP traps.

Traps destination host address Type the host name or address to the
SNMP Manager.

User name Type the user name for the SNMP user in
the SmartX server.

Authentication password Type the password (MD5) for the SNMP


user for the SmartX server. The password
must be at least ten characters long.

Confirm password Type the password again.

Privacy password Type the privacy password (DES) used to


encrypt the information sent to the SNMP
Manager. The password must be at least
ten characters long.

04-30006-02-en, May 2019 Technical


343
11 Device Administrator User Interface
11.13 SNMP Configuration Dialog Box

Continued
Component Description

Confirm password Type the privacy password again.

System contact Type the name or email address for the


person responsible for the SmartX server.

Location Type the physical location of the SmartX


server.

Enable logging Select to log all access attempts to the


SNMP server in the System log.

SNMP Engine ID Displays the SNMPv3 engine ID. The


SNMPv3 requires an SNMP agent to define
a unique engine ID in order to respond to
SNMPv3 requests. This ID is determined
automatically and should not be changed.

Technical 04-30006-02-en, May 2019


344
11 Device Administrator User Interface
11.14 Firewall Dialog Box

11.14 Firewall Dialog Box


Use the Firewall dialog box to determine the devices that can communicate with
SmartX server.

Figure: Firewall dialog box

Table: Firewall Dialog Box


Component Description

Whitelist Add the IP addresses to the devices that


are allowed to communicate with the
SmartX server to the whitelist. For more
information, see section 207.2 “Firewall” on
page 7862.

Reset whitelist Click to clear the whitelist.

04-30006-02-en, May 2019 Technical


345
11 Device Administrator User Interface
11.15 Time Tab Dialog Box

11.15 Time Tab Dialog Box


Use the Time dialog box to display and modify time settings on the SmartX
server.

Figure: Time dialog box

Table: Time Dialog Box


Component Description

Date Displays the time on the SmartX server.


Read-only. For more information, see the
Time and Time Zone Configuration in
Automation Server topic on WebHelp.

Time Displays the date on the SmartX server.


Read-only. For more information, see the
Time and Time Zone Configuration in
Automation Server topic on WebHelp.

Set time on device Select to transfer the date and time on the
computer that runs Device Administrator to
the SmartX server. For more information,
see section 7.1 “ SmartX Server Device
Administration” on page 241.

Technical 04-30006-02-en, May 2019


346
11 Device Administrator User Interface
11.16 SSH Public Key Fingerprint Validation Dialog Box

11.16 SSH Public Key Fingerprint Validation


Dialog Box
Use the SSH Public Key Fingerprint Validation dialog box to check that the SSH
fingerprints match.

Figure: SSH Public Key Fingerprint validation dialog box

Table: SSH Public Key Fingerprint Validation Dialog Box


Property Description

Device address Displays the address to the SmartX server.

Saved SHA256 fingerprint Displays the SHA256 fingerprints from the


SmartX server saved in the list or an error
message that the fingerprints do not
match.

Current SHA256 fingerprints Displays the SHA256 fingerprints from the


SmartX server in the system.

Accept current fingerprint Select to store the fingerprint from the


SmartX server in the SmartX server list.

04-30006-02-en, May 2019 Technical


347
11 Device Administrator User Interface
11.17 SSL Root Certificate Dialog Box

11.17 SSL Root Certificate Dialog Box


Use the SSL Root Certificate dialog box to manage a root certificate.

Figure: SSL root certificate dialog box

Table: SSL Root Certificate Dialog Box


Component Description

Current root ca certificate Displays the current root certificate.

Country Type the country.

State/Province Type the state/province.

Locality Type the locality.

Technical 04-30006-02-en, May 2019


348
11 Device Administrator User Interface
11.17 SSL Root Certificate Dialog Box

Continued
Component Description

Organization Type the organization.

Unit Type the unit.

Common name Type the common name.

Validity period Enter the calendar end date for the


certificate.

Valid days Type the number of days the certificate is


to be valid. The first day is the day when
the certificate is generated.

Password Type a password.

Repeat password Type the password again.

Export root certificate Click to export the root certificate.

Install Windows trusted root CA certificate Click to install Windows trusted root
certificate.

Import certificate Click to import a self-signed certificate.

Generate root certificate Click to generate a self-signed certificate.

04-30006-02-en, May 2019 Technical


349
11 Device Administrator User Interface
11.18 Server SSL Certificate Defaults Dialog Box

11.18 Server SSL Certificate Defaults Dialog


Box
Use the Server SSL Certificate Defaults dialog box to create a template for
certificate that gives you default values in all certificates that you want to create
on the SmartX servers.

Figure: Server SSL Certificate Defaults dialog box

Table: Server SSL Certificate Defaults Dialog Box


Component Description

Country Type the country that you want use as


default in the SSL Certificate that you
create for each SmartX server.

State/Province Type the State/Province that you want use


as default in the SSL Certificate that you
create for each SmartX server.

Locality Type the Locality that you want use as


default in the SSL Certificate that you
create for each SmartX server.

Organization Type the organization that you want use as


default in the SSL Certificate that you
create for each SmartX server.

Unit Type the unit that you want use as default


in the SSL Certificate that you create for
each SmartX server.

Technical 04-30006-02-en, May 2019


350
11 Device Administrator User Interface
11.18 Server SSL Certificate Defaults Dialog Box

Continued
Component Description

Common name Type the common name that you want use
as default in the SSL Certificate that you
create for each SmartX server.

Subject alternative name Type the subject alternative name that you
want use as default in the SSL Certificate
that you create for each SmartX server.

Valid days Type the valid days that you want use as
default in the SSL Certificate that you
create for each SmartX server.

Password Type the password that you want use as


default in the SSL Certificate that you
create for each SmartX server.

Confirm password Type the the password again.

04-30006-02-en, May 2019 Technical


351
11 Device Administrator User Interface
11.19 SSL Certificate Dialog Box

11.19 SSL Certificate Dialog Box


Use the SSL Certificate dialog box to inspect and manage a SmartX server SSL
certificate.

Figure: SSL Certificate dialog box

Table: SSL Certificate Dialog Box


Component Description

Server address Displays the name of the certificate.

Country Enter the country.

State/Province Enter the state and/or province.

Locality Enter the locality

Organization Enter the organization.

Unit Enter the organization unit.

Common name Enter the certificate's common name or


type the DNS address or IP address of the
SmartX server where the certificate is
used.

Subject alternative name Type the DNS address or IP address of the


SmartX server where the certificate is
used.

Validity period Enter the calendar end date for the


certificate.

Technical 04-30006-02-en, May 2019


352
11 Device Administrator User Interface
11.19 SSL Certificate Dialog Box

Continued
Component Description

Valid days Type the number of days the certificate is


to be valid. The first day is the day when
the certificate is generated.

Password Type a password.

Repeat password Type the password again.

Generate new certificate Click to generate new certificate.

Delete certificate Click to delete the certificate.

Import certificate Click to import a certificate.

Export certificate Click to export the certificate.

Transfer to server Click to transfer the certificate to the


SmartX server.

04-30006-02-en, May 2019 Technical


353
11 Device Administrator User Interface
11.20 Browse SSL Certificate Dialog Box

11.20 Browse SSL Certificate Dialog Box


Use the Browse SSL Certificate dialog box to import an SSL root certificate.

Figure: Browse SSL Certificate dialog box

Table: Browse SSL Certificate Dialog Box


Component Description

Server certificate Browse to the server certificate.

Private key Browse to the private key.

Private key password Type the password for the private key.

Technical 04-30006-02-en, May 2019


354
11 Device Administrator User Interface
11.21 SSL Settings Dialog Box

11.21 SSL Settings Dialog Box


Use the SSL Settings dialog box to manage the SSL Communication.

Figure: SSL Settings dialog box

Table: SSL Settings Dialog Box


Component Description

Server address Displays the server address.

Blocked SSL Protocols Enter the protocol you want to block.

Enabled SSL Cipher Enter the cipher you want to enable.

04-30006-02-en, May 2019 Technical


355
11 Device Administrator User Interface
11.22 Server State Bar

11.22 Server State Bar


Server state bar displays the state of the SmartX servers in the list.
Error message Status

OK All SmartX servers in the list are ok.

Server in warning state One or more servers are in warning state:


the latest action has succeeded with
warnings.

Server in error state One or more servers are in error state: the
latest action has failed.

Technical 04-30006-02-en, May 2019


356
12 SmartX Server Web
Configuration User Interface

Topics
SmartX Server Device Configuration – Network Tab
SmartX Server Device Configuration – System Info Tab
SmartX Server Device Configuration – Server Log Tab
12 SmartX Server Web Configuration User Interface
12.1 SmartX Server Device Configuration – Network Tab

12.1 SmartX Server Device Configuration –


Network Tab
Use the Network tab to display the configuration of a SmartX server network.
You can also use this page to make changes in the configuration.

Figure: Network tab

Table: Network Tab


Component Description

DHCP Select Enabled to obtain configuration


information from a DHCP server.

IP/DNS address Displays the IP/DNS address of the SmartX


server.

Subnet mask Displays the address of the subnet that the


SmartX server belongs to.

04-30006-02-en, May 2019 Technical


359
12 SmartX Server Web Configuration User Interface
12.1 SmartX Server Device Configuration – Network Tab

Continued
Component Description

Default gateway Displays the address to the node that


serves as an access point to another
network.

DNS server Displays the address to a DNS server


where the server is listed.

Domain name Displays the IP domain name that the


SmartX server belongs to.

Host name Displays the IP host name of the SmartX


server. This host name can be connected
to the IP address, depending on the DNS
server.

HTTP Port Displays the port number that the SmartX


server listens to when communicating
through the Hypertext Transfer Protocol.

HTTPS Port Displays the port number that the SmartX


server listens to when communicating
through the secure Hypertext Transfer
Protocol.

Technical 04-30006-02-en, May 2019


360
12 SmartX Server Web Configuration User Interface
12.2 SmartX Server Device Configuration – System Info Tab

12.2 SmartX Server Device Configuration –


System Info Tab
Use the System Info tab to display server settings and manufacturing data. All
the information on this tab is read only.

Figure: System Information tab

Table: System Information Tab


Component Description

Serial number Displays the serial number of the SmartX


server.

Product ID Displays the product ID of the SmartX


server.

Part number Displays the part number of the SmartX


server.

04-30006-02-en, May 2019 Technical


361
12 SmartX Server Web Configuration User Interface
12.2 SmartX Server Device Configuration – System Info Tab

Continued
Component Description

Hardware platform Displays the hardware platform of the


SmartX server.

Hardware version Displays the hardware version of the


SmartX server.

Software version Displays the software version of the SmartX


server.

MAC address Displays the MAC address of the SmartX


server.

Use external NTP server Displays if the server synchronizes its time
and date with an network time protocol
server

Primary time server Displays the address to the primary


network time protocol server to which the
SmartX server synchronizes its time with.

Secondary time server Displays the address to the secondary


network time protocol server to which the
SmartX server synchronizes its time with.

Time zone Displays the server time zone settings.

Daylight saving time Displays if the time zone has a DST offset.

Technical 04-30006-02-en, May 2019


362
12 SmartX Server Web Configuration User Interface
12.3 SmartX Server Device Configuration – Server Log Tab

12.3 SmartX Server Device Configuration –


Server Log Tab
Use the Server Log tab to display the current server system log and to export all
SmartX server log files.

Figure: Server Log tab

Table: Server Log Tab


Component Description

Get all log files Click to export all log files stored on the
SmartX server. The log files are
compressed into a zip file.

04-30006-02-en, May 2019 Technical


363
13 EcoStruxure BMS Servers User
Interface

Topics
EcoStruxure BMS Server Wizard – Configure IP/DNS
Address and Port Page
Servers Folder Properties
Log On Dialog Box
Enterprise Central Properties – Basic Tab
Enterprise Central Properties – Network Tab
Enterprise Central Properties – Email Tab
Enterprise Server Properties – Basic Tab
Enterprise Server Properties – Network Tab
Enterprise Server Properties – Email Tab
SmartX Server Properties – Basic Tab
SmartX Server Properties – Network Tab
SmartX Server Properties – Email Tab
Communication View
Device Discovery View
Variables View
Date & Time View
CSPClient Settings Dialog Box – Basic Tab
13 EcoStruxure BMS Servers User Interface
13.1 EcoStruxure BMS Server Wizard – Configure IP/DNS Address and Port Page

13.1 EcoStruxure BMS Server Wizard –


Configure IP/DNS Address and Port
Page
Use the Configure IP/DNS Address and Port page to configure EcoStruxure
BMS server communication parameters.

Figure: EcoStruxure BMS Server Wizard - Configure IP/DNS address and port page

Table: EcoStruxure BMS Server Wizard - Configure IP/DNS Address and Port
Page
Component Description

Server Displays the name of the EcoStruxure BMS


server.

Address Type the IP address or fully qualified


domain name of the EcoStruxure BMS
server.

Protocol Select a communication protocol for the


EcoStruxure BMS server. Other
EcoStruxure BMS servers use this protocol
by default when they communicate with
this EcoStruxure BMS server.

Port Enter a port for the selected protocol.

Username Type the administrator user name for the


EcoStruxure BMS server.

Password Type the custom administrator password


for the EcoStruxure BMS server.

04-30006-02-en, May 2019 Technical


367
13 EcoStruxure BMS Servers User Interface
13.2 Servers Folder Properties

13.2 Servers Folder Properties


Use the Servers Folder Properties view or dialog box to configure and view the
general and object-reference properties. For more information, see the General
Information Properties – Basic Tab topic on WebHelp.

Figure: Servers Folder Properties

Technical 04-30006-02-en, May 2019


368
13 EcoStruxure BMS Servers User Interface
13.3 Log On Dialog Box

13.3 Log On Dialog Box


Use the Log On dialog box to log on to a SmartX server or an Enterprise Server
with an existing custom logon password to add a SmartX server to an Enterprise
Server or to add an Enterprise Server to an Enterprise Central.

Figure: Log on dialog box

Table: Log On Dialog Box


Component Description

Protocol Displays the protocol used by the SmartX


server or Enterprise Server.

Port Displays the communication port used by


the SmartX server or Enterprise Server.

Name Displays the administrator user name.

Password Type the custom administrator password.

04-30006-02-en, May 2019 Technical


369
13 EcoStruxure BMS Servers User Interface
13.4 Enterprise Central Properties – Basic Tab

13.4 Enterprise Central Properties – Basic


Tab
Use the Basic tab to view basic properties of an Enterprise Central.

Figure: Enterprise Central properties - basic tab

Table: Enterprise Central Properties – Basic Tab


Component Description

Server time Displays the date and time adjusted to the


client time zone.

Hour (h) Displays the hours according to the


Enterprise Central time zone.

Minute (m) Displays the minutes according to the


Enterprise Central time zone.

Second (s) Displays the seconds according to the


Enterprise Central time zone.

Configuration database size Displays the current size (Mb) of the


configuration database.

Technical 04-30006-02-en, May 2019


370
13 EcoStruxure BMS Servers User Interface
13.4 Enterprise Central Properties – Basic Tab

Continued
Component Description

Server directory size Displays the current size (Mb) of the types
stored in the Enterprise Central file system.

Thread pool size Displays the present size of the thread


pool.

Thread pool usage Displays the present usage of the thread


pool.

Request-specific thread pool size Displays the capacity of the request-


specific thread pool.

Request-specific thread pool usage Displays the current number of threads in


the request-specific thread pool.

Script program engine Displays the Script program engine


version the Enterprise Central supports.

Target operating system Displays the operating system family for


the server (Windows or Linux).

Target CPU architecture Displays the basic CPU of the operating


server (Arm or x86).

Vendor Displays the issuer of the EcoStruxure


Building Operation technology.

Operating system Displays the operating system on which


Enterprise Central is running.

Hardware version Displays the Enterprise Central hardware


revision.

Software version Displays the Enterprise Central software


revision.

Trend storage capacity Displays the available trend storage in


number of records.

Trend storage usage Displays the trend storage usage in


number of records.

Function Block program engine Displays the Function Block program


engine version Enterprise Central
supports.

04-30006-02-en, May 2019 Technical


371
13 EcoStruxure BMS Servers User Interface
13.5 Enterprise Central Properties – Network Tab

13.5 Enterprise Central Properties – Network


Tab
Use the Network tab to view the IP settings of the Enterprise Central.

Figure: Enterprise Central properties - Network tab

Table: Enterprise Central Propertiesa - Network Tab


Component Description

IP/DNS address Displays the IP address of the host


computer on which the server resides.

Host name Displays the host name of the computer on


which the server resides.

TCP port Displays the port number on this server for


incoming TCP communication.

HTTP port Displays the port number on this server for


incoming HTTP communication.

HTTPS port Displays the port number on this server for


incoming HTTPS communication.

Technical 04-30006-02-en, May 2019


372
13 EcoStruxure BMS Servers User Interface
13.6 Enterprise Central Properties – Email Tab

13.6 Enterprise Central Properties – Email


Tab
Use the Email tab to select and specify the email server that can be used to
send email notifications.

Figure: Enterprise Central properties - Email tab

Table: Enterprise Central Properties - Email Tab


Component Description

Sender email Type a sender address for the notification


emails that are generated by this
Enterprise Central. The sender email is the
receiver of replies.

Maximum queue size Enter the maximum number of emails that


are allowed in a queue.

04-30006-02-en, May 2019 Technical


373
13 EcoStruxure BMS Servers User Interface
13.6 Enterprise Central Properties – Email Tab

Continued
Component Description

Response timeout Enter the number of seconds the server


waits for response when communicating
with the email server. An email server can
be configured to delay the response to
stop spam. If the email server is configured
to stop spam by imposing transaction
delays, the time-out could typically be set
to 20 seconds.

Maximum retry count Enter the number of attempts to send an


email that are performed before
abandoning the email.

Retry time Enter the number of minutes between


retries.

Primary host Type a primary email server web address.

Primary user name Type the user name for the email account
on the primary email server.

Primary password Type the password for the email account


on the primary email server.

Primary Confirm password Type the password again for the email
account on the primary email server.

Primary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the primary email server.

Primary port Enter the port that is designated for


incoming SMTP traffic on the primary email
server.

Secondary host Type a secondary email server web


address.

Secondary user name Type the user name for the email account
on the secondary email server.

Secondary password Type the password for the email account


on the secondary email server.

Secondary Confirm password Type the password again for the email
account on the secondary email server.

Secondary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the secondary email server.

Secondary port Enter the port that is designated for


incoming SMTP traffic on the secondary
email server.

Technical 04-30006-02-en, May 2019


374
13 EcoStruxure BMS Servers User Interface
13.7 Enterprise Server Properties – Basic Tab

13.7 Enterprise Server Properties – Basic


Tab
Use the Basic tab to view basic properties of the Enterprise Server.

Figure: Enterprise Server properties – Basic tab

Table: Enterprise Server Properties – Basic Tab


Component Description

Server time Displays the date and time adjusted to the


client time zone.

Hour (h) Displays the hours according to the


Enterprise Server time zone.

Minute (m) Displays the minutes according to the


Enterprise Server time zone.

Second (s) Displays the seconds according to the


Enterprise Server time zone.

Configuration database size Displays the current size (Mb) of the


configuration database.

04-30006-02-en, May 2019 Technical


375
13 EcoStruxure BMS Servers User Interface
13.7 Enterprise Server Properties – Basic Tab

Continued
Component Description

Server directory size Displays the current size (Mb) of the types
stored in the Enterprise Server file system.

Thread pool size Displays the present size of the thread


pool.

Thread pool usage Displays the present usage of the thread


pool.

Request-specific thread pool size Displays the capacity of the request-


specific thread pool.

Request-specific thread pool usage Displays the current number of threads in


the request-specific thread pool.

Script program engine Displays the Script program engine


version the Enterprise Server supports.

Vendor Displays the vendor of the EcoStruxure


Building Operation technology.

Operating system Displays the operating system on which


the Enterprise Server is running.

Hardware version Displays the hardware platform on which


the Enterprise Server is running.

Software version Displays the Enterprise Server software


version.

Trend storage capacity Displays the available trend storage in


number of records.

Trend storage usage Displays the trend storage usage in


number of records.

Function Block program engine Displays the Function Block program


engine version the Enterprise Server
supports.

Technical 04-30006-02-en, May 2019


376
13 EcoStruxure BMS Servers User Interface
13.8 Enterprise Server Properties – Network Tab

13.8 Enterprise Server Properties – Network


Tab
Use the Network tab to view the IP settings of the Enterprise Server.

Figure: Enterprise Server properties - Network tab

Table: Network Tab


Component Description

IP/DNS address Displays the IP address of the host


computer on which the server resides.

Host name Displays the host name of the computer on


which the server resides.

TCP port Displays the port number on this server for


incoming TCP communication.

HTTP port Displays the port number on this server for


incoming HTTP communication.

HTTPS port Displays the port number on this server for


incoming HTTPS communication.

04-30006-02-en, May 2019 Technical


377
13 EcoStruxure BMS Servers User Interface
13.9 Enterprise Server Properties – Email Tab

13.9 Enterprise Server Properties – Email


Tab
Use the Email tab to select and specify the email server that can be used to
send email notifications.

Figure: Enterprise Server properties - Email tab

Table: Email Tab


Component Description

Sender email Type a sender address for the notification


emails that are generated by this
Enterprise Server. The sender email is the
receiver of replies.

Maximum queue size Enter the maximum number of emails that


are allowed in a queue.

Technical 04-30006-02-en, May 2019


378
13 EcoStruxure BMS Servers User Interface
13.9 Enterprise Server Properties – Email Tab

Continued
Component Description

Response timeout Enter the number of seconds the server


waits for response when communicating
with the email server. An email server can
be configured to delay the response to
stop spam. If the email server is configured
to stop spam by imposing transaction
delays, the time-out could typically be set
to 20 seconds.

Maximum retry count Enter the number of attempts to send an


email that are performed before
abandoning the email.

Retry time Enter the number of minutes between


retries.

Primary host Type a primary email server web address.

Primary user name Type the user name for the email account
on the primary email server.

Primary password Type the password for the email account


on the primary email server.

Primary Confirm password Type the password again for the email
account on the primary email server.

Primary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the primary email server.

Primary port Enter the port that is designated for


incoming SMTP traffic on the primary email
server.

Secondary host Type a secondary email server web


address.

Secondary user name Type the user name for the email account
on the secondary email server.

Secondary password Type the password for the email account


on the secondary email server.

Secondary Confirm password Type the password again for the email
account on the secondary email server.

Secondary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the secondary email server.

Secondary port Enter the port that is designated for


incoming SMTP traffic on the secondary
email server.

04-30006-02-en, May 2019 Technical


379
13 EcoStruxure BMS Servers User Interface
13.10 SmartX Server Properties – Basic Tab

13.10 SmartX Server Properties – Basic Tab


Use the Basic tab to view basic properties of a SmartX server.

Figure: SmartX Server properties - Basic tab

Table: SmartX Server Properties – Basic Tab


Component Description

Server time Displays the date and time adjusted to the


client time zone.

Hour (h) Displays the hours according to the server


time zone.

Minute (m) Displays the minutes according to the


SmartX server time zone.

Second (s) Displays the seconds according to the


SmartX server time zone.

Configuration database size Displays the current size (Mb) of the


configuration database.

Server directory size Displays the current size (Mb) of the types
stored in the SmartX server file system.

Technical 04-30006-02-en, May 2019


380
13 EcoStruxure BMS Servers User Interface
13.10 SmartX Server Properties – Basic Tab

Continued
Component Description

Thread pool size Displays the present size of the thread


pool.

Thread pool usage Displays the present usage of the thread


pool.

Request-specific thread pool size Displays the capacity of the request-


specific thread pool.

Request-specific thread pool usage Displays the current number of threads in


the request-specific thread pool.

Memory usage (%) Displays the percentage of the system


memory currently being used by the
SmartX server process when including
heap manager free lists to calculate the
amount of free memory.

System memory usage (%) Displays the percentage of the system


memory currently being used by all SmartX
server processes.

CPU usage (%) Displays the level of CPU performance


presently used by the SmartX server.

Script program engine Displays the Script program engine


version the SmartX server supports.

Target operating system Displays the target operating system on


which the SmartX server is running.

Target CPU architecture Displays the target CPU architecture for


the SmartX server.

Vendor Displays the issuer of the EcoStruxure


Building Operation technology.

Operating system Displays the operating system on which


the SmartX server is running.

Software version Displays the SmartX server software


revision.

Trend storage capacity Displays the available trend storage in


number of records.

Trend storage usage Displays the trend storage usage in


number of records.

Serial number Displays the serial number of the SmartX


server hardware.

Product ID Displays a classification code that


represents the type of SmartX server.

04-30006-02-en, May 2019 Technical


381
13 EcoStruxure BMS Servers User Interface
13.10 SmartX Server Properties – Basic Tab

Continued
Component Description

Part number Displays the part number, which is what


identifies the product in the context of
purchase.

Hardware platform Displays a code that represents the


SmartX server CPU.

Hardware version Displays a code that represents the CPU


revision number of the SmartX server.

MAC address Displays the hardware address of the


SmartX server, which is a unique identifier
that is allocated to every hardware network
interface.

Function block program engine Displays the Function Block program


engine version the SmartX server supports.

Number of field bus devices on this server Displays the number of counted field bus
devices hosted by the SmartX server.

Number of SNMP notification licenses Displays the number of SNMP notification


required on this server licenses required on this SmartX server.

Number of smart driver credits on this Displays the number of valid smart driver
server credits on this SmartX server.

Send text Sends a generic string to the Linux system


for diagnostic purposes. This field is
designed for support and future use only.

Technical 04-30006-02-en, May 2019


382
13 EcoStruxure BMS Servers User Interface
13.11 SmartX Server Properties – Network Tab

13.11 SmartX Server Properties – Network Tab


Use the Network tab to view communication settings of the SmartX server.
Network settings are only updated during server startup.

Figure: SmartX server properties - Network tab

Table: Network Tab


Component Description

DHCP Displays if Dynamic Host Configuration


Protocol is enabled. If enabled, the SmartX
server obtains TCP/IP configurations from
the DHCP server.

IP/DNS address Displays the SmartX server IP address,


which is assigned by the DHCP server or
specified by you.

Subnet mask Displays the prefix of the subnet to which


the SmartX server belongs, which is
assigned by the DHCP server or specified
by you.

Default gateway Displays the address to the router, which is


assigned by the DHCP server or specified
by you.

04-30006-02-en, May 2019 Technical


383
13 EcoStruxure BMS Servers User Interface
13.11 SmartX Server Properties – Network Tab

Continued
Component Description

DNS server Displays the address to the DNS server,


which is assigned by the DHCP server or
specified by you.

Domain name Displays the name of the domain to which


the SmartX server belongs.

Host name Displays the IP host name of the SmartX


server. This host name can be associated
to the IP address, depending on the DNS
server.

TCP port Displays the port number on this SmartX


server for incoming TCP communication.

HTTP port Displays the port number on this SmartX


server for incoming HTTP communication.

HTTPS port Displays the port number on this SmartX


server for incoming HTTPS
communication.

Neuron ID 0 Displays the Neuron ID 0 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Neuron ID 1 Displays the Neuron ID 1 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Neuron ID 2 Displays the Neuron ID 2 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Neuron ID 3 Displays the Neuron ID 3 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Neuron ID 4 Displays the Neuron ID 4 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Neuron ID 5 Displays the Neuron ID 5 which is used to


identify LonWorks nodes or other
functionality in the LonWorks network.

Technical 04-30006-02-en, May 2019


384
13 EcoStruxure BMS Servers User Interface
13.12 SmartX Server Properties – Email Tab

13.12 SmartX Server Properties – Email Tab


Use the Email tab to select and specify the email server that can be used to
send email notifications.

Figure: SmartX server properties - Email tab

Table: Email Tab


Component Description

Select email server Select to use the Schneider Electric Email


Server or to set up a primary and possibly
a secondary email server.

Sender email Type a sender address for the notification


emails that are generated by this SmartX
server. The sender email is the receiver of
replies.

Maximum queue size Enter the maximum number of emails that


are allowed in a queue.

04-30006-02-en, May 2019 Technical


385
13 EcoStruxure BMS Servers User Interface
13.12 SmartX Server Properties – Email Tab

Continued
Component Description

Response timeout Enter the number of seconds the SmartX


server waits for response when
communicating with the email server. An
email server can be configured to delay
the response to stop spam. If the email
server is configured to stop spam by
imposing transaction delays, the time-out
could typically be set to 20 seconds.

Maximum retry count Enter the number of attempts to send an


email that are performed before
abandoning the email.

Retry time Enter the number of minutes between


retries.

Primary host Type a primary email server web address.

Primary user name Type the user name for the email account
on the primary email server.

Primary password Type the password for the email account


on the primary email server.

Primary Confirm password Type the password again for the email
account on the primary email server.

Primary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the primary email server.

Primary port Enter the port for incoming SMTP traffic on


the primary email server.

Secondary host Type a secondary email server web


address.

Secondary user name Type the user name for the email account
on the secondary email server.

Secondary password Type the password for the email account


on the secondary email server.

Secondary Confirm password Type the password again for the email
account on the secondary email server.

Secondary encryption method Select the encryption protocol you want to


use when sending encrypted emails from
the secondary email server.

Secondary port Enter the port for incoming SMTP traffic on


the secondary email server.

Technical 04-30006-02-en, May 2019


386
13 EcoStruxure BMS Servers User Interface
13.13 Communication View

13.13 Communication View


Use the Communication view to edit the communication parameters that an
EcoStruxure BMS server maintains about other EcoStruxure BMS servers.

Figure: Communication view

Table: Communication View


Component Description

Server Displays all EcoStruxure BMS servers that


this server knows of.

DNS/IP Address Displays the DNS/IP addresses of the


EcoStruxure BMS server.

Communication Displays the protocols that are used to


communicate with the EcoStruxure BMS
server.

Port Displays the ports that are used for the


protocols.

Server Displays the name of the EcoStruxure BMS


server that is selected in the list.

Address Type the new IP address or fully qualified


domain name if the address has changed
in the selected EcoStruxure BMS server.

Protocol Select a new communication protocol to


use with the selected EcoStruxure BMS
server.

Port Enter the new port number if it has


changed in the selected EcoStruxure BMS
server.

04-30006-02-en, May 2019 Technical


387
13 EcoStruxure BMS Servers User Interface
13.14 Device Discovery View

13.14 Device Discovery View


Use the Device Discovery view to discover installed SmartX devices, Lon
devices, and BACnet devices including I/O modules for a SmartX server.

Figure: Device Discovery view

Table: Device Discovery View


Number Descriptions

System Tree
Select where to search in the System Tree.

Select device type


Select what to search for in the Select
device type box.

Device result area


Displays search results, filtered according
to device type and System Tree scope.
You can add or map devices to the
EcoStruxure BMS by dragging them to the
System Tree.

Technical 04-30006-02-en, May 2019


388
13 EcoStruxure BMS Servers User Interface
13.15 Variables View

13.15 Variables View


Use the Variables view to view values, create trend logs, force values, and to
edit parameters in a structured and manageable way.

Figure: Variables view

Table: Variables View


Number Description

Use the Variables view toolbar expand or


collapse all folders and property
categories in the Variables list. You can
also hide or show the Property grid.

Use the Quick Filter box to filter categories


or properties in the Variables list.

Use the Variables list to view properties


and values in a structured and
manageable way. You can also create
trend logs and edit a multiple selection of
properties.

Use Properties to view and edit parameters


and to force values. For more information,
see the Object Properties topic on
WebHelp.

NOTICE
The Variables view is continuously updated. If all categories are expanded, it
puts a heavy load on the system. Avoid having too many values on display.

04-30006-02-en, May 2019 Technical


389
13 EcoStruxure BMS Servers User Interface
13.16 Date & Time View

13.16 Date & Time View


Use the Date & Time view to configure shadow SmartX server network time
settings, and the time zone of the Enterprise Central or Enterprise Server.

Figure: Date & time view

Table: Date & Time View


Component Description

Network time synchronization Select to define the primary and secondary


network time server addresses for
connected shadow SmartX server.

Enable Select to define the primary and secondary


network time server addresses for
connected shadow SmartX server.

Authenticate Network time Select if you want to use authenticated


synchronization network time synchronizing.

Primary time server Type the address to the primary time


server to which the shadow SmartX server
date and time object synchronizes its
clock.

Secondary time server Type the address to the secondary time


server to which the shadow SmartX
servers' date and time object synchronizes
its clock.

Key id Type the ID of the authentication key for


the primary time server.

Technical 04-30006-02-en, May 2019


390
13 EcoStruxure BMS Servers User Interface
13.16 Date & Time View

Continued
Component Description

Key id Type the ID of the authentication key for


the secondary time server.

Key value Type the password for the primary time


server.

Key value Type the password for the secondary time


server.

Manually adjust date & time Select to use manual date and time
configuration for connected shadow
SmartX server.

Disable Select to disable all SmartX server date


and time shadow relationships and use the
SmartX server own date and time
configurations.

Predefined time zone Select the time zone the EcoStruxure BMS
server belongs to.

Custom time zone Select to manually define the EcoStruxure


BMS server time zone.

Description Type a description or name for the


customized time zone DST settings.

UTC offset Select the time difference the time zone


has from UTC in the hours and minutes
boxes.

This custom time zone uses daylight Select to enable the daylight saving time
saving time settings for the custom time zone.

Time adjustment Select the time adjustment, in minutes, for


the daylight saving time.

Month - Start Select the month that daylight saving time


starts.

Week - Start Select the week of the month that daylight


saving time starts.

Day - Start Select the day of the week that daylight


saving time starts.

Time - Start Select the time that daylight saving time


starts.

Month - End Select the month that daylight saving time


ends.

Week - End Select the week that daylight saving time


ends.

Day - End Select the day of the week that daylight


saving time ends.

04-30006-02-en, May 2019 Technical


391
13 EcoStruxure BMS Servers User Interface
13.16 Date & Time View

Continued
Component Description

Time - End Select the time that daylight saving time


ends.

Technical 04-30006-02-en, May 2019


392
13 EcoStruxure BMS Servers User Interface
13.17 CSPClient Settings Dialog Box – Basic Tab

13.17 CSPClient Settings Dialog Box – Basic


Tab
Use the Basic tab to configure the communication between servers in the
EcoStruxure BMS.

Figure: Basic tab

Table: Basic Tab


Component Description

Threshold (ms) Enter the limit in milliseconds for when a


subscription collects the values,
depending on which subscription method
is used:
• Hanging poll - Enter the delay in
milliseconds before values are
collected. Values are also collected
when the value changes.
• Immediately - Enter the time period at
which values are collected
immediately. Values are collected
immediately when the configured
subscription interval exceeds the
threshold.

04-30006-02-en, May 2019 Technical


393
13 EcoStruxure BMS Servers User Interface
13.17 CSPClient Settings Dialog Box – Basic Tab

Continued
Component Description

MinPollTime (ms) Enter the minimum time that can pass


before a subscribed value is collected
regardless of configured subscription
transfer rate.

Subscription Timeout (ms) Enter the maximum time to wait for a value
transfer request before the remote
connection is considered offline or
inaccessible. The threshold property
should always be configured to fewer
milliseconds than the subscription timeout.

Max Scheduler Loop Time (ms) Enter the maximum time of a subscription
reading cycle.

Detect Online Timeout (ms) Enter the amount of time that can pass
before a probing data package becomes
forfeited. A probing data package is sent
to determine if an unresponsive connection
is temporary or permanent.

Detect Online Interval (ms) Enter the interval at which initial probing
data packages are sent.

Detect Online Retries Enter the number of initial probing data


packages that are sent before the
connection is considered offline.

Technical 04-30006-02-en, May 2019


394
14 EcoStruxure BMS Servers
Troubleshooting

Topics
Cannot Connect to the SmartX Server
Enterprise Server Service Disabled
Error – Upgrade Using DFU Mode
Lead-Shadow Reference EcoStruxure BMS Server
Communication Problems
Server Already Part of a Multi Server System
EcoStruxure BMS Server is Offline
Inconsistent Communication Parameters
Invalid Server Object References
Missing Response from an EcoStruxure BMS Server
IP Address from a Virtual Network Interface Card is Used for
Communication Settings in Enterprise Server or Enterprise
Central
14 EcoStruxure BMS Servers Troubleshooting
14.1 Cannot Connect to the SmartX Server

14.1 Cannot Connect to the SmartX Server


If you cannot connect to the SmartX server, check the message in the Device
status column.

14.1.1 Solution
Message Solution

Wrong logon The password is wrong or has been


changed.
Contact the administrator to get the new,
correct password.

Offline Make sure that the SmartX server is


connected using the network or USB.
Make sure that you use the correct
address.
If the SmartX server you want to connect to
uses the firewall make sure that the
computer you are using is on the whitelist
in the firewall. For more information, see
section 207.2 “Firewall” on page 7862.
• Connect your computer to the SmartX
server using USB and add your
computer to the whitelist. For more
information, see section 207.3
“Adding a SmartX Server to the
Whitelist” on page 7863.

USB down The USB is not working properly. Check


the status of the USB program. Restart
Device Administration and reconnect the
SmartX server using the USB cable.

Unable to get data Some services in the SmartX server are not
working properly. This might occur during
a start up. Wait for the SmartX servers
services to start. If that does not work,
restart the SmartX server.

Error - Upgrade using DFU mode The SmartX servers file system has been
corrupted due to a power failure. Upgrade
the SmartX server using DFU mode. For
more information, see section 14.3 “Error –
Upgrade Using DFU Mode” on page 399.

04-30006-02-en, May 2019 Technical


397
14 EcoStruxure BMS Servers Troubleshooting
14.2 Enterprise Server Service Disabled

14.2 Enterprise Server Service Disabled


The Enterprise Server fails to start and the Enterprise Server Windows service
status is disabled after upgrade.

14.2.1 Solution
Restart the computer.

Technical 04-30006-02-en, May 2019


398
14 EcoStruxure BMS Servers Troubleshooting
14.3 Error – Upgrade Using DFU Mode

14.3 Error – Upgrade Using DFU Mode


The system alarm "Error - Upgrade Using DFU Mode" is triggered when the
SmartX server file system has been corrupted due to a power failure. If you
receive this alarm you have to restore the SmartX server software and database
to the latest backup.
The alarm is not triggered after every power failure, only when files have been
corrupted due to the power failure.

14.3.1 Solution
Connect to the SmartX server in DFU mode. For more information, see section
7.8 “Connecting to a SmartX Server Using the USB Device Port” on page 249.
Restore the software on the SmartX server. For more information, see section 7.6
“Restoring the Software of a Damaged SmartX Server” on page 247.
Restore the SmartX server from the latest backup. For more information, see the
Restoring the EcoStruxure BMS Server topic on WebHelp.

04-30006-02-en, May 2019 Technical


399
14 EcoStruxure BMS Servers Troubleshooting
14.4 Lead-Shadow Reference EcoStruxure BMS Server Communication Problems

14.4 Lead-Shadow Reference EcoStruxure


BMS Server Communication Problems
Lead-shadow reference communication does not work between an EcoStruxure
BMS server and the Enterprise Server.

14.4.1 Solution
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Ensure that the communication address to the Enterprise Server is correct.
The address should be either an IP address or a fully qualified domain
name (host name plus domain name) such as es1.universityx.edu.
For more information, see section 8.2 “Updating Communication
Parameters” on page 295.
• If you have deployed both the Enterprise Server and an EcoStruxure BMS
server, and changed the server communication setting on the EcoStruxure
BMS server afterwards, you may have to reset the EcoStruxure BMS server
with a warm start.
For more information, see the Reset Functions topic on WebHelp.

Technical 04-30006-02-en, May 2019


400
14 EcoStruxure BMS Servers Troubleshooting
14.5 Server Already Part of a Multi Server System

14.5 Server Already Part of a Multi Server


System
It is not possible to add the SmartX server to an EcoStruxure BMS.

14.5.1 Solution
Ensure that the SmartX server has been detached from the EcoStruxure BMS it
previously belonged to.

04-30006-02-en, May 2019 Technical


401
14 EcoStruxure BMS Servers Troubleshooting
14.6 EcoStruxure BMS Server is Offline

14.6 EcoStruxure BMS Server is Offline


An EcoStruxure BMS server is offline from another EcotStruxure BMS server
point of view or from the entire EcoStruxure BMS.

14.6.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Restart the EcoStruxure BMS server.
For more information, see the Starting the Enterprise Central Windows
Service topic on WebHelp.
For more information, see the Starting the Enterprise Server Windows
Service topic on WebHelp.
For more information, see section 6.7 “Warm Starting a SmartX Server ” on
page 226.
• Make sure that the server is using the correct IP number.
For more information, see section 7.3 “Identifying the SmartX Server IP
Address” on page 244.
For more information, see section 6.8 “Enabling or Disabling DHCP” on
page 227.
• Replace faulty cables.
• Fix communication parameters (change address or port).
For more information, see section 8.2 “Updating Communication
Parameters” on page 295.
• Make sure the firewall does not block a port.

Technical 04-30006-02-en, May 2019


402
14 EcoStruxure BMS Servers Troubleshooting
14.7 Inconsistent Communication Parameters

14.7 Inconsistent Communication


Parameters
Offline EcoStruxure BMS server communication parameters for other
EcoStruxure BMS server become inconsistent.

14.7.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Update the EcoStruxure BMS server communication parameters.
For more information, see section 8.2 “Updating Communication
Parameters” on page 295.
• Repair the EcoStruxure BMS server communication.
For more information, see section 8.5 “Repairing EcoStruxure BMS Server
Communication ” on page 299.

04-30006-02-en, May 2019 Technical


403
14 EcoStruxure BMS Servers Troubleshooting
14.8 Invalid Server Object References

14.8 Invalid Server Object References


Offline EcoStruxure BMS server references are invalid.

14.8.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Repair the references.
For more information, see the [Reuse] Procedure topic topic on WebHelp.
• Add the subsystem.
For more information, see section 6.5 “Creating a SmartX Server ” on page
223.
For more information, see section 6.6 “Creating a SmartX Server from a
Backup Set” on page 224.
For more information, see section 9.5 “Adding an Existing Enterprise Server
to an Enterprise Central” on page 310.

Technical 04-30006-02-en, May 2019


404
14 EcoStruxure BMS Servers Troubleshooting
14.9 Missing Response from an EcoStruxure BMS Server

14.9 Missing Response from an EcoStruxure


BMS Server
An alarm is triggered when a request from one EcoStruxure BMS server to
another does not receive a response for more than 120 minutes.

14.9.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Acknowledge the alarm and wait for 15 minutes.
For more information, see the Acknowledging an Alarm topic on WebHelp.
• Warm start the server that does not respond.
For more information, see section 5.4 “Warm Starting an Enterprise Server”
on page 213.
For more information, see section 6.7 “Warm Starting a SmartX Server ” on
page 226.
• If the problem persists, contact Product Support Services

04-30006-02-en, May 2019 Technical


405
14 EcoStruxure BMS Servers Troubleshooting
14.10 IP Address from a Virtual Network Interface Card is Used for Communication Settings in Enterprise Server or Enterprise
Central

14.10 IP Address from a Virtual Network


Interface Card is Used for
Communication Settings in Enterprise
Server or Enterprise Central
If on your computer you have a virtual Network Interface Card (NIC), such as
VMWare, VirtualBox, Docker or another, then Windows might provide your
Enterprise Server or your Enterprise Central with this virtual NIC, which might
cause wrong communication settings when adding child servers.

14.10.1 Solution
• Configure the preferable NIC in the file. For more information, see section
8.8 “Configuring Network Interface Card for an Enterprise Server or for an
Enterprise Central” on page 302..
• Restart your Ecostruxure BMS server.
• Repair server communication. For more information, see section 8.5
“Repairing EcoStruxure BMS Server Communication ” on page 299.

Technical 04-30006-02-en, May 2019


406
15 External Log Storage

Topics
External Log Storage
External Log Storage Components Installation Overview
External Log Storage Components Configuration Overview
External Log Storage Components Installation and
Configuration Workflow
External Log Storage Configuration for Individual Servers in
a Running System Workflow
Installing PostgreSQL
Installing TimescaleDB
Tuning PostgreSQL Installation
Running a Script in PgAdmin
Configuring TimescaleDB
Commands on External Log Storage
Enabling an EcoStruxure BMS Server for an External Log
Storage
Enabling an Individual Log
Disabling an Individual Log
Clearing an Individual Log
Deleting an Individual Log
Canceling Pending Commands for External Log Storage
15 External Log Storage
15.1 External Log Storage

15.1 External Log Storage


The external log storage feature of the EcoStruxure BMS enables you to keep
your data limitelessly.
You use external log storage feature of the EcoStruxure BMS to decrease the
amount of extended trend logs retained on the EcoStruxure BMS servers, hence
it enables economizing and rationalizing the space on your servers.

NOTICE
The EcoStruxure server, even if it is connected to the external log storage, will
still write to the internal storage with the limitations described in Architectural
Guidelines. For more information, see the Architectural Guidelines 3.0.1 topic
on WebHelp.

The EcoStruxure BMS external log storage feature uses two the third party
components TimescaleDB and PostgreSQL.
If the external log storage feature is activated and configured, WorkStation and
WebStation will display the historical data in the event and trend views from the
external log storage.
The following EcoStruxure BMS trend logs send (and read) data to the external
log storage:
• interval trend logs
• change of value trens logs
• manual trend logs
• variable triggered trend logs
• extended trend logs
Other trend logs are not sent to the external log storage.

15.1.1 External Log Storage Components


Installation Overview
Both of the ExoStruxure BMS external log storage feature components
TimescaleDB and PostgreSQL are products of a third party developer, and are
installed using an installation packages available at the website this developer
TimescaleDB. Before you install TimescaleDB and PostgreSQL, you must
ensure that the computer on which you want to install it, meets the hardware and
software requirements for the database, and that you have installed or enabled
certain prerequisite items of software.
For more information, see section 15.2 “External Log Storage Components
Installation Overview” on page 411.

04-30006-02-en, May 2019 Technical


409
15 External Log Storage
15.1 External Log Storage

15.1.2 External Log Storage Components


Configuration Overview
If you install the Ecostruxure BMS external log storage components,
TimescaleDB and PostgreSQL, on a computer other than the localhost, you
make sure the components communicate with that computer.
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

15.1.3 External Log Storage Components


Installation and Configuration Workflow
Use this workflow to install and configure the EcoStruxure BMS external storage
log feature.
For more information, see section 15.4 “External Log Storage Components
Installation and Configuration Workflow” on page 413.

15.1.4 External Log Storage Configuration for


Individual Servers in a Running System
Workflow
Use this workflow to configure the external log storage feature for individual
servers in the EcoStruxure BMS. Configuration is done individually on each
server in ~\System\External Log Storage\TimescaleDB
For more information, see section 15.5 “External Log Storage Configuration for
Individual Servers in a Running System Workflow” on page 415.

15.1.5 Commands on the External Log Storage


You execute commands on your trend log stored in the external storage log to
administrate the stored logs. Enable
Enable, Disable
Disable, Clear and Delete are commands
that you execute on a log stored in the external log storage. When a command is
executed from another server than the one you are logged on, it is written to the
log's meta-data table as a pending command. Every hour every server reads its
own meta-data table, so it goes through all the pending commands. If the log
belongs to the server that executes the command, it will be performed right
away without waiting for the hourly process.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

Technical 04-30006-02-en, May 2019


410
15 External Log Storage
15.2 External Log Storage Components Installation Overview

15.2 External Log Storage Components


Installation Overview
Both of the ExoStruxure BMS external log storage feature components
TimescaleDB and PostgreSQL are products of a third party developer, and are
installed using an installation packages available at the website of those
developers. Before you install TimescaleDB and PostgreSQL, you must ensure
that the computer on which you want to install it, meets the hardware and
software requirements for the database, and that you have installed or enabled
certain prerequisite items of software.
The EcoStruxure BMS 3.0 supports PostgreSQL 11 and later, and TimescaleDB
1.2 and later. See links below for installation instructions.
https://docs.timescale.com/v1.2/getting-started/installation/windows/installation-
windows
https://www.postgresql.org/download/windows/
You need a fast SSD and >64 GB RAM on the database PC to handle both read
and write in systems containing more than 100 servers.

NOTICE
After installation of PostgreSQL and TimescaleDB, you need to execute a
script to setup the database correct. You can use PgAdmin, or similar, to run
the script. The script will be distributed together with the EcoStruxure BMS
software release. For more information, see section 15.8 “Tuning PostgreSQL
Installation ” on page 418.

For more information, see section 15.4 “External Log Storage Components
Installation and Configuration Workflow” on page 413.

04-30006-02-en, May 2019 Technical


411
15 External Log Storage
15.3 External Log Storage Components Configuration Overview

15.3 External Log Storage Components


Configuration Overview
If you install the Ecostruxure BMS external log storage components,
TimescaleDB and PostgreSQL, on a computer other than the localhost, you
make sure the components communicate with that computer.
On the postgresql.conf file (which can be located, for example, in C:\Program
Files\PostgreSQL\10\data), make sure the following parameters are set
according to the correct values:
listen_addresses = '*' (this allows access for other computers than localhost)
max_connections: Each EcoStruxure BMSserver needs 2 connections; one for
event and one for trend. If you have other connections e.g. for backup using
external tools, ensure the connections are increased.
On the pg_hba.conf file (which can be located, for example, in C:\Program
Files\PostgreSQL\10\data folder), add the following at the top (it should be the
first line, if not already the case) in order to allow access to all databases for all
users with an encrypted password:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5
For more information, see section 15.4 “External Log Storage Components
Installation and Configuration Workflow” on page 413.

Technical 04-30006-02-en, May 2019


412
15 External Log Storage
15.4 External Log Storage Components Installation and Configuration Workflow

15.4 External Log Storage Components


Installation and Configuration Workflow
Use this workflow to install and configure the EcoStruxure BMS external storage
log feature. Related information is found in the sections after the flowchart.

Check the Software and System Requirements for PostgreSQL and


for TimescaleDB
Check the software and hardware requirements for PostgreSQL at
https://www.enterprisedb.com and for TimescaleDB at
https://docs.timescale.com
For more information, see section 15.2 “External Log Storage Components
Installation Overview” on page 411.

Download and Install PostgreSQL


Download and install PostgreSQL version 11 or later from
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
For more information, see section 15.6 “Installing PostgreSQL” on page 416.

Download and Install TimescaleDB


Download and install TimescaleDB verion 11 or later from
https://docs.timescale.com/v1.2/getting-started/installation/windows/installation-
windows
For more information, see section 15.7 “Installing TimescaleDB” on page 417.

Configure PostgreSQL for TimescaleDB


You configure PostgreSQL to meet requirements of TimescaleDB and be
conforme with the EcoStruxure BMS constraints
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

Create an EcoStruxure BMS User Account at PostgreSQL


You create an EcoStruxure BMS user account at Postgre SQL to get access to
the external storage log.
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

Tune PostgreSQL Installation


You tune your PostgreSQL installation to optimize the use of the computer
hardware.
For more information, see section 15.8 “Tuning PostgreSQL Installation ” on
page 418.

Run Script in PgAdmin


You run a script in PgAdmin in order to setup the schema in the database in
PostgreSQL.
For more information, see section 15.9 “Running a Script in PgAdmin” on page
419.

04-30006-02-en, May 2019 Technical


413
15 External Log Storage
15.4 External Log Storage Components Installation and Configuration Workflow

Configure External Log Storage


In EcoStruxure BMS Workstation configure the database name, address and
credentials.
For more information, see section 15.10 “Configuring TimescaleDB” on page
420.

External Log Storage Configuration for Individual Servers in a


Running System
For more information, see section 15.5 “External Log Storage Configuration for
Individual Servers in a Running System Workflow” on page 415.

Technical 04-30006-02-en, May 2019


414
15 External Log Storage
15.5 External Log Storage Configuration for Individual Servers in a Running System Workflow

15.5 External Log Storage Configuration for


Individual Servers in a Running System
Workflow
Use this workflow to configure the external log storage feature for individual
servers in the EcoStruxure BMS. Configuration is done individually on each
server in ~\System\External Log Storage\TimescaleDB

Upgrade the EcoStruxure BMS System to the Version 3.0 or Later


For more information, see the System Upgrade Overview topic on WebHelp.For
more information see A system upgrade procedure topic

Enable the External Log Storage Feature for at Most 10 Automation


Servers at the Time
For more information, see section 15.12 “Enabling an EcoStruxure BMS Server
for an External Log Storage ” on page 422.

Enable the External Log Storage Feature for at Most 1 Enterprise


Server at the Time
For more information, see section 15.12 “Enabling an EcoStruxure BMS Server
for an External Log Storage ” on page 422.

Enable the External Log Storage Feature for at Most 1 Enterprise


Central at the Time
For more information, see section 15.12 “Enabling an EcoStruxure BMS Server
for an External Log Storage ” on page 422.

04-30006-02-en, May 2019 Technical


415
15 External Log Storage
15.6 Installing PostgreSQL

15.6 Installing PostgreSQL


You install PostgreSQL to enable the EcoStruxure BMS external log storage
feature. The EcoStruxure BMS 3.0 supports PostgreSQL 11 and later.
For more information, see section 15.2 “External Log Storage Components
Installation Overview” on page 411.

To install PostgreSQL
1. Click https://www.enterprisedb.com/downloads/postgres-postgresql-
downloads
2. Follow instructions provided by the third party developer.

Technical 04-30006-02-en, May 2019


416
15 External Log Storage
15.7 Installing TimescaleDB

15.7 Installing TimescaleDB


You install TimescaleDB to enable the EcoStruxure BMS external log storage
feature. The EcoStruxure BMS 3.0 supports TimescaleDB 11 and later
For more information, see section 15.2 “External Log Storage Components
Installation Overview” on page 411.

To install TimescaleDB
1. Click https://docs.timescale.com/v1.2/getting-
started/installation/windows/installation-windows
2. Follow instructions provided by the third party developer.

04-30006-02-en, May 2019 Technical


417
15 External Log Storage
15.8 Tuning PostgreSQL Installation

15.8 Tuning PostgreSQL Installation


You tune your PostgreSQL installation to optimize the use of the computer
hardware.
To enable the tuning PostgreSQL installations efficiently, you use tools available
from the third party developper, such as PG Tune or from PostgreSQL.
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

To tune PostgreSQL installation


1. Click https://pgtune.leopard.in.ua/#/
or
https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
2. Follow instructions provided by the third party developer.

NOTICE
When using PG Tune, select “Data Warehouses” as the DB-type for
EcoStruxure BMS.

Technical 04-30006-02-en, May 2019


418
15 External Log Storage
15.9 Running a Script in PgAdmin

15.9 Running a Script in PgAdmin


You run a script in PgAdmin in order to setup the schema in the database in
PostgreSQL.

NOTICE
After installing of PostgreSQL and TimescaleDB, you need to execute a script
to setup the database correct. You can use PgAdmin, or similar, to run the
script. The script will be distributed together with the EcoStruxure BMS-
release.

For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

To run a script in PgAdmin


1. Download PgAdmin from https://www.pgadmin.org
2. Log on to PgAdmin server.
3. Connect to your TimescaleDB.
4. Right click on your TimescaleDB.
5. Select Query Tool
Tool.
6. Download “pg_install_db-vX.X.X.sql” from Download Center and copy the
script text.
7. Paste the script text to the script window.
8. Press F5.

04-30006-02-en, May 2019 Technical


419
15 External Log Storage
15.10 Configuring TimescaleDB

15.10 Configuring TimescaleDB


In EcoStruxure BMS Workstation configure the database name, address and
credentials.
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

To configure TimescaleDB
1. In the System Tree
Tree, .
2. Expand External Log Storage
Storage.
3. Select Timescale DB
DB.
4. On the File menu, select Open
Open.
5. In the TimescaleDB properties view, in the Basic tab, configure the
external database.
Property Description

Database name Type the name of your database.

Host address Type the IP address or DNS name to


your TimescaleDB.

Port Type the port number to you


TimescaleDB.

User name Type your TimescaleDB user name.

Password Type your password.

Confirm password Type your password again.

SSL mode Select the SSL configuration. For more


information, see section 16.2 “SSL
Modes Menu” on page 433.

Event Configuration - Enabled Select True to enable the external log


storage for events.

Trend Configuration - Enabled Select True to enable the external log


storage for trends.

6. On the File menu, click Save


Save.

Technical 04-30006-02-en, May 2019


420
15 External Log Storage
15.11 Commands on External Log Storage

15.11 Commands on External Log Storage


You execute commands on your trend log stored in the external storage log to
administrate the stored logs. Enable
Enable, Disable
Disable, Clear and Delete are commands
that you execute on a log stored in the external log storage. If you are logged on
to the same server as the log then the command will be executed immediately,
otherwise it will be executed within an hour by the server that owns the log. The
pending command information can be viewed on the external log and can also
be cancelled by the command called Cancel pending commands
commands.
The status of commands listed above is reported in columns called Pending
enable
enable, Pending disable
disable, Pending clear and Pending delete
delete. For more
information, see section 15.17 “Canceling Pending Commands for External Log
Storage” on page 427.

Table: Columns in External Log Storage


Column Description

Name Displays the name of the log.

Log path Displays the path to the log.

External log id Displays the external log id.

Disabled If set to true, means the log will no longer


transfer data to the external storage.
When a log is disabled, it will reject reads

Cleared Is set to true, means the log has been


cleared and is empty, will only be true if
Disabled is also true.

Pending Disable Will disable the log, it will no longer transfer


any data to the external storage
Will set Disabled to true

Pending Enable Will enable a disabled log


Will set Disabled to false
Will set Cleared to false
Will sync and continue or start transferring
from the beginning if it's empty

Pending Clear Will clear a log and set Cleared to true


Will only be run if the log is Disabled

Pending Delete Currently the owning server will delete it if


the log has been deleted from the server
itself.

Last internal sequence Displays the id number of internal


sequences.

Last transferred sequence Displays the id number of the last


transferred sequence

04-30006-02-en, May 2019 Technical


421
15 External Log Storage
15.12 Enabling an EcoStruxure BMS Server for an External Log Storage

15.12 Enabling an EcoStruxure BMS Server


for an External Log Storage
You enable EcoStruxure BMS servers for external log storage feature.
For more information, see section 15.3 “External Log Storage Components
Configuration Overview” on page 412.

To enable an EcoStructure BMS server for an External Log


Storage
1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, which you want to enable for the external log storage.
2. Expand External Log Storage
Storage.
3. Select Timescale DB
DB.
4. On the File menu, select Open
Open.
5. In the TimescaleDB properties view, in the Basic tab, select True for “Event
storage available” and “Trend storage available”.
6. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


422
15 External Log Storage
15.13 Enabling an Individual Log

15.13 Enabling an Individual Log


You execute commands on your trend log stored in the external log storage to
administrate the stored logs.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

To enable an individual log


1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, where you want to enable the external database log.
2. Expand External Log Storage
Storage.
3. Expand TimescaleDB
TimescaleDB.
4. Expand Trend
Trend.
5. Expand Logs
Logs.
6. Expand Unfiltered
Unfiltered.
7. Expand the EcoStructure BMS server, where you want to enable the
external database log.
8. Select the log you want to enable.
9. On the Actions menu, select Enable log.

04-30006-02-en, May 2019 Technical


423
15 External Log Storage
15.14 Disabling an Individual Log

15.14 Disabling an Individual Log


You execute commands on your trend log stored in the external log storage to
administrate the stored logs.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

To disable an individual log


1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, where you want to disable the external database log.
2. Expand External Log Storage
Storage.
3. Expand TimescaleDB
TimescaleDB.
4. Expand Trend
Trend.
5. Expand Logs
Logs.
6. Expand Unfiltered
Unfiltered.
7. Expand the EcoStructure BMS server, where you want to disable the
external database log.
8. Select the log you want to disable.
9. On the Actions menu, select Disable log.

Technical 04-30006-02-en, May 2019


424
15 External Log Storage
15.15 Clearing an Individual Log

15.15 Clearing an Individual Log


You execute commands on your trend log stored in the external log storage to
administrate the stored logs.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

To clear an individual log


1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, where you want to clear the external database log.
2. Expand External Log Storage
Storage.
3. Expand TimescaleDB
TimescaleDB.
4. Expand Trend
Trend.
5. Expand Logs
Logs.
6. Expand Unfiltered
Unfiltered.
7. Expand the EcoStructure BMS server, where you want to clear the external
database log.
8. Select the log you want to clear.
9. On the Actions menu, select Clear log.

NOTICE
You can reverse the action by selecting Clear Pending Commands.

04-30006-02-en, May 2019 Technical


425
15 External Log Storage
15.16 Deleting an Individual Log

15.16 Deleting an Individual Log


You execute commands on your trend log stored in the external log storage to
administrate the stored logs.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

To delete an individual log


1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, where you want to delete the external database log.
2. Expand External Log Storage
Storage.
3. Expand TimescaleDB
TimescaleDB.
4. Expand Trend
Trend.
5. Expand Logs
Logs.
6. Expand Unfiltered
Unfiltered.
7. Expand the EcoStructure BMS server, where you want to delete the
external database log.
8. Select the log you want to delete.
9. On the Actions menu, select Delete log.

Technical 04-30006-02-en, May 2019


426
15 External Log Storage
15.17 Canceling Pending Commands for External Log Storage

15.17 Canceling Pending Commands for


External Log Storage
You execute commands on your trend log stored in the external log storage to
administrate the stored logs.
For more information, see section 15.11 “Commands on External Log Storage”
on page 421.

To cancel pending commands for external log storage


1. In WorkStation
WorkStation, in the System Tree pane, expand the EcoStruxure BMS
server, where you want to clear the external database log.
2. Expand External Log Storage
Storage.
3. Expand TimescaleDB
TimescaleDB.
4. Expand Trend
Trend.
5. Expand Logs
Logs.
6. Expand Unfiltered
Unfiltered.
7. Expand the EcoStructure BMS server, where you want to clear the external
database log.
8. Select the log you want to clear.
9. On the Actions menu, select Clear Pending Commands.

NOTICE
You cannot reverse this action.

04-30006-02-en, May 2019 Technical


427
16 External Log Storage User
Interface

Topics
TimescaleDB - Basic View
SSL Modes Menu
16 External Log Storage User Interface
16.1 TimescaleDB - Basic View

16.1 TimescaleDB - Basic View


Use the TimescaleDB basic view to configure the external log storage feature.

Figure: Timescale DB - basic view

Table: Timescale DB - Basic View


Property Description

Database name Type the name of your database.

Host address Type the IP address or DNS name to your


TimescaleDB.

Port Type the port number to you TimescaleDB.

User name Type your TimescaleDB user name.

Password Type your password.

Confirm password Type your password again.

SSL mode Select the SSL configuration. For more


information, see section 16.2 “SSL Modes
Menu” on page 433.

04-30006-02-en, May 2019 Technical


431
16 External Log Storage User Interface
16.1 TimescaleDB - Basic View

Continued
Property Description

Event Configuration - Enabled Select True to enable the external log


storage for events.

Trend Configuration - Enabled Select True to enable the external log


storage for trends.

Technical 04-30006-02-en, May 2019


432
16 External Log Storage User Interface
16.2 SSL Modes Menu

16.2 SSL Modes Menu


Use the SSL Modes Menu menu to determines whether or with what priority a
secure SSL TCP/IP connection will be negotiated with the server.

Figure: SSL modes menu

Table: SSL Modes Menu


Command Description

Require Try only a non-SSL connection.

Prefer First try an SSL connection; if that fails, try


a non-SSL connection.

Allow First try a non-SSL connection; if that fails,


try an SSL connection.

Disable Try only an SSL connection.

04-30006-02-en, May 2019 Technical


433
17 Bindings

Topics
Bindings Overview
Methods of Binding
Binding Values Manually
Binding Rules
Direction of Bindings
Value Transfer Settings
Value Transfer
Configuring the Value Transfer Interval
Mass Editing Value Transfer Settings
Mass Edit Value Transfer Settings Workflow
Locked and Unlocked Binding Paths
Locking or Unlocking a Path
Bindings Management
Checking the Status of Bindings
LonWorks Bindings
Server Values
Creating an EcoStruxure BMS Server Value
Creating an EcoStruxure BMS Server Analog Value
Configuring the Value and the Unit for an EcoStruxure BMS
Server Analog Value
17 Creating an EcoStruxure BMS Server Digital Value
Initial Bindings in Function Blocks
Creating an Initial Binding in a Function Block
17 Bindings
17.1 Bindings Overview

17.1 Bindings Overview


A binding is a connection between two or more variables for data exchange. In
its simplest form, a binding consists of a source and a destination. The source
supplies the value to the destination.

Figure: A binding with a source and destination

In the EcoStruxure Building Operation software, you typically bind source values
to destination properties in objects such as programs, alarms, trend logs, and
graphics. These objects frequently need to use values that exist elsewhere in
the system.
For example, you create a program that evaluates temperatures and controls a
heating system. You create the temperature properties in the program, open the
Binding view, browse for the source temperature sensors in the system, and
drag their temperature output values to their corresponding temperature input
properties in the program. The values of the temperature properties in the
program will then mirror those of the live sensor values.

Figure: Binding example

With many programming editors, you define, declare, and bind remote values
directly in your program. In the EcoStruxure Building Operation software, you
create the destination properties in the program, but you create the bindings
externally, separate from the program.

04-30006-02-en, May 2019 Technical


437
17 Bindings
17.1 Bindings Overview

This separation of program and bindings is due to the object-oriented approach


in the EcoStruxure Building Operation software. Objects, such as programs, can
be reused, mass created, and mass changed. The separation between objects
and bindings also enables the use of binding templates, which enables you to
automate as many repetitive binding tasks as possible.

17.1.1 Methods of Binding


You can bind values manually or automatically.
For more information, see section 17.2 “ Methods of Binding” on page 440.

17.1.2 Binding Rules


The value that you bind can be one of five property types: real, multistate,
digital, alphabetic, or a date.
For more information, see section 17.4 “Binding Rules ” on page 443.

17.1.3 Direction of Bindings


All bindings have a sense of direction. In its simplest form, a binding consists of
a source and a destination. The source supplies the value to the destination.
For more information, see section 17.5 “Direction of Bindings” on page 444.

17.1.4 Value Transfer Interval


When you connect one point to another point, the values are transferred at the
default rate of 10 seconds. However, you can change this setting if you want the
values to be transferred faster or with longer intervals to reduce the workload in
the system.
For more information, see section 17.6 “Value Transfer Settings ” on page 446.

17.1.5 Binding Path Format


A binding can have one of two path formats:
• Locked
• Unlocked
For more information, see section 17.11 “Locked and Unlocked Binding Paths”
on page 459.

Technical 04-30006-02-en, May 2019


438
17 Bindings
17.1 Bindings Overview

17.1.6 Bindings Management


You manage bindings so that information is not lost and the system works
efficiently. You can check the bindings in your database using Bindings
Diagnostics.
For more information, see section 17.13 “Bindings Management” on page 464.

17.1.7 LonWorks Bindings


LonWorks bindings differ from other EcoStruxure Building Operation bindings
because you can set LonWorks specific properties, such as LonWorks binding
profiles.
For more information, see section 131.1 “LonWorks Bindings ” on page 5037.

17.1.8 Server Values


Server values are values created on a SmartX server. Server values are used to
control network traffic or to provide value configurations that are not available in
a program. Server values work as an interface or connector between a SmartX
server and another:
• A program on one SmartX server and a value on another SmartX server, for
example, a function block program on one SmartX server and a value on
another SmartX server.
• A field device value and a SmartX server, for example, an value from a
sensor and an alarm on a SmartX server.
For more information, see section 17.16 “Server Values” on page 468.

17.1.9 Initial Bindings in Function Blocks


You use initial bindings to save time when you know what the BI, RI, and II input
blocks will be bound to.
For more information, see section 17.21 “Initial Bindings in Function Blocks” on
page 474.

04-30006-02-en, May 2019 Technical


439
17 Bindings
17.2 Methods of Binding

17.2 Methods of Binding


You can bind values manually or automatically.

17.2.1 Manual
You can bind a value by dragging it to a property's Bindings box in the Binding
list. You use manual binding for a binding task unless you have prepared a
binding template for that particular task.

Figure: Drag-and-drop

You can type a path to a value in the property's Binding box to create a binding.
When you start typing, available paths are displayed. This autocomplete feature
does not check if the binding is valid.

Technical 04-30006-02-en, May 2019


440
17 Bindings
17.2 Methods of Binding

Figure: Path writing

When you drag a value to the Binding point list or write a path, you are
specifying the other end of the binding, which is either a source or a destination.
You can bind both ways in the Binding point list.
Binding paths can be unlocked or locked. For more information, see section
17.11 “Locked and Unlocked Binding Paths” on page 459.

17.2.2 Binding Templates


You can bind values automatically by using binding templates, that is,
predefined templates.
For more information, see section 18.1 “Binding Templates” on page 479.

04-30006-02-en, May 2019 Technical


441
17 Bindings
17.3 Binding Values Manually

17.3 Binding Values Manually


You bind values to exchange data between objects.
For more information, see section 17.1 “Bindings Overview” on page 437.

To bind values manually


1. In WorkStation, in the System Tree pane, select the object to which you
want to bind values.
2. On the Actions menu, click Edit bindings
bindings.
3. In Bindings View, in the binding Browser
Browser, drag a value to a property in the
binding list to create a binding.

You can also drag objects from the System Tree pane, or values from the
Search pane, or you can type the binding path in the Binding box.

4. On the toolbar, click the Save button .

Technical 04-30006-02-en, May 2019


442
17 Bindings
17.4 Binding Rules

17.4 Binding Rules


The value that you bind can be one of five property types: real, multistate,
digital, alphabetic, or a date.
The destination property that you create for the binding must be compatible with
the source value. The destination property and the source value must be of the
same type and descend from the same engineering unit class.
For example, you cannot bind a real (numeric) value to an alphabetic value
because they are not of the same value type. You cannot bind a temperature
engineering unit to a time engineering unit because they are not of the same
engineering unit class. You can, however, bind values of the same engineering
unit class, such as centimeters to meters, or Celsius to Fahrenheit. Conversion
of values within the same engineering unit class is handled by the EcoStruxure
Building Operation software.
Other binding rules concern program properties. In general, trying to bind an
input to an input, or an output to an output, is never practical and therefore not
possible. The EcoStruxure Building Operation software neither proposes or
allows it. There are also program specific binding rules, also rather evident to
those concerned. A good way to look at it, is that if you are trying to bind
something, and the EcoStruxure Building Operation software does not allow it,
you are doing something wrong.

04-30006-02-en, May 2019 Technical


443
17 Bindings
17.5 Direction of Bindings

17.5 Direction of Bindings


All bindings have a sense of direction. In its simplest form, a binding consists of
a source and a destination. The source supplies the value to the destination.

One-to-One
A one-to-one binding is a binding between two variables of compatible types.

Figure: Bindning direction

For example, an I/O point is bound to a script program.

One-to-Many (Group or Fan-out in LonWorks)


A one to many binding is a binding between one source and many destinations.

Figure: One-to-many binding

For example, a zone controller sends out a setpoint for many HVAC controllers.

The Direction of Bindings in the Binding View


In EcoStruxure Building Operation software, in the Binding view, you can bind in
any direction.

Technical 04-30006-02-en, May 2019


444
17 Bindings
17.5 Direction of Bindings

Figure: Two-way binding

You can select an object in the System Tree pane, open the Binding tab, and
then bind applicable properties. Some become destination properties and some
become source values to destination properties in other objects. If you drag an
output to an input property in the object, EcoStruxure Building Operation
software determines that the property in the Binding point list is the destination.
If you drag an input to an output property in the Binding point list, EcoStruxure
Building Operation software determines that the output property is the source
and that the remote value is the destination.
If two properties can bind both ways, the EcoStruxure Building Operation
software prompts you to decide the direction of the binding.

04-30006-02-en, May 2019 Technical


445
17 Bindings
17.6 Value Transfer Settings

17.6 Value Transfer Settings


When you connect one point to another point, you can make a number of
settings on the receiving object (consumer) to control the value transfer rate.
For more information, see section 17.7 “Value Transfer” on page 450.
You can make the following settings:
• Requested transfer rate
• Value transfer preferences
• Guaranteed transfer even if value has not changed

17.6.1 Requested Transfer Rate


The requested value transfer rate is how often you would like the transfers to
take place. You can choose between predefined intervals or manually define the
interval.

NOTICE
The requested transfer rate can be regarded as an aim point for the rate at
which the transfer is to take place. The requested transfer rate is not an
absolute value for the frequency at which the transfer actually takes place. The
general rule for all cases is to transfer as fast as possible while observing the
transfer rate limitations in field bus communication. When reading values from
a field bus, the transfer rate can be regarded as the minimum requested poll
rate. When writing values to a field bus, the transfer rate can be regarded as a
limitation for the maximum update rate. For more information, see section 17.7
“Value Transfer” on page 450.

If you enter a manual interval identical to one of the pre-defined intervals, the
dialog box displays the pre-defined interval the next time you open the dialog
box. For example, if you use the manual interval and set it to 1 minute, the pre-
defined interval 1 minute is displayed the next time you open the dialog box.

NOTICE
• The actual transfer rate can differ from the requested transfer rate
depending on, for example:
– Whether or not the value is transferred to more than one recipient.
– Whether or not the transfer takes place within an EcoStruxure BMS
server or between EcoStruxure BMS servers or one SmartX server and
another SmartX server.
– The speed of the field bus.
– The general load on the system.

Technical 04-30006-02-en, May 2019


446
17 Bindings
17.6 Value Transfer Settings

Figure: The requested transfer rate (1) is the rate at which the value is transferred if
possible.

17.6.2 Delta Value Transfer


Delta lets you define the transfer rate based on a delta value. The Delta value is
checked at every interval but only values that are equal to or larger than the
Delta value (2) are transferred.

NOTICE
If you set the Delta to zero, the program reacts on zero and any relative
change above or below zero. For example, if the Delta is set to 1, the value is
transferred when it changes by 1 or above or by -1 or below relative to the
previous recorded value.

You can also set the value transfer rate to transfer the value at each requested
interval even if the value has not changed. In this case, the value is transferred
at every interval. Selecting this option makes the Delta setting unavailable since
it has no use if the transfer is accomplished based on the rate

04-30006-02-en, May 2019 Technical


447
17 Bindings
17.6 Value Transfer Settings

Figure: The Delta is checked each time but only values that exceed the Delta (2) are
transferred.

17.6.3 Guaranteed Transfer


Guaranteed transfer even if value has not changed (3) lets you make sure that
the value is transferred at the specified time interval, even if the value has not
changed. You can disable this feature.

Figure: The guaranteed transfer interval (3) makes sure that you get at least one transfer
per interval.

17.6.4 Combined Methods


You can combine the value transfer settings. For example, you want a value to
be transferred when it exceeds the Delta 0.5. However, even if the change of the
value does not exceed the Delta, you still want the value to be transferred once
every hour. Therefore, you set the guaranteed transfer interval to one hour.

Technical 04-30006-02-en, May 2019


448
17 Bindings
17.6 Value Transfer Settings

Value changes are checked at a minimum of every interval. Depending on the


circumstances, they could be checked more often.

Figure: You can combine methods, for example, to make sure that the value is transferred
at a minimum rate.

NOTICE
When mass editing value transfer settings, the selected values can have
different value transfer settings. In that case, no option is selected. If you do
not select any option, the current value transfer settings of the values are
retained.

04-30006-02-en, May 2019 Technical


449
17 Bindings
17.7 Value Transfer

17.7 Value Transfer


When you connect one point to another point, the rate at which values are
transferred from the sending object of the value (producer) to the receiving
object of the value (consumer) depends on the cause of the transfer and the
devices that are involved.
In some cases the Value transfer settings determine the value transfer rate, in
some they do not. There are three types of references that impact the value
transfer rate:
• Application
• Central
• Field bus

17.7.1 Application Value Transfer


In application value transfer, the value transfer rate is determined by the
application. The value transfer rate depends on the elements of the application.
• Watch Window – a 500 millisecond value transfer rate, which is not
adjustable. To remove the value subscription, you have to remove the
object from the Watch Window.
• Graphics – By default, a 500 millisecond value transfer rate. To remove the
value subscription, you have to close the graphic.
• Trends – interval trend log. If the interval is greater than one minute, the
minimum value transfer rate (never) is used until just before the time the
interval trend log needs data, and then the transfer rate is increased to
maximum. If the value transfer rate of the interval is a minute or less, then
the desired value transfer rate is set to one half of the interval. The value
subscription cannot be removed as long as the trend log exists.
• Alarms –The desired value transfer rate is set to 100 milliseconds for polled
alarms, including all alarms on field bus points. The subscription cannot be
removed as long as the alarm exists.
• Programs – Script or Function Block Programs read all of their bound inputs
at a value transfer rate corresponding to the task set for the program. The
object reading from the program’s local output reads at a value transfer rate
that is consistent with the transfer type. If another object property is reading
from the output, the Value transfer settings are involved. The value
subscription cannot be removed as long as the connection between the
object property and the program exists.

NOTICE
Delays can happen when several applications try to execute at the same time.

Technical 04-30006-02-en, May 2019


450
17 Bindings
17.7 Value Transfer

17.7.2 Central Value Transfer


The central value transfer is controlled by the value transfer rate specified by the
user unless the value transfer is entirely within one server and no server-to-
server communication is involved. In this case, the value transfer is immediate.
For more information, see section 17.6 “Value Transfer Settings ” on page 446.
Examples:
• A value object within AS1 reads from a value object within AS2. In this case,
the value object read is controlled by the Value transfer settings. By default,
the poll rate is set to 10 seconds. You can change the value transfer
interval. If you set a Delta value no value transfer occurs even after the
polling interval has passed unless the change since the previous reading
exceeds the Delta value setting. If you set a Guaranteed value transfer rate,
the value transfer is forced after the elapsed time regardless of whether the
value has changed.
• A value object within AS1 reads from a value object also within AS1. In this
case, the value object read is not controlled by the Requested transfer rate
setting. The reason is that there is no cost for immediate value transfer since
there is no server-to-server or field bus communication. However, the Delta
and the Guaranteed transfer settings are still in force.

17.7.3 Field Bus Value Transfer


When the value transfer involves a field bus, the communication plug-in, the field
bus protocol and the direction in which the value transfer takes place control
when the value is transferred.
Examples:
• An EcoStruxure Building Operation object connected to an I/NET object.
– If the I/NET object is reading from the EcoStruxure Building Operation
object, the transfer mechanism considers the cost to communicate
down the field bus and it regards the delta and intervals in the Variable
transfer settings.
– If the EcoStruxure Building Operation object is reading from the I/NET
object, the Variable transfer settings are delivered to the I/NET plug-in,
but the requested value transfer rate is not regarded because the I/NET
plug-in only supports certain update rates. The I/NET plug-in uses the
point scan rate defined for the point's associated DCU.
• A BACnet object connected to an EcoStruxure Building Operation object.
– If the BACnet object is reading from the EcoStruxure Building
Operation object, the transfer mechanism considers that there is a cost
to communicate down the field bus and it uses the delta and intervals
that are entered in the Variable transfer settings. The EcoStruxure
Building Operation BACnet plug-in issues a write property to the other
BACnet device based upon the delta that is entered into the Variable
transfer settings. If the setting is “0”, a write property occurs upon any
change. If the setting is not “0” but, for example, “1”, then a write
property occurs when the value has changed by more than 1. The write
property does not occur again after the “pre-defined interval” in the
Variable transfer settings. The “pre-defined interval” only has meaning
in a polled scenario, not in a BACnet write property scenario. However,
the write property occurs again after the guaranteed transfer interval

04-30006-02-en, May 2019 Technical


451
17 Bindings
17.7 Value Transfer

provided that it is set. Consequently, it is important to use that


parameter to protect against loss of setting if the external BACnet
device resets and restores default values. If the guaranteed transfer
interval is not used and the BACnet device that is the recipient of the
write property restores default values upon reset, the EcoStruxure BMS
does not resend the value after the device reset. It may not even be
aware that it has reset.
– If the EcoStruxure Building Operation object is reading from the
BACnet object, the Variable transfer settings are delivered to the
BACnet plug-in. The plug-in determines if the device producing the
value supports COV for the object property requested.
– If it does, it requests a subscription between EcoStruxure BMS and
that device. The device transfers values based on its own services
and the COV increment for the requested object. It does not use
the delta in the Variable transfer settings. The communication plug-
in knows the most efficient way to get values from the field bus and
it uses that method to satisfy the read request from the consuming
object. In the case of BACnet, COV is most efficient; so it transfers
the values at the COV increment of the object that is being read.
The values are then delivered to the Variable Transfer Manager,
which decides if the values are to be read by the consuming object
based on the Delta set in the Value transfer settings. This can
cause unexpected behavior depending on the relative sizes of the
referenced object COV increment and the Delta set in the Value
transfer settings. If the COV increment in the object is, for example,
0.4 and the Delta in the Value transfer settings is 0.5, the actual
read takes place in 0.8 because the first 0.4 increment does not
satisfy the Value transfer setting so it waits for the next change
actually to read the new value.
– If the object being referenced does not support COV, the BACnet
plug-in issues a read property request at the rate specified in the
shorter of the requested value transfer rate or guaranteed value
transfer rate.
• A Script or Function Block Program using a BACnet object as an input.
– The program’s task rate drives the reading frequency, regardless of the
Value transfer settings.
• A Modbus object connected to an EcoStruxure Building Operation object.
– If the Modbus register is reading from the EcoStruxure Building
Operation object, the transfer mechanism considers the cost to
communicate down the field bus and it regards the delta and intervals
in the Variable transfer settings
– If the EcoStruxure Building Operation object is reading from the
Modbus register, the Variable transfer settings are delivered to the
Modbus plug-in. Since Modbus is a polled communication bus, the
requested transfer, delta, and guaranteed transfer rates are regarded.
As soon as a subscription is established between a Modbus register
and an EcoStruxure Building Operation object, that subscription
cancels the Modbus device polling regardless of whether the
subscription rate is longer than the device polling rate.

Technical 04-30006-02-en, May 2019


452
17 Bindings
17.7 Value Transfer

– Since Modbus is a polling protocol, it is possible that so many requests


can be made that none of them can be satisfied in the time requested.
In this case, the value transfer occurs as fast as possible
• A LON device connected to an EcoStruxure Building Operation object.
– If the EcoStruxure Building Operation object requires a value from the
LON device, it is recommended to mirror the LON value to the Local
Node, and then bind the EcoStruxure Building Operation object to the
copy on the Local Node. In this way, LON send-on-delta updates the
Local Node copy, and then application data transfer dictates how the
EcoStruxure Building Operation object receives updates from the Local
Node’s copy of the value. For graphics bindings that only generate
traffic when the associated graphic is open, it is acceptable to either
bind to a Local Node copy of the value when available, or otherwise to
bind directly to the value on the LON device. Binding the graphic
directly to the value on the LON device generates polling requests only
when the graphic page is open.
– If the LON device requires a value from the EcoStruxure Building
Operation object, this value can be sent in one of two ways:
– The EcoStruxure Building Operation object’s value can be bound
to an object on the Local Node, and then a LON binding from the
Local Node to the LON device will allow a conventional LON
binding (with heartbeat). The requested transfer rate is not
significant between the EcoStruxure Building Operation object and
the Local Node object, but both the delta and the guaranteed
transfer rate are very significant. If either results in an update to the
Local Node object, the LON plug-in will generate an update
message and send it to the LON device. The guaranteed transfer
rate can force this message to be generated even if there is no
change in the value—whenever the Local Node object is updated,
a message is sent. The Local Node object can also be configured
with a "send rate", which can also cause the value to be routinely
pushed to the LON device.
– The EcoStruxure Building Operation object’s value can also be
bound directly to the input on a LON device, and this does make
use of the retransmit interval, delta, and guaranteed transfer rate. It
is not a true LON binding, however, so controllers like the MNL with
a configurable heartbeat requirement may not accept the writes as
valid heartbeats and may revert the objects to default values
between writes.

17.7.4 Cautions
The value is transferred as fast as possible considering the value transfer rate
limitations in field bus and network communication. The value transfer rate also
depends on the direction. If an EcoStruxure Building Operation object is reading
from a BACnet object, the value transfer rate can differ from the scenario when
the BACnet object is reading from the EcoStruxure Building Operation object,
even if the Variable transfer settings are identical.
If your implementation requires that a certain delta be imposed before doing
something else, a Guaranteed value transfer rate setting can cause unexpected
behavior. The Guaranteed transfer even if value has not changed setting, means
that the value is transferred even if it has not changed in relation to the previous
value by an amount greater than the delta.

04-30006-02-en, May 2019 Technical


453
17 Bindings
17.7 Value Transfer

When attempting to confirm the actual value transfer rate, it is important to be


certain that all of the value transfers are known because one value transfer can
easily affect another. When the producer is told to update two entities on the
same server at different rates, it updates both at the faster of those two rates.

Technical 04-30006-02-en, May 2019


454
17 Bindings
17.8 Configuring the Value Transfer Interval

17.8 Configuring the Value Transfer Interval


You adapt the value transfer interval between objects in the database to better
suit the transfer workload in the system.
For more information, see section 17.6 “Value Transfer Settings ” on page 446.

To configure the value transfer interval


1. In WorkStation, in the System Tree pane, select the object.
2. On the Actions menu, click Edit bindings
bindings.

3. In the Bindings view, click the Edit button .


4. In the Value transfer settings dialog box, select the value transfer interval.
5. Click OK
OK.
6. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


455
17 Bindings
17.9 Mass Editing Value Transfer Settings

17.9 Mass Editing Value Transfer Settings


You mass edit value transfer intervals to change the transfer interval of several
values in one operation when you want to optimize system performance.

NOTICE
When mass editing value transfer settings, the selected values can have
different value transfer settings. In that case, no option is selected. If you do
not select any option, the current value transfer settings of the values are
retained.

For more information, see section 17.6 “Value Transfer Settings ” on page 446.

To mass edit value transfer settings


1. In WorkStation, select the container for the values whose transfer settings
you want to edit.
2. In the Search View
View, type a common name or part of a name of the values
you want to search for.
3. Select the Search for properties box.
4. In the Property name box, enter the name of the property whose transfer
settings you want to change.

NOTICE
If you include a type in the search critiera, intellisense helps you with a list
of property names.

5. In the search result list, select the values whose transfer settings you want
to edit.
6. Right-click and then click Value transfer settings
settings.
7. Select Pre-defined interval to use one of the pre-defined intervals for how
often the value transfer takes place.
8. Select Manual interval to define your own interval for how often the value
transfer takes place.
9. Select Transfer value each time, even if the value has not changed to
request that the value transfer takes place at the configured interval even if
the value has not changed since the last transfer.
10. Select Transfer only if value change is equal to or larger than the
configured delta value to request that the value transfer takes place
according to the delta value transfer rules.
11. In the Delta value box, select the value change the program reacts on.
12. Select Transfer interval to configure the guaranteed interval at which the
value is transferred.
13. Select Turn off this feature to configure that there is no guranteed interval
at which the value is transferred.

Technical 04-30006-02-en, May 2019


456
17 Bindings
17.9 Mass Editing Value Transfer Settings

The value transfer rate is immediately changed in the database.

04-30006-02-en, May 2019 Technical


457
17 Bindings
17.10 Mass Edit Value Transfer Settings Workflow

17.10 Mass Edit Value Transfer Settings


Workflow
When you connect one point to another point, you can make a number of
settings on the receiving object (consumer) to control the value transfer rate.

Figure: Mass editing value transfer settings flowchart

Display Value Transfer Settings in a Search Result


Search for the values whose transfer value settings you want to edit and display
the value transfer settings in the search result.
For more information, see the Displaying Value Transfer Settings in a Search
Result topic on WebHelp.

Mass Edit Value Transfer Settings


Mass edit the transfer settings on the values you want to change in the same
way.
For more information, see section 17.9 “Mass Editing Value Transfer Settings” on
page 456.

Technical 04-30006-02-en, May 2019


458
17 Bindings
17.11 Locked and Unlocked Binding Paths

17.11 Locked and Unlocked Binding Paths


A binding can have one of two path formats:
• Locked
• Unlocked
You need to consider the binding path format when you copy and paste or
export and import objects that have bindings. Typically, bindings are included
when you copy objects that have bindings.
When you import or paste a locked path, it keeps its original path and mirrors the
original source value. When you import or paste an unlocked path, it generates a
new path and binds the object to a new source value relative to its new location.
You decide what external binding paths to include in an export: locked, locked
and unlocked, or none. For more information, see section 21.2 “Export” on page
587.

NOTICE
The lock feature is disabled for LonWorks bindings, because a locked
LonWorks binding may result in scenarios where a binding contains several
hubs pointing to one target, or different binding profiles are mixed.

17.11.1 Locked
There are two types of locked binding paths:
• System absolute
• Server absolute

System Absolute
System absolute binding paths to objects on another server are always locked
and cannot be unlocked. The path is displayed as, for example,
/Server2/System/Folder/Value.

04-30006-02-en, May 2019 Technical


459
17 Bindings
17.11 Locked and Unlocked Binding Paths

Figure: Locked system absolute binding paths

Server Absolute
Server absolute binding paths to objects in the System folder are always locked
and cannot be unlocked. The path is displayed as, for example,
~/System/Folder/Value.

Technical 04-30006-02-en, May 2019


460
17 Bindings
17.11 Locked and Unlocked Binding Paths

Figure: Locked server absolute binding paths

17.11.2 Unlocked
Unlocked binding paths are always relative. All binding paths that are not server
absolute or system absolute are relative and, by default, unlocked. The path
starts with elipses (..),is displayed as, for example, ../Folder/Value.

04-30006-02-en, May 2019 Technical


461
17 Bindings
17.11 Locked and Unlocked Binding Paths

Figure: Unlocked relative binding paths

You can manually lock a relative binding path that you want to keep when you
copy and paste or export and import. When you lock a relative binding path it
becomes server absolute. In contrast to server absolute binding paths that point
to objects in the System folder, you can unlock the manually locked binding
paths.

Technical 04-30006-02-en, May 2019


462
17 Bindings
17.12 Locking or Unlocking a Path

17.12 Locking or Unlocking a Path


You lock a path to make it server absolute, that is, it will always refer to the same
EcoStruxure BMS server.
For more information, see section 17.11 “Locked and Unlocked Binding Paths”
on page 459.

To lock or unlock a path


1. In the Actions menu, click Edit bindings
bindings.
2. Right-click in the value path field.
3. Select or clear Lock path
path.

04-30006-02-en, May 2019 Technical


463
17 Bindings
17.13 Bindings Management

17.13 Bindings Management


You manage bindings so that information is not lost and the system works
efficiently. You can check the bindings in your database using Bindings
Diagnostics.
Faulty bindings can have two types of status:
• Invalid: The binding points to something that cannot be bound together,
such as an out of range alarm that is monitored by a digital value.
• Unresolved: The binding points to an object that is not in the database,
such as an object that you deleted.
If you delete an object and keep the bindings to the deleted object, you get an
unresolved binding. If you later replace the object in the same location and with
the same name, the binding is resolved. For more information, see section 19.13
“Bindings Status Icons” on page 564.
You can resolve invalid or unresolved bindings by editing the binding. For more
information, see section 17.3 “Binding Values Manually” on page 442.

Technical 04-30006-02-en, May 2019


464
17 Bindings
17.14 Checking the Status of Bindings

17.14 Checking the Status of Bindings


You check the status of bindings to identify any unresolved or invalid bindings.
For more information, see section 17.13 “Bindings Management” on page 464.

To check the status of bindings


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server you want to configure.
2. Click the Control Panel tab.
3. Click Bindings Diagnostics
Diagnostics.
4. In Binding Diagnostics
Diagnostics, in the Status column, view the status of the
bindings.

04-30006-02-en, May 2019 Technical


465
17 Bindings
17.15 LonWorks Bindings

17.15 LonWorks Bindings


A LonWorks binding is a connection between two or more network variables or
configuration properties for data exchange. In its simplest form, one variable is
bound to another in a Point-to-point binding. You can also bind one variable to
several (Fan-out), or several to one (Fan-in).
LonWorks bindings differ from other EcoStruxure Building Operation bindings
because you can set LonWorks specific properties, such as LonWorks binding
profiles.

Figure: Point-to-point binding

A binding consists of one hub and one or more targets. The hub is a unique
node that connects to one or more targets.

NOTICE
• To create a LonWorks binding, you need to bind on the variable level. If you
bind two members of network variables, an EcoStruxure Building Operation
binding is created rather than a LonWorks binding. For more information,
see section 130.9 “Network Variables and Configuration Parameters” on
page 5020.

NOTICE
The lock feature is disabled for LonWorks bindings, because a locked
LonWorks binding may result in scenarios where a binding contains several
hubs pointing to one target, or different binding profiles are mixed.

17.15.1 LonWorks Bindings in WorkStation


Use the Bindings View in WorkStation to create your LonWorks bindings. You
can drag and drop NVs to create bindings.
For more information, see section 131.2 “LonWorks Bindings in WorkStation” on
page 5039.

Technical 04-30006-02-en, May 2019


466
17 Bindings
17.15 LonWorks Bindings

17.15.2 Bindable objects in LonWorks


LonWorks network variables and configuration parameters can be bound to
each other in LonWorks bindings. They can also be bound to most EcoStruxure
Building Operation points, such as programs, graphics, alarms, and trend logs,
but then EcoStruxure Building Operation bindings are used, not LonWorks
bindings.
For more information, see section 131.5 “Bindable Objects in LonWorks” on
page 5045.

17.15.3 LonWorks Binding Profiles


When you create a binding in LonWorks, its behavior is determined by a binding
profile.
For more information, see section 131.3 “LonWorks Binding Profiles ” on page
5040.

17.15.4 LonWorks Binding Types


The EcoStruxure Building Operation software supports different types of
LonWorks bindings, such as point-to-point, turnaround, fan-in, and fan-out.
For more information, see section 131.4 “LonWorks Binding Types” on page
5042.

17.15.5 LonWorks Selectors and Bindings


LonWorks uses selectors to create bindings between network variables. A
selector is a unique index that is assigned to a network variable and points to the
target device, where the bound network variable is assigned the same selector
index.
For more information, see section 131.6 “LonWorks Selectors and Bindings” on
page 5046.

04-30006-02-en, May 2019 Technical


467
17 Bindings
17.16 Server Values

17.16 Server Values


Server values are values created on a SmartX server. Server values are used to
control network traffic or to provide value configurations that are not available in
a program. Server values work as an interface or connector between a SmartX
server and another:
• A program on one SmartX server and a value on another SmartX server, for
example, a function block program on one SmartX server and a value on
another SmartX server.
• A field device value and a SmartX server, for example, an value from a
sensor and an alarm on a SmartX server.
Server values can provide value configurations that are not available in a
program, such as forcing a value in a function block program. In the server
value, you can set how often the value should be forced.

17.16.1 Minimizing the Transfer Interval Intensity


Server values help to control network traffic. By default, a subscription to a value
from one SmartX server to another or from a field device value to a SmartX
server occurs at the intensity defined by the consumer object. For example, a
program with a cycle time of 1000 ms subscribes every 1000 ms. To control the
intensity, you set a different transfer value interval in the binding properties of the
server value.
You can take a number of steps to minimize the transfer interval intensity and
thereby the network traffic:
• Avoid using alarms and change of value trend logs to monitor values
outside of the SmartX server where the alarm or trend log resides.
• Set the transfer interval for a SmartX server to SmartX server value to the
longest possible time. If possible, avoid intervals of 10 seconds or less.
• Create a server value object so that you can change the transfer interval
manually for a consuming object like a program.
If short update intervals are required, you need to monitor the CPU and memory
usage of the SmartX server where the value resides. If the CPU and memory
usage are high, limit the number of receivers of the value transfer. If you need to
transfer the value to many receivers, consider a cascading structure where the
SmartX server transfers the value to a few receivers and the few receivers, in
turn, transfer the value to a few receivers.

17.16.2 Server Value Workflow


Using a server value is a four-part process:
• Create a server value object on the SmartX server where the program
resides. For more information, see section 17.17 “Creating an EcoStruxure
BMS Server Value” on page 470.
• Bind the server value object to read the value from the other SmartX server.
For more information, see section 17.3 “Binding Values Manually” on page
442.

Technical 04-30006-02-en, May 2019


468
17 Bindings
17.16 Server Values

• Configure the transfer interval. For more information, see section 17.8
“Configuring the Value Transfer Interval” on page 455.
• Bind the server value object to the program input. For more information, see
section 17.3 “Binding Values Manually” on page 442.

04-30006-02-en, May 2019 Technical


469
17 Bindings
17.17 Creating an EcoStruxure BMS Server Value

17.17 Creating an EcoStruxure BMS Server


Value
You create an EcoStruxure BMS server value when you want a value that is not
part of a device. For more information, see section 17.16 “Server Values” on
page 468.

To create an EcoStruxure BMS server value


1. In WorkStation, on the File menu, point to New
New, and then click Value
Value.
2. In the object type list, select value you want to create.
3. In the Name box, type a name for the value.
4. In the Description box, type a description for the value.
5. Click Create
Create.

Technical 04-30006-02-en, May 2019


470
17 Bindings
17.18 Creating an EcoStruxure BMS Server Analog Value

17.18 Creating an EcoStruxure BMS Server


Analog Value
You create analog values in the EcoStruxure BMS server for the following
reasons:
• A variable needs to be bound to multiple programs.
• A calibrated analog input variable needs to be forced.
For more information, see section 17.1 “Bindings Overview” on page 437.

To create an EcoStruxure BMS server analog value


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to add an analog value.
2. On the File menu, point to New and then click Value
Value.
3. In the Create Object wizard, in the object type list, select Analog Value
Value.
4. In the Name box, type a name for the analog value.
5. In the Description box, type a description for the analog value.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


471
17 Bindings
17.19 Configuring the Value and the Unit for an EcoStruxure BMS Server Analog Value

17.19 Configuring the Value and the Unit for


an EcoStruxure BMS Server Analog
Value
You configure the value and the unit for an EcoStruxure BMS server analog
value to ensure that the analog value holds the value and the unit as required by
the project.
For more information, see section 17.1 “Bindings Overview” on page 437.

To configure the value and the unit for an EcoStruxure BMS


server analog value
1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server analog value you want to configure.
2. On the File menu, click Properties
Properties.
3. In the properties pane, under Status Information
Information, click the Configure

button .
4. In the Select Unit dialog box, select the Configured box that is in front of
the Unit box.
5. In the Unit box, enter the unit.
6. Click OK
OK.
7. In the properties pane, in the Value box, enter the value.
8. Click OK
OK.

Technical 04-30006-02-en, May 2019


472
17 Bindings
17.20 Creating an EcoStruxure BMS Server Digital Value

17.20 Creating an EcoStruxure BMS Server


Digital Value
You create digital values in the EcoStruxure BMS server for the following
reasons:
• A variable needs to be bound to multiple programs.
• A digital schedule or an alarm needs to send information to a program.
For more information, see section 17.1 “Bindings Overview” on page 437.

To create an EcoStruxure BMS server digital value


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to add a digital value.
2. On the File menu, point to New and then click Value
Value.
3. In the Create Object wizard, in the object type list, select Digital Value
Value.
4. In the Name box, type a name for the digital value.
5. In the Description box, type a description for the digital value.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


473
17 Bindings
17.21 Initial Bindings in Function Blocks

17.21 Initial Bindings in Function Blocks


You use initial bindings to save time when you know what the BI, RI, and II input
blocks will be bound to.
You can enter the initial binding when you develop the Function Block program.
When the program is saved, the binding is automatically created.
This is useful:
• when you create a custom type that will have multiple instances
• when you create an application you intend to copy multiple times
An initial binding can be added to the function block by browsing or typing an
address. The object you refer to does not need to be present in the system.
You can change the binding at any time using the Binding View in WorkStation.
The binding made in WorkStation overrides the initial binding. The initial binding
cannot be changed and is always visible in the Function Block Editor.

NOTICE
Once added and saved, the initial binding cannot be changed.

For example, in a function block program, you have a function block with an
initial binding to value A. You change this binding in the Bindings view to value B
to meet a new requirement at the site. Later, you then copy or duplicate the
function block program and the copy or duplicate is not bound to value B. The
copy or duplicate is bound to value A, which is the initial binding.

Technical 04-30006-02-en, May 2019


474
17 Bindings
17.22 Creating an Initial Binding in a Function Block

17.22 Creating an Initial Binding in a Function


Block
You create an initial binding so that you can copy and duplicate a function block
program without losing the binding.
For more information, see section 17.21 “Initial Bindings in Function Blocks” on
page 474.

To create an initial binding in a function block


1. In WorkStation, in the System Tree pane, select the Function Block
program.
2. On the Actions menu, click Edit
Edit.
3. In the Function Block Editor, right-click the block and click Edit
Edit.
4. In the Edit block dialog box, select Public.
5. Select R/W
R/W.
6. In the Initial binding field, enter the address to the object.
7. Click OK
OK.
8. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


475
18 Binding Templates

Topics
Binding Templates
Binding Template Types
Type Binding Templates
Type Binding Template Examples
Fan Coil - Bind to Zone Controller
Fan Coil - Bind to Occupancy Sensor
Fan Coil - Bind to Temperature Sensor
Path Matching Binding Templates and Syntax
Path Matching
Path Syntax
Path Matching Binding Template Examples
Path Matching Binding Template Example 1
Path Matching Binding Template Example 2
Path Matching Binding Template Example 3
Path Matching Binding Template Example 4
Path Matching Binding Template Example 5
Binding Values Using a Binding Template
Binding Values in Script Editor Using a Binding Template
Creating a Type Binding Template from Instance
Creating a Type Binding Template
18 Creating a Path Matching Binding Template
18 Binding Templates
18.1 Binding Templates

18.1 Binding Templates


You can bind values automatically by using binding templates, that is,
predefined templates.

Figure: Binding a value by using a binding template

18.1.1 Purpose of Binding Templates


The purpose of binding templates is to automate repetetive tasks. Biding
templates are typically used for objects and binding patterns that are frequently
reused. To use a binding template for a binding task, you need to have a
binding template prepared for that particular task.

18.1.2 Binding Template Location


Binding templates are listed in the Binding Templates folder of the EcoStruxure
BMS server you are logged on to. The Binding Templates folder is a system
folder under each EcoStruxure BMS server.
When you are logged on to an Enterprise Server, only binding templates located
on the Enterprise Server are accessible. When you are logged on to an
Enterprise Central, only binding templates located on the Enterprise Central are
accessible.
The binding templates located on the Enterprise Server can be used to bind
objects on the SmartX servers that are connected to the Enterprise Server.

04-30006-02-en, May 2019 Technical


479
18 Binding Templates
18.1 Binding Templates

When you are logged on to a SmartX server, only binding templates located on
the SmartX server are accessible.

18.1.3 How to Use Binding Templates


Binding values between objects using a template works similarly to binding
manually. Instead of dragging individual values to properties in the Binding list,
you drag objects to one of the templates in the Binding templates list. The
binding template automatically pairs up all relevant matches and suggests a list
of bindings for you to confirm.
For example, in the System Tree pane, you select the object to which you want
to bind values, such as a control program. In the binding browser, you browse to
the source object, such as a central heater. You drag the heater object to the
template that you want to apply, presumably a predefined binding template that
you saved the last time you carried out the same task. If you confirm the
proposed bindings, all destination property fields in the control program are
populated with the binding paths that you confirmed.

18.1.4 Binding Template Types


The EcoStruxure Building Operation software comes with a general purpose,
ready-to-use, binding template that is called the Name matching template. The
Name matching binding template is accessible in the Binding template list in the
Bindings view. The Name matching binding template binds values between
objects that have identical property names.
The EcoStruxure Building Operation software also provides the means for you to
define your own binding templates.
For more information, see section 18.2 “Binding Template Types” on page 481.

Technical 04-30006-02-en, May 2019


480
18 Binding Templates
18.2 Binding Template Types

18.2 Binding Template Types


The EcoStruxure Building Operation software comes with a general purpose,
ready-to-use, binding template that is called the Name matching template. The
Name matching binding template is accessible in the Binding template list in the
Bindings view. The Name matching binding template binds values between
objects that have identical property names.
The EcoStruxure Building Operation software also provides the means for you to
define your own binding templates.
There are two binding templates typs that you can define:
• Type Binding Templates
• Path Matching Binding Templates

18.2.1 Type Binding Templates


You define and create a Type binding template to automate a binding task
between two LonWorks devices. When you define a Type binding template, you
associate specific properties in a LonWorks device with specific properties in
another LonWorks device.
For more information, see section 18.3 “Type Binding Templates” on page 483.

18.2.2 Type Binding Template Examples


You define and create a Type binding template to automate a binding task
between two LonWorks devices. When you define a Type binding template, you
associate specific properties in a LonWorks device with specific properties in
another LonWorks device.
For more information, see section 18.4 “Type Binding Template Examples” on
page 484.

18.2.3 Path Matching Binding Templates and


Syntax
You define and create a Path matching template, to automate a binding task for
an object type, which binds values from one or several objects based on path
matching rules.
For more information, see section 18.8 “Path Matching Binding Templates and
Syntax” on page 500.

18.2.4 Path Matching Binding Template Examples


This is an example system with five path matching binding templates. If new
rooms with LonWorks devices (Xenta controllers) are added to the system, or
new air handling units are added to the system, the binding templates are used
to autogenerate the bindings that are involved in the system expansion.

04-30006-02-en, May 2019 Technical


481
18 Binding Templates
18.2 Binding Template Types

For more information, see section 18.11 “Path Matching Binding Template
Examples” on page 504.

Technical 04-30006-02-en, May 2019


482
18 Binding Templates
18.3 Type Binding Templates

18.3 Type Binding Templates


You define and create a Type binding template to automate a binding task
between two LonWorks devices. When you define a Type binding template, you
associate specific properties in a LonWorks device with specific properties in
another LonWorks device.
Where as the predefined Name matching binding template binds values that
have identical property names, you can define Type binding templates to
associate any properties between two LonWorks devices, as long as the
destination and source values are compatible.

Figure: Type binding template workflow

You can also create a Type binding template from instance, making the existing
bindings between two LonWorks devices reusable.

04-30006-02-en, May 2019 Technical


483
18 Binding Templates
18.4 Type Binding Template Examples

18.4 Type Binding Template Examples


This is an example system with three binding templates, in this case Type
binding templates. If a new room with LonWorks devices (Fan Coil and
Temperature Sensor) is added to the system, the binding templates are used to
autogenerate the bindings that are involved in the system expansion.
The example system is depicted in the illustration below:

Figure: Example system

The example system has four LonWorks devices. There is a main Zone
Controller and a main Occupancy Sensor. There is also a Fan Coil and a
Temperatur Sensor in a room (1). The devices communicate through the
LonWorks bus.
The example system is set up in the EcoStruxure Building Operation software as
depicted in the screenshot/illustration below:

Technical 04-30006-02-en, May 2019


484
18 Binding Templates
18.4 Type Binding Template Examples

Figure: Example System Tree pane

The screenshot/illustration above shows how the example System Tree pane
relates to the example system model. The screenshot/illustration below shows
how the example System Tree pane is expanded with another room (2):

04-30006-02-en, May 2019 Technical


485
18 Binding Templates
18.4 Type Binding Template Examples

Figure: Example System Tree expansion

The example system has three type binding templates that you can use to
autogenerate bindings if you add more rooms.

Figure: Example binding list

All binding templates are based on the Fan Coil because when you add a new
room, the new Fan Coil in that room is either the destination or the source for all
the new bindings that can be created.

Technical 04-30006-02-en, May 2019


486
18 Binding Templates
18.4 Type Binding Template Examples

18.4.1 Fan Coil – Bind to Zone Controller


In this example a new room (2) is added. You use the template described in this
example to autogenerate one of the two bindings between the new room 2 Fan
Coil and the main Zone Controller. The other binding must be created manually.
For more information, see section 18.5 “Fan Coil - Bind to Zone Controller” on
page 488.

18.4.2 Fan Coil – Bind to Occupancy Sensor


In this example a new room (2) has been added and the bindings between the
new Fan Coil and the Zone Controller have already been created. You use the
template described in this example to autogenerate the binding between the
new room 2 Fan Coil and the main Occupancy Sensor.
For more information, see section 18.6 “Fan Coil - Bind to Occupancy Sensor”
on page 492.

18.4.3 Fan Coil – Bind to Temperature Sensor


In this example a new room (2) has been added and the bindings between the
new Fan Coil, the Zone Controller, and the Occupancy Sensor have already
been created. You use the template described in this example to autogenerate
the bindings between the new room 2 Fan Coil and the new room 2 Temperature
Sensor.
For more information, see section 18.7 “Fan Coil - Bind to Temperature Sensor ”
on page 496.

04-30006-02-en, May 2019 Technical


487
18 Binding Templates
18.5 Fan Coil - Bind to Zone Controller

18.5 Fan Coil - Bind to Zone Controller


In this example a new room (2) is added. You use the template described in this
example to autogenerate one of the two bindings between the new room 2 Fan
Coil and the main Zone Controller. The other binding must be created manually.
The example system on which this binding template example is based on, is
described in an introductory section. For more information, see section 18.4
“Type Binding Template Examples” on page 484.
The illustration below shows the expansion of the example system:

Figure: System expansion

The new room 2 Fan Coil can have the same bindings to the Zone Controller as
the room 1 Fan Coil.
The properties and values that can be bound between the Fan Coil and the
Zone Controller are shown in the screenshot/illustration below:

Technical 04-30006-02-en, May 2019


488
18 Binding Templates
18.5 Fan Coil - Bind to Zone Controller

Figure: The values that can be bound

The new Fan Coil nvoTerminalLoad property that can be bound to the Zone
Controller nviTerminalLoad2 SNVT value, must be bound manually because
each new Fan Coil will bind to a new unique (the next available) SNVT in the list.
Fan Coil 3 will bind to nviTerminalLoad3, Fan Coil 4 will bind to
nviTerminalLoad4, and so on. This binding cannot be defined in the template.
However, the other binding can be defined in a template because it binds the
same Zone Controller value to the same property in every new room Fan Coil
that is added. To define a type binding template that takes care of this binding,
you create one based on the Fan Coil LonWorks device type (120FC), and
associate it with the Zone Controller LonWorks device type (ZoneController),
and associate the values that can be bound:

04-30006-02-en, May 2019 Technical


489
18 Binding Templates
18.5 Fan Coil - Bind to Zone Controller

Figure: Associating type properties

The screenshot below shows how you apply this template. You select the new
Fan Coil in the System Tree pan, open the Binding view, and drag the Zone
Controller to the binding template:

Figure: Dragging the Zone Controller to the binding template

The template will match the property of the Fan Coil with the value in the Zone
Controller and display a binding confirmation dialog box:

Technical 04-30006-02-en, May 2019


490
18 Binding Templates
18.5 Fan Coil - Bind to Zone Controller

Figure: Found matches

When you confirm the binding suggested in the dialog box, it will appear in the
Binding point list of the Fan Coil. Now you must also create the other binding
manually that was mentioned earlier:

Figure: Dragging the Zone Controller value manually to the Fan Coil property

At this point you can choose to save the bindings and the task will be complete.

04-30006-02-en, May 2019 Technical


491
18 Binding Templates
18.6 Fan Coil - Bind to Occupancy Sensor

18.6 Fan Coil - Bind to Occupancy Sensor


In this example a new room (2) has been added and the bindings between the
new Fan Coil and the Zone Controller have already been created. You use the
template described in this example to autogenerate the binding between the
new room 2 Fan Coil and the main Occupancy Sensor.
The example system on which this binding template example is based on, is
described in an introductionary section. For more information, see section 18.4
“Type Binding Template Examples” on page 484.
The illustration below shows the expansion of the example system:

Figure: System expansion

The new room 2 Fan Coil can have the same bindings to the Occupancy Sensor
as the room 1 Fan Coil.
The properties and values that can be bound between the Fan Coil and the
Occupancy Sensor are shown in the screenshot/illustration below:

Technical 04-30006-02-en, May 2019


492
18 Binding Templates
18.6 Fan Coil - Bind to Occupancy Sensor

Figure: The values that can be bound

To define a type binding template that takes care of this binding, you create one
based on the Fan Coil LonWorks device type (120FC), and associate it with the
Occupancy Sensor LonWorks device type (occupSensor), and associate the
values that can be bound:

04-30006-02-en, May 2019 Technical


493
18 Binding Templates
18.6 Fan Coil - Bind to Occupancy Sensor

Figure: Associating type properties

The screenshot below shows how you apply this template. You select the new
Fan Coil in the System Tree pane, open the Binding view, and drag the
Occupancy Sensor to the binding template:

Figure: Dragging the Occupancy Sensor to the binding template

The template will match the property of the Fan Coil with the value in the
Occupancy Sensor and display a binding confirmation dialog box:

Technical 04-30006-02-en, May 2019


494
18 Binding Templates
18.6 Fan Coil - Bind to Occupancy Sensor

Figure: Found matches

When you confirm the binding suggested in the dialog box, it will appear in the
Bindning list of the Fan Coil. At this point you can choose to save the bindings
and the task will be complete.

04-30006-02-en, May 2019 Technical


495
18 Binding Templates
18.7 Fan Coil - Bind to Temperature Sensor

18.7 Fan Coil - Bind to Temperature Sensor


In this example a new room (2) has been added and the bindings between the
new Fan Coil, the Zone Controller, and the Occupancy Sensor have already
been created. You use the template described in this example to autogenerate
the bindings between the new room 2 Fan Coil and the new room 2 Temperature
Sensor.
The example system on which this binding template example is based on, is
described in an introductionary section. For more information, see section 18.4
“Type Binding Template Examples” on page 484.
The illustration below shows the expansion of the example system:

Figure: System expansion

The new room 2 Fan Coil can have the same bindings to the new room 2
Temperature Sensor as the room 1 Fan Coil has to its room 1 Temperature
Sensor.
The properties and values that can be bound between the Fan Coil and the
Temperature Sensor are shown in the screenshot/illustration below:

Technical 04-30006-02-en, May 2019


496
18 Binding Templates
18.7 Fan Coil - Bind to Temperature Sensor

Figure: The values that can be bound

To define a Type binding template that takes care of these bindings, you create
one based on the Fan Coil LonWorks device type (120FC), and associate it with
the Temperature Sensor LonWorks device type (STR350), and associate the
values that can be bound:

04-30006-02-en, May 2019 Technical


497
18 Binding Templates
18.7 Fan Coil - Bind to Temperature Sensor

Figure: Associating type properties

The screenshot below shows how you apply this template. You select the new
Fan Coil in the System Tree pane, open the Binding view, and drag the
Temperature Sensor to the binding template:

Technical 04-30006-02-en, May 2019


498
18 Binding Templates
18.7 Fan Coil - Bind to Temperature Sensor

Figure: Dragging the Temperature Sensor to the binding template

The template will match the properties of the Fan Coil with the values in the
Temperature Sensor and display a binding confirmation dialog box:

Figure: Found matches

When you confirm the bindings suggested in the dialog box, they will appear in
the Binding point list of the Fan Coil. At this point you can choose to save the
bindings and the task will be complete.

04-30006-02-en, May 2019 Technical


499
18 Binding Templates
18.8 Path Matching Binding Templates and Syntax

18.8 Path Matching Binding Templates and


Syntax
You define and create a Path matching template, to automate a binding task for
an object type, which binds values from one or several objects based on path
matching rules.
You can define Path matching binding templates for just about any type and for
general use, whereas Type binding templates are defined to associate specific
properties between LonWorks devices.

18.8.1 Path Matching


A Path matching binding template examines and binds values according to a list
of path matching rules. The list can have one or more path matching rules.
For more information, see section 18.9 “Path Matching” on page 501.

18.8.2 Path Syntax


Normally a path is comprised of text elements and path separators:
/ServerName/ObjectName/PropertyName
In the path matching list, you can also use identifier elements and wildcards.
Identifiers and wildcards however, cannot be directly adjacent, but must be
separated by text elements or path separators:
/{ServerName}/*/Temp*
For more information, see section 18.10 “Path Syntax” on page 502.

Technical 04-30006-02-en, May 2019


500
18 Binding Templates
18.9 Path Matching

18.9 Path Matching


A Path matching binding template examines and binds values according to a list
of path matching rules. The list can have one or more path matching rules.

Figure: List of path matching rules

When you create a Path matching binding template, you base it on an object
type, for example a Function block program. You probably create the template
for a specific Function block program, setting up rules for binding values to
other specific objects, but not necessarily. You can also define a template for a
more general use.
When you use the template, the Selected object is, for example, a Function
block program that you have selected in the System Tree pane. The Candidate
object is any object or folder that you drag to this template and that has values
that can bind to the Selected object.
Each rule specifies a property or the path to a property in the Selected object.
Each rule also specifies a value or the path of a value in the Binding candidate.
If a value is found in the Binding candidate, as specified, it is bound to the
property that is specified for the Selected object.
The template examines each rule until the end of the list. If the Candidate object
is actually an entire folder with many objects, all values of each object are tried
one after the other. Theoretically, you can drag the entire system to the template
but it will take a long time to process.
One rule can bind many values. However, the order in which rules are stated
can affect which values are bound. A property in the Selected object that has
been bound once is not bound again.

04-30006-02-en, May 2019 Technical


501
18 Binding Templates
18.10 Path Syntax

18.10 Path Syntax


Normally a path is comprised of text elements and path separators:
/ServerName/ObjectName/PropertyName
In the path matching list, you can also use identifier elements and wildcards.
Identifiers and wildcards however, cannot be directly adjacent, but must be
separated by text elements or path separators:
/{ServerName}/*/Temp*

Table: Syntax Description


Syntax in Paths Description

PlainText Text element


You use plain text to specify values,
properties, objects, folders, devices, and
servers in the paths.

{MyID} Identifier element


You use identifiers, enclosed in curly
brackets, to state where elements must be
equal in both the paths of a rule.

/ Path separator
You use path separators to further specify
a path. The more you specify a path, the
more conditions you impose on possible
candidates, and the more you narrow
down the search.

* Wildcard
You use wildcards to substitute any
character or any sequence of characters.
However, a wildcard does not substitute
path separators.

Sometimes, the path is only the property name:


PropertyName
In this case, the template looks for a property called PropertyName in the
Selected/Candidate object.
Sometimes the path is only the property name and the name of its value:
PropertyName.Value
Somtimes there is a path separator involved that further specifies the
property/value:
ObjectName/PropertyName
In this case, the template looks for a property called PropertyName that has a
parent object called ObjectName.

Technical 04-30006-02-en, May 2019


502
18 Binding Templates
18.10 Path Syntax

If you impose many conditions, that is specifying a long path, you will be
narrowing down the search. You can also widen the search with wildcards, but
then again impose conditions on both paths in the rule by using identifiers.
Identifiers state which elements must be identical in the two paths of a rule.

04-30006-02-en, May 2019 Technical


503
18 Binding Templates
18.11 Path Matching Binding Template Examples

18.11 Path Matching Binding Template


Examples
This is an example system with five path matching binding templates. If new
rooms with LonWorks devices (Xenta controllers) are added to the system, or
new air handling units are added to the system, the binding templates are used
to autogenerate the bindings that are involved in the system expansion.
The example system has one air handling unit. The SmartX server has one
application folder with required logic and I/O to control and monitor these air
handling units. The application folder also holds a Graphic (UI) that an operator
can use to supervise and manage the air controller unit.

Figure: Example system

The example system also has three Lonwork devices (Xenta controllers), in three
rooms, on one floor. The SmartX server has one Graphic (UI) for each room, and
one Graphic (UI) for the entire floor so that an operator can supervise the rooms.
The SmartX server is connected to the Xenta controllers through a LonWorks
bus.

Technical 04-30006-02-en, May 2019


504
18 Binding Templates
18.11 Path Matching Binding Template Examples

Figure: Example System Tree pane

The example system has five path matching binding templates that you can use
to autogenerate bindings when you expand the system.

Figure: Example Binding list

04-30006-02-en, May 2019 Technical


505
18 Binding Templates
18.11 Path Matching Binding Template Examples

18.11.1 Path Matching Binding Template Example 1


In this example, a new room with a LonWorks device (Xenta controller) has been
added. When you add a Xenta controller, a new room Graphic (UI) is added as
well so that the operator can supervise the room.
For more information, see section 18.12 “Path Matching Binding Template
Example 1” on page 508.

18.11.2 Path Matching Binding Template Example 2


In this example, a floor Graphic (UI) has been created. The floor Graphic (UI)
collects information from the LonWorks devices (Xenta controllers) in all rooms
and serves as an overview for the operator that supervises the rooms on that
floor.
For more information, see section 18.13 “Path Matching Binding Template
Example 2” on page 513.

18.11.3 Path Matching Binding Template Example 3


In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.
For more information, see section 18.14 “Path Matching Binding Template
Example 3” on page 519.

18.11.4 Path Matching Binding Template Example 4


In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.
For more information, see section 18.15 “Path Matching Binding Template
Example 4” on page 524.

18.11.5 Path Matching Binding Template Example 5


In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.

Technical 04-30006-02-en, May 2019


506
18 Binding Templates
18.11 Path Matching Binding Template Examples

For more information, see section 18.16 “Path Matching Binding Template
Example 5” on page 531.

04-30006-02-en, May 2019 Technical


507
18 Binding Templates
18.12 Path Matching Binding Template Example 1

18.12 Path Matching Binding Template


Example 1
In this example, a new room with a LonWorks device (Xenta controller) has been
added. When you add a Xenta controller, a new room Graphic (UI) is added as
well so that the operator can supervise the room.

Figure: System expansion

The example system on which this binding template example is based on, is
described in an introductionary section. For more information, see section 18.11
“Path Matching Binding Template Examples” on page 504.
You use the template described in this example to autogenerate all the bindings
between the room Graphic (UI) and the Xenta controller.
The room Graphic (UI) will have the same bindings to the Xenta controller as the
other room Graphics (UI) have to their Xenta controllers. When you define a path
matching binding template and reuse bindings, the naming of folders, objects,
and properties must be consistent.
When you create the room Graphic (UI), the properties that can bind to values in
the Xenta device must incorporate the name of the SNVT, the member, and the
value that they bind to.

Technical 04-30006-02-en, May 2019


508
18 Binding Templates
18.12 Path Matching Binding Template Example 1

For example, naming a property in the room Graphic (UI)


nciSetpoints.Occupied cooling setpoint.Value makes it possible to
define a path matching rule that will bind it to the "Value" of the "Occupied
cooling setpoint" member, of the "nciSetpoints" SNVT in a Xenta device.
Properties and values are bound between the room Graphic (UI) and the Xenta
controller:

Figure: The values that can be bound.

To define a path matching binding template that binds these properties and
values, you create a template based on the Graphic type and define the path
matching rules:

04-30006-02-en, May 2019 Technical


509
18 Binding Templates
18.12 Path Matching Binding Template Example 1

Figure: Path matching rules

There are two rules in this template. Each rule has a property specified for the
Selected object, in this case the room Graphic (UI). The Binding candidate, for
example, the room Xenta controller or the entire LonWorks bus, also has a
value/path specified. When you drag the Xenta controller to this template, the
template searches for any value in that collection that corresponds to the
Binding candidate value/path that is specified in this rule. If a match is found,
the property of the room Graphic (UI) is bound with the matching value in the
Xenta controller. Each rule is examined in sequence. For more information, see
section 18.8 “Path Matching Binding Templates and Syntax” on page 500.
In WorkStation, you can drag the Xenta controller, the entire LonWorks bus, or
the entire system to the template. The bigger the collection you drag to the
template, the longer it takes for the template to search for matching values.

Technical 04-30006-02-en, May 2019


510
18 Binding Templates
18.12 Path Matching Binding Template Example 1

Figure: Dragging the Xenta controller to the Graphic binding template

The template matches the properties of the Graphic (UI) with the values in the
Xenta controller and displays a binding confirmation dialog box:

Figure: Found matches

When you click OK, the bindings are displayed in the Binding list of the Graphic
(UI).

04-30006-02-en, May 2019 Technical


511
18 Binding Templates
18.12 Path Matching Binding Template Example 1

Figure: Graphic (UI) Binding list

Instead of searching and manually binding 11 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes
some effort to define a template but it is well worth the effort for configurations
that you frequently reuse.

Technical 04-30006-02-en, May 2019


512
18 Binding Templates
18.13 Path Matching Binding Template Example 2

18.13 Path Matching Binding Template


Example 2
In this example, a floor Graphic (UI) has been created. The floor Graphic (UI)
collects information from the LonWorks devices (Xenta controllers) in all rooms
and serves as an overview for the operator that supervises the rooms on that
floor.

Figure: System expansion

The example system on which this binding template example is based on, is
described in an introductionary section. For more information, see section 18.11
“Path Matching Binding Template Examples” on page 504.
You use the template described in this example to autogenerate all the bindings
between the floor Graphic (UI) and the Xenta controllers on that floor.

04-30006-02-en, May 2019 Technical


513
18 Binding Templates
18.13 Path Matching Binding Template Example 2

The floor 1 Graphic (UI) binds to all Xenta controllers on floor 1. The floor
Graphic (UI) can also be reused if more floors with identical room configurations
are added. The binding template in this example autogenerates the bindings
between the floor Graphic (UI) and the Xenta controllers and can also be reused
if more floors with identical room configurations are added. When you define a
path matching binding template and reuse bindings, the naming of folders,
objects, and properties must be consistent.
When you create the floor Graphic (UI), the properties that bind to values in the
Xenta devices must incorporate the name of the device, the SNVT, the member,
and the value that they can bind to.
For example, naming a property in the floor Graphic (UI)
Room0101.nvoOccSensor.Value makes it possible to define a path
matching rule that binds it to the "Value" of the "nvoOccSensor" SNVT in the
"Room0101" Xenta device.
Properties and values are bound between the floor Graphic (UI) and the Xenta
controllers:

Technical 04-30006-02-en, May 2019


514
18 Binding Templates
18.13 Path Matching Binding Template Example 2

Figure: The values that can be bound

To define a Path matching binding template that binds these properties and
values, you create a template based on the Graphic type and define the Path
matching rule:

04-30006-02-en, May 2019 Technical


515
18 Binding Templates
18.13 Path Matching Binding Template Example 2

Figure: Path matching rule

There is one rule in this template. The rule has a property specified for the
Selected object, in this case the floor Graphic (UI). The Binding candidate, for
example the Floor01 folder on the LonWorks bus or the entire LonWorks bus,
also has a value/path specified. When you drag the Floor01 folder to this
template, the template searches for any value in that collection that corresponds
to the Binding candidate value/path that is specified in this rule. If a match is
found, the property of the floor Graphic (UI) is bound with the matching value in
the Xenta controller. For more information, see section 18.8 “Path Matching
Binding Templates and Syntax” on page 500.
In WorkStation, you can drag the Floor01 folder, the entire LonWorks bus, or the
entire system to the template. The bigger the collection you drag to the template,
the longer it takes for the template to search for matching values.

Technical 04-30006-02-en, May 2019


516
18 Binding Templates
18.13 Path Matching Binding Template Example 2

Figure: Dragging the Floor01 folder to the Bind to Multiple Xentas binding template

The template matches the properties of the floor Graphic (UI) with the values in
the Xenta controllers and displays a binding confirmation dialog box:

Figure: Found matches

When you click OK, bindings are displayed in the Binding list of the floor
Graphic (UI).

04-30006-02-en, May 2019 Technical


517
18 Binding Templates
18.13 Path Matching Binding Template Example 2

Figure: Floor Graphic (UI) Binding list

Instead of searching and manually binding 12 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes
some effort to define a template but it is well worth the effort for configurations
that you frequently reuse.

Technical 04-30006-02-en, May 2019


518
18 Binding Templates
18.14 Path Matching Binding Template Example 3

18.14 Path Matching Binding Template


Example 3
In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.

Figure: System expansion

The example system on which this binding template example is based on, is
described in an introductory section. For more information, see section 18.11
“Path Matching Binding Template Examples” on page 504.
You use the template described in this example to autogenerate all the bindings
between the Application folder Program and the Air Handling Unit I/O.

04-30006-02-en, May 2019 Technical


519
18 Binding Templates
18.14 Path Matching Binding Template Example 3

The new AHU 2 Application folder Program will have the same bindings to its Air
Handling Unit I/O as the AHU 1 Program has to its Air Handling Unit I/O. The
Program, the IO, and the naming of folders, objects and properties, is identical
in the two Application folders. Therefore, we can use the same binding template
that was defined for AHU 1, to bind the AHU 2 Program to its air handling unit.
The application folder, in which the application Program resides, must
incorporate the name of the air handling unit that it will control. Also, the air
handling unit I/O binding points must incorporate both the name of its air
handling unit and the name of the program properties that they bind to.
For example, naming an I/O binding point of the AHU02 air handling unit 06-
AHU02-DAT makes it possible to define a Path matching rule that binds it to the
"DAT" property in the application Program of the "AHU02" application folder.
Properties and values are bound between the application Program and its Air
Handling Unit I/O:

Figure: The values that can be bound

To define a Path matching binding template that binds these properties and
values, you create a template based on the Function block program type and
define the Path matching rules:

Technical 04-30006-02-en, May 2019


520
18 Binding Templates
18.14 Path Matching Binding Template Example 3

Figure: Path matching rules

There are three rules in this template. Each rule has a property specified for the
Selected object, in this case the application Program. The Binding candidate, in
this case the I/O bus, also has a value/path specified. When you drag the I/O
bus to this template, the template searches for any value in that collection that
corresponds to the Binding candidate value/path that is specified in this rule. If a
match is found, the property of the Program is bound with the matching value in
the I/O bus. Each rule is examined in sequence. For more information, see
section 18.8 “Path Matching Binding Templates and Syntax” on page 500.
In WorkStation, you drag the I/O bus to the Bind to I/O Binding template.

04-30006-02-en, May 2019 Technical


521
18 Binding Templates
18.14 Path Matching Binding Template Example 3

Figure: Dragging the I/O bus to the Bind to I/O Binding template

The template matches the properties of the AHU 2 application Program with the
values in the I/O bus and displays a binding confirmation dialog box:

Figure: Matching values

When you click OK, the bindings are displayed in the Binding point list of the
application program:

Technical 04-30006-02-en, May 2019


522
18 Binding Templates
18.14 Path Matching Binding Template Example 3

Figure: Application Program Binding list

Instead of searching and manually binding 10 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes
some effort to define a template but it is well worth the effort for configurations
that you frequently reuse.

04-30006-02-en, May 2019 Technical


523
18 Binding Templates
18.15 Path Matching Binding Template Example 4

18.15 Path Matching Binding Template


Example 4
In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.

Figure: System expansion

The example system on which this binding template example is based on, is
described in an introductionary section. For more information, see section 18.11
“Path Matching Binding Template Examples” on page 504.
You use the template described in this example to autogenerate all the bindings
between the Application folder Program and the Alarms, Logs, and Schedules
(MODE) configuration.

Technical 04-30006-02-en, May 2019


524
18 Binding Templates
18.15 Path Matching Binding Template Example 4

The new AHU 2 application Program will have the same bindings to its
application configuration as the application Program in AHU 1 has to its
application configuration. The configuration and the naming of folders, objects
and properties, is identical in the two Application folders. Therefore, we can use
the same binding template that was defined for AHU 1, to bind the AHU 2
application Program to its application configuration.
When you create the Alarms, Trend logs, and Schedules, the name of the object
that bind to the application Program must incorporate the name of the program
properties that they bind to.
For example, naming an Alarm RF Alarm makes it possible to define a Path
matching rule that binds it to the "RF_A" property in the application Program.
Properties and values are bound between the Program and the application
configuration:

04-30006-02-en, May 2019 Technical


525
18 Binding Templates
18.15 Path Matching Binding Template Example 4

Figure: The values that can be bound

As can be seen in this instance, the binding direction of most bindings is from
the Program to the application configuration. The direction of a binding is not
necessarily from the binding candidate to the selected object. The direction can
be defined either way.
To define a Path matching binding template based on this example, you create
a template based on the Function block program type and define the Path
matching rules:

Technical 04-30006-02-en, May 2019


526
18 Binding Templates
18.15 Path Matching Binding Template Example 4

Figure: Path matching rules

There are six rules in this template. Each rule has a property specified for the
Selected object, in this case the application Program. The Binding candidate,
for example the application AHU02 folder or the parent Application folder, also
has a value/path specified. When you drag the AHU02 folder to this template,
the template searches for any value in that collection that corresponds to the
Binding candidate value/path that is specified in this rule. If a match is found,
the property of the Program is bound with the matching value in the AHU02
folder. Each rule is examined in sequence. For more information, see section
18.8 “Path Matching Binding Templates and Syntax” on page 500.
In WorkStation, you can drag the application AHU02 folder, the parent
Application folder, or the entire system to the template. The bigger the collection
you drag to the template, the longer it takes for the template to search for
matching values.

04-30006-02-en, May 2019 Technical


527
18 Binding Templates
18.15 Path Matching Binding Template Example 4

Figure: Dragging the AHU02 folder to the Bind to Unit binding template

The template matches the properties of the application Program with the values
in the application AHU02 folder and displays a binding confirmation dialog box:

Technical 04-30006-02-en, May 2019


528
18 Binding Templates
18.15 Path Matching Binding Template Example 4

Figure: Matching values

When you click OK, the bindings are displayed in the Binding list of the
application Program:

04-30006-02-en, May 2019 Technical


529
18 Binding Templates
18.15 Path Matching Binding Template Example 4

Figure: Application Program Binding list

Instead of searching and manually binding 11 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes
some effort to define a template but it is well worth the effort for configurations
that you frequently reuse.

Technical 04-30006-02-en, May 2019


530
18 Binding Templates
18.16 Path Matching Binding Template Example 5

18.16 Path Matching Binding Template


Example 5
In this example, a new Air Handling Unit (AHU) has been added. When you add
an air handling unit, a new Application folder is created in the SmartX server.
The Application folder holds the Program, Alarms, Logs, and Schedules (MODE)
configuration that is needed to control and monitor the air handling unit. The
Application folder also holds a Graphic (UI) so that the operator can supervise
the air handling unit.

Figure: System expansion

The illustration below shows the new Application folder, the red marked and
underlined application Graphic (UI) and the red marked application
configuration that have values that can be bound to the application Graphic (UI).
You use the template described in this example to autogenerate all the bindings
between the Application folder Graphic (UI) and the Program, Alarms, Logs, and
Schedules (MODE) configuration.

04-30006-02-en, May 2019 Technical


531
18 Binding Templates
18.16 Path Matching Binding Template Example 5

The new AHU 2 application Graphic (UI) have the same bindings to its
application configuration as the application Graphic (UI) in AHU 1 has to its
application configuration. The configuration and the naming of folders, objects
and properties, is identical in the two Application folders. Therefore we can use
the same binding template that was defined for AHU 1, to bind the AHU 2
application Graphic (UI) to its application configuration.
When you create the application Graphic (UI), the properties that bind to values
in the application Program, the Alarms, the Trend logs, and the Schedules, must
incorporate the name of the object or property value that they bind to.
For example, naming a property in the application Graphic (UI) CWV.Value
makes it possible to define a Path matching rule that binds it to the "Value" of the
"CWV" property in the application.
Properties and values are bound between the application Graphic (UI) and its
application configuration:

Technical 04-30006-02-en, May 2019


532
18 Binding Templates
18.16 Path Matching Binding Template Example 5

Figure: The values that can be bound

To define a Path matching binding template that binds these properties and
values, you create a template based on the Graphic type and define the Path
matching rules:

04-30006-02-en, May 2019 Technical


533
18 Binding Templates
18.16 Path Matching Binding Template Example 5

Figure: Path matching rules

There are three rules in this template. Each rule has a property specified for the
Selected object, in this case the application Graphic (UI). The Binding
candidate, for example the AHU02 folder or the entire Application folder, also
has a value/path specified. When you drag the AHU02 folder to this template,
the template searches for any value in that collection that corresponds to the
Binding candidate value/path that is specified in this rule. If a match is found,
the property of the application Graphric (UI) is bound with the matching value in
the AHU02 folder. Each rule is examined in sequence. For more information, see
section 18.8 “Path Matching Binding Templates and Syntax” on page 500.
In WorkStation, you can drag the AHU02 folder, the entire Application folder, or
the entire system to the template. The bigger the collection you drag to the
template, the longer it takes for the template to search for matching values.

Technical 04-30006-02-en, May 2019


534
18 Binding Templates
18.16 Path Matching Binding Template Example 5

Figure: Dragging the AHU02 folder to the Bind to Unit binding template

The template matches the properties of the application Graphic (UI) with the
values in the AHU02 folder and displays a binding confirmation dialog box:

04-30006-02-en, May 2019 Technical


535
18 Binding Templates
18.16 Path Matching Binding Template Example 5

Figure: Found matches

When you click OK, the bindings are displayed in the Binding list of the
application Graphic (UI):

Figure: Application Graphic (UI) Binding list

Technical 04-30006-02-en, May 2019


536
18 Binding Templates
18.16 Path Matching Binding Template Example 5

Instead of searching and manually binding 16 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes
some effort to define a template but it is well worth the effort for configurations
that you frequently reuse.

04-30006-02-en, May 2019 Technical


537
18 Binding Templates
18.17 Binding Values Using a Binding Template

18.17 Binding Values Using a Binding


Template
You use binding templates to reduce engineering time when creating bindings.
Binding templates are defined and created for binding patterns that are
frequently reused.
Using binding templates, you create bindings between the EcoStruxure BMS
server program variables, internal values, and I/O points using the following
recommended process:
• First, bind the SmartX server IO Bus to each of the Programs in the SmartX
server that requires data flow with the I/O points.
• Next, bind the Internal Variables to each of the Programs in the SmartX
server that requires data flow with Internal Variables.
• Then, bind each of the individual Programs to all other Programs that
require data flow with other Programs.
• Finally, bind any time schedules and alarms that are required as part of the
programmed control logic.

NOTICE
• When creating bindings, follow the recommended general guidelines: create
bindings between Inputs and Outputs only and do not create bindings to
Public Signals.

For more information, see section 18.1 “Binding Templates” on page 479.

To bind values using a binding template


1. In WorkStation, in the System Tree pane, select the object that you want to
bind values to.
2. On the Actions menu, click Edit bindings
bindings.
Continued on next page

Technical 04-30006-02-en, May 2019


538
18 Binding Templates
18.17 Binding Values Using a Binding Template

3. In the binding point browser, drag the object or folder to the binding
template that you want to apply.

4. Select the bindings that you want to create.

5. Click OK
OK.
Continued on next page

04-30006-02-en, May 2019 Technical


539
18 Binding Templates
18.17 Binding Values Using a Binding Template

6. Verify that all bindings are correctly bound.

7. On the File menu, click Save


Save.

NOTICE
• To ensure data flow is occurring as intended, use the Watch pane to view
values and monitor changes.

Technical 04-30006-02-en, May 2019


540
18 Binding Templates
18.18 Binding Values in Script Editor Using a Binding Template

18.18 Binding Values in Script Editor Using a


Binding Template
You use binding templates to reduce engineering time when creating bindings
for variables and functions within a Script program. Binding templates are
defined and created for binding patterns that are frequently reused. You can
access the Bindings view without leaving Script Editor.
For more information, see section 18.1 “Binding Templates” on page 479.

To bind values in Script Editor using a binding template


1. In Script Editor, click Bindings to display the Bindings view for the Script
program.
2. In the Bindings View, in the binding point browser, drag the object or folder
to the binding template that you want to apply.

3. In the Confirm Bindings dialog box, select the bindings that you want to
create.
4. Click OK
OK.
5. In the Bindings View, verify that all bindings are correctly bound.
6. On the toolbar, click Save
Save.

04-30006-02-en, May 2019 Technical


541
18 Binding Templates
18.19 Creating a Type Binding Template from Instance

18.19 Creating a Type Binding Template from


Instance
You create a type binding template from instance, to automate a binding task,
by reusing the existing bindings between two LonWorks devices.

NOTICE
• The type binding template is only applicable between two LonWorks
devices.

For more information, see section 18.1 “Binding Templates” on page 479.

To create a Type binding template from instance


1. In WorkStation, in the System Tree pane, right-click the object that holds
the binding pattern that you want to reuse, and then click Edit bindings
bindings.
2. On the Bindings toolbar, click the Create a Type binding template from

instance button .
3. In the Create Binding Template dialog box, in the Name box, type a name
for the template.
4. In the Description box, type a description for the template.
5. In the Type list, select the type on which you will base this template.
6. Click OK
OK.

Technical 04-30006-02-en, May 2019


542
18 Binding Templates
18.20 Creating a Type Binding Template

18.20 Creating a Type Binding Template


You define and create a Type binding template to automate a binding task
between two LonWorks devices. When you define a Type binding template, you
associate specific properties in a LonWorks device with specific properties in
another LonWorks device.

NOTICE
• The Type binding template is only applicable on LonWorks devices.

For more information, see section 18.3 “Type Binding Templates” on page 483.

To create a Type binding template


1. In WorkStation, in the System Tree pane, in the System folder, select
Binding templates
templates.
2. On the File menu, point to New and then click Binding template
template.
3. Inthe Create Object wizard, in the object list, select Type Binding
Template
Template.
4. In the Name box, type a name for the template.
5. In the Description box, type a description for the template.
6. Click Next
Next.
7. Select the LonWorks device, on which this template will be based.
8. Click Next
Next.
9. Select the LonWorks devices that hold values, which will be bound to the

type on which this template is based, and then click the Add button .
10. Click Next
Next.
11. In the Specify the bindings in the template page, drag values to the Binds
to property boxes.
12. Click Create
Create.

04-30006-02-en, May 2019 Technical


543
18 Binding Templates
18.21 Creating a Path Matching Binding Template

18.21 Creating a Path Matching Binding


Template
You define and create a Path matching template, to automate a binding task for
an object type, which binds values from one or several objects based on path
matching rules.
For more information, see section 18.8 “Path Matching Binding Templates and
Syntax” on page 500.

To create a path matching binding template


1. In WorkStation, in the System Tree pane, in the System folder, select
Binding templates
templates.
2. On the File menu, point to New and then click Binding template
template.
3. In the Create Object wizard, in the object type list, select Path Matching
Binding Template
Template.
4. In the Name box, type a name for the template.
5. In the Description box, type a description for the template.
6. Click Next
Next.
7. In the What type do you want to bind in the template page, select the type,
on which this template will be based.
8. Click Next
Next.
9. In the Specify the path matching patterns in the template page, in the
Selected object box, type the property or the path to the property that you
want to bind.

NOTICE
• Paths can be full or partial. Values, properties, and paths can also
contain identifiers and wildcards.

10. In the Binding candidate box, type a value or the path to a value that you
want to find and bind.

NOTICE
• If a value is found in the Binding candidate
candidate, as specified, it is bound to
the property that is specified for the Selected object
object. Paths can be full
or partial. Values, properties, and paths can also contain identifiers and
wildcards.

11. In the Property box, select if the rule is to match values by their Name
Name,
Description
Description, Note 1, or Note 2 property.

12. Click the Add rule button to add more path matching rules.
13. Click Create
Create.

Technical 04-30006-02-en, May 2019


544
19 Bindings User Interface

Topics
Bindings View
Bindings Diagnostics
Binding Point List Toolbar
Binding Templates List
Browser Toolbar
Browser
Bind Dialog Box – Select Direction
Bind Dialog Box – Replace or Keep
Bind Dialog Box – Replace or Add
Value Transfer Settings Dialog Box
Variables View Features
Confirm Bindings Dialog Box
Bindings Status Icons
Binding Templates View
Binding Template Wizard – Choosing the Type and Naming
the Object Page
Binding Template Wizard – What Type Do You Want to Bind
in the Template Page
Binding Template Wizard – What Type(s) Do You Want to
Bind to with the Template Page
19 Binding Template Wizard – Specify the Bindings in The
Template Page
Binding Template Wizard – Specify the Path Matching
Patterns in the Template Page
Binding Template Properties
Edit Binding Template Dialog Box – Type Binding Template
Edit Binding Template Dialog Box – Path Matching Binding
Template
Time Stamp Value Properties
19 Bindings User Interface
19.1 Bindings View

19.1 Bindings View


Use the Bindings view to bind values between objects in the system.

Figure: Bindings view

Table: Bindings View


Number Description

Use the toolbar to delete bindings, filter


properties, and create a binding template
from instance. For more information, see
section 19.3 “Binding Point List Toolbar” on
page 550..

Use the Binding templates list to view and


apply Binding templates. For more
information, see section 19.4 “Binding
Templates List” on page 551..

Use the toolbar to lock the Browser and to


filter items in the Browser
Browser. For more
information, see section 19.5 “Browser
Toolbar” on page 552.

Use the Collapse all button to collapse the


browser tree.

04-30006-02-en, May 2019 Technical


547
19 Bindings User Interface
19.1 Bindings View

Continued
Number Description

Use the Property filter to filter the browser


tree.

Use the Browser to select and drag a


value to the Binding points list or to the
Binding templates list to create bindings.
For more information, see section 19.6
“Browser” on page 553.

Use the Binding list to enter the path to the


value that you want to bind. Right-click to
lock or unlock the path. For more
information, see section 17.11 “Locked
and Unlocked Binding Paths” on page
459.

Use the Unit list to view the engineering


unit associated with each property (if any).

Use the Binding point list to view and bind


the values of the object that is selected in
the System Tree pane.

Technical 04-30006-02-en, May 2019


548
19 Bindings User Interface
19.2 Bindings Diagnostics

19.2 Bindings Diagnostics


Use Bindings Diagnostics to check the database for unresolved or invalid
references.

Figure: Binding Diagnostics

Table: Bindings Diagnostics


Component Description

Location Displays the location of the object.

Name Displays the name of the object.

Property Displays the property of the object.

Status Displays the status of the binding. For


more information, see section 19.13
“Bindings Status Icons” on page 564.

Reference Displays the path.

04-30006-02-en, May 2019 Technical


549
19 Bindings User Interface
19.3 Binding Point List Toolbar

19.3 Binding Point List Toolbar


Use the toolbar to manage bindings and filter properties in the Binding points
list.

Table: Binding Points List Toolbar


Button Description

Delete all bindings


Click to delete all bindings in the Bindings
points list.

Filter Binding list


Click to filter the Binding points list. You
can hide variables that are already bound.
You can also show the parameters.

Create binding template from instance


Click to create a binding template based
on the object and the bindings that are
displayed in the Binding points list.

Hide bound
Click to hide all bindings that are bound.

Hide unbound
Click to hide all bindings that are unbound.

Hide malfunctioning
Click to hide malfunctioning bindings.
Malfunctioning bindings can be
unresolved or invalid.
For more information, see section 17.13
“Bindings Management” on page 464.

Technical 04-30006-02-en, May 2019


550
19 Bindings User Interface
19.4 Binding Templates List

19.4 Binding Templates List


Use the Binding templates list to apply binding templates.

Figure: Binding template list

Table: Binding Templates List


Column Description

Binding templates Displays your binding templates, which


you can define and use to automate
binding tasks. The EcoStruxure Building
Operation software has one predefined
binding template, which is the Default
name matching template.

Description Displays descriptive text about the binding


template.

[Drop here to apply] Drag a folder, object, or a value to the box


of the template that you want to apply.

04-30006-02-en, May 2019 Technical


551
19 Bindings User Interface
19.5 Browser Toolbar

19.5 Browser Toolbar


Use the Browser toolbar to navigate the bindable values of objects and
properties in the system.

Table: Browser Toolbar


Button Description

Parent folder
Click to open the parent folder in the
Browser
Browser.

Lock/Unlock path
Click to lock the Browser so it stays locked
onto the present folder when you navigate
the System Tree pane.

Lock/Unlock path
Click to unlock the Browser so it displays
what you select in the System Tree pane.

Filter binding browser


Click to filter the properties in the Browser
Browser.
You can exclude properties in the Browser
that do not match any of the properties in
the Binding point list, in terms of
engineering unit and data type. You can
also exclude parameters.

Collapse all
Use the Collapse all button to collapse the
browser tree.

[Property filter] Use the Property filter to filter the browser


tree.

Technical 04-30006-02-en, May 2019


552
19 Bindings User Interface
19.6 Browser

19.6 Browser
Use the Browser to find and drag bindable values to the Binding points list, or
entire folders to the Binding templates list.

Figure: Browser

Table: Browser
Component Description

Browser Select and drag values to the Binding


points list to bind them to the properties of
the selected object. You can also drag
objects and entire folders to applicable
templates in the Binding templates list.

04-30006-02-en, May 2019 Technical


553
19 Bindings User Interface
19.7 Bind Dialog Box – Select Direction

19.7 Bind Dialog Box – Select Direction


Use this Bind dialog box to select the direction of the binding, when bound
values represent property categories that can be bound either way. With most
property categories, direction is inherent and evident, such as output to input.

Figure: Select direction

Table: Select Direction


Choice Description

Choice 1 Select to make the Binding list property the


destination property.

Choice 2 Select to make the dragged property


value, or the typed property path, the
destination property.

Technical 04-30006-02-en, May 2019


554
19 Bindings User Interface
19.8 Bind Dialog Box – Replace or Keep

19.8 Bind Dialog Box – Replace or Keep


Use this Bind dialog box to replace or keep the source value of an already
bound destination property.

Figure: Replace or Keep

Table: Replace or Keep


Choice Description

Choice 1 Select to replace the bound source value.

Choice 2 Select to keep the bound source value.

04-30006-02-en, May 2019 Technical


555
19 Bindings User Interface
19.9 Bind Dialog Box – Replace or Add

19.9 Bind Dialog Box – Replace or Add


Use this Bind dialog box to replace the destination of a bound source value, or
to add another bindings with the same source value.

Figure: Replace or add

Table: Replace or Add


Choice Description

Choice 1 Select to replace the destination property


of the already bound source value.

Choice 2 Select to add the destination property as


another binding that share the same
source value.

Technical 04-30006-02-en, May 2019


556
19 Bindings User Interface
19.10 Value Transfer Settings Dialog Box

19.10 Value Transfer Settings Dialog Box


Use the Value transfer settings dialog box to set the transfer interval for values
between objects in the database.

Figure: Value transfer settings dialog box

Table: Value Transfer Dialog


Property Description

Pre-defined interval Click to select a predefined interval. For


more information, see section 17.6 “Value
Transfer Settings ” on page 446.

Manual interval Select if you want to use a manual interval.


For more information, see section 17.6
“Value Transfer Settings ” on page 446.

Transfer value each time, even if the Select if you want to transfer the value even
value has not changed if it has not changed since the last time it
was sent. For more information, see
section 17.6 “Value Transfer Settings ” on
page 446.

04-30006-02-en, May 2019 Technical


557
19 Bindings User Interface
19.10 Value Transfer Settings Dialog Box

Continued
Property Description

Transfer only if value change is equal to Enter a delta interval. For more information,
or larger than 'Delta value
value'' see section 17.6 “Value Transfer Settings ”
on page 446.

Transfer interval Select to use a transfer interval. For more


information, see section 17.6 “Value
Transfer Settings ” on page 446.

Turn off this feature Select if you do not want to use transfer
interval. For more information, see section
17.6 “Value Transfer Settings ” on page
446.

Technical 04-30006-02-en, May 2019


558
19 Bindings User Interface
19.11 Variables View Features

19.11 Variables View Features


You use the Variables view to view live values, create trend logs, force values,
and to edit parameters in a structured and manageble way.
The Variables view is available in the work area of WorkStation when one of the
following types are selected in the System Tree pane:
• LonWorks device
• Program
• I/O module
The Variables view reflects the content of and object, which is structured in
categories, properties and live values.

04-30006-02-en, May 2019 Technical


559
19 Bindings User Interface
19.11 Variables View Features

Figure: Variables view with expandable categories

The categories can be expanded or collapsed so that you can set up a


manageable overview of properties and live values.

Technical 04-30006-02-en, May 2019


560
19 Bindings User Interface
19.11 Variables View Features

You can also use the Quick Filter box to filter the Variables list. With LonWorks
devices, your typing in the Quick Filter box filters category such as outputs,
inputs, and public signals.

Figure: Filtering categories in the Quick Filter box

With Programs and I/O modules, you type in the Quick Filter box the filter's
property name.

Figure: Filtering properties in the Quick Filter box

04-30006-02-en, May 2019 Technical


561
19 Bindings User Interface
19.11 Variables View Features

You can also use the toolbar buttons to expand all categories or collapse all
categories. You can also show or hide Properties.
If you open Properties and multiselect different properties in the Variables list,
their values are displayed together in the Properties.

Figure: Multiselecting properties

Multiselecting properties, that are of special interest, in a coherent way makes it


easy for you to view, edit, and force values. The Variable view gives you the
ability to work with live values and parameters alike, in a structured way.

Technical 04-30006-02-en, May 2019


562
19 Bindings User Interface
19.12 Confirm Bindings Dialog Box

19.12 Confirm Bindings Dialog Box


Use the Confirm Bindings dialog box to view and confirm applicable bindings.
This dialog box only displays when you apply a binding template.

Figure: Confirm Bindings dialog box

Table: Confirm Bindings Dialog Box


Column Description

Binding point Displays the path to the match. A warning


icon indicates that the value is already
bound. For more information, see section
19.13 “Bindings Status Icons” on page
564.

Binding Displays the properties in the selected


object that have a match. A warning icon
indicates that the property is already
bound. For more information, see section
19.13 “Bindings Status Icons” on page
564.

Action Select to confirm the binding.

04-30006-02-en, May 2019 Technical


563
19 Bindings User Interface
19.13 Bindings Status Icons

19.13 Bindings Status Icons


This table describes the Bindings status icons.

Table: Bindings Status Icons


Icon Description

Unresolved
Indicates an unresolved binding due to a number of reasons, for
example:
• A binding points to an object or property that does not exist. This
may occur after a copy and paste operation when a new object
includes a property with the same name as a property deleted from
the database, but is incompatible.
• A binding points to an object located on another server. For
instance, the system has not resolved the binding yet so the target
object may (or may not) exist.
• A binding points to an object located on another server that is being
engineered, and server communication is not yet fully synched
between the two servers. Generally, the bindings are automatically
resolved.

Warning
Indicates an invalid reference in binding functions, which occurs during
an import of bindings or applying a binding template. For more
information, see section 19.12 “Confirm Bindings Dialog Box” on page
563.

Invalid
Indicates that the system resolved the binding and the object exists.
However, the reference is invalid for some reason. In most cases, the
target property is no longer supported, does not exist in the target object,
or the engineering units are incompatible.
Hover over the icon to view the cause of the invalid status.

Technical 04-30006-02-en, May 2019


564
19 Bindings User Interface
19.14 Binding Templates View

19.14 Binding Templates View


Use the Binding Templates view to manage binding templates. This is where
you create, import, edit, and remove templates.

Figure: Binding Templates view

Table: Binding Templates View


Column Description

TypeReference Displays the object type for each binding


template.

Name Displays the name of each binding


template.

Description Displays descriptive text about each


binding template.

04-30006-02-en, May 2019 Technical


565
19 Bindings User Interface
19.15 Binding Template Wizard – Choosing the Type and Naming the Object Page

19.15 Binding Template Wizard – Choosing


the Type and Naming the Object Page
Use the Choosing the Type and Naming the Object page to choose the type of
binding template you want to create and configure it.

Figure: Choosing the Type and Naming the Object page

Table: Choosing the Type and Naming the Object page


Property Description

Quick Filter Enter a word or a character to filter on. For


more information, see the Quick Filter topic
on WebHelp.

Name Type a name for the binding template.

Location Enter the location of the binding template


in the System Tree pane.

Description Type the description of the binding


template.

Technical 04-30006-02-en, May 2019


566
19 Bindings User Interface
19.16 Binding Template Wizard – What Type Do You Want to Bind in the Template Page

19.16 Binding Template Wizard – What Type


Do You Want to Bind in the Template
Page
Use the What type do you want to bind in the template page to select the type
of this template.

Figure: What type do you want to bind in the template page

Table: What Type Do You Want to Bind in the Template Page


Component Description

Type list Select the LonWorks device that will be


selected when applying this template.

Find type Type to find a type.

04-30006-02-en, May 2019 Technical


567
19 Bindings User Interface
19.17 Binding Template Wizard – What Type(s) Do You Want to Bind to with the Template Page

19.17 Binding Template Wizard – What


Type(s) Do You Want to Bind to with the
Template Page
Use the What type(s) do you want to bind to with the template page to select
the types of this binding template.

Figure: What type(s) do you want to bind to with the template page

Table: What Type(s) Do You Want to Bind to with the Template Page
Component Description

Type list Select the LonWorks devices that hold


values that can be bound to the LonWorks
device that was selected on the previous
page.

Add
Click to add LonWorks devices.

Selected object types Displays the LonWorks devices that have


been selected.

Find type Type to find a type.

Technical 04-30006-02-en, May 2019


568
19 Bindings User Interface
19.18 Binding Template Wizard – Specify the Bindings in The Template Page

19.18 Binding Template Wizard – Specify the


Bindings in The Template Page
Use the Specify the bindings in the template page to drag/type applicable
values to the properties of the selected type.

Figure: Specify the bindings in this template page

Table: Specify the Bindings in This Template Page


Column Description

[Destination object properties] Displays properties of the selected


LonWorks device.

Unit Displays the engineering unit associated


with each property (if any).

Binds to Drag/type values to these property boxes.

[Browser] Find and drag values to the selected


LonWorks device.

04-30006-02-en, May 2019 Technical


569
19 Bindings User Interface
19.19 Binding Template Wizard – Specify the Path Matching Patterns in the Template Page

19.19 Binding Template Wizard – Specify the


Path Matching Patterns in the Template
Page
Use the Specify the path matching patterns in the template page to define rules
on how values will bind when using this template.

Figure: Specify the path matching patterns in the template page

Table: Specify the Path Matching Patterns in the Template Page


Component Description

Add rule
Click to add a new rule entry. Within a rule
entry, you specify a value or the path to the
value in the Selected object
object. You also
specify a value or the path of a value in the
Binding candidate
candidate. If a value is found in
the Binding candidate
candidate, as specified, it is
bound to the specified value in the
Selected object
object.

Remove rule
Click to remove a rule entry.

Move up
Click to move the selected rule entry up in
the list. The order in which rules are stated
can affect which values are bound.

Technical 04-30006-02-en, May 2019


570
19 Bindings User Interface
19.19 Binding Template Wizard – Specify the Path Matching Patterns in the Template Page

Continued
Component Description

Move down
Click to move the selected rule entry down
in the list. The order in which rules are
stated can affect which values are bound.

Move to top
Click to move the selected rule entry to the
top in the list. The order in which rules are
stated can affect which values are bound.

Move to bottom
Click to move the selected rule entry to the
bottom in the list. The order in which rules
are stated can affect which values are
bound.

Selected object Type the value or the path of the value that
you want to bind in the Selected object.

Binding candidate Type the value or the path of the value that
you want to bind in the Binding candidate
candidate.
When the template is used and the rule is
executed, if a value is found in the Binding
candidate as specified, it is bound to the
specified value in the Selected object
object.

Property Select if the rule is to match values by their


Name
Name, Description
Description, Note 1, or Note 2
property,

04-30006-02-en, May 2019 Technical


571
19 Bindings User Interface
19.20 Binding Template Properties

19.20 Binding Template Properties


Use the Binding Templates properties dialog box to view and edit the properties
of the binding template.

Figure: Binding template properties

Table: Binding Template Properties


Component Description

Template name Type a name for the template.

Owning type Displays the type on which this template is


applicable.

Technical 04-30006-02-en, May 2019


572
19 Bindings User Interface
19.21 Edit Binding Template Dialog Box – Type Binding Template

19.21 Edit Binding Template Dialog Box –


Type Binding Template
Use the Edit binding template dialog box to configure the type binding
template.

Figure: Edit binding template dialog box

Table: Edit Binding Template Dialog Box - Binding Template Tab


Component Description

Hide bound
Hides bound rows.
Hide parameters
Hides parameter rows.

04-30006-02-en, May 2019 Technical


573
19 Bindings User Interface
19.21 Edit Binding Template Dialog Box – Type Binding Template

Continued
Component Description

Match units
Displays points that match at least one row
that has the same unit.
Match data types
Displays points that match at least one row
that has the same type.
Hide parameters
Hides parameter rows.

[Destination object properties] Displays properties of the selected


LonWorks device.

Unit Displays the engineering unit associated


with each property (if any).

Binds to Drag/type values to these property boxes.

[Browser
Browser] Find and drag values to the selected
LonWorks device.

Table: Edit Binding Template Dialog Box - Default Settings Tab


Component Description

Template Name Type a name for the binding template.

Template Description Type a description for the binding


template.

Technical 04-30006-02-en, May 2019


574
19 Bindings User Interface
19.22 Edit Binding Template Dialog Box – Path Matching Binding Template

19.22 Edit Binding Template Dialog Box –


Path Matching Binding Template
Use the Edit binding template dialog box to configure the path matching
binding template.

Figure: Edit binding template dialog box

Table: Edit Binding Template Dialog Box - Binding Template Tab


Component Description

Add rule
Click to add a new rule entry. Within a rule
entry, you specify a value or the path to the
value in the Selected object
object. You also
specify a value or the path of a value in the
Binding candidate
candidate. If a value is found in
the Binding candidate
candidate, as specified, it is
bound to the specified value in the
Selected object
object.

Remove rule
Click to remove a rule entry.

Move up
Click to move the selected rule entry up in
the list. The order in which rules are stated
can affect which values are bound.

04-30006-02-en, May 2019 Technical


575
19 Bindings User Interface
19.22 Edit Binding Template Dialog Box – Path Matching Binding Template

Continued
Component Description

Move down
Click to move the selected rule entry down
in the list. The order in which rules are
stated can affect which values are bound.

Move to top
Click to move the selected rule entry to the
top in the list. The order in which rules are
stated can affect which values are bound.

Move to bottom
Click to move the selected rule entry to the
bottom in the list. The order in which rules
are stated can affect which values are
bound.

Selected object Type the value or the path of the value that
you want to bind in the Selected object
object.

Binding candidate Type the value or the path of the value that
you want to bind in the Binding candidate
candidate.
When the template is used and the rule is
executed, if a value is found in the Binding
candidate as specified, it is bound to the
specified value in the Selected object
object.

Property Select if the rule is to match values by their


Name
Name, Description
Description, Note 1, or Note 2
property.

Table: Edit Binding Template Dialog Box - Default Settings Tab


Component Description

Template Name Type a name for the binding template.

Template Description Type a description for the binding


template.

Technical 04-30006-02-en, May 2019


576
19 Bindings User Interface
19.23 Time Stamp Value Properties

19.23 Time Stamp Value Properties


Use the Time Stamp Value properties dialog box to view or configure a time
stamp value.

Figure: Time stamp value

Table: Time Stamp Value


Property Description

Value Enter a date and time

04-30006-02-en, May 2019 Technical


577
20 Bindings Troubleshooting

Topics
Binding Does Not Work
20 Bindings Troubleshooting
20.1 Binding Does Not Work

20.1 Binding Does Not Work


The binding does not seem to work, update, or is simply gone.

20.1.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Ensure that the network communication parameters are up-to-date. If not,
the source will be offline towards the destination property.
For more information, see section 8.2 “Updating Communication
Parameters” on page 295.
• Configure the polling of the binding. Maybe the binding is set to update too
seldom.
For more information, see section 17.8 “Configuring the Value Transfer
Interval” on page 455.
• Ensure that the binding exists. The binding may accidently have been
overwritten.

04-30006-02-en, May 2019 Technical


581
21 Import and Export

Topics
Import and Export Overview
Export
Exporting a Solution
Selecting Multiple Solutions for Export
Export of Networks, Devices, and Protocols
Import and Export of I/O Solutions
Import and Export of b3 Solutions
Import and Export of BACnet Solutions
Import and Export of GCM Solutions
Import and Export of LonWorks Solutions
Import and Export of MNL or MNB Solutions
Import and Export of MicroNet Solutions
Import and Export of Modbus Solutions
Import and Export of Sigma Solutions
Import and Export of Xenta Solutions
Export of Programs, Functions, and Applications
Import and Export of Script Solutions
Import and Export of User Management Solutions
Import and Export of Alarm Solutions
Import and Export of Trend Solutions
21 Import and Export of Schedule Solutions
Import and Export of Report Solutions
Custom Object Type
Export Library Mode
Exportable and Non-exportable Objects
Import
Importing a Solution
Import of Networks, Devices, and Protocols
Import of Programs, Functions, and Applications
Import and Export of Supporting Objects
Import and Export of Bindings and Binding Templates
Conflict Resolution Methods
21 Import and Export
21.1 Import and Export Overview

21.1 Import and Export Overview


A solution or application is a user-created object or group of objects that
perform a control process. Examples of creatable objects include networks,
devices, programs, binding templates, graphics, trends, and alarms.
Control processes can manage simple systems like air volume units, switches,
and lighting relays as well as complex systems like air handlers, chillers, and
boilers.

Figure: Import and Export

Sharing Solutions Between EcoStruxure BMS Servers and Projects


When designing solutions, you can avoid duplication of effort by exporting and
importing files from one EcoStruxure BMS server to another. For example, you
can export an alarm solution configured on one server, and then import this
alarm solution to one or more other servers. Take time to organize each solution
within a top folder so that all the interrelated folders and objects are grouped
together, which will simplify the export and import process later.
Import and Export is supported for all newer major or minor versions, which
means that you can share solutions to all newer software revisions. For example,
a version 1.6 export can be imported to version 1.7, but a version 1.7 export
cannot be imported to version 1.6
In addition, you can create libraries that can be made available to other
engineers. To reduce programming time, you can share these libraries between
servers and projects. In turn, libraries and solutions can be shared with other
engineers through WorkStation. Solutions from libraries can be assembled in
various combinations to suit the needs of a job.

04-30006-02-en, May 2019 Technical


585
21 Import and Export
21.1 Import and Export Overview

21.1.1 Export
Export involves writing a solution configuration into a file, which is saved to
another location. To export a solution from the EcoStruxure Building Operation
database, select an existing solution container and then click the Export
command. The EcoStruxure Building Operation software generates an export
file comprised of the objects and their configurations.
For more information, see section 21.2 “Export” on page 587.

21.1.2 Exportable and Non-exportable Objects


Most objects and data can be exported, with a few exceptions.
For more information, see section 21.25 “Exportable and Non-exportable
Objects” on page 618.

21.1.3 Import
Import involves reading a previously exported file and then recreating objects
based on the configuration of the file. To import a solution into the EcoStruxure
Building Operation database, select a target location on the EcoStruxure BMS
server and then click the Import command.
For more information, see section 21.26 “Import” on page 619.

21.1.4 Import and Export of Supporting Objects


Supporting objects, configured by users, are an integral part of a ported
solution. The export process can automatically include supporting objects in an
export file.
For more information, see section 21.30 “Import and Export of Supporting
Objects” on page 628.

21.1.5 Import and Export of Bindings and Binding


Templates
The EcoStruxure Building Operation software imports and exports bindings and
binding templates with a few exceptions.
For more information, see section 21.31 “Import and Export of Bindings and
Binding Templates” on page 630.

Technical 04-30006-02-en, May 2019


586
21 Import and Export
21.2 Export

21.2 Export
Export involves writing a solution configuration into a file, which is saved to
another location. To export a solution, select an existing solution container and
then click the Export command. The EcoStruxure Building Operation software
generates an export file comprised of the objects and their configurations.
The EcoStruxure Building Operation software does not export some system
objects and properties. For example, you cannot export the System folder, or
object properties like device IDs. If a system object or folder is mistakenly
included in an export, the export process provides an Export Preview area,
which lists the non-exportable objects. The export proceeds but the system
object or folder is not included in the export file. For more information, see
section 21.25 “Exportable and Non-exportable Objects” on page 618.
If you create your own objects and folders within a system folder, you can export
them separately to the corresponding system folder on the targeted EcoStruxure
BMS server, for example, System – Alarms.
When exporting a solution, an internal binding path is one that refers to an object
that is also included in the export. An external binding path is one that refers to
an object that is not included in the export. Internal unlocked binding paths are
always kept.
You decide what external binding paths to include in an export: locked, locked
and unlocked, or none.
• Export Special: Keeps all external binding paths (locked and unlocked).
After an import, some binding paths may be unresolved.
• Export Library mode: Removes all external binding paths (locked and
unlocked). Generates an export file that you can use anywhere and know
that, upon import, every reference has been resolved to what you expect.
Use one of the other export reference filter types when you know how the
export will be used.
• Export: Removes all external unlocked binding paths. After an import, some
binding paths may be unresolved.

NOTICE
From the List View, you can select multiple solutions for export, which are
exported as a single file. For more information, see section 21.4 “Selecting
Multiple Solutions for Export” on page 590.

21.2.1 Export of Networks, Devices, and Protocols


You can export networks, devices, and communication protocols from the
EcoStruxure Building Operation database.
For more information, see section 21.5 “Export of Networks, Devices, and
Protocols” on page 591.

04-30006-02-en, May 2019 Technical


587
21 Import and Export
21.2 Export

21.2.2 Export of Programs, Functions, and


Applications
You can export programs, functions, and applications from the EcoStruxure
Building Operation database.
For more information, see section 21.16 “Export of Programs, Functions, and
Applications” on page 604.

Technical 04-30006-02-en, May 2019


588
21 Import and Export
21.3 Exporting a Solution

21.3 Exporting a Solution


You export a solution to another EcoStruxure BMS server. You can also use the
standard copy and paste method to copy solutions to other file locations on the
same EcoStruxure BMS server.
For more information, see section 21.1 “Import and Export Overview” on page
585.

To export a solution
1. In WorkStation, in the System Tree pane or the List View
View, select the
solution that you want to export.
2. On the File menu, click Export
Export.
3. In the Export preview dialog box, select the filter type to be used for the
export.
4. Click Export
Export.
5. In the Save As dialog box, enter the location and file name.
6. Click Save
Save.
7. Click Close when the export is complete.

04-30006-02-en, May 2019 Technical


589
21 Import and Export
21.4 Selecting Multiple Solutions for Export

21.4 Selecting Multiple Solutions for Export


You use the List View to select multiple objects or solutions that can be grouped
into a single export.
For more information, see section 21.1 “Import and Export Overview” on page
585.

To select multiple solutions for export


1. In WorkStation, in the System Tree pane, select the location where the
solutions are stored.
2. In the List View
View, press the CTRL key and click the objects or solutions that
you want to export.
3. On the File menu, select Export
Export.

Technical 04-30006-02-en, May 2019


590
21 Import and Export
21.5 Export of Networks, Devices, and Protocols

21.5 Export of Networks, Devices, and


Protocols
You can export networks, devices, and communication protocols from the
EcoStruxure Building Operation database.

21.5.1 Import and Export of I/O Solutions


You can import and export I/O points, devices, and solutions from one SmartX
server to another. All the properties of modules and their points, as well as their
bindings, are preserved.
For more information, see section 21.6 “Import and Export of I/O Solutions” on
page 593.

21.5.2 Import and Export of b3 Solutions


You can import and export b3 BACnet devices, objects, and solutions by the
EcoStruxure Building Operation software.
For more information, see section 21.7 “Import and Export of b3 Solutions” on
page 594.

21.5.3 Import and Export of BACnet Solutions


You can export and import BACnet objects, devices, and solutions from one
EcoStruxure BMS server to another.
For more information, see section 21.8 “Import and Export of BACnet Solutions”
on page 595.

21.5.4 Import and Export of GCM Solutions


You use WorkStation to import the migrated GCM database into the SmartX
server. The SmartX server uses the export file created by the TAC I/A Series
Migrator for the import process, which then creates a NETWORK 8000 Interface
with all the migrated objects in sub-folders under the NETWORK 8000 Interface
folder.
For more information, see section 21.9 “Import and Export of GCM Solutions” on
page 597.

21.5.5 Import and Export of LonWorks Solutions


You can import and export the contents of an entire LonWorks network.
For more information, see section 21.10 “Import and Export of LonWorks
Solutions” on page 598.

04-30006-02-en, May 2019 Technical


591
21 Import and Export
21.5 Export of Networks, Devices, and Protocols

21.5.6 Import and Export of MNL or MNB Solutions


In the EcoStruxure Building Operation software, you can use WorkStation to
export MNL LonWorks and MNB BACnet devices along with their Application
objects as solutions. A solution can be imported any number of times in other
EcoStruxure BMS servers where needed to reduce the duplication of effort.
For more information, see section 145.19 “Import and Export of MNL or MNB
Solutions” on page 5400.

21.5.7 Import and Export of MicroNet Solutions


You can import and export MicroNet networks by the EcoStruxure Building
Operation software. However, you cannot import and export network
components (subnets, devices and objects).
For more information, see section 21.12 “Import and Export of MicroNet
Solutions” on page 600.

21.5.8 Import and Export of Modbus Solutions


You can import and export Modbus objects, networks, devices, and solutions by
the EcoStruxure Building Operation software, with a few exceptions.
For more information, see section 21.13 “Import and Export of Modbus
Solutions” on page 601.

21.5.9 Import and Export of Sigma Solutions


You can import and export certain parts of a Sigma interface by the EcoStruxure
Building Operation software.
For more information, see section 21.14 “Import and Export of Sigma Solutions”
on page 602.

21.5.10 Import and Export of Xenta Solutions


You can import and export most Xenta objects and solutions.
For more information, see section 21.15 “ Import and Export of Xenta Solutions”
on page 603.

Technical 04-30006-02-en, May 2019


592
21 Import and Export
21.6 Import and Export of I/O Solutions

21.6 Import and Export of I/O Solutions


You can import and export I/O points, devices, and solutions from one SmartX
server to another. All the properties of modules and their points, as well as their
bindings, are preserved.
Generally, you can export the following module and point properties:
• Module IDs.
• Channel numbers
• All other configuration parameters
• Requested values
For more information, see the I/O Bus Parts topic on WebHelp.

Import
In most cases, you can import the following module and point properties:
• Module IDs. When you import a module, if the module has been used by
another module, the module is still imported. However, the module ID is set
to Null and an import warning is reported.
• Channel numbers. When you import a point, if the channel number has
been used by another point, the point is still imported. However, the channel
number is set to Null and an import warning is reported.
• All other configuration parameters
• Requested values
If an I/O module or point already exists on the targeted SmartX server during an
import, the import process creates a copy of the object and generates an
alternate name to prevent accidental overwriting. For example, a module named
Slot03:UI16 is renamed Slot03:UI16_2.

04-30006-02-en, May 2019 Technical


593
21 Import and Export
21.7 Import and Export of b3 Solutions

21.7 Import and Export of b3 Solutions


You can import and export b3 BACnet devices, objects, and solutions by the
EcoStruxure Building Operation software.

Export
Generally, you can:
• Export a b3 BACnet device and its contents to a file.
• Export one or more objects from a b3 BACnet device to a file.
For more information, see section 118.3 “b3 BACnet Device Controllers” on
page 4491.

Import
Generally, you can:
• Import a file containing objects, solutions, or the entire contents of a b3
BACnet device to an MS/TP Network.
• Import one or more objects from a b3 BACnet device to a b3 BACnet device
Application folder.

NOTICE
After you import a file containing objects, solutions, or the entire contents of a
b3 BACnet device, you need to associate the device object with a live b3
BACnet device in the Hardware folder, or the EcoStruxure BMS server's
Device Discovery tab. You then download the device. If you fail to do so, the
b3 BACnet device is unusable.

Technical 04-30006-02-en, May 2019


594
21 Import and Export
21.8 Import and Export of BACnet Solutions

21.8 Import and Export of BACnet Solutions


You can export and import BACnet objects, devices, and solutions from one
EcoStruxure BMS server to another.
Using the EcoStruxure Building Operation Export, you select multiple user-
created objects for export. After an export takes place, you can import the
BACnet solution to an Application folder on another EcoStruxure BMS server.
However, some objects that you select may not be exportable, such as an entire
Application folder, which is a system object. For more information, see section
23.7 “Cannot Export BACnet System Objects” on page 652.

Export of BACnet object proxies and BACnet devices


Keep in mind the following information:
• Object IDs are preserved during export.
• The enabled state of Trend logs is preserved during an export and import of
a Trend solution.
• The enabled state of Alarms is preserved during an export and import of an
Alarms solution. Intrinsic (built-in) alarms are also included.
• A device instance number is not preserved in an export. An imported
BACnet device must be associated with a device. For more information, see
section 110.5 “Associating a BACnet Instance Number with a Device ” on
page 3814.
For more information, see section 108.1 “BACnet Overview” on page 3759.

Import of BACnet object proxies and BACnet devices


Note the following information:
• The Services supported property in the Advanced tab of a device lists the
supported services, such as create-object. If an import contains any
BACnet objects for a device that does not support the create-object
service, then these objects must be created in the device by some
proprietary means provided by the device vendor. Consequently, you need
to configure these objects with object identifiers matching those in the
import. In this case, an upload of the device is recommended.
• By default, the BACnet Notification includes a reference to the BACnet
Interface object. If any references are invalid, the import process warns you
that the references were not imported. You must manually reset these
references after the import takes place before or after downloading. To
avoid this problem, set the BACnet Interface object on the source and
destination servers with the same EcoStruxure BMS server name. For more
information, see section 23.8 “Cannot Import BACnet Notification
References” on page 653.
• Import does not include the current status flag, such as enabled, on any
device or object in the export file. As a result, these statuses may not be in
synch with the actual device or object because they are not automatically
downloaded after the import takes place. The import process may also
indicate that a manual download is necessary. If so, you need to manually
download to the device or object after an import.
• During an import, references to BACnet devices or objects that do not exist
on the destination EcoStruxure BMS server, will not be created. Therefore,
you need to recreate these references manually after the import takes
place.

04-30006-02-en, May 2019 Technical


595
21 Import and Export
21.8 Import and Export of BACnet Solutions

Export of BACnet objects


Keep in mind the following information:
• During an export, the object IDs are preserved but not the device IDs.
• The enabled state on Trends are preserved during an export or import.
• The enabled state on Schedules are preserved during an export or import.
• The enabled state on Alarms are preserved during an export or import. The
intrinsic (built-in) alarms are also included.
• A BACnet Interface can only be imported to an Enterprise Server from an
Enterprise Server, or to a SmartX server from a SmartX server . It is not
possible to assign the device ID of the BACnet interface manually when
importing, only automatically assigned IDs are possible. To import an entire
BACnet interface, complete the following tasks:
– Assign a unique network ID in the Properties of any imported MSTP
network.
– Associate any imported BACnet devices with a device from the
Hardware folder or Device Discovery manager.
• An imported MSTP network will be created on the same COM port on the
SmartX server to which it is imported and the SmartX server from which it
was exported. The network ID must be assigned a unique value in the
Properties of the MSTP network.

Import of BACnet objects


Note the following information:
• Import only preserves object IDs if there are no conflicts.
• By default, BACnet Notifications reference the BACnet Interface. If any
reference is invalid, the import continues with a warning message, but the
reference will not be created. To avoid this problem, make sure that the
EcoStruxure Building Operation name for the BACnet Interface object is the
same on the source and destination EcoStruxure BMS servers. For more
information, see section 23.8 “Cannot Import BACnet Notification
References” on page 653.
• Schedules with Calendar references import successfully if the Calendar is
included in the export file or already exists on the destination EcoStruxure
BMS server. If this does not occur, you must manually recreate these
references after the import takes place.
• During an import, references to BACnet devices or objects that do not exist
on the destination EcoStruxure BMS server, will not be created. Therefore,
you need to recreate these references manually after the import takes
place.

Technical 04-30006-02-en, May 2019


596
21 Import and Export
21.9 Import and Export of GCM Solutions

21.9 Import and Export of GCM Solutions


You use WorkStation to import the migrated GCM database into the SmartX
server. The SmartX server uses the export file created by the TAC I/A Series
Migrator for the import process, which then creates a NETWORK 8000 Interface
with all the migrated objects in sub-folders under the NETWORK 8000 Interface
folder.
You can export any group of NETWORK 8000 objects and import them into other
SmartX server that have a NETWORK 8000 Interface.

NOTICE
There can be only one NETWORK 8000 Interface in a SmartX server. If you
attempt to import another interface, the EcoStruxure BMS identifies import
conflicts during the import process and prevents the import from taking place.
However, you can export any group of NETWORK 8000 objects and import
them into another SmartX server with a NETWORK 8000 Interface.

04-30006-02-en, May 2019 Technical


597
21 Import and Export
21.10 Import and Export of LonWorks Solutions

21.10 Import and Export of LonWorks


Solutions
You can export and import a LonWorks solution in parts or in its entirety, such as
a particular device, or the configuration of an entire network.
When you export a LonWorks solution, bindings are included if both sender and
receiver devices are part of the exported solution. If either is missing and a
corresponding sender or receiver is detected in the new system, a binding is still
created without causing a binding conflict.
When the exported solution is imported, if either a sender or a receiver is
missing and no corresponding EcoStruxure BMS server or receiver is detected
in the new system, bindings to and from devices outside the exported solution
are cleared.

NOTICE
There is a workaround that allows you to import solutions and at the same time
resolve binding conflicts. For more information, see section 21.24 “Export
Library Mode” on page 617.

Technical 04-30006-02-en, May 2019


598
21 Import and Export
21.11 Import and Export of MNL or MNB Solutions

21.11 Import and Export of MNL or MNB


Solutions
In the EcoStruxure Building Operation software, you can use WorkStation to
export MNL LonWorks and MNB BACnet devices along with their Application
objects as solutions. A solution can be imported any number of times in other
EcoStruxure BMS servers where needed to reduce the duplication of effort.
For more information, see section 21.1 “Import and Export Overview” on page
585.

21.11.1 Exporting an MNL or MNB Solution


You use WorkStation to export an MNL LonWorks device or Application as an
MNL LonWorks solution, or an MNB BACnet device as an MNB BACnet solution,
so that it can be reused in other EcoStruxure BMS servers. When you export an
MNL LonWorks or MNB BACnet Application, the corresponding MNL LonWorks
or MNB BACnet application type is automatically included in the solution file.
For more information, see section 21.3 “Exporting a Solution” on page 589.

21.11.2 Importing an MNL or MNB Solution


You use WorkStation to import an MNL LonWorks or MNB BACnet solution that
was created or modified on another EcoStruxure BMS server.
For more information, see section 21.27 “Importing a Solution” on page 623.

NOTICE
If a name conflict occurs during the import process, proceed with caution. It is
possible that the existing application type and the application type in the
solution file are not identical. In such a case, the Application objects that are
created during import may not contain all the attributes of the original
Application objects on the source EcoStruxure BMS server.
For more information, see section 148.21 “Name Conflicts During MNL or MNB
Solution Import” on page 5559.

NOTICE
If a name conflict occurs during the import process, and the MNL or MNB
device model number is different between the existing application type and
the application type in the solution file, do not proceed with the import.
Instead, use WorkPlace Tech Editor to import the original application type from
which the solution was created and then save it with a different name.
For more information, see section 145.11 “Importing a Single MNL or MNB
Application Type” on page 5389.
For more information, see WorkPlace Tech Editor and Monitor Engineering
Guide Supplement (F-27745)

04-30006-02-en, May 2019 Technical


599
21 Import and Export
21.12 Import and Export of MicroNet Solutions

21.12 Import and Export of MicroNet Solutions


You can import and export MicroNet networks by the EcoStruxure Building
Operation software. However, you cannot import and export network
components (subnets, devices and objects).
Keep the following points in mind when importing MicroNet networks:
• You can only import a maximum of two MicroNet networks to a SmartX
server (one for each of the two serial ports).
• You can only import one MicroNet network to an Enterprise Server, which
usually has only one serial port (unless you physically increase the number
of ports).

Technical 04-30006-02-en, May 2019


600
21 Import and Export
21.13 Import and Export of Modbus Solutions

21.13 Import and Export of Modbus Solutions


You can import and export Modbus objects, networks, devices, and solutions by
the EcoStruxure Building Operation software, with a few exceptions.
Keep the following points in mind when exporting or importing Modbus objects
or solutions:
• Modbus TCP Server. There can be only one Modbus TCP Server per
EcoStruxure BMS server. If one is found, the import will not succeed.
• Modbus Interface. There can be only one Modbus Interface with the same
instance number per EcoStruxure BMS server. If one is found, the import will
not succeed.
• Modbus TCP Network. There can be only one Modbus TCP Network with
the same instance number per EcoStruxure BMS server. If one is found, the
import will not succeed.
For more information, see section 149.1 “Modbus Overview” on page 5563.

04-30006-02-en, May 2019 Technical


601
21 Import and Export
21.14 Import and Export of Sigma Solutions

21.14 Import and Export of Sigma Solutions


You can import and export certain parts of a Sigma interface by the EcoStruxure
Building Operation software.
You can import and export the following objects within a Sigma interface:
• Global values virtual controller and its global values
• Graphics
• Log sets
• Segments created in the Sigma interface, and their shortcuts
• Text report groups

Technical 04-30006-02-en, May 2019


602
21 Import and Export
21.15 Import and Export of Xenta Solutions

21.15 Import and Export of Xenta Solutions


You can import and export most Xenta objects and solutions.
There are limitations to retaining LonWorks bindings and to where you can
import solutions. For more information, see section 21.10 “Import and Export of
LonWorks Solutions” on page 598.

04-30006-02-en, May 2019 Technical


603
21 Import and Export
21.16 Export of Programs, Functions, and Applications

21.16 Export of Programs, Functions, and


Applications
You can export programs, functions, and applications from the EcoStruxure
Building Operation database.

21.16.1 Import and Export of Script Solutions


You can import or export Script programs, functions, and solutions from one
EcoStruxure BMS server to another.
For more information, see section 21.17 “Import and Export of Script Solutions”
on page 606.

21.16.2 Import and Export of User Management


Solutions
You can export and then import most domains, user accounts, user account
groups, and workspaces.
For more information, see section 21.18 “Import and Export of User
Management Solutions” on page 607.

21.16.3 Import and Export of Alarm Solutions


You can export and then import most EcoStruxure Building Operation Alarm
objects and solutions.
For more information, see section 21.19 “Import and Export of Alarm Solutions”
on page 611.

21.16.4 Import and Export of Trend Solutions


You can export and import most EcoStruxure Building Operation Trend logs,
viewers, and solutions, with the following exceptions.
For more information, see section 21.20 “Import and Export of Trend Solutions”
on page 612.

21.16.5 Import and Export of Schedule Solutions


You can export and import Schedules and Calendars from one EcoStruxure
BMS server to another.
For more information, see section 21.21 “Import and Export of Schedule
Solutions” on page 613.

Technical 04-30006-02-en, May 2019


604
21 Import and Export
21.16 Export of Programs, Functions, and Applications

21.16.6 Import and Export of Report Solutions


You can import and export energy related objects. Otherwise, Import and Export
of report objects and solutions is not recommended.
For more information, see section 21.22 “Import and Export of Report Solutions”
on page 615.

21.16.7 Custom Object Type


Custom object types are object definitions that extend the standard EcoStruxure
Building Operation object set. These object definitions are included with the
object during the import and export processes.
For more information, see section 21.23 “Custom Object Type” on page 616.

21.16.8 Export Library Mode


You use Export Library mode reference filter type during an export to generate
a file that you can use anywhere and know that every reference has been
resolved to what you expect. On Import, it is expected that all references will be
resolved. For example, if you place the export into a library to be used by
someone else, all references should be resolved based on objects in the
exported file’s solution.
For more information, see section 21.24 “Export Library Mode” on page 617.

04-30006-02-en, May 2019 Technical


605
21 Import and Export
21.17 Import and Export of Script Solutions

21.17 Import and Export of Script Solutions


You can import or export Script programs, functions, and solutions from one
EcoStruxure BMS server to another.

NOTICE
Export files are not backward compatible. A Script or Function Block program
that is exported from v1.7 will not import successfully into an earlier release.

Export
You can export one or more Script programs or functions from an Enterprise
Central, Enterprise Server, SmartX server, or b3 device.

Import
Keep the following points in mind to preserve bindings during an import:
• Import the referenced objects to the targeted EcoStruxure BMS server or
fieldbus device prior to importing the actual Script programs and functions
that reference these objects. For example, import any referenced I/O points
before importing the programs that read and write the I/O points.
• Import a previously exported file that contains one or more Script programs
or functions to an appropriate destination, such as an Enterprise Server.
For more information, see section 64.2 “Script Editor Program Creation” on page
1994.

NOTICE
In multi-server configurations, you may have to manually recreate some
bindings after an import takes place.

Technical 04-30006-02-en, May 2019


606
21 Import and Export
21.18 Import and Export of User Management Solutions

21.18 Import and Export of User Management


Solutions
You can export and then import most domains, user accounts, user account
groups, and workspaces.
Keep in mind the following information regarding the export and import of User
Management objects and solutions.

Export
Within the Domains folder, you can export one domain at a time by choosing
either the full or partial contents. The Domains folder contains the following
exportable folders:
• EcoStruxure Building Operation Domains. These domains are preinstalled
on Enterprise Servers as well as SmartX servers that are part of a multi-
server configuration.The domains are also preinstalled on Enterprise
Central.
– On the Enterprise Central or Enterprise Server, this domain contains
user accounts, user account groups, software permissions, policies,
and workspaces. In a multi-server scenario, this domain also supports
the functionality to add or remove member servers from the domain.
– On an Automation Server, this domain only supports communication
with the Enterprise Server.
• User-created Domains. These domains are created by an administrator or
engineer for a particular purpose. You can create and then export user-
created domains and their contents.
• User-created Accounts and Account Groups. In contrast to other domain
objects, user accounts and groups are unique to the domain to which they
belong. Therefore, you cannot export them individually. They can only be
exported as part of an export of an entire user-created domain.
• Workspaces. Workspaces can be created by the user in any of the
domains, or exported individually. An export of an entire domain includes all
the workspaces within it.
You cannot export local workspaces.
For more information, see the User Account Management Overview topic on
WebHelp.

NOTICE
The EcoStruxure Building Operation software permissions are set at the path
and/or command level, rather than at the object or folder level. Therefore, do
not change the names of the exported objects or folders. For example, if you
change the name of an exported folder, users with previously granted path
permissions will be denied access to this folder and its subfolders after the
import takes place. You will have to reset these permissions.

Some objects that you select for export may not be exportable because they are
used internally:
• Domains/Local. Preinstalled on all EcoStruxure BMS servers, Local is a
system object designed primarily for local server log-on activities.

04-30006-02-en, May 2019 Technical


607
21 Import and Export
21.18 Import and Export of User Management Solutions

• System objects. In addition, there are system objects within the


Domains/Local folder that cannot be exported, for example, groups, users,
and workspaces (except workspaces that are created by users).

NOTICE
When you import a domain, all user accounts are disabled and their
passwords deleted. After the import, you have to enable the accounts again
and create new passwords for all users.

For more information, see section 23.11 “Cannot Export User Management
System Objects” on page 658.

Import
You can import the following objects:
• An 'out-of-the-box' domain. For example, the Users Domain contains user
accounts, user account groups, and group-related workspaces and
software permissions.

• A user-defined domain.

Technical 04-30006-02-en, May 2019


608
21 Import and Export
21.18 Import and Export of User Management Solutions

• The full contents of any exported workspaces within the Workspaces folder
of a domain.

04-30006-02-en, May 2019 Technical


609
21 Import and Export
21.18 Import and Export of User Management Solutions

NOTICE
Software permissions are configured at the path and/or command level, rather
than at the object or folder level. Therefore, when you import a solution,
software permissions apply only to any identically named objects and folders
found on the targeted location. For example, if you change the name of a
folder, users with previously granted path permissions will be denied access
to this folder and its subfolders. You will have to reset these permissions.

Technical 04-30006-02-en, May 2019


610
21 Import and Export
21.19 Import and Export of Alarm Solutions

21.19 Import and Export of Alarm Solutions


You can export and then import most EcoStruxure Building Operation Alarm
objects and solutions.

Export
The EcoStruxure Building Operation software exports the following Alarm
objects:
• Alarms. Alarm references are preserved during export.
• Alarm Views. Alarm View references are preserved during export.
• Event Views. Event View references are preserved during export.
• Automatic assignment. References of automatically assigned objects are
preserved during export.
• Notifications. Notification references are preserved during export.
• User Action (supporting objects). References to the following supporting
objects: categories, cause notes, action notes, and checklists are
preserved during export. For more information, see section 21.30 “Import
and Export of Supporting Objects” on page 628.
The following cannot be exported:
• Alarm styles.
• Default Alarm panes.
• Default Event panes.
• Customized Alarm and Event View Columns
For more information, see the Alarm Functions topic on WebHelp.

Import
When an exported file is imported, the EcoStruxure Building Operation software
preserves the references among the imported Alarm objects, with a few
exceptions:
• User Action (supporting objects). The import process handles categories,
cause notes, action notes, and checklists in the following ways:
– If User Actions with conflicting names are found on the targeted
EcoStruxure BMS server, Import reestablishes the references among
the objects with the identical name. The import process does not create
the imported object under a new name.
– If User Actions are imported to an Enterprise Central or Enterprise
Server in a multi-server configuration, the supporting objects have to be
recreated on the top server. After creation, they are automatically
copied to the connected tier level servers. For more information, see
the Cannot Import Supporting Objects for Alarms topic on WebHelp.

04-30006-02-en, May 2019 Technical


611
21 Import and Export
21.20 Import and Export of Trend Solutions

21.20 Import and Export of Trend Solutions


You can export and import most EcoStruxure Building Operation Trend logs,
viewers, and solutions, with the following exceptions.

Export
Keep the following points in mind when exporting Trend objects or solutions:
• Export cannot export historical log data from an EcoStruxure BMS server.
• When exporting Trend objects, you need to follow some guidelines for
porting Trend solutions from one EcoStruxure BMS server to another. For
more information, see section 23.9 “Cannot Preserve Trend Object Bindings
During Import” on page 655.
• An exported extended trend log does not retain the references to then
monitored trend log.
For more information, see the Trends Overview topic on WebHelp.

Import
To preserve bindings during an import:
• Import the referenced points, devices, or programs to the targeted
EcoStruxure BMS server prior to importing the Trend logs or solutions. For
example, import any referenced I/O points and programs first. Then, import
the Trend logs that reference them.
• Import all the Trend objects in a particular order. For more information, see
section 23.9 “Cannot Preserve Trend Object Bindings During Import” on
page 655.

Technical 04-30006-02-en, May 2019


612
21 Import and Export
21.21 Import and Export of Schedule Solutions

21.21 Import and Export of Schedule Solutions


You can export and import Schedules and Calendars from one EcoStruxure
BMS server to another.

Export and Import of Calendars


Generally, you can export and then import:
• Standalone Calendars. For more information, see the Calendars in
WorkStation topic on WebHelp.
• Lead and Shadow Calendars. References are preserved in different ways
depending on what you include in the export file:
– Export both the Lead and Shadow Calendars together in the same file:
The references are preserved when you import the file.
– Export only Shadow Calendars without the Lead Calendars: During the
import, the EcoStruxure Building Operation software tries to resolve to
the Lead Calendars using the reference path specified in the import
file. If a Lead Calendar is missing, the reference is marked as
unresolved so you can manually fix this reference later.

Export and Import of Schedules


In most cases, you can export and then import:
• Standalone Schedules. For more information, see the Schedules Overview
topic on WebHelp.
• Lead and Shadow Schedules: References are preserved in different ways
depending on what you include in the export file:
– Export both the Lead and Shadow Schedules together in the same file:
The references are preserved when you import the file.
– Export only Shadow Calendars without the Lead Calendars: During the
import, the EcoStruxure Building Operation software tries to resolve to
the Lead Calendars using the reference path specified in the import
file. If a Lead Calendar is missing, the reference is marked as
unresolved so you can manually fix this reference later.
• Schedules with Calendar references. References are preserved in different
ways depending on what you include in the export file:
– Export both the Schedule and Calendars together in the same file: The
references are preserved when you import the file.
– Export only the Schedule without the Calendars: During the import, the
EcoStruxure Building Operation software tries to resolve to the
Calendars using the server absolute reference paths specified in the
import file. If a Lead Calendar is missing, the reference is marked as
unresolved so you can manually fix this reference later.
The EcoStruxure Building Operation software preserves the reference paths for
Schedules and Calendars contained in an imported solution.
To ensure that the reference paths are resolved properly, keep related items in
the same export file:
• Include all the referenced Schedules and Calendars.
• Include both the Lead and Shadow Calendars.
• Include both the Lead and Shadow Schedules.

04-30006-02-en, May 2019 Technical


613
21 Import and Export
21.21 Import and Export of Schedule Solutions

When you import objects joined by a reference in separate export files, import
the objects in the following order:
• Import the Calendars before the Schedules.
• Import the Lead objects before the Shadow objects.

Multi-server Configuration
If you import Shadow Schedules or Calendars to an EcoStruxure BMS server
and the references to the Lead are broken, you need to manually recreate
references:
• In the Shadow Calendars that point to the Lead Calendar
• In the Shadow Schedules that point to the Lead Schedule
For more information, see the Schedule and Calendar Synchronization topic on
WebHelp.

Technical 04-30006-02-en, May 2019


614
21 Import and Export
21.22 Import and Export of Report Solutions

21.22 Import and Export of Report Solutions


You can import and export energy related objects. Otherwise, Import and Export
of report objects and solutions is not recommended.
All energy related objects, (sites and meters) are contained in the Energy folder.
For more information, see the Energy Monitoring Reports topic on WebHelp.
You can import/export the Energy folder complete with sites and meters and
their configurations, or you can import/export a site or sub-site.
You can also use WebReports to complete the following tasks:
• Create a report pack of any custom reports that were created on the source
Reports Server. For more information, see the Report Packs topic on
WebHelp.
• Upload the custom reports pack to the targeted Reports Server for
deployment. For more information, see the Custom Reports topic on
WebHelp.
After uploading the reports packs from WebReports, the new reports are
automatically created in the default Reports folder of the Enterprise Central
or Enterprise Server.

04-30006-02-en, May 2019 Technical


615
21 Import and Export
21.23 Custom Object Type

21.23 Custom Object Type


Custom object types are object definitions that extend the standard EcoStruxure
Building Operation object set. These object definitions are included with the
object during the import and export processes.

Technical 04-30006-02-en, May 2019


616
21 Import and Export
21.24 Export Library Mode

21.24 Export Library Mode


You use Export Library mode reference filter type during an export to generate
a file that you can use anywhere and know that every reference has been
resolved to what you expect. On Import, it is expected that all references will be
resolved. For example, if you place the export into a library to be used by
someone else, all references should be resolved based on objects in the
exported file’s solution.
The following references are exported in the Library Mode:
• Unlocked references to objects or properties within the solution being
exported
• Task references behave as if task objects are within the solution being
exported
• References to supporting objects (considered to be within the solution
being exported)
The following references are not included in Library Mode exports:
• References to objects or properties outside the current EcoStruxure BMS
server
• References to objects or properties outside the solution being exported
• Locked references to objects or properties inside the solution being
exported

04-30006-02-en, May 2019 Technical


617
21 Import and Export
21.25 Exportable and Non-exportable Objects

21.25 Exportable and Non-exportable Objects


Most objects and data can be exported, with a few exceptions.

Exportable Objects
The following table lists the types of data that can be exported.

Table: Exportable Data


Types of Data Examples

Object Properties Name, Description, or Engineering Unit

Top level objects and lower tier BACnet devices, LonWorks devices, folders,
objects nested within a top level programs, graphics, alarms, and trends
object

References and bindings Values and type of references (including


bindings) that are part of the object:
• Absolute
• Relative

Supporting objects Depending on the selected object, the following


objects are included:
• Alarm objects, such as Categories, Cause
Notes, Action Notes, and Checklists
For more information, see section 21.30
“Import and Export of Supporting Objects”
on page 628.

Non-exportable Objects
The following table lists the types of data that cannot be exported.

Table: Non-exportable Data


Types of Data Example

Runtime values BACnet Device ID or LonWorks Neuron ID

Runtime properties Variables

Default (System) objects Building Operation default and system objects, for
example, System folder of Local Domain

NOTICE
The EcoStruxure Building Operation software does not export some object
properties like output values, forced values, and device IDs.

Technical 04-30006-02-en, May 2019


618
21 Import and Export
21.26 Import

21.26 Import
Import involves reading a previously exported file and then recreating objects
based on the configuration of the file. To import a solution, select a target
location on the EcoStruxure BMS server and then click the Import command. For
convenience, the Import dialog box displays a summary and preview of the
solution you want to import. Summary displays information about the file to be
imported while Import Preview displays the names and file structure of the
objects to be imported. Custom Type preview displays the names of the custom
types that will be imported. For more information, see section 21.27 “Importing a
Solution” on page 623.
A name conflict is detected if any objects in the targeted destination have the
same name as any of the top level objects in the imported solution. In addition,
the import process generates an alternate name to prevent accidental
overwriting. For more information, see section 23.2 “Name Conflicts During
Import” on page 644.
During import you can choose to merge objects. For more information, see
section 21.32 “Conflict Resolution Methods ” on page 631.

04-30006-02-en, May 2019 Technical


619
21 Import and Export
21.26 Import

Figure: Import dialog box with preview of the solution

If there are container conflicts, the import is prevented from taking place and the
Import button is unavailable. The reason for why the container cannot be
imported is shown in the error(s) tab.
For more information, see section 23.3 “Container Conflicts During Import” on
page 646.

Technical 04-30006-02-en, May 2019


620
21 Import and Export
21.26 Import

Figure: Container conflict in Import dialog box

21.26.1 Import of Networks, Devices, and Protocols


You can import networks, devices, and communication protocols to the
EcoStruxure Building Operation database.
For more information, see section 21.28 “Import of Networks, Devices, and
Protocols” on page 624.

04-30006-02-en, May 2019 Technical


621
21 Import and Export
21.26 Import

21.26.2 Import of Programs, Functions, and


Applications
You can import programs, functions, and applications to the EcoStruxure
Building Operation database.
For more information, see section 21.29 “Import of Programs, Functions, and
Applications” on page 626.

Technical 04-30006-02-en, May 2019


622
21 Import and Export
21.27 Importing a Solution

21.27 Importing a Solution


You import a solution that was created or modified on another EcoStruxure BMS
server. You can also use the standard copy and paste method to copy solutions
to other file locations on the same server.
For more information, see section 21.1 “Import and Export Overview” on page
585.

To import a solution
1. In WorkStation, in the System Tree pane or List View
View, select a location
where you want to import a solution.
2. On the File menu, click Import
Import.
3. In the Open dialog box, select the file and click Open
Open.
4. In the Import dialog box, click Import
Import.

04-30006-02-en, May 2019 Technical


623
21 Import and Export
21.28 Import of Networks, Devices, and Protocols

21.28 Import of Networks, Devices, and


Protocols
You can import networks, devices, and communication protocols to the
EcoStruxure Building Operation database.

21.28.1 Import and Export of I/O Solutions


You can import and export I/O points, devices, and solutions from one SmartX
server to another. All the properties of modules and their points, as well as their
bindings, are preserved.
For more information, see section 21.6 “Import and Export of I/O Solutions” on
page 593.

21.28.2 Import and Export of b3 Solutions


You can import and export b3 BACnet devices, objects, and solutions by the
EcoStruxure Building Operation software.
For more information, see section 21.7 “Import and Export of b3 Solutions” on
page 594.

21.28.3 Import and Export of BACnet Solutions


You can export and import BACnet objects, devices, and solutions from one
EcoStruxure BMS server to another.
For more information, see section 21.8 “Import and Export of BACnet Solutions”
on page 595.

21.28.4 Import and Export of GCM Solutions


For more information, see section 21.9 “Import and Export of GCM Solutions” on
page 597.

21.28.5 Import and Export of LonWorks Solutions


You can import and export the contents of an entire LonWorks network.
For more information, see section 21.10 “Import and Export of LonWorks
Solutions” on page 598.

Technical 04-30006-02-en, May 2019


624
21 Import and Export
21.28 Import of Networks, Devices, and Protocols

21.28.6 Import and Export of MNL or MNB Solutions


In the EcoStruxure Building Operation software, you can use WorkStation to
export MNL LonWorks and MNB BACnet devices along with their Application
objects as solutions. A solution can be imported any number of times in other
EcoStruxure BMS servers where needed to reduce the duplication of effort.
For more information, see section 145.19 “Import and Export of MNL or MNB
Solutions” on page 5400.

21.28.7 Import and Export of MicroNet Solutions


You can import and export MicroNet networks by the EcoStruxure Building
Operation software. However, you cannot import and export network
components (subnets, devices and objects).
For more information, see section 21.12 “Import and Export of MicroNet
Solutions” on page 600.

21.28.8 Import and Export of Modbus Solutions


You can import and export Modbus objects, networks, devices, and solutions by
the EcoStruxure Building Operation software, with a few exceptions.
For more information, see section 21.13 “Import and Export of Modbus
Solutions” on page 601.

21.28.9 Import and Export of Sigma Solutions


You can import and export certain parts of a Sigma interface by the EcoStruxure
Building Operation software.
For more information, see section 21.14 “Import and Export of Sigma Solutions”
on page 602.

21.28.10 Import and Export of Xenta Solutions


You can import and export most Xenta objects and solutions.
For more information, see section 21.15 “ Import and Export of Xenta Solutions”
on page 603.

04-30006-02-en, May 2019 Technical


625
21 Import and Export
21.29 Import of Programs, Functions, and Applications

21.29 Import of Programs, Functions, and


Applications
You can import programs, functions, and applications to the EcoStruxure
Building Operation database.

21.29.1 Import and Export of Script Solutions


You can import or export Script programs, functions, and solutions from one
EcoStruxure BMS server to another.
For more information, see section 21.17 “Import and Export of Script Solutions”
on page 606.

21.29.2 Import and Export of User Management


Solutions
You can export and then import most domains, user accounts, user account
groups, and workspaces.
For more information, see section 21.18 “Import and Export of User
Management Solutions” on page 607.

21.29.3 Import and Export of Alarm Solutions


You can export and then import most EcoStruxure Building Operation Alarm
objects and solutions.
For more information, see section 21.19 “Import and Export of Alarm Solutions”
on page 611.

21.29.4 Import and Export of Trend Solutions


You can export and import most EcoStruxure Building Operation Trend logs,
viewers, and solutions, with the following exceptions.
For more information, see section 21.20 “Import and Export of Trend Solutions”
on page 612.

21.29.5 Import and Export of Schedule Solutions


You can export and import Schedules and Calendars from one EcoStruxure
BMS server to another.
For more information, see section 21.21 “Import and Export of Schedule
Solutions” on page 613.

Technical 04-30006-02-en, May 2019


626
21 Import and Export
21.29 Import of Programs, Functions, and Applications

21.29.6 Import and Export of Report Solutions


You can import and export energy related objects. Otherwise, Import and Export
of report objects and solutions is not recommended.
For more information, see section 21.22 “Import and Export of Report Solutions”
on page 615.

04-30006-02-en, May 2019 Technical


627
21 Import and Export
21.30 Import and Export of Supporting Objects

21.30 Import and Export of Supporting


Objects
Supporting objects, configured by users, are an integral part of a ported
solution. The export process can automatically include supporting objects in an
export file.
When you export a container it automatically includes the necessary supporting
objects in the export file. When the exported file is imported, the supporting
objects are listed but are not included in the actual total number of objects. For
more information, see section 21.2 “Export” on page 587.

Figure: Import preview with supporting objects

Technical 04-30006-02-en, May 2019


628
21 Import and Export
21.30 Import and Export of Supporting Objects

Keep the following points in mind when importing or exporting a solution that
contains supporting objects:
• You can export action notes, cause notes, categories, checklists, and
content types from the List View.
• You can export action notes, action note groups, cause notes, cause note
groups, categories, checklists, and content types from the System Tree
pane.
• Import recreates any supporting objects included in the original export that
do not exist on the targeted EcoStruxure BMS server. For more information,
see section 23.10 “Supporting Objects Already Exist” on page 656.
• Import does not recreate or modify any existing objects on the EcoStruxure
BMS server. For more information, see section 23.2 “Name Conflicts During
Import” on page 644.

04-30006-02-en, May 2019 Technical


629
21 Import and Export
21.31 Import and Export of Bindings and Binding Templates

21.31 Import and Export of Bindings and


Binding Templates
The EcoStruxure Building Operation software imports and exports bindings and
binding templates with a few exceptions.

Export of Bindings and Binding Objects


Keep the following points in mind:
• Variable connectors. When an object that is the destination of a variable
connector is selected for export, the information for the variable connector
object is included in the export file automatically. For more information, see
section 17.1 “Bindings Overview” on page 437.
• Objects or properties with bindings. It is recommended that you combine all
objects or properties that are bound to each other in the same export file.
For example, combine two programs that reference each other in the same
export file. If exported together, they will be bound when imported. If
exported separately, see the import information below.
• Binding templates. Located in the System folder, the Binding Templates
folder is a system object and, therefore, cannot be exported. However, you
can select one or more templates within this folder for export.

Import of Bindings and Binding Objects


Note the following information:
• Objects or properties with bindings where the bound objects are in
separate import files. To preserve bindings during an import, import the
referenced objects to the targeted EcoStruxure BMS server prior to
importing the actual objects or programs that refer to these objects. For
example, import any referenced I/O points before importing the programs
that read and write the I/O points. No matter what order of import is used,
the import process will restore the bindings if they are valid at the time of
import.
• Binding templates. Binding templates that were exported from an
EcoStruxure BMS server version earlier than 1.2 will have names that are not
intuitive. After an import of these binding templates, you can rename the
binding template. For more information, see the Binding Template Name Is
Not Intuitive topic on WebHelp.

Technical 04-30006-02-en, May 2019


630
21 Import and Export
21.32 Conflict Resolution Methods

21.32 Conflict Resolution Methods


There are two ways to handle name conflicts during import: Rename imported
objects and Merge with Existing Objects. The conflict resolution method can be
changed during import.

21.32.1 Rename Imported Objects


During the import, objects are renamed with a suffix and added alongside the
existing object. If the objects are in a hierarchy, only the top-level container is
renamed. Objects inside a top-level object, for example a folder or a MP-C, are
not renamed since they do not conflict with the objects in the top-level object
that is already present in the system.

21.32.2 Merge with Existing Objects


When conflicts are resolved by merging with existing objects, the following rules
are applied:
• Object names are the same after the import.
• Object properties that are editable get new values after the import.
For example, a setpoint (analog value) in a MP-C in your system has the
value 20. You then import the same MP-C with the same setpoint but with
the value 18. After the import the setpoint in your system has the same value
as the imported setpoint, that is 18.
• Object types must match otherwise the object and all its child objects are
not imported.
For example, you cannot import and merge an MP-C with an MP-V. If you try
to do an import with this kind of conflict, any conflicting objects are not
imported.
• When a top-level object is merged, the child objects are imported into the
existing top-level object if there are no conflicts. If any conflict occurs they
are merged according to the rules above.

04-30006-02-en, May 2019 Technical


631
22 Import and Export User
Interface

Topics
Export Status Dialog Box
Export Preview Dialog Box
Import Dialog Box
Import Status Dialog Box
22 Import and Export User Interface
22.1 Export Status Dialog Box

22.1 Export Status Dialog Box


The Export Status dialog box displays the progress and destination of the
exported file.

Figure: Export Status dialog box

04-30006-02-en, May 2019 Technical


635
22 Import and Export User Interface
22.2 Export Preview Dialog Box

22.2 Export Preview Dialog Box


Use the Export preview dialog box to view multiple objects that the system can
and cannot export from the EcoStruxure BMS server.

Figure: Export preview dialog box

Table: Export Preview Dialog Box


Component Description

Objects that Displays the objects that can be exported as part of the solution.
can be
exported

Objects that Displays the objects that cannot be exported as part of the solution.
cannot be For more information, see section 23.1 “Non-exportable Objects” on
exported page 643.

Export special Select to keep all external binding paths.

Export library Select to remove all external binding paths.


mode

Export Select to remove all external unlocked binding paths. For more
information, see section 17.11 “Locked and Unlocked Binding Paths”
on page 459.

Technical 04-30006-02-en, May 2019


636
22 Import and Export User Interface
22.3 Import Dialog Box

22.3 Import Dialog Box


Use the Import dialog box to preview the contents of the solution that you want
to import. This dialog box provides a summary of information about the imported
file and a preview of the names and file structure of the objects to be imported.

Figure: Import dialog box

Table: Import Dialog Box


Component Description

Import file Displays the location and name of the file selected for import.

04-30006-02-en, May 2019 Technical


637
22 Import and Export User Interface
22.3 Import Dialog Box

Continued
Component Description

Destination Displays the selected EcoStruxure BMS server location where the file
will be imported.

Number of Displays the total number of the objects selected for import to the
objects EcoStruxure BMS server, not including any supporting objects that may
be present. For more information, see section 21.30 “Import and Export
of Supporting Objects” on page 628.

Import Displays the names and the file structure of the objects in the solution to
preview be imported to the EcoStruxure BMS server.

Custom types Displays the Custom object types that will be part of the solution. If a
to import Custom object type in the import already exists on the EcoStruxure BMS
server, the preview will contain a message that the Custom object type
will not be imported. For more information, see section 21.23 “Custom
Object Type” on page 616.

error(s) Displays errors.

warnings(s) Displays warnings.

Copy to Click to copy error and warning messages to the clipboard.


clipboard

Technical 04-30006-02-en, May 2019


638
22 Import and Export User Interface
22.4 Import Status Dialog Box

22.4 Import Status Dialog Box


The Import Status dialog box displays the progress and destination of the
imported file.

Figure: Import Status dialog box

04-30006-02-en, May 2019 Technical


639
23 Import and Export
Troubleshooting

Topics
Non-exportable Objects
Name Conflicts During Import
Container Conflicts During Import
Import Button Not Available
Import Finished with Warnings
Import Failed
Cannot Export BACnet System Objects
Cannot Import BACnet Notification References
Cannot Preserve Trend Object Bindings During Import
Supporting Objects Already Exist
Cannot Export User Management System Objects
Cannot Import LonWorks Solution
23 Import and Export Troubleshooting
23.1 Non-exportable Objects

23.1 Non-exportable Objects


When exporting a solution, some system objects and properties are not
exported. For example, you cannot export the System folder, or object
properties like device IDs. If a system object or folder is mistakenly included in
an export selection, the export process provides an Export Preview area, which
lists the non-exportable objects. The export proceeds but the non-exportable
object is not included in the export file. For more information, see section 21.25
“Exportable and Non-exportable Objects” on page 618.
If you create your own objects and folders within a system folder, you can export
them separately to the corresponding system folder on the targeted EcoStruxure
BMS server, for example, System – Alarms.

NOTICE
Runtime values and properties are not exported.

23.1.1 Solution
Proceed with the export as previewed, or cancel the export entirely. If you
cancel the export, select only user-created objects and repeat the export
process.

04-30006-02-en, May 2019 Technical


643
23 Import and Export Troubleshooting
23.2 Name Conflicts During Import

23.2 Name Conflicts During Import


If you try to import an object into a container that already contains an object with
the same name as the imported object, the name of the imported object is
replaced. For example, you want to import a power meter named "Power Meter
1" into a Modbus Master Network Interface that already contains a power meter
named "Power Meter 1". In this case the imported power meter is renamed to
"Power Meter 1_2". The renaming prevents overwriting the existing object. You
cannot modify the system-generated names during the import. But, when the
import is completed you can rename the imported object again.
The objects that is renamed during the import are displayed in the warning(s)
tab in the Import dialog box.

Figure: Name conflicts during Import

Technical 04-30006-02-en, May 2019


644
23 Import and Export Troubleshooting
23.2 Name Conflicts During Import

Name conflicts can also occur if the import file contains any Custom object
types. If the target EcoStruxure BMS server already contains the Custom object
type, as determined by its name, a name conflict is indicated. In this case, a
warning is displayed that the Custom object type will not be imported and the
EcoStruxure BMS server Custom object type will be used.

NOTICE
In a hierarchical system, any objects nested under top-level objects do not
need renaming during import. Similarly, any top level objects with unique
names in the import file keep their original names.

23.2.1 Solutions
Use one of the following options if there is a name conflict:
• Click Copy to clipboard if you want to save the conflicts for later resolution.
• Click Import to accept the system generated name. You can change the
name later.
• Click Cancel
Cancel, then modify the selected server location name and import the
solution again.

04-30006-02-en, May 2019 Technical


645
23 Import and Export Troubleshooting
23.3 Container Conflicts During Import

23.3 Container Conflicts During Import


During an import, a preview conflict message can display if you attempt to
import objects to a container or EcoStruxure BMS server that does not support
the object. If this happens, the system prevents the import from taking place and
makes the Import button unavailable.

Figure: Container conflicts during Import

Technical 04-30006-02-en, May 2019


646
23 Import and Export Troubleshooting
23.3 Container Conflicts During Import

23.3.1 Solution
If there is a container conflict, click Copy to clipboard to paste the information to
a text editor and click Cancel
Cancel. Use the New command to view the list of objects
that can be created in any given server location. Import the solution that
contains creatable objects into a container that can accept the solution.

04-30006-02-en, May 2019 Technical


647
23 Import and Export Troubleshooting
23.4 Import Button Not Available

23.4 Import Button Not Available


The Import button on the Import dialog box is not available because of a
container conflict. This conflict occurs when an object in the solution cannot be
accepted by the destination container.

Figure: Import button not available

Technical 04-30006-02-en, May 2019


648
23 Import and Export Troubleshooting
23.4 Import Button Not Available

23.4.1 Solution
Click Copy to clipboard to paste the information into a text editor for later
resolution and then click Cancel
Cancel. Import the solution to a different container that
can accept the solution.

04-30006-02-en, May 2019 Technical


649
23 Import and Export Troubleshooting
23.5 Import Finished with Warnings

23.5 Import Finished with Warnings


The imported solution finishes but with warnings.

Figure: Import finished with warnings

23.5.1 Solution
Do any of the following.
• Click Show details to view information details and try to resolve the
problem.
• Click Copy to clipboard and paste into a text editor if you want to save the
warnings for later resolution.
• Click Close to end the import operation.

Technical 04-30006-02-en, May 2019


650
23 Import and Export Troubleshooting
23.6 Import Failed

23.6 Import Failed


The Failed to import message displays.

Figure: Import failed

23.6.1 Solution
In the Import dialog box, click Show details and view the error messages. After
resolving the errors or conflicts, import the solution again.

04-30006-02-en, May 2019 Technical


651
23 Import and Export Troubleshooting
23.7 Cannot Export BACnet System Objects

23.7 Cannot Export BACnet System Objects


Some objects that you select for export may not be exportable because they are
used internally by the EcoStruxure Building Operation software. For example,
you cannot export an Application folder, which is a system object. However, you
can export multiple user-created objects that are located within an Application
folder.

23.7.1 Solution
Export user-created objects that are located in the Application folder and then
import these objects to an Application folder on another EcoStruxure BMS
server.

Technical 04-30006-02-en, May 2019


652
23 Import and Export Troubleshooting
23.8 Cannot Import BACnet Notification References

23.8 Cannot Import BACnet Notification


References
The BACnet Notification may include a reference to a BACnet Interface or
device. During an import, a BACnet Notification reference may not be valid. If
this happens, the import continues with a warning message, but the reference
will not be created.

23.8.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• To avoid losing references to a BACnet Interface or device during an
import, make sure that the EcoStruxure Building Operation object name for
the BACnet Interface or device is the same on both the source and targeted
servers prior to the import. Use the Rename command on the Edit menu to
change the name, if necessary.

• To avoid losing references to a BACnet Workstation in a BACnet Notification


during an import, complete the following tasks prior to the import:
– Use the Rename command on the Edit menu to change the name of
the BACnet Workstation, if indicated.
– Host the BACnet Workstation on the targeted EcoStruxure BMS server.
For more information, see section 110.3 “Discovering a BACnet
Device” on page 3812.
• To reassign lost references to a BACnet Interface in a BACnet Notification
after an import, follow these steps:
– In WorkStation, in the System Tree pane, select the BACnet Notification
on the targeted EcoStruxure BMS server.
– Click the Device Recipient Rules tab.

– Select the recipient rule and click the Edit recipient rule button .
– In the Device Recipient Rule dialog box, in the Recipient device object
reference box, enter the correct BACnet Interface or device for the
BACnet Notification on the targeted EcoStruxure BMS server. For more
information, see section 116.109 “BACnet Notification – Device
Recipient Rule Dialog Box” on page 4328.

04-30006-02-en, May 2019 Technical


653
23 Import and Export Troubleshooting
23.8 Cannot Import BACnet Notification References

Technical 04-30006-02-en, May 2019


654
23 Import and Export Troubleshooting
23.9 Cannot Preserve Trend Object Bindings During Import

23.9 Cannot Preserve Trend Object Bindings


During Import
To preserve bindings during an import, you include all objects for a Trend
solution in the same export file, or create or import trend objects in a particular
order.

23.9.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Include all trend objects within the same export or import process.
• Create or import all trend objects in this order:
– Trend logs
– Internal or external Trend logs in field devices
– Extended trend logs
– Trend viewers

04-30006-02-en, May 2019 Technical


655
23 Import and Export Troubleshooting
23.10 Supporting Objects Already Exist

23.10 Supporting Objects Already Exist


Supporting objects that already exist in the EcoStruxure BMS server are not
imported. The objects that are not imported are listed in the warning(s) tab in the
Import dialog box. By clicking Import, you can still import all other objects
except for the ones listed in the warning(s) tab.

Figure: Supporting objects already exist.

Technical 04-30006-02-en, May 2019


656
23 Import and Export Troubleshooting
23.10 Supporting Objects Already Exist

23.10.1 Solution
If you want the already existing supporting objects to be part of the import, click
Cancel. Then you rename or delete the supporting objects on the EcoStruxure
BMS server from where you export or on the EcoStruxure BMS server to which
you import. Then import the solution again.

04-30006-02-en, May 2019 Technical


657
23 Import and Export Troubleshooting
23.11 Cannot Export User Management System Objects

23.11 Cannot Export User Management


System Objects
You cannot export any system objects that are used internally by the
EcoStruxure Building Operation software. For example, the Local domain is a
system object designed primarily for local server log-on activities.
In addition, there are several system objects within the Local folder that cannot
be exported:
• Groups folder. This system folder contains the default Administrators and
Reports Administrators user account groups, which are used internally by
the EcoStruxure Building Operation software. Therefore, you cannot export
these groups. However, you can create your own user account groups and
export them within their own domain.
• Users folder. This system folder contains the default admin and
SystemReportsService user accounts, which are used internally by the
EcoStruxure Building Operation software. For example, the EcoStruxure
Building Operation software uses the admin account to grant users direct
access to SmartX servers from the Device Administrator. If you create
admin accounts in other domains, the admin privileges may differ
significantly.
• Workspaces folder. This system folder contains the predefined
Administration, Engineering, and System default workspaces created for
the Local domain that cannot be exported. However, you can create your
own workspaces in the Local domain that can be exported.

23.11.1 Solution
In the Domains folder, follow these steps:
• Create a domain, for example, the ACME domain.
• Add user-created user accounts, user account groups, and workspaces to
this domain.
• Export the entire ACME domain.
• Import the entire ACME domain to the Domains folder of the targeted
location.
If you create your own objects and folders within a system folder, you can export
them separately to the the corresponding system folder on the targeted
EcoStruxure BMS server, for example, System – Domains. For more information,
see section 23.1 “Non-exportable Objects” on page 643.

Technical 04-30006-02-en, May 2019


658
23 Import and Export Troubleshooting
23.12 Cannot Import LonWorks Solution

23.12 Cannot Import LonWorks Solution


When the solution is imported to the same EcoStruxure BMS server as it was
exported from, the import may fail if the solution includes bindings to and from
devices outside the exported solution, where the EcoStruxure Building
Operation software detects an unintentional binding conflict.

23.12.1 Solution
Make sure all bound objects are included when exporting a LonWorks solution,
or simply select library mode when exporting to identify and resolve binding
conflicts. For more information, see section 21.24 “Export Library Mode” on
page 617.

04-30006-02-en, May 2019 Technical


659
24 Object Configuration in
Microsoft Excel

Topics
Import from an Excel Spreadsheet
Exporting an Object Configuration from Workstation to
Microsoft Excel
Importing an Object Configuration from Microsoft Excel to
Workstation
24 Object Configuration in Microsoft Excel
24.1 Import from an Excel Spreadsheet

24.1 Import from an Excel Spreadsheet


From the version 3.0 onwards, EcoStruxure BMS Workstation enables you to
import object configuration created in Microsoft Excel. You can also export the
structure of the columns and the values shown in columns in the list view in
Workstation to an Excel spreadsheet on your computer to work with your data
outside of EcoStruxure BMS Workstation.
It is possible to add a column in the MS Excel sheet named “Path”. If you have
created a folder above in the sheet, you can import objects in that folder using
the path and create structures, e.g. /MyFolder
It is possible to add a column in the MS Excel sheet named “File”. If you import a
graphic or a document object, then you can configure the file location on your
computer to attach the tgml file or the document file, e.g.
C:\MyFolder\MyGraphic.tgml.
Users can be created with additional information like name and system of
measurements using these columns:
• General Profile/First name
• General Profile/Last name
• General Profile/UserSettings/System of measurements. The value can be an
enumeration value between 0-3.

04-30006-02-en, May 2019 Technical


663
24 Object Configuration in Microsoft Excel
24.2 Exporting an Object Configuration from Workstation to Microsoft Excel

24.2 Exporting an Object Configuration from


Workstation to Microsoft Excel
From the version 3.0 onwards, EcoStruxure BMS Workstation enables you to
import object configuration created in Microsoft Excel. You can also export the
structure of the columns and the values shown in columns in the list view in
Workstation to an Excel spreadsheet on your computer to work with your data
outside of EcoStruxure BMS Workstation.

NOTICE
You export the configuration in the visible columns. If you want to export more,
less or different information, you need to add or remove columns, and adjust
the values.

To export a Workstation folder to an Excel spreadsheet


1. In Workstation, in the System Tree select the folder you want to export to
the Excel spreadsheet on your computer
2. Click Export to Excel
Excel.
3. On your computer, select the folder in which you want to save you Excel
spreadsheet.
4. Write the file's name.
5. Click OK
OK.

Technical 04-30006-02-en, May 2019


664
24 Object Configuration in Microsoft Excel
24.3 Importing an Object Configuration from Microsoft Excel to Workstation

24.3 Importing an Object Configuration from


Microsoft Excel to Workstation
From the version 3.0 onwards, EcoStruxure BMS Workstation enables you to
import object configuration created in Microsoft Excel. You can also export the
structure of the columns and the values shown in columns in the list view in
Workstation to an Excel spreadsheet on your computer to work with your data
outside of EcoStruxure BMS Workstation.

NOTICE
The Microsoft Excel file must be closed before importing the object
configuration to WorkStation
Ensure that the object types are allowed to be created in the folder. If updating
the object configuration, then ensure that imported properties are part of the
existing configuration.

To import a Microsoft Excel spreadsheet to a Workstation


folder
1. In Workstation
Workstation, in the System Tree
Tree, select the folder to which you want to
import your Excel spreadsheet.
2. On the File menu, select Import from Exce
Excel.
3. In the File name box, select the file you want to upload from your computer.
4. In the Import conflic
conflict window, decide on the way in which you want the
system to handle information conflicts.
• Ignore new objects: If you already have an object with the same name,
that object will be preserved, i.e. the object in the import file will not be
imported.
• Replace object
object: If you already have an object with the same name, that
saved object will be erased and replaced with the new imported
object.
• Update object: If you already have an object with the same name, that
object will be updated with differences configured in the import file.
• Abort: If there is a conflict, then abort the operation.
5. Click OK
OK.

04-30006-02-en, May 2019 Technical


665
25 I/O Modules

Topics
I/O Modules Overview
I/O Module Workflows
Physical Devices and I/O Module Objects
Creating an I/O Module
Configuring an I/O Module
Discovering an I/O Module
Creating Multiple I/O Modules
Updating I/O Module Firmware
Moving an I/O Module
Recovering from an I/O Module Failure
Assigning and Unassigning Logical I/O Modules
I/O Points
Creating Multiple Objects
Configuring Multiple Objects
Copying from MS Excel to Spreadsheet View
Copying from Spreadsheet View to MS Excel
I/O Module Low Power Mode
Setting and Recovering an I/O Module from Low Power
Printing a Label to Identify I/O Channels
Correcting a Module Type Mismatch
25 Output Override Status
Overriding a Digital Output
Overriding an Analog Output
Associating an Engineering Unit with Property Values
Inserting a New Module in the Middle of an Existing I/O Bus
Resolving I/O Module Device Address Changed and
Blacklisted Device Detection Errors
25 I/O Modules
25.1 I/O Modules Overview

25.1 I/O Modules Overview


In WorkStation, there are several ways to create I/O modules on a SmartX server
that does not include an onboard I/O module. For example, you can create or
discover an I/O module in the server's IO bus folder. You can then select an I/O
module to configure and create points.

25.1.1 I/O Modules


By adding a variety of I/O and power supply modules, you can use the SmartX
server to tailor the EcoStruxure BMS to your unique requirements.
For more information, see the I/O Modules topic on WebHelp.

25.1.2 AS-B I/O Onboard Module


A SmartX AS-B server is a powerful SmartX server that features both onboard I/O
and built-in power supply. Like the other SmartX servers, the SmartX AS-B
server is a Schneider Electric manufactured embedded device that generally
serves as the lowest tier EcoStruxure BMS server within the EcoStruxure BMS.
The SmartX server controls and supervises equipment, typically HVAC
equipment. The SmartX AS-B server uses its onboard I/O with connected field
devices, such as sensors and actuators, to do that.
For more information, see the AS-Bs topic on WebHelp.

25.1.3 I/O Module Workflows


There are two ways to create an I/O module and its points when a physical I/O
module is connected to a SmartX server. However, these workflows do not apply
to the SmartX AS-B server, which has an embedded I/O module.
For more information, see section 25.2 “I/O Module Workflows” on page 671.

25.1.4 Physical Devices and I/O Module Objects


You add an I/O module by installing the module on the terminal base. If there is
an I/O module object in the I/O bus folder with the same module ID, the system
automatically associates its I/O points with the newly installed module.
For more information, see section 25.3 “Physical Devices and I/O Module
Objects” on page 673.

25.1.5 I/O Points


After creating an I/O module in the I/O Bus folder, you can create I/O points in
the I/O module. You can create only the I/O point types that are supported by
the I/O module.

04-30006-02-en, May 2019 Technical


669
25 I/O Modules
25.1 I/O Modules Overview

For more information, see section 25.12 “I/O Points” on page 683.
For more information, see section 213.2 “Creating Multiple Objects” on page
7989.

25.1.6 AS-B Onboard I/O Points


The SmartX AS-B server offers a mix of I/O point types that match a wide variety
of HVAC applications. Most of the I/O points are universal inputs/outputs, which
are highly flexible and can be configured as either inputs or outputs.
For more information, see the AS-B Onboard I/O topic on WebHelp.
For more information, see section 213.2 “Creating Multiple Objects” on page
7989.

25.1.7 Output Override Status


Using an override switch, you can override analog and digital output channels
on I/O modules with the -H option. Program control or manual control can direct
the output of a channel. Graphics, schedules, variable connectors, and other
objects can also control outputs. You can disable the output as well.
For more information, see section 213.2 “Creating Multiple Objects” on page
7989.
For more information, see section 25.21 “Output Override Status” on page 693.

25.1.8 I/O Module Low Power Mode


In order to save energy, you can place an I/O module in low power, which turns
off all outputs. When in low power, the following conditions apply:
• The I/O module does not report input signals.
• The Module status reports low power.
• The I/O module's LED pattern indicates low power using the slowest green
LED blink pattern, approximately once every 3 seconds.

NOTICE
The SmartX AS-B server onboard I/O does not include LEDs. Therefore, the
LED color and LED invert properties are not applicable in WorkStation.

For more information, see section 25.17 “I/O Module Low Power Mode” on page
689.

Technical 04-30006-02-en, May 2019


670
25 I/O Modules
25.2 I/O Module Workflows

25.2 I/O Module Workflows


There are two ways to create an I/O module and its points when a physical I/O
module is connected to a SmartX server. However, these workflows do not apply
to the SmartX AS-B server, which has an embedded I/O module.

25.2.1 Discover and Create


In WorkStation, follow this sequence to discover a physical I/O module, and then
create the logical module and its points. Use this method to configure an online
I/O module. (Recommended)

Figure: Discover and create workflow

Discover I/O module


Use Device Discovery to identify the I/O modules on the SmartX server. For more
information, see section 25.6 “Discovering an I/O Module” on page 676.

Create I/O module and I/O points


Drag a physical I/O module to the IO bus folder in the System Tree pane to
create the logical module. Then, create the I/O points for the module. For more
information, see section 26.15 “Creating Multiple I/O Points” on page 726.

25.2.2 Create and Discover


In WorkStation, follow this sequence to create a logical I/O module and its points
in the System Tree, and then associate the module with the physical I/O modules
later. Finally, associate each physical I/O module to its logical equivalent in the
System Tree.

04-30006-02-en, May 2019 Technical


671
25 I/O Modules
25.2 I/O Module Workflows

Figure: Create and discover workflow

Create I/O module and I/O points


In the System Tree pane, create logical I/O modules and I/O points.
For more information, see section 25.4 “Creating an I/O Module” on page 674.
For more information, see section 213.2 “Creating Multiple Objects” on page
7989.

Discover and associate I/O module


Use Device Discovery to identify the I/O modules on the SmartX server. Drag a
physical I/O module to an equivalent logical module in the System Tree pane to
assign the module ID, which brings the module online. Then, use the IO Module
Management Tool to view, assign, or unassign the modules.
For more information, see section 25.6 “Discovering an I/O Module” on page
676.
For more information, see section 25.11 “Assigning and Unassigning Logical I/O
Modules” on page 681.

NOTICE
If there is an I/O module object in the I/O bus folder with the same module ID,
the system automatically associates its I/O points with the newly discovered
module.

Technical 04-30006-02-en, May 2019


672
25 I/O Modules
25.3 Physical Devices and I/O Module Objects

25.3 Physical Devices and I/O Module


Objects
You add an I/O module by installing the module on the terminal base. If there is
an I/O module object in the I/O bus folder with the same module ID, the system
automatically associates its I/O points with the newly installed module.
There are three possible scenarios here:
• The physical I/O module is the same type as a logical I/O module
configured with the same Module ID.
• The physical I/O module is a different type than a logical I/O module
configured with the same Module ID. For more information, see section
25.20 “Correcting a Module Type Mismatch” on page 692.
• There is no logical I/O module configured for the position in which the
physical module is inserted. For more information, see section 25.11
“Assigning and Unassigning Logical I/O Modules” on page 681.

NOTICE
• A logical I/O module is one that was added to the I/O Bus folder.

04-30006-02-en, May 2019 Technical


673
25 I/O Modules
25.4 Creating an I/O Module

25.4 Creating an I/O Module


You create I/O modules so that you can create physical inputs and outputs in
the database even though the I/O module is not physically connected to the
system.
For more information, see the I/O Bus Parts topic on WebHelp.

To create an I/O module


1. In WorkStation, in the System Tree pane, select the IO Bus object under
the SmartX server.
2. On the File menu, point to New and then click IO module
module.
3. In the Create Object wizard, in the object types list, select the type of I/O
module you want to create.
4. In the Name box, type a name for the I/O module.
5. In the Description box, type a description for the I/O module.
6. Click Next.
7. In the Basic Settings page, in the Module ID box, select a module ID of
Null or 1 to 32 to specify the position on the I/O bus where the I/O module is
to be located. Selecting a value of Null specifies that the Module ID is non-
operational and can be used as a placeholder to be configured when you
wish to assign it to a physical slot. You can place multiple modules on the
Null slot.
8. Select Override capability expected if you would like the module to be
override capable.
9. Click Create
Create.

Technical 04-30006-02-en, May 2019


674
25 I/O Modules
25.5 Configuring an I/O Module

25.5 Configuring an I/O Module


You configure an I/O module by modifying the properties on Properties pane.
Because an I/O module is a software object, you configure an I/O point for an I/O
module whether or not the physical I/O module is present.

NOTICE
An I/O module with a configured status indicates that an I/O point has been
created. This differs from the process of configuring or changing the
properties of the I/O module as described in this procedure. Even if you
configure or change the I/O properties, that does not mean that the I/O module
itself is in the configured state.

For more information, see the I/O Bus Parts topic on WebHelp.

To configure an I/O module


1. In WorkStation, in the System Tree pane, select the IO Bus folder.
2. In the System Tree pane, click a selected module.
3. On the File menu, click Properties
Properties.
Once you create I/O modules and I/O points, you can view the status
attributes for that I/O module in the Properties pane. For example, for every
module associated with a SmartX server, you can see the Online/Offline,
Configured/Unconfigured, and Module type mismatch status.
4. In the properties pane, edit the basic I/O module properties as necessary,
for example, set the module to low power to save energy.
For more information, see section 25.18 “Setting and Recovering an I/O
Module from Low Power” on page 690.
5. Click OK
OK.

04-30006-02-en, May 2019 Technical


675
25 I/O Modules
25.6 Discovering an I/O Module

25.6 Discovering an I/O Module


You discover an I/O module when the I/O module is connected. If physical I/O
modules display in the Hardware subfolder (under the System folder) in the
System Tree pane, you create an I/O module object representing these I/O
modules in the I/O bus.
For more information, see the I/O Bus Parts topic on WebHelp.

To discover an I/O module


1. In WorkStation, in the System Tree pane, select the SmartX server where
you want to discover the I/O module.
2. Click the Device Discovery view.
3. In the Select device type box, select Automation Server IO bus
bus.
4. Select the I/O module you want in the Device results pane.
5. Drag the I/O module to the IO Bus folder in order to create logical modules
and points that you can bind to from other system components.
The physical I/O modules are converted into I/O module objects in the I/O
Bus folder.

Technical 04-30006-02-en, May 2019


676
25 I/O Modules
25.7 Creating Multiple I/O Modules

25.7 Creating Multiple I/O Modules


Using the Spreadsheet view, you can quickly create multiple I/O modules, which
you otherwise would create one at a time in the wizard.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

To create multiple I/O modules


1. In WorkStation, in the System Tree pane, select the I/O bus where you want
to create the I/O modules.
2. On the Actions menu, click Edit in spreadsheet
spreadsheet.
3. In the Spreadsheet view, select the first row.
4. In the Type column, select the type of I/O module.
5. Enter the rest of the properties, as you would do in the corresponding
wizard.
6. Create additional I/O modules using Steps 4-5.

NOTICE
• You can also copy and paste cells, rows, and entire blocks.

7. On the File menu, click Save


Save.

04-30006-02-en, May 2019 Technical


677
25 I/O Modules
25.8 Updating I/O Module Firmware

25.8 Updating I/O Module Firmware


You upgrade the firmware for an I/O module, or multiple I/O modules of the
same type, if the following conditions are met:
• The SmartX server and the I/O module(s) are online.
• A valid update file is available.
• The I/O module application, or the boot loader (in the event of a prior update
failure) is loaded and running.
• The Module type mismatch property for the I/O module(s) is FALSE.

NOTICE
During a firmware upgrade, all outputs overridden to the ON/HAND state by
the override switch will lose their setting during the upgrade. Overridden
relays that are energized by the override switch will turn OFF (de-energize)
during the upgrade. Overridden voltage and current outputs configured to a
non-zero value will drop to 0V/0mA, respectively, during the firmware upgrade.
All overridden outputs will be restored once the upgrade is complete.

While I/O modules are being updated, other I/O modules remain operational.

To update I/O modules firmware


1. In WorkStation, in the System Tree pane, right-click the selected I/O
module.
2. Click Update IO module firmware
firmware.
3. For multiple I/O modules of the same type, right-click on the IO Bus folder
and then click Update IO module firmware
firmware.

NOTICE
If you right-click on the I/O Bus and perform an upward revision, that also
updates all modules of the same type on the I/O bus.

4. In the Update IO Module File dialog box, locate and select the valid I/O
module firmware file.
5. Click Open to open the I/O module firmware file.
6. Click Update Firmware to update the I/O module firmware.
7. Click Save Results to File to save the results to a text file (optional).
8. Click Exit
Exit.

Technical 04-30006-02-en, May 2019


678
25 I/O Modules
25.9 Moving an I/O Module

25.9 Moving an I/O Module


You change the Module ID of an I/O module object in the I/O Bus folder that
does not match the physical location of the I/O module on the backplane. You
use this procedure to correct the position of an I/O module object, or use the
Spreadsheet view or Property grid instead. For example, you replace one logical
module with another logical module. The module that is replaced returns to a
module ID of Null. Null specifies that the Module ID is non-operational and can
be used as a placeholder to be configured when you wish to assign it to a
physical slot.

To move an I/O module


1. In WorkStation, in the System Tree pane, expand the IO Bus
Bus.
2. On the Actions menu, click IO module management tool.
3. In the IO Module Management Tool dialog box, drag and drop the desired
I/O module from the Unassigned Modules pane into the row that contains
the matching physical device.
The I/O Module Management Tool application assigns the Module ID to the
I/O module.
You can also drag and drop a physical device, such as an I/O module
hardware device, from the Unassigned Modules pane to an empty position
in the backplane.
4. Unplug the I/O module from the I/O bus.
5. Plug the I/O module into the new location.
6. In the IO Module Management Tool window, click Refresh
Refresh.
The I/O Module Management Tool shows the physical device located at the
new Module ID number.

NOTICE
• After you change the position of an I/O module, the I/O module object
and its I/O points in the SmartX server are bound to the new physical
position. The I/O module ID has been changed and the I/O module is
online. Applications bound to moved points are still operational and
running with as little interruption as possible.

7. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


679
25 I/O Modules
25.10 Recovering from an I/O Module Failure

25.10 Recovering from an I/O Module Failure


If a physical I/O device fails, you should be able to remove and replace that
device with a physical I/O device of the same type without powering down the
I/O bus. The replacement physical I/O device is automatically configured with
the same I/O points as the original physical I/O device.
For more information, see section 25.3 “Physical Devices and I/O Module
Objects” on page 673.

To recover from an I/O module failure


1. Remove the physical I/O device from the IO Bus and replace it with a
physical I/O device of the same type.
You can do this with the I/O Bus power on.
2. In the IO Module Management Tool Tool, verify that the physical device
displays in the proper location.
3. When finished, click Exit
Exit.

Technical 04-30006-02-en, May 2019


680
25 I/O Modules
25.11 Assigning and Unassigning Logical I/O Modules

25.11 Assigning and Unassigning Logical I/O


Modules
You use the I/O Module Management Tool to assign and unassign logical I/O
modules to a physical device.
For more information, see section 25.3 “Physical Devices and I/O Module
Objects” on page 673.

To assign and unassign Logical I/O modules


1. In the System Tree pane, expand the IO Bus
Bus.
2. On the Actions menu, click IO module management tool
tool.
3. In the IO Module Management Tool dialog box, observe the Physical
device type and IO module name columns.

The Physical device type column lists the physical devices connected to
the SmartX server, while the I/O module name column lists the logical
modules located in the IO Bus folder.
4. In the Unassigned Modules pane, drag and drop unassigned modules to
assign them to a physical device.
5. Drag and drop logical modules into the Unassigned Modules pane to
unassign them (module ID of Null).
Continued on next page

04-30006-02-en, May 2019 Technical


681
25 I/O Modules
25.11 Assigning and Unassigning Logical I/O Modules

6. Click Refresh to update the IO Module Management Tool


Tool.
7. Click Exit
Exit.
You can visualize physical devices, Module ID positions and the status of the I/O
modules assigned to them using the IO Module Management Tool window.

Technical 04-30006-02-en, May 2019


682
25 I/O Modules
25.12 I/O Points

25.12 I/O Points


After creating an I/O module in the I/O Bus folder, you can create I/O points in
the I/O module. You can create only the I/O point types that are supported by
the I/O module.

25.12.1 I/O Point Types


An I/O module supports either input or output point types. For example, DI-16
supports inputs and A0-8 supports outputs. Some IO channels on SmartX AS-B
servers can be used for either inputs or outputs, such as Universal (U).
For more information, see section 26.1 “I/O Point Types” on page 707.

25.12.2 2-Wire RTD Temperature Input Wiring


Resistance
In the 2-wire RTD temperature input point, you determine the wiring resistance
by direct calculation, or by measuring it instead.
For more information, see section 26.8 “2-Wire RTD Temperature Input Wiring
Resistance” on page 717.

25.12.3 2-Wire or 3-Wire RTD Temperature Input


Values and Reliability Levels
In the 2-wire or 3-wire RTD temperature input point, the raw resistance value is
used to help determine the temperature input value.

NOTICE
SmartX AS-B servers do not support 3-wire RTD.

For more information, see section 26.7 “2-Wire or 3-Wire RTD Temperature Input
Value and Reliability Levels” on page 716.

25.12.4 Reliability of I/O Points


All I/O points have a Reliability property that describes the reliability or quality of
the value. This value displays in the Basic Tab of the I/O point.
For more information, see section 26.16 “Reliability of I/O Points” on page 727.

04-30006-02-en, May 2019 Technical


683
25 I/O Modules
25.12 I/O Points

25.12.5 Forced I/O Point Values


You can force the value of an input point or the requested value of an output
point. Forcing a value disables the input or output point from receiving values
from either a hardware device or software program.
For more information, see section 26.18 “Forced I/O Point Values” on page 729.

25.12.6 I/O Point Scaling


Scaling applies a mathematical factor that compares the internal values in the
system to and from the physical input and output points on an I/O module. The
scaling is linear and can include both positive and negative slopes.
For more information, see section 26.21 “I/O Point Scaling” on page 732.

25.12.7 Implicit Trend Logs for I/O Points


When you create an I/O point on an I/O module, the system automatically
creates an implicit trend log for that I/O point. The implicit trend log logs the
Value of the I/O point in a Change of Value type trend log.
For more information, see section 26.23 “Implicit Trend Logs for I/O Points” on
page 738.

25.12.8 Input Point Offsets


An offset is a value added to or subtracted from the engineering value before it
impacts the input point's Value property. For example, assume that a Thermistor
input is housed in a wiring closet. If you know the temperature in that closet is 2
°C higher than the temperature outside the closet, you enter -2,0 as the offset
value.
For more information, see section 26.24 “Input Point Offsets” on page 739.

25.12.9 Threshold Settings for I/O Points


The threshold is the minimum change of value before the I/O module reports the
value to the SmartX server. Properly setting the threshold value reduces
unnecessary communication between the I/O module and the SmartX server.
For more information, see section 26.27 “Threshold Settings for I/O Points” on
page 742.

Technical 04-30006-02-en, May 2019


684
25 I/O Modules
25.13 Creating Multiple Objects

25.13 Creating Multiple Objects


Using the Spreadsheet view, you can quickly create multiple objects, for
example, I/O modules, I/O points, values, alarms, and trend logs.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

To create multiple objects


1. In WorkStation, in the System Tree pane, select where you want to create
the objects, for example, click IO Bus or SmartX AS-P server onboard IO.

2. In the Spreadsheet view, click the New button .

On a SmartX AS-B server, the New button is unavailable when you


click the IO Bus
Bus. Therefore, expand the IO Bus and then click AS-B
onboard IO IO.

NOTICE
• The content of an I/O bus, I/O module, a Modbus interface, or a
Modbus device opens up directly in the Spreadsheet view.

3. In the first row of the Type column, select the object type.
4. Enter the rest of the properties, as you would do in the corresponding
wizard.

NOTICE
Press CTRL+U to change the engineering unit of a value in the
Spreadsheet view.

5. Create additional objects using steps 3-4.


You can also copy and then paste cells, rows, and entire blocks.

6. Click the Save button .

04-30006-02-en, May 2019 Technical


685
25 I/O Modules
25.14 Configuring Multiple Objects

25.14 Configuring Multiple Objects


Using the Spreadsheet view, you can quickly configure collections of objects
that you would otherwise configure one at a time in property dialog boxes, for
example, SmartX AS-B server onboard I/O or I/O modules, I/O points, values,
alarms, and trend logs.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

Configuring Multiple Objects


1. In WorkStation, in the System Tree pane, select the collection of objects
that you want to configure.
2. On the Actions menu, click Edit in spreadsheet
spreadsheet.
3. In the Spreadsheet view, edit the objects.

NOTICE
Press CTRL+U to change the engineering unit of a value in the
Spreadsheet view.

4. Click the Save button .


A progress view indicates that the EcoStruxure Building Operation software is
saving your changes. If a problem occurs, the save is cancelled and an error
message is displayed.

Technical 04-30006-02-en, May 2019


686
25 I/O Modules
25.15 Copying from MS Excel to Spreadsheet View

25.15 Copying from MS Excel to Spreadsheet


View
You can copy cells, rows, or an entire worksheet from Microsoft Excel and then
paste the data into the Spreadsheet view in WorkStation.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

NOTICE
• The columns and the format of the cells, such as date and time
enumerations or language, must match the setup in the Spreadsheet view.

To copy from MS Excel to Spreadsheet view


1. In WorkStation, in the System Tree pane, select the server, I/O bus, I/O
module, onboard I/O module, or folder where you want to paste data.
2. On the Actions menu, click Edit in spreadsheet
spreadsheet.
3. Open the MS Excel spreadsheet from where you want to copy data.
4. Select the data that you want to paste to the WorkStation Spreadsheet
view.
5. Press CTRL-C
CTRL-C.
6. In WorkStation, in the Spreadsheet view, select the cell or the rows where
you want to paste the data.
7. Press CTRL-V
CTRL-V.
8. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


687
25 I/O Modules
25.16 Copying from Spreadsheet View to MS Excel

25.16 Copying from Spreadsheet View to MS


Excel
You can copy column headers, cells, and rows from the Spreadsheet view in
WorkStation and then paste the data into an MS Excel spreadsheet.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

To copy from Spreadsheet view to MS Excel


1. In WorkStation, in the System Tree pane, select the server, I/O bus, I/O
module, onboard I/O module, or folder where you want to copy data.
2. On the Actions menu, click Edit in spreadsheet
spreadsheet.
3. Right-click anywhere in the Spreadsheet view, and then select Copy
column headers
headers.
4. Open a new MS Excel spreadsheet.
5. Press CTRL-V
CTRL-V.
6. In WorkStation, in the Spreadsheet view, select the cells or the rows that
you want to paste into the MS Excel spreadsheet.
7. Press CTRL-C
CTRL-C.
8. In the MS Excel spreadsheet, select where you want to paste the data, and
then press CTRL-V
CTRL-V.
9. Save the MS Excel spreadsheet.

Technical 04-30006-02-en, May 2019


688
25 I/O Modules
25.17 I/O Module Low Power Mode

25.17 I/O Module Low Power Mode


In order to save energy, you can place an I/O module in low power, which turns
off all outputs. When in low power, the following conditions apply:
• The I/O module does not report input signals.
• The Module status reports low power.
• The I/O module's LED pattern indicates low power using the slowest green
LED blink pattern, approximately once every 3 seconds.
Consider the following points when you want to recover an I/O module from low
power:
• Make sure you set all I/O module output values to a safe level before you
return to normal power conditions to avoid power surge conditions.
• Once normal power resumes, the output values you set are reached
immediately after any timing delay occurs.

NOTICE
SmartX AS-B servers do not support low power mode.

04-30006-02-en, May 2019 Technical


689
25 I/O Modules
25.18 Setting and Recovering an I/O Module from Low Power

25.18 Setting and Recovering an I/O Module


from Low Power
You place an I/O module in low power mode to save energy and then recover
the module later.

NOTICE
AS-B does not support low power mode.

For more information, see section 25.17 “I/O Module Low Power Mode” on page
689.

To set and recover an I/O module from low power


1. In WorkStation, in the System Tree pane, expand the IO Bus on a SmartX
server.
2. Click an I/O module.
3. On the File menu, click Properties
Properties.
4. In the Basic tab, in the Low power box, select True
True.
5. Click OK to change the value and close the Properties tab.
If the physical I/O module in the System Hardware folder matches the
logical I/O module defined in the I/O Bus, the I/O module goes into low
power. In the module's properties, the Module status property displays
Low power.
6. In the System Tree pane, expand the IO Bus
Bus.
7. Click the I/O module you wish to recover.
8. On the File menu, click Properties
Properties.
9. In the Low power box, select False
False.
10. Click OK
OK.
If the physical I/O module in the System Hardware folder matches the
logical I/O module defined in the I/O Bus, the I/O module exits from low
power. After the module resumes operation from low power, the Module
status returns to the status it had before it went into low power.

Technical 04-30006-02-en, May 2019


690
25 I/O Modules
25.19 Printing a Label to Identify I/O Channels

25.19 Printing a Label to Identify I/O Channels


You print labels to identify I/O channels on the placard of an I/O module much
the same way you label circuits on an electrical panel. You accept the default
names for the I/O point labels or customize the I/O point names for your own
application.

NOTICE
If a Module ID is Null, you cannot print the label. If a channel is Null, the I/O
point labels do not display in the Print IO Module Labels dialog box.

To print a label to identify I/O channels


1. In WorkStation, in the System Tree pane, expand the IO Bus on a SmartX
server.
2. In the List View
View, right-click the I/O module, onboard IO module, the entire
IO Bus folder, or multiple I/O modules.
3. Click Print IO module labels
labels.
4. In the Print IO Module Labels dialog box, select Blank Label Text to print
labels with only the channel number with no additional label text.

NOTICE
• The label text prints in red if the text is too long to fit on the label.

5. In the Paper Type box, select a paper type.


6. Click Print to print the I/O module label or Save to save any changes to the
point’s label text property.
7. For a SmartX AS-B server onboard I/O module, cut along the dotted lines
and fold the label along the fold edge to fit on the placard.
The label is properly sized to fit on the placard of the I/O module.

04-30006-02-en, May 2019 Technical


691
25 I/O Modules
25.20 Correcting a Module Type Mismatch

25.20 Correcting a Module Type Mismatch


You correct a module type mismatch using the I/O Module Management Tool.
For more information, see section 25.3 “Physical Devices and I/O Module
Objects” on page 673.

To correct a module type mismatch


1. In WorkStation, in the System Tree pane, expand the IO Bus
Bus.
2. On the Actions menu, click IO module management tool
tool.
3. In the IO Module Management Tool dialog box, observe whether the
logical I/O Module type matches the type of physical device.

If not, the Module type mismatch property of the logical I/O module object
is TRUE, the table row displays in red, and an error message displays
when you hold the cursor over the row.
4. Fix this mismatch by physically replacing the mismatched I/O module with
a module of the correct type, or by dragging the logical I/O module out of
the row.

NOTICE
Moving the logical I/O module into the Unassigned Modules list removes any
association of the I/O module with the physical device.

Technical 04-30006-02-en, May 2019


692
25 I/O Modules
25.21 Output Override Status

25.21 Output Override Status


Program control or manual control can direct the output of a channel. Graphics,
schedules, variable connectors, and other objects can also control outputs.
Using an manual override switch or display control, you can override analog and
digital output channels on I/O modules with the -H option. You can also disable
the output.

25.21.1 Module Hardware


You can set the output override switch to one of three possible positions.

Table: Output Override Switch Positions


Switch Position Action

Hand Analog
Use the potentiometer to manually adjust the voltage or current
output. Programs have no effect on the output in this position.
Digital
Output relay is energized to an On state manually. Programs
have no effect on the output in this position.

Auto Programs control the output.

Off Analog
The voltage or current is set to zero. Programs have no effect
on the output in this position.
Digital
The output relay is de-energized to an Off state manually.
Programs have no effect on the output in this position.

Instead of a switch, you use the override display on the SmartX AS-B server
models AS-B-24H and AS-B-36H. For more information, see the Override
Outputs topic on WebHelp.

25.21.2 EcoStruxure Building Operation Software


The Override status property displays in the basic properties of an output point.
If you set the override status to True
True, the output is overridden. The override
value takes precedence over other values.

04-30006-02-en, May 2019 Technical


693
25 I/O Modules
25.21 Output Override Status

Figure: Output override status

For more information, see section 25.23 “Overriding an Analog Output ” on page
697.
For more information, see section 25.22 “Overriding a Digital Output ” on page
695.

Technical 04-30006-02-en, May 2019


694
25 I/O Modules
25.22 Overriding a Digital Output

25.22 Overriding a Digital Output


You take manual control of an output on an I/O module with an override switch (-
H models). Module names with an -H indicate the presence of Hand-Off-Auto
override switches or display controls.
For more information, see section 25.21 “Output Override Status” on page 693.

To override a digital output


1. On the I/O hardware module, manually set the override switch from Auto to
Hand
Hand, or Off for a digital I/O point.
For example, observe the position of the override (-H) switches on a DO-
FC-8-H (digital output, form C relay, 8 channel) I/O module.

NOTICE
There is a separate override switch for each I/O point.

You can also use the override display option on AS-B-24H and AS-B-36H
modules. For more information, see the Override Outputs topic on
WebHelp.
2. View the results of a digital output override by expanding the IO Bus folder
and clicking the selected I/O module.
3. In the List View
View, click the I/O point.
4. On the File menu, click Properties
Properties.

04-30006-02-en, May 2019 Technical


695
25 I/O Modules
25.22 Overriding a Digital Output

5. Under Status Information, verify the Value and Override status


status.

NOTICE
You can also add the value to the Watch pane to view a dynamic
updating of the value.

Technical 04-30006-02-en, May 2019


696
25 I/O Modules
25.23 Overriding an Analog Output

25.23 Overriding an Analog Output


You take manual control of an output on an I/O module with an override switch or
display control (-H models). Analog outputs have a potentiometer and an
override switch. The output channel follows the state of the override switch
and/or potentiometer.
For more information, see section 25.21 “Output Override Status” on page 693.

To override an analog output


1. Manually set the override switch from Auto to Hand or Off for an analog I/O
point.
For example, observe the position of the potentiometers and override
switches on a AO-8-H (analog output, 8 channel) I/O module.

You can also use the -H option on AS-B(H) modules. For more information,
see the Override Outputs topic on WebHelp.
2. On the I/O hardware module, adjust the potentiometer to set the current or
voltage level.
3. Override a voltage or current output by setting the override switch to Hand
and then adjusting the output level using the potentiometer.
4. Override an output to 0 by setting the override switch to Off
Off.
There is a separate potentiometer and override switch for each I/O point.
5. View the results of an analog output override by expanding the IO Bus
folder.
6. Click the selected I/O module and then click the I/O point in the List View
View.
Continued on next page

04-30006-02-en, May 2019 Technical


697
25 I/O Modules
25.23 Overriding an Analog Output

7. On the File menu, click Properties


Properties.
8. Under Status Information, verify the Value and Override status
status.

NOTICE
You can also add the value to the Watch pane to view a dynamic
updating of the value.

Technical 04-30006-02-en, May 2019


698
25 I/O Modules
25.24 Associating an Engineering Unit with Property Values

25.24 Associating an Engineering Unit with


Property Values
You associate an engineering unit, such as current or temperature, with certain
property values of the I/O point.

NOTICE
• Engineering units are also used for conversions to/from other applications
such as Script and Function Block programs.

For more information, see section 26.1 “I/O Point Types” on page 707.

To associate an engineering unit with property values


1. In WorkStation, in the System Tree pane, expand the IO Bus on a SmartX
server.
2. Expand the AS-B onboard IO or click an I/O module.
3. In the List View
View, select the I/O point.
4. On the File menu, click Properties
Properties.

5. In the Basic tab, click the Configure Settings icon next to the Value
Value.
6. For Value
Value, select the check box to the left of the Unit field and then click the
Browse button .
Continued on next page

04-30006-02-en, May 2019 Technical


699
25 I/O Modules
25.24 Associating an Engineering Unit with Property Values

7. In the Quick filter box, enter a category and then select a unit.

8. Select a Prefix
Prefix.

9. Click Select to associate the engineering unit with the value.


Continued on next page

Technical 04-30006-02-en, May 2019


700
25 I/O Modules
25.24 Associating an Engineering Unit with Property Values

10. Click OK to save the point.


The engineering unit becomes associated with the numeric value and is
displayed with the value when the user interface is refreshed. Also, any other
values on this I/O point that have configurable engineering units are also
changed to the new value.

04-30006-02-en, May 2019 Technical


701
25 I/O Modules
25.25 Inserting a New Module in the Middle of an Existing I/O Bus

25.25 Inserting a New Module in the Middle of


an Existing I/O Bus
You insert a new module in the middle of an existing I/O bus by:
• Unassigning the module IDs of any modules after the insertion address
• Physically installing the new I/O module
For more information, see the I/O Bus topic on WebHelp.

To insert a new module in the middle of an existing I/O bus


1. In WorkStation, in the System Tree pane, expand the I/O bus.
2. On the Actions menu, click IO module management tool
tool.
3. Unassign the module IDs of any modules after the address where you are
inserting the new module by dragging the modules to the Unassigned
Modules pane.
4. Physically insert the new I/O module.
5. Drag the new module IDs from the Unassigned Modules pane to the row
with the physical device.

Technical 04-30006-02-en, May 2019


702
25 I/O Modules
25.26 Resolving I/O Module Device Address Changed and Blacklisted Device Detection Errors

25.26 Resolving I/O Module Device Address


Changed and Blacklisted Device
Detection Errors
You resolve I/O module device address changed and blacklisted device
detection errors to remove any related alarms, and return module control and
communication to normal.
For more information, see section 28.4 “Device Address Changed” on page 832.
For more information, see section 28.5 “Blacklisted Device Detected” on page
833.

To resolve I/O module device address changed and blacklisted


device detected errors
1. In WorkStation, in the System Tree pane, expand the I/O bus.
2. On the Actions menu, click IO module management tool
tool.

NOTICE
The Device ProductSN and Blacklisted ProductSN columns only display
when the system detects an IO module device address change or
blacklisted device error on a SmartX server.

3. In the IO Module Management Tool


Tool, find the first highlighted address in
the Blacklisted ProductsSN field.
4. Replace the lowest slot ID terminal base reporting the error as well as the
terminal base preceding this slot ID.
5. Click Refresh
Refresh.
If the highlighted addresses display in yellow, the serial numbers now
match the devices in order.
6. Verify that the I/O modules match the physical device configuration.
7. Click Accept Blacklisted Devices to resolve the error and resume normal
operation.
8. In the Confirm Accept Blacklisted Modules dialog box, click Yes to reset
the I/O modules and use the new address.
9. In the IO Module Management Tool Tool, click Refresh to verify that the
blacklist is no longer displayed and the modules have returned to their
normal state.
10. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


703
26 I/O Points

Topics
I/O Point Types
Creating an I/O Module Input Point
Creating an I/O Module Output Point
Creating an I/O Module Digital Input
Creating an I/O Module Counter Input
Creating an I/O Module Temperature Input
2-Wire or 3-Wire RTD Temperature Input Value and
Reliability Levels
2-Wire RTD Temperature Input Wiring Resistance
Creating an I/O Module 2-Wire or 3-Wire RTD Temperature
Input
Creating an I/O Module 2-Wire or 3-Wire RTD Resistive
Input
Creating an I/O Module Voltage Input
Creating an I/O Module Digital Output
Creating an I/O Module Voltage Output
Configuring I/O Module Input or Output Points
Creating Multiple I/O Points
Reliability of I/O Points
Reviewing the Reliability of I/O Point Values
26 Forced I/O Point Values
Forcing Input Values
Forcing Output Values
I/O Point Scaling
Scaling an Input or Output I/O Point
Implicit Trend Logs for I/O Points
Input Point Offsets
Configuring Offsets for Input Points
Printing a Wiring List for the I/O Bus
Threshold Settings for I/O Points
26 I/O Points
26.1 I/O Point Types

26.1 I/O Point Types


An I/O module supports either input or output point types. For example, DI-16
supports inputs and A0-8 supports outputs. Some IO channels on SmartX AS-B
servers can be used for either inputs or outputs, such as Universal (U).

NOTICE
SmartX AS-B servers do not support Pt100, 3-wire RTD, sensor class 100 ohm
based, current output points, or the creation of additional I/O modules.

26.1.1 Input Types


The following table describes the supported I/O module input point types,
including Resistive Temperature Detector (RTD).

Table: Input Types


Type Input Signal Description Examples

Counter Input Used to count pulses such as Watt-hour or water meter


switch closures.

Current Input Used to read 0 – 20mA current. Actuator position


feedback

Digital Input Used to detect the On/Off state of Relay, limit switch
a contact closure.

Resistive Input Used to measure resistance. Thermostat with resistive


setpoint control

2-Wire RTD Resistive Used to measure the resistance of Temperature


Input a 2-wire RTD (100Ω or 1000Ω). measurement

3-Wire RTD Resistive Used to measure the resistance of Temperature


Input a 3-wire RTD (100Ω or 1000Ω). measurement

Supervised Input Used to detect the state of a Door switch for access
monitored input. Possible states control
include On, Off, and Trouble.
Note: EcoStruxure BMS includes
a Reliability property (Open circuit
or Short circuit) for the Trouble
state. For more information, see
section 26.16 “Reliability of I/O
Points” on page 727.

Temperature Input Used to measure temperature Temperature


using a thermistor. measurement

2-Wire RTD Temperature Used to measure temperature Temperature


Input using a 2-wire RTD (100Ω or measurement
1000Ω).

04-30006-02-en, May 2019 Technical


707
26 I/O Points
26.1 I/O Point Types

Continued
Type Input Signal Description Examples

3-Wire RTD Temperature Used to measure temperature Temperature


Input using a 3-wire RTD (100Ω or measurement
1000Ω).

Voltage Input Used to measure 0-10V input Actuator position


voltage. feedback

26.1.2 Output Types


The following table describes the supported I/O module output point types.

Table: Output Types


Type Output Signal Description Examples

Current Output Used to source current in the Actuator position control


range of 0 – 20mA.

Voltage Output Used to source voltage in the Actuator position control


range of 0 – 10V.

Digital Output Used for On/Off control of external Relays, contactors, fans
devices.

Digital Pulsed Output Used to control external devices Electric duct heater
requiring variable pulsed On/Off control
control.

Tristate Output (Floating Used for On/Off and direction Damper actuator and
Point) or Tristate Pulsed control of pulsing contact valve actuator position
Output closures. control

Reliability
All I/O points have a Reliability property that describes the reliability or quality of
the value. This value displays in the Basic Tab of the I/O point.
For more information, see section 26.16 “Reliability of I/O Points” on page 727.

26.1.3 Valid Point Types for I/O Modules


You can create only the I/O point types that are supported by the I/O module.
The following table displays the valid point types for each of the I/O modules.

Table: I/O Points Associated with Various I/O Modules


I/O Module Module Type I/O Point Types

AO-8 Output Current Output, Voltage


Output

Technical 04-30006-02-en, May 2019


708
26 I/O Points
26.1 I/O Point Types

Continued
I/O Module Module Type I/O Point Types

AO-V-8 Output Voltage Output

DI-16 Input Counter Input, Digital Input

DO-FA-12 Output Digital Output, Digital


Pulsed Output, Tristate
Output, Tristate Pulsed
Output

DO-FC-8 Output Digital Output, Digital


Pulsed Output, Tristate
Output, Tristate Pulsed
Output

RTD-DI-16 Input 2-Wire RTD Resistive Input,


2-Wire RTD Temperature
Input, 3-Wire RTD Resistive
Input, 3-Wire RTD
Temperature Input, Counter
Input, Digital Input,
Resistive Input

UI-8/AO-4 Mixed (Input and Output) Counter Input, Current


Input, Digital Input,
Resistive Input, Supervised
Input, Temperature Input,
Voltage Input
Current Output, Voltage
Output

UI-8/AO-V-4 Mixed (Input and Output) Counter Input, Current


Input, Digital Input,
Resistive Input, Supervised
Input, Temperature Input,
Voltage Input
Voltage Output

UI-8/DO-FC-4 Mixed (Input and Output) Counter Input, Current


Input, Digital Input,
Resistive Input, Supervised
Input, Temperature Input,
Voltage Input
Digital Output, Digital
Pulsed Output, Tristate
Output, Tristate Pulsed
Output

UI-16 Input Counter Input, Current


Input, Digital Input,
Resistive Input, Supervised
Input, Temperature Input,
Voltage Input

You assign each I/O point a channel in the I/O module as part of the
configuration process. The channel represents where the point is physically
wired to the I/O module.

04-30006-02-en, May 2019 Technical


709
26 I/O Points
26.1 I/O Point Types

SmartX AS-B server


The SmartX AS-B server offers a mix of I/O point types that match a wide variety
of HVAC applications. Most of the I/O points are universal inputs/outputs, which
are highly flexible and can be configured as either inputs or outputs.
For more information, see the SmartX AS-B Server Onboard I/O topic on
WebHelp.

26.1.4 Null Value Selection


By selecting the Null value as the physical input or output channel on the I/O
module, you specify that the input or output point is non-operational and can be
used as a placeholder to be configured when you wish to assign it to a physical
channel. You can place multiple input or output points on the Null channel.
The input or output channel number is unique to logical input or output points.
For example, a UI-8/DO-FC-4 module can have a Temperature Input point on
input channel 1 and a Digital Output point on output channel 1. The input and
output are different physical slots.

26.1.5 I/O Point Binding


A binding is an association between an I/O point and another object. Script and
Function Block programs, Graphics, and Trends are some examples of these
objects. You access the Bindings view to select the object that you want to bind
to the I/O point.
For more information, see section 49.10 “Binding Values Using a Binding
Template” on page 1350.

Technical 04-30006-02-en, May 2019


710
26 I/O Points
26.2 Creating an I/O Module Input Point

26.2 Creating an I/O Module Input Point


You select the type of input point you want to create from the list of available
points on the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module input point


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select the type of point,
for example, Current Input.
4. In the Name box, enter a name for the I/O point.
5. In the Description box, enter the description of the I/O point.

NOTICE
Click Create rather than Next if you want to set the I/O point properties
later. For more information, see section 26.14 “Configuring I/O Module
Input or Output Points” on page 725.

6. Click Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
point will be wired.
8. In the Label text box, enter text to identify the I/O point on the I/O module
label.
9. Enter the I/O point properties that you want to create.
The basic parameters are specific to the type of I/O point you want to
create. For more information, see the New Input Point Configuration
Wizard – Basic Settings Page topic on WebHelp.

NOTICE
A Input channel number creates a non-operational I/O point on the I/O
module that you can use as a placeholder until an actual Channel
number is established for the point.

10. Click Create


Create.
A Progress view indicates that the configuration changes are being saved
to the database.

04-30006-02-en, May 2019 Technical


711
26 I/O Points
26.3 Creating an I/O Module Output Point

26.3 Creating an I/O Module Output Point


You select the type of output point you want to create from the list of available
points on the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module output point


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Output point
point.
3. In the Create Object wizard, in the object type list, select the type of point,
for example, Digital Pulsed Output.
4. In the Name box, enter a name for the I/O point.
5. In the Description box, enter the description of the I/O point.
6. Click Next
Next.
7. In the Basic Settings page, in the Output channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
output point is wired.
8. In the Label text box, enter text to identify the I/O point on the I/O module
label.
9. Enter the I/O point properties that you want to create.
The parameters that appear on the Basic Settings page are specific to the
type of I/O point you create.
For more information, see the New Output Point Configuration Wizard –
Basic Settings Page topic on WebHelp.
10. Click Create
Create.
A Progress view indicates that the configuration changes are being saved
to the database.

Technical 04-30006-02-en, May 2019


712
26 I/O Points
26.4 Creating an I/O Module Digital Input

26.4 Creating an I/O Module Digital Input


You create digital inputs to represent where the points are physically wired to
the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module digital input


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select the type of point,
for example, Digital Input.
4. In the Name box, type a name for the digital input.
5. In the Description box, type a description for the digital input.
6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the SmartX AS-B server
onboard I/O module or I/O module where the digital input is wired.
8. In the Label text box, type a label text to identify the digital input on the I/O
module label.
9. In the Invert box, select True to invert the value logically.
10. In the LED color box, select Green to make the LED green when it is lit.
11. In the LED invert box, select True to make the LED lit when the digital input
is off.

NOTICE
The SmartX AS-B server onboard I/O does not include LEDs. Therefore,
the LED color and LED invert properties are not applicable in
WorkStation.

12. Click Create


Create.

04-30006-02-en, May 2019 Technical


713
26 I/O Points
26.5 Creating an I/O Module Counter Input

26.5 Creating an I/O Module Counter Input


You create counter inputs to represent where the points are physically wired to
the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module counter input


1. In WorkStation, in the System Tree pane, select an IO module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select Counter Input
Input.
4. In the Name box, type a name for the counter input.
5. In the Description box, type the description for the counter input.
6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
counter input will be wired.
8. In the Label text box, type label text to identify the counter input on the I/O
module label.
9. In the Invert box, select True to invert the value logically.
10. In the LED color box, select Green to make the light green when it is lit.
11. In the LED invert box, select True to make the LED lit when the counter
input is off.

NOTICE
The SmartX AS-B server onboard I/O does not include LEDs. Therefore,
the LED color and LED invert properties are not applicable in
WorkStation.

12. Click Create


Create.

Technical 04-30006-02-en, May 2019


714
26 I/O Points
26.6 Creating an I/O Module Temperature Input

26.6 Creating an I/O Module Temperature


Input
You create temperature inputs to represent where the sensors are physically
wired to the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module temperature input


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select Temperature
Input
Input.
4. In the Name box, type a name for the temperature input.
5. In the Description box, type a description for the temperature input.
6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
temperature input is wired.
8. In the Label text box, type a label text to identify the temperature input on
the I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent
to the SmartX server.
11. In the Thermistor type box, select the connected thermistor type.
12. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
13. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
14. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
15. Click Create
Create.

04-30006-02-en, May 2019 Technical


715
26 I/O Points
26.7 2-Wire or 3-Wire RTD Temperature Input Value and Reliability Levels

26.7 2-Wire or 3-Wire RTD Temperature Input


Value and Reliability Levels
In the 2-wire or 3-wire RTD temperature input point, the raw resistance value is
used to help determine the temperature input value.
When determining the value, the following equation is used:
Value = ConvertResistanceToTemperature(RawResistance -
WiringResistance) + Offset
where:
ConvertResistanceToTemperature is a function that depends on the
Sensor type property you select.
The raw resistance value is received from the SmartX device. The raw resistance
displays the measured resistance from the RTD without applying the wiring
resistance or offset properties. The raw resistance represents the unconverted
value before temperature conversion occurs.
The raw resistance to temperature conversion tables for each sensor type, such
as Pt100, Pt1000, Ni1000, LG_Ni1000, and JCI-Ni1000 are valid for a range of
-50°C to +150°C. If the raw resistance value is above the resistance value
corresponding to +150°C for that sensor type, the value is reported as Over
range. If the raw resistance value is below the resistance value corresponding to
-50°C, the value is reported as under range.

NOTICE
SmartX AS-B servers do not support Pt100, 3-wire RTD, sensor class 100 ohm
based, current output points, or the creation of additional I/O modules.

Technical 04-30006-02-en, May 2019


716
26 I/O Points
26.8 2-Wire RTD Temperature Input Wiring Resistance

26.8 2-Wire RTD Temperature Input Wiring


Resistance
In the 2-wire RTD temperature input point, you determine the wiring resistance
by direct calculation, or by measuring it instead.
To calculate the wiring resistance directly, use the following formula:
Resistance per unit length x length x 2 = Wiring resistance
To measure the wiring resistance, attach a 100 or 1000 ohm "reference resistor"
to the end of the wire connected to the sensor. Use the reference resistor to
measure the known resistance. Then, use the following formula to determine the
wiring resistance:
Raw resistance - reference resistance = Wiring resistance
After you determine the wiring resistance, disconnect the reference resistor and
connect the sensor.

NOTICE
Wiring resistance is only available for the 2-wire RTD temperature input point.

04-30006-02-en, May 2019 Technical


717
26 I/O Points
26.9 Creating an I/O Module 2-Wire or 3-Wire RTD Temperature Input

26.9 Creating an I/O Module 2-Wire or 3-Wire


RTD Temperature Input
You create 2-wire or 3-wire RTD temperature inputs to represent where the
sensors are physically wired to the I/O module.

NOTICE
The 3-wire RTD temperature input point is a 3-channel input that requires you
to connect the 2 RTD leads to the 2 inputs and the other lead to the RETurn.
For more information, see the RTD-DI-16 I/O Module topic on WebHelp.

For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module 2-wire or 3-wire RTD temperature


input
1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select 2-Wire RTD
Temperature Input or 3-Wire RTD Temperature Input Input.
4. In the Name box, type a name for the 2-wire or 3-wire RTD temperature
input.
5. In the Description box, type a description for the 2-wire or 3-wire RTD
temperature input.

NOTICE
SmartX AS-B servers do not support Pt100, 3-wire RTD, sensor class 100
ohm based, current output points, or the creation of additional I/O
modules.

6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the 2-
wire or 3-wire RTD temperature input is wired.
8. In the Label text box, type a label text to identify the 2-wire or 3-wire RTD
temperature input on the I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent
to the SmartX server.
11. In the Sensor type box, select the specified sensor type to determine how
the resistance value is converted to temperature.
12. In the Offset box, enter the offset in degrees to the converted temperature
value.

Technical 04-30006-02-en, May 2019


718
26 I/O Points
26.9 Creating an I/O Module 2-Wire or 3-Wire RTD Temperature Input

13. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
For more information, see section 26.7 “2-Wire or 3-Wire RTD Temperature
Input Value and Reliability Levels” on page 716.
14. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
15. In the Wiring resistance box, enter the wiring resistance.
For more information, see section 26.8 “2-Wire RTD Temperature Input
Wiring Resistance” on page 717.
16. Click Create
Create.

04-30006-02-en, May 2019 Technical


719
26 I/O Points
26.10 Creating an I/O Module 2-Wire or 3-Wire RTD Resistive Input

26.10 Creating an I/O Module 2-Wire or 3-Wire


RTD Resistive Input
You create 2-wire or 3-wire RTD resistive inputs to represent where the sensors
are physically wired to the I/O module.

NOTICE
The 3-wire RTD temperature input point is a 3-channel input that requires you
to connect the 2 RTD leads to the 2 inputs and the other lead to the RETurn.
For more information, see the RTD-DI-16 I/O Module topic on WebHelp.

For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module 2-wire or 3-wire RTD resistive input


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select 2-Wire RTD
Resistive Input or 3-Wire RTD Resistive Input
Input.

NOTICE
SmartX AS-B servers do not support Pt100, 3-wire RTD, sensor class 100
ohm based, current output points, or the creation of additional I/O
modules.

4. In the Name box, type a name for the 2-wire or 3-wire RTD resistive input.
5. In the Description box, type a description for the 2-wire or 3-wire RTD
resistive input.
6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the 2-
wire or 3-wire RTD resistive input is wired.
8. In the Label text box, type a label text to identify the 2-wire or 3-wire RTD
resistive input on the I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent
to the SmartX server.
11. In the Top of scale engineering value box, enter the top of the range for
the sensor.
12. In the Top of scale electrical value box, enter the top of the range
resistance value for the input point scale.
13. In the Bottom of scale engineering value box, enter the bottom of the
range for the sensor.

Technical 04-30006-02-en, May 2019


720
26 I/O Points
26.10 Creating an I/O Module 2-Wire or 3-Wire RTD Resistive Input

14. In the Bottom of scale electrical value box, enter the bottom of the range
resistance value for the input point scale.
15. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
16. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
17. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
18. In the Sensor class box, select the sensor class to configure the RTD
resistive input for the approximate range it will measure:
• 100 ohm based: measures a range from 50 to 220 ohm
• 1000 ohm based: measures a range from 500 to 2200 ohm
19. Click Create
Create.

04-30006-02-en, May 2019 Technical


721
26 I/O Points
26.11 Creating an I/O Module Voltage Input

26.11 Creating an I/O Module Voltage Input


You create voltage inputs to represent where the points are physically wired to
the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module voltage input


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Input point
point.
3. In the Create Object wizard, in the object type list, select Voltage Input
Input.
4. In the Name box, type a name for the voltage input.
5. In the Description box, type the description for the voltage input.
6. Click Next
Next.
7. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
voltage input will be wired.
8. In the Label text box, type label text to identify the voltage input on the I/O
module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent
to the SmartX server.
11. In the Top of scale engineering value box, enter the top of the range for
the sensor.
12. In the Top of scale electrical value box, enter the top of the range for the
sensor.
13. In the Bottom of scale engineering value box, enter the top of the range for
the voltage input.
14. In the Bottom of scale electrical value box, enter the top of the range for
the voltage input.
15. In the Unit box, enter the engineering unit for the voltage input.
16. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
17. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
18. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
19. Click Create
Create.

Technical 04-30006-02-en, May 2019


722
26 I/O Points
26.12 Creating an I/O Module Digital Output

26.12 Creating an I/O Module Digital Output


You create digital outputs to represent where the points are physically wired to
the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module digital output


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Output point
point.
3. In the Create Object wizard, in the object type list, select Digital Output
Output.
4. In the Name box, type a name for the digital output.
5. In the Description box, type a description for the digital output.
6. Click Next
Next.
7. In the Digital Output page, in the Output channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
digital output is wired.
8. In the Label text box, type a label text to identify the digital output on the
I/O module label.
9. In the Requested value box, select Off to make the initial value of the first
program cycle off.
10. In the Default output value box, select Off to make the value revert to off if
the I/O module loses communication with the SmartX server for more than
255 seconds.
11. In the Invert box, select True to invert the value logically.
12. Click Create
Create.

04-30006-02-en, May 2019 Technical


723
26 I/O Points
26.13 Creating an I/O Module Voltage Output

26.13 Creating an I/O Module Voltage Output


You create voltage outputs to represent where the points are physically wired to
the I/O module.
For more information, see section 26.1 “I/O Point Types” on page 707.

To create an I/O module voltage output


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the File menu, point to New and then click Output point
point.
3. In the Create Object wizard, in the object type list, select Voltage Output
Output.
4. In the Name box, type a name for the voltage output.
5. In the Description box, type a description for the voltage output.
6. Click Next
Next.
7. In the Basic Settings page, in the Output channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
voltage output is wired.
8. In the Label text box, type a label text to identify the voltage output on the
I/O module label.
9. In the Requested value box, enter a value to make the initial value of the
first program cycle this value.
10. In the Default output value box, enter a value to make the value revert to
this value if the I/O module loses communication with the SmartX server for
more than 255 seconds.
11. In the Threshold box, enter the minimum change of value before it is sent
to the SmartX server.
12. In the Top of scale engineering value box, enter the top of the range
engineering value for the voltage output.
13. In the Top of scale electrical value box, enter the top of the range voltage
value for the voltage output.
14. In the Bottom of scale engineering value box, enter the bottom of the
range engineering value for the voltage output.
15. In the Bottom of scale electrical value box, enter the bottom of the range
voltage value for the voltage output.
16. In the Unit box, enter the engineering unit for the voltage output.
17. Click Create
Create.

Technical 04-30006-02-en, May 2019


724
26 I/O Points
26.14 Configuring I/O Module Input or Output Points

26.14 Configuring I/O Module Input or Output


Points
When you configure input or output points on an I/O module, the data fields that
display depend on the type of I/O point you create.
For more information, see section 26.1 “I/O Point Types” on page 707.

To configure I/O module input or output points


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. In the List View
View, click the input or output point that you want to configure.
3. On the File menu, click Properties to display the basic I/O point properties.
4. Edit the basic input or output point properties.
For more information, see the New Input Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
For more information, see the New Output Point Configuration Wizard –
Basic Settings Page topic on WebHelp.
5. Click OK
OK.

04-30006-02-en, May 2019 Technical


725
26 I/O Points
26.15 Creating Multiple I/O Points

26.15 Creating Multiple I/O Points


Using the Spreadsheet view, you can quickly create multiple I/O points, which
you otherwise would create one at a time in the Create Object wizard.
For more information, see section 213.1 “Spreadsheet Overview” on page 7985.

To create multiple I/O points


1. In WorkStation, in the System Tree pane, select an I/O module on a SmartX
server.
2. On the Actions menu, click Edit in spreadsheet
spreadsheet.
3. In the Spreadsheet view, select the row with the channel that corresponds
to the terminal connection on the I/O module where the input or output is
wired.
4. In the Type column, select the type of I/O point.
5. Enter the rest of the properties, as you would do in the corresponding
wizard.

NOTICE
Press CTRL+U to change the engineering unit of a value in the
Spreadsheet view.

6. Create additional I/O points using steps 3-5.

NOTICE
• You can also copy and paste cells, rows, and entire blocks.

7. On the File menu, click Save


Save.

Technical 04-30006-02-en, May 2019


726
26 I/O Points
26.16 Reliability of I/O Points

26.16 Reliability of I/O Points


All I/O points have a Reliability property that describes the reliability or quality of
the value. This value displays in the Basic Tab of the I/O point.

Figure: Reliability of an I/O point

The Reliability property can have one of the following values.

Table: Reliability Values


Value Description

Reliable The point and module are online and the input is operating
properly.

Over range The value is above the Upper reliability level field.
Note: Only current, resistive, RTD, temperature, and voltage
inputs can be over range since they are the only points that
contain the Upper reliability level field.

Under range The value is below the Lower reliability level field.
Note: Only current, resistive, RTD, temperature, and voltage
inputs can be under range since they are the only points that
contain the Lower reliability level field.

Open circuit A supervised input is in a TROUBLE state and the measured input
resistance is >60KΩ.

Short circuit A supervised input is in a TROUBLE state and the measured input
resistance is <300Ω.

Unreliable The point is not assigned a channel number, the module


containing this point does not have an online status, or its module
type mismatch is true.

04-30006-02-en, May 2019 Technical


727
26 I/O Points
26.17 Reviewing the Reliability of I/O Point Values

26.17 Reviewing the Reliability of I/O Point


Values
You view the Reliability property of an input or output point to determine the
reliability or quality of the value.
For more information, see section 26.16 “Reliability of I/O Points” on page 727.

To review the reliability of I/O point values


1. In WorkStation, in the System Tree pane, select the IO bus on the SmartX
server.
2. Expand the I/O bus and select the IO module.
3. In the List View
View, click the I/O point.
4. On the File menu, clik Properties
Properties.
5. View the Reliability property.
The Reliability property contains one of the six possible values listed in a read-
only format. For more information, see section 26.16 “Reliability of I/O Points” on
page 727.

Technical 04-30006-02-en, May 2019


728
26 I/O Points
26.18 Forced I/O Point Values

26.18 Forced I/O Point Values


You force the value of an input point or the requested value of an output point.
Forcing a value disables the input or output point from receiving values from
either a hardware device or software program. You can force an input or output
point for the following reasons:
• Force an input point to test a software program. For example, if a program
was supposed to branch at a temperature of 27 °C (80.6 °F), you can enter
that value for the selected input point and test the branch.
• Force an output point to turn a device on or off. For example, you can turn
off a chiller for servicing.

Input
For an input I/O point, you force the Value
Value. The forced status of an I/O point is
available to graphics and trend logs as part of the Present value.
For more information, see section 26.19 “Forcing Input Values” on page 730.

Output
For an output I/O point, you force the Requested value
value. When you force an
output point, the forced value controls the output, and the Requested value
toggles to Unforce
Unforce. After you remove the forced condition, the output returns to
the unforced value and the Requested value toggles to Force
Force.
For more information, see section 26.20 “Forcing Output Values” on page 731.

NOTICE
• A manual override takes precedence over a forced value.

04-30006-02-en, May 2019 Technical


729
26 I/O Points
26.19 Forcing Input Values

26.19 Forcing Input Values


You force the value of an input point to disable the input from receiving values
from either a hardware device or software program. This is useful when you want
to test a software program.
For more information, see section 26.18 “Forced I/O Point Values” on page 729.

To force an input value


1. In WorkStation, in the System Tree pane, expand the IO Bus on the
EcoStruxure BMS server.
2. Expand the AS-B onboard IO or click the IO module.
3. In the List View
View, select the I/O input point that you want to force.
4. On the File menu, click Properties
Properties.
5. In the Value box, click Force
Force.
6. When the Unforce toggle displays, enter the forced value.
7. Click OK
OK.
The input point is driven to the specified value.

Technical 04-30006-02-en, May 2019


730
26 I/O Points
26.20 Forcing Output Values

26.20 Forcing Output Values


You force the requested value of an output point to disable the output point from
receiving values from either a hardware device or software program. This is
useful when you want to force an output point to turn a device on or off.
For more information, see section 26.18 “Forced I/O Point Values” on page 729.

To force an output value


1. In WorkStation, in the System Tree pane, expand the IO Bus on a SmartX
server.
2. Expand the AS-B onboard IO or click the IO module.
3. In the List View
View, select the I/O output point that you want to force.
4. On the File menu, click Properties
Properties.
5. In the Requested value box, click the Force button.
6. When the Unforce toggle displays, enter the requested value.
7. Click OK
OK.
The output point is driven to the requested value.

04-30006-02-en, May 2019 Technical


731
26 I/O Points
26.21 I/O Point Scaling

26.21 I/O Point Scaling


Scaling applies a mathematical factor that compares the internal values in the
system to and from the physical input and output points on an I/O module. The
scaling is linear and can include both positive and negative slopes.

26.21.1 Input Scaling


Input scaling applies to different types of input points.

Table: Input Scaling for Different Input Types


Input Type Electrical Top/Bottom of Engineering Unit Types (Inputs
Scale Converted To)

Voltage 0 to 10 VDC Power, Flow, Acceleration,


Percentage, and so forth

Current 0 to 20 mA Power, Flow, Acceleration,


Percentage and so forth

Resistance 0 to 60 kΩ Resistance input scaling is


expressed in % or fractions

Temperature -50 °C to +150 °C Degrees C, F, and Kelvin

Table: Thermistor Types


Thermistor Type Resistance

None N/A

10k Type I (Continuum)a 10 kΩ

10k Type II (I/NET) 10 kΩ

10k Type III (Satchwell) 10 kΩ

10k Linearized (Satchwell DRT) 10 kΩ

10k Type IV (FD) 10 kΩ

10k Type V (FD w/ 11k shunt) 10 kΩ

1.8k (Xenta) 1.8 kΩ

1k (Balco) 1 kΩ

20k (Honeywell) 20 kΩ

2.2k (Johnson Controls) 2.2 kΩ

a) This thermistor type is used also for 10k Type 3 thermistors such as the SmartX Living Space
Resistive Temperature Sensor (SXWSATXXXSLX).

Technical 04-30006-02-en, May 2019


732
26 I/O Points
26.21 I/O Point Scaling

You can configure the physical inputs of all types, except for Digital, Counter,
and Supervised inputs, to expose the following attributes:
• Calculated value
• Engineering Unit and category

Example
The Input Voltage range of 0 to 10 VDC measures a light level that ranges from 0
to 1400 Lux. At an input voltage of 1 VDC, the input object would expose 140
Lux. The resulting Engineering Value is the linear interpolation of the configured
scale. The value is not clipped when you configure scaling on an input point.
The linear conversion is applied to the full measurable range of the electrical
input.
You set the scaling parameters in the basic properties of the input point. For
more information, see section 26.22 “Scaling an Input or Output I/O Point” on
page 735.

26.21.2 Output Scaling


Output scaling applies to voltage or current outputs.

Table: Output Scaling for Different Input Types


Output Type Electrical Top/Bottom of Engineering Unit Types (Outputs
Scale Converted To)

Voltage 0 to 10 VDC Power, Flow, Acceleration,


Percentage, and so forth

Current 0 to 20 mA Power, Flow, Acceleration,


Percentage and so forth

You can configure the physical analog output to receive the following attributes:
• Present (application) value
• Another Engineering Unit (in the same category) and covert it to electrical
units

Example
A Voltage Output has a range of 0 to 10 VDC which is scaled to equal 0 to
100 %. If the application value equals 20 %, the Output should be 2 VDC.

NOTICE
If the Requested Value is outside of the scaled range, the Voltage or Current
output should be limited to the Electrical scale top and Electrical scale bottom
boundaries.

You set the scaling parameters in the basic properties of the output point. For
more information, see section 26.22 “Scaling an Input or Output I/O Point” on
page 735.

04-30006-02-en, May 2019 Technical


733
26 I/O Points
26.21 I/O Point Scaling

26.21.3 Pulse Width Modulation Scaling


Pulsed Width Modulation (PWM) applies to digital pulsed and tristate pulsed
outputs. PWM provides a conditioning algorithm that produces a pulse train with
a specific period and duty cycle. Depending on your programming, you can
implement PWM using either the Duration or Duty cycle property to produce the
same results. When scaled, a digital or tristate pulsed output produces a
repetitive pulse as configured in the scaling, and the requested value is clipped.
Output Requested Value

Digital Pulsed Consider the following points when selecting a PWM scale
type:
• If Duration (s) and the requested value is greater than
the period value, the system will clip the requested
value to the period value.
• If Duty cycle (%) and the requested value is greater
than 100, the system will clip the requested value to
100%.
• If the period is set to zero (0
0), the system does not clip
the requested value. Instead, the system sets the output
to On for the same number of seconds as the requested
value and then the output turns off permanently.

Tristate Pulsed Consider the following points when selecting a PWM scale
type:
• If Duration (s) and the requested value, which includes
negative values, is greater than the period value, the
system will clip the requested value to the absolute
value.
• If Duty cycle (%) and the requested value is greater
than 100, the system will clip the requested value to
100%.
• If the period is set to zero (0
0), the system does not clip
the requested value. Instead, the system sets the output
to On for the same number of seconds as the requested
value and then the output turns off permanently.

Example
Configure PWM scaling in one of the following ways:
• Duration (s) and Period (s) to configure a pulse duration of 5 seconds and
a Period of 20 seconds produces a 5 second pulse every 20 seconds.
• Duty cycle (%) and Period (s) to configure a duty cycle of 25 % and a
Period of 20 seconds produces a 5 second pulse every 20 seconds (25 %
of 20 seconds = 5 seconds)
You set PWM parameters in the basic properties of a digital pulsed and tristate
pulsed output point. For more information, see section 26.22 “Scaling an Input or
Output I/O Point” on page 735.

Technical 04-30006-02-en, May 2019


734
26 I/O Points
26.22 Scaling an Input or Output I/O Point

26.22 Scaling an Input or Output I/O Point


You configure scaling on the physical inputs of current, resistive, RTD, and
voltage points, and the physical outputs of analog, voltage, or current points.
For more information, see section 26.21 “I/O Point Scaling” on page 732.

To scale an input or output I/O point


1. In the System Tree pane, select the IO bus on the SmartX server.
2. Expand SmartX AS-B Server onboard IO or click the IO module.
3. In the List View
View, click the input or output I/O point.
4. On the File menu, click Properties
Properties.

5. In the Basic tab, click the Configure Settings icon to display the Value
dialog box (inputs) or the Requested value dialog box (outputs).
6. Select the check box to the left of the Unit field and then click the Browse
button.
7. In the Unit Selection dialog box, select the unit you want and click Select
Select.
8. Click OK
OK.
9. Edit the basic properties.
Component Description

Value Displays the present value as measured from 0 to


20mA.

Requested value Enter a value that you want to assign to the output.
This property drives the output to a specific value. If
the I/O module loses communication with the
Automation Server for 255 seconds, the default
output value is used instead of the requested value.

Communications status Displays online when the module is communicating


with the server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a point. For


more information, see section 26.16 “Reliability of I/O
Points” on page 727.

Override status Displays whether the override switch is being used.


If the status is True
True, the physical override switch has
been set to Hand (value = 5V) or Off (value = 0V).

Channel Select an input channel number, such as In1.

Sensor class Select a sensor type to determine how the resistance


value is converted to temperature.

04-30006-02-en, May 2019 Technical


735
26 I/O Points
26.22 Scaling an Input or Output I/O Point

Continued
Component Description

Threshold Type a value for the minimum amount of change of


value before the I/O module reports the value to the
Automation Server. Properly setting the threshold
value reduces unnecessary communication between
the I/O module and the Automation Server. For more
information, see section 26.27 “Threshold Settings
for I/O Points” on page 742.

Default output value Enter the value that you want to revert to if the I/O
module loses communication with the Automation
Server for more than 255 seconds.

Digital filter Select True to filter out noise and prevent false
readings.

Label text Type the text that is printed on an I/O module label.
For more information, see section 27.41 “Print I/O
Module Labels Dialog Box” on page 824.

Upper reliability level Type a value for the upper reliability level in electrical
units. When the electrical value is above the upper
reliability level, the Reliability is Value over range.

Lower reliability level Type a value for the lower reliability level in electrical
units. When the electrical value is below the lower
reliability level, the Reliability is Value under range.

Electrical scale top Input


Type a top of the range voltage (VDC), current (mA),
or resistance (kohm) value for the input point scale.
(Example: 10 VDC, 20 mA, or 60 kohm).
Output
Type a top of the range voltage (VDC) or current
(mA) value for the output point scale. (Example: 10
VDC or 20 mA)

Electrical scale bottom Input


Type a bottom of the range voltage, (VDC), current
(mA), or resistance (kohm) value for the input point
scale. (Example: 0 VDC, 0 mA, or 0 kohm)
Output
Type a bottom of the range voltage (VDC) or current
(mA) value for the output point scale. (Example: 0
VDC or 0 mA)

Engineering scale top Input


Type a top of the range engineering value for the
input point scale. (Example: 100%)
Output
Type a top of the range engineering value for the
output point scale. (Example: 100%)

Continued on next page

Technical 04-30006-02-en, May 2019


736
26 I/O Points
26.22 Scaling an Input or Output I/O Point

Continued
Component Description

Engineering scale bottom Input


Type a bottom of the range engineering value for the
input point scale. (Example: 0%).
Output
Type a bottom of the range engineering value for the
output point scale. (Example: 0%)

Offset Type an offset value to be added to or subtracted


from the engineering value before it impacts the
Value property.

10. In the PWM scale box, select the type of scale used for digital pulsed or
tristate pulsed outputs:
• Duration is the length of time in seconds. Using PWM scale
parameters of Duration (s) and Period (s)
(s), a pulse duration of 5
seconds and a period of 20 seconds produces a 5-second pulse
every 20 seconds.
• Duty cycle is the length of time in percentage. Using PWM scale
parameters of Duty cycle (%) and Period (s)(s), a duty cycle of 25
percent and a period of 20 seconds produces a 5-second pulse every
20 seconds (25% of 20 seconds = 5 seconds).
11. In the PWM minimum pulse (s) box, enter a minimum pulse width.
If the period value is on for less than the minimum pulse, the output remains
off.
12. Click OK
OK.

04-30006-02-en, May 2019 Technical


737
26 I/O Points
26.23 Implicit Trend Logs for I/O Points

26.23 Implicit Trend Logs for I/O Points


When you create an I/O point on an I/O module, the system automatically
creates an implicit trend log for that I/O point. The implicit trend log logs the
Value of the I/O point in a Change of Value type trend log.
The values must change by the following amounts before the logs show new
values:
• Current Outputs and Inputs: 0.2 mA
• Voltage Outputs and Inputs: 0.1 V
• Resistive Inputs: 200Ω
• Temperature Inputs: 0.2 oC (32.3 oF)
• All others: Any change of value
If scaling is set on an I/O point, the implicit log’s delta is also scaled and the
implicit trend logs the scaled value. The implicit log also logs forced values
along with an indication that a particular value is forced.

NOTICE
Implicit records that have not been collected by the extended trend log will be
lost.

Technical 04-30006-02-en, May 2019


738
26 I/O Points
26.24 Input Point Offsets

26.24 Input Point Offsets


An offset is a value added to or subtracted from the engineering value before it
impacts the input point's Value property. For example, assume that a Thermistor
input is housed in a wiring closet. If you know the temperature in that closet is 2
°C higher than the temperature outside the closet, you enter -2,0 as the offset
value.
The object then measures 25 °C from the point, uses the offset to calibrate that
value, and displays 23 °C in the Value property. Using the offset value helps to
compensate for the temperature differences between the closet and the ambient
temperature.

04-30006-02-en, May 2019 Technical


739
26 I/O Points
26.25 Configuring Offsets for Input Points

26.25 Configuring Offsets for Input Points


You enter an offset to specify the value that you want added to or subtracted
from the engineering value before it affects the point's value property. For
example, using an offset helps to compensate for the temperature differences
between a Thermistor output housed in a wiring closet and the temperature
outside the closet.
For more information, see section 26.24 “Input Point Offsets” on page 739.

To configure offsets for input points


1. In WorkStation, in the System tree pane, expand the IO Bus on the SmartX
server.
2. Expand the AS-B onboard IO or click the IO module
module.
3. On the File menu, point to New and then click Input Point
Point.
4. In the Create Object wizard, in the object type list, select an input type.
5. In the Name box, enter a name for the input point.
6. In the Description box, type a description of the input point.
7. Click Next
Next.
8. In the Basic Settings page, in the Input channel box, select the channel
that corresponds to the terminal connection on the I/O module where the
input will be wired.
9. In the Label text box, enter text to identify the input point on the I/O module
label.
10. Enter the values for the input point.
For more information, see the New Input Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
11. In the Offset box, enter the offset value that you want added to or
subtracted from the engineering value before it affects the point's value
property.
12. Click Create
Create.

Technical 04-30006-02-en, May 2019


740
26 I/O Points
26.26 Printing a Wiring List for the I/O Bus

26.26 Printing a Wiring List for the I/O Bus


You print an I/O wiring list for the I/O bus that describes which I/O points are
associated with each I/O module. You use the printed copy of this list to help
wire the I/O bus network.

NOTICE
If a Module ID is Null, you cannot print the wiring list. If a channel is Null, the
I/O point labels do not display in the wiring list.

For more information, see the I/O Bus Parts topic on WebHelp.

To print a wiring list for the I/O bus


1. In WorkStation, in the System Tree pane, click the IO Bus on a SmartX
server.
2. On the Actions menu, click Print IO wiring list
list.

3. In the Print IO Wiring List dialog box, click the Printer icon .
4. To print a wiring list for a single I/O module, right-click the selected I/O
module.
5. Click Print IO wiring list
list.

6. Click the Printer icon .


Observe that the complete path to the I/O module is displayed on the title bar for
the I/O wiring list.

04-30006-02-en, May 2019 Technical


741
26 I/O Points
26.27 Threshold Settings for I/O Points

26.27 Threshold Settings for I/O Points


The threshold is the minimum change of value before the I/O module reports the
value to the SmartX server. Properly setting the threshold value reduces
unnecessary communication between the I/O module and the SmartX server.
When both the SmartX server and the I/O modules are online and operating
normally, an I/O module reports the value of a point to the SmartX server if and
only if the change since the last report is larger than the threshold. This is true for
the value property in both input and output points.
• Input: The threshold for an input is used by the I/O module to throttle the
reporting of input value changes.
• Output: The threshold for an output is used by the I/O module to throttle the
reporting of feedback values, for example, the actual value on the physical
terminal.

NOTICE
SmartX AS-B server does not currently support feedback values for outputs.

Threshold uses the engineering unit. However, WorkStation does not present the
threshold unit. The SmartX server uses a unit related to the Value property
before WorkStation applies localization. The unit of value before localization is
shown in the Settings page of the Value property.

Figure: Value unit before localization

The relationship between the Value's unit and the threshold is as follows:
• If the unit is not a temperature unit, the EcoStruxure BMS server uses the
same unit for threshold.

Technical 04-30006-02-en, May 2019


742
26 I/O Points
26.27 Threshold Settings for I/O Points

• If the unit is a temperature unit, the EcoStruxure BMS server uses the
version of the unit. For example, if the Value's unit is °C, the threshold unit is
°C.
With a default threshold value of 0, the I/O module reports the Value with its
maximum resolution. The maximum resolution values for each of the I/O points
are listed.

Table: I/O Point Resolution Values


Points Maximum Minimum Value Maximum Value
Resolution

Voltage Input 2.7 mV 0V 10 V

Current Input 5.6 µA 0 mA 20 mA

Digital Input 120 ms n/a n/a

Counter Input 20 ms n/a n/a

Voltage Output 42 mV 0V 10 V

Current Output 0.1 mA 0 mA 20 mA

2- or 3-Wire RTD 0.03 °C -50 °C +150 °C


Temperature Inputs

2- or 3-Wire RTD 0.01 ohms 50 ohms 220 ohms


Resistive Input, 100
ohm type

2- or 3-Wire RTD 0.1 ohms 500 ohms 2200 ohms


Resistive Input,
1000 ohm type

Resistive Input, RTD 1 ohm 0 ohms 15000 ohms


module

Resistive Input, UI- 4 ohms 10 ohms 60000 ohms


series module*

Temperature Input, 0.08 °C -50 °C +150 °C


Satchwell 10k

Temperature Input, 0.05 °C -50 °C +150 °C


1.8k*

Temperature Input, 0.05 °C -50 °C +150 °C


10k series*

Temperature Input, 0.6 °C -50 °C +150 °C


1k Balco*

Temperature Input, 0.05 °C -50 °C +150 °C


20k*

Temperature Input, 0.05 °C -50 °C +150 °C


2.2k

04-30006-02-en, May 2019 Technical


743
26 I/O Points
26.27 Threshold Settings for I/O Points

Continued
Points Maximum Minimum Value Maximum Value
Resolution

* For UI-series modules, such as the UI-16, AO-4, UI-8, and DO-4, the temperature and
resistive input maximum resolution varies non-linearly depending on the temperature or
resistance range being measured. The maximum resolution listed here is the maximum
across the entire range.

CPU usage
Reporting the Value with its maximum resolution requires the system to process
every single fluctuation every time the Value changes. When a large number of
inputs and outputs are involved, the SmartX server may need a significant
amount of CPU bandwidth to process them. As a result, you may observe high
system CPU usage and slow response time. For more information, see section
28.6 “High CPU Usage and Slow System Response Time ” on page 834.

Technical 04-30006-02-en, May 2019


744
27 I/O User Interface

Topics
Central I/O System Tree Pane Icons
I/O Module Management Tool Dialog Box
I/O Bus Properties – Basic Tab
I/O Module Properties – Basic Tab
AS-B-24 Onboard I/O Properties – Basic Tab
AS-B-36 Onboard I/O Properties – Basic Tab
I/O Modules in the Work Area
Counter Input Properties – Basic Tab
Current Input Properties – Basic Tab
Digital Input Properties – Basic Tab
Resistive Input Properties – Basic Tab
2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab
Supervised Input Properties – Basic Tab
Temperature Input Properties – Basic Tab
2-Wire or 3-Wire RTD Temperature Input Properties – Basic
Tab
Voltage Input Properties – Basic Tab
Current Output Properties – Basic Tab
Voltage Output Properties – Basic Tab
Digital Output Properties – Basic Tab
27 Digital Pulsed Output Properties – Basic Tab
Tristate Output Properties – Basic Tab
Tristate Pulsed Output Properties – Basic Tab
I/O Points in the Work Area
Print I/O Wiring List Dialog Box
Counter Input – Basic Settings Page
Current Input – Basic Settings Page
Digital Input – Basic Settings Page
Resistive Input – Basic Settings Page
2-Wire or 3-Wire RTD Resistive Input – Basic Settings Page
Supervised Input – Basic Settings Page
Temperature Input – Basic Settings Page
2-Wire or 3-Wire RTD Temperature Input – Basic Settings
Page
Voltage Input – Basic Settings Page
New I/O Module Wizard – Basic Settings Page
Current Output – Basic Settings Page
Voltage Output – Basic Settings Page
Digital Output – Basic Settings Page
Digital Pulsed Output – Basic Settings Page
Tristate Output – Basic Settings Page
Tristate Pulsed Output – Basic Settings Page
Print I/O Module Labels Dialog Box
Update I/O Module Firmware Dialog Box
27 I/O User Interface
27.1 Central I/O System Tree Pane Icons

27.1 Central I/O System Tree Pane Icons


Use the System Tree pane icons to identify the I/O bus, I/O channels, and I/O
modules and points.

Table: Central I/O System Tree Pane Icons


Icon Description

I/O Bus
Indicates the I/O bus.

I/O Module or AS-B onboard IO


Indicates an I/O module or AS-B onboard IO.

I/O Point
Indicates an I/O point.

Output I/O Channel


Indicates the output I/O channel in the Hardware folder.

Input I/O Channel


Indicates the input I/O channel in the Hardware folder.

Output I/O Point


Indicates the output I/O point.

Input I/O Point


Indicates the input I/O point.

04-30006-02-en, May 2019 Technical


747
27 I/O User Interface
27.2 I/O Module Management Tool Dialog Box

27.2 I/O Module Management Tool Dialog


Box
Use the IO Module Management Tool dialog box to assign and unassign logical
I/O modules, to correct the position of a module type, or to correct a module
mismatch.

Figure: IO Module Management Tool dialog box

Table: IO Module Management Tool Dialog Box


Component Description

Module ID Displays the position of the I/O module on the I/O Bus. Null and
1 to 32 are valid positions. Null specifies that the Module ID is
non-operational and can be used as a placeholder to be
configured when you wish to assign it to a physical slot.

Physical device type Displays the physical device type connected to the SmartX
server.

Technical 04-30006-02-en, May 2019


748
27 I/O User Interface
27.2 I/O Module Management Tool Dialog Box

Continued
Component Description

IO module status Displays the status of the I/O module:


• Configured – There is at least one I/O point created on the
module.
• Unconfigured – There are no I/O points created on the
module.
• Bootloader – The module's firmware is being updated.
• Low power – The module has been placed in low power
mode to save energy.
• 24V Out of tolerance – The module is not receiving the
required power from the bus.

IO module name Displays the logical module located in the IO Bus folder.

IO module type Displays the type of logical I/O module.

Unssigned Modules Displays unassigned I/O modules. You drag and drop
unassigned modules to assign them to a physical device. For
more information, see section 25.11 “Assigning and
Unassigning Logical I/O Modules” on page 681.

04-30006-02-en, May 2019 Technical


749
27 I/O User Interface
27.3 I/O Bus Properties – Basic Tab

27.3 I/O Bus Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of the I/O bus.

Figure: I/O bus properties - basic tab

Table: Basic Tab


Component Description

Automation Server Displays the slot where the SmartX server is currently located.
backplane address

Technical 04-30006-02-en, May 2019


750
27 I/O User Interface
27.4 I/O Module Properties – Basic Tab

27.4 I/O Module Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of I/O modules.

Figure: I/O module properties - basic tab

Table: Basic Tab


Component Description

Status Displays whether the I/O module is online


or offline. WorkStation displays an alarm
when the I/O module's status changes
unexpectedly, for example, when the
module is online and then goes offline with
respect to the SmartX server.

04-30006-02-en, May 2019 Technical


751
27 I/O User Interface
27.4 I/O Module Properties – Basic Tab

Continued
Component Description

Module status Displays the status of the I/O module:


• Configured – There is at least one I/O
point created on the module.
• Unconfigured – There are no I/O
points created on the module.
• Bootloader – The module's firmware
is being updated.
• Low power – The module has been
placed in low power mode to save
energy.
• 24V Out of tolerance – The module is
not receiving the required power from
the bus.

Module type mismatch Displays True when the user has created a
different type of module at a specific
location in the I/O Bus than is physically
installed at that location. When this occurs,
a Module type mismatch alarm is also
triggered.

Model name Displays the I/O module model name.

Product serial number Displays the I/O module serial number.

Firmware version Displays the firmware version of the I/O


module.

Hardware version Displays the hardware version of the I/O


module.

Update status Displays the update status of the I/O


module:
• Idle
Idle: No module firmware update is
occurring.
• In progress
progress: Module firmware is being
updated.
• Bad file
file: Module firmware update
failed because the uploaded file was
corrupted.
• Complete
Complete: Module firmware update
completed successfully.

Module ID Displays the position of the I/O module on


the I/O Bus. Null and 1 to 32 are valid
positions. Null specifies that the Module ID
is non-operational and can be used as a
placeholder to be configured when you
wish to assign it to a physical slot.

Low power Displays True when the I/O module has


been placed in low power mode. You
place an I/O module in low power mode to
save energy. The default here is False.

Technical 04-30006-02-en, May 2019


752
27 I/O User Interface
27.4 I/O Module Properties – Basic Tab

Continued
Component Description

Override capability expected Select Yes to connect a module with an


override switch. The field specifies whether
you would like the module to be override
capable. It does mean that the module is
actually override capable.
To determine whether the module is
override capable, view the Module name
property. If it ends with an -H, the module
is override capable.

04-30006-02-en, May 2019 Technical


753
27 I/O User Interface
27.5 AS-B-24 Onboard I/O Properties – Basic Tab

27.5 AS-B-24 Onboard I/O Properties – Basic


Tab
Use the Basic tab to view and edit the basic properties of the Smart AS-B server
onboard I/O.

Figure: Basic tab

Table: Basic Tab


Component Description

Status Displays whether the AS-B-24 onboard I/O


is online or offline. WorkStation displays an
alarm when the status of the SmartX AS-B
server changes unexpectedly, such as
switching from online to offline.

Module status Displays the status of the AS-B-24 onboard


I/O. For more information, see section 27.7
“I/O Modules in the Work Area” on page
758.

Technical 04-30006-02-en, May 2019


754
27 I/O User Interface
27.5 AS-B-24 Onboard I/O Properties – Basic Tab

Continued
Component Description

Module type mismatch Displays True when the user has created a
different type of module at a specific
location in the I/O Bus than is physically
installed at that location. When this occurs,
a Module type mismatch alarm is also
triggered.

Model name Displays the AS-B-24 onboard I/O model


name.

Product serial number Displays the AS-B-24 onboard I/O serial


number.

Firmware version Displays the firmware version of the AS-B-


24 onboard I/O.

Hardware version Displays the hardware version of the AS-B-


24 onboard I/O.

Update status Displays the update status of the AS-B-24


onboard I/O. For more information, see
section 27.7 “I/O Modules in the Work
Area” on page 758.

04-30006-02-en, May 2019 Technical


755
27 I/O User Interface
27.6 AS-B-36 Onboard I/O Properties – Basic Tab

27.6 AS-B-36 Onboard I/O Properties – Basic


Tab
Use the Basic tab to view and edit the basic properties of the SmartX AS-B
server onboard I/O.

Figure: Basic tab

Table: Basic Tab


Component Description

Status Displays whether the AS-B-36 Onboard I/O


is online or offline. WorkStation displays an
alarm when the status of the SmartX server
changes unexpectedly, such as switching
from online to offline.

Module status Displays the status of the AS-B-36


Onboard I/O. For more information, see
section 27.7 “I/O Modules in the Work
Area” on page 758.

Technical 04-30006-02-en, May 2019


756
27 I/O User Interface
27.6 AS-B-36 Onboard I/O Properties – Basic Tab

Continued
Component Description

Module type mismatch Displays True when the user has created a
different type of module at a specific
location in the I/O Bus than is physically
installed at that location. When this occurs,
a Module type mismatch alarm is also
triggered.

Model name Displays the AS-B-36 Onboard I/O model


name.

Product serial number Displays the AS-B-36 Onboard I/O serial


number.

Firmware version Displays the firmware version of the AS-B-


36 Onboard I/O.

Hardware version Displays the hardware version of the AS-B-


36 Onboard I/O.

Update status Displays the update status of the AS-B-36


Onboard I/O. For more information, see
section 27.7 “I/O Modules in the Work
Area” on page 758.

04-30006-02-en, May 2019 Technical


757
27 I/O User Interface
27.7 I/O Modules in the Work Area

27.7 I/O Modules in the Work Area


Use the work area to access details about the I/O modules in the IO Bus
Bus.

Figure: I/O modules in the work area

NOTICE
If you do not see all of the fields displayed, right-click on the column header to
display more.

Table: I/O Modules in the Work Area


Component Description

Name Displays the I/O module name that you


assign. When creating the I/O module, the
default value is the I/O module type, for
example AO-8 (analog output, 8-channel).

Description Displays the user defined description of


the I/O module or AS-B onboard IO.

Status Displays the status of the I/O module or


SmartX AS-B server onboard IO: either
online or offline with respect to the SmartX
server.

Module status Displays the status of the I/O module or


SmartX AS-B server onboard IO. For more
information, see section 27.7 “I/O Modules
in the Work Area” on page 758.

Technical 04-30006-02-en, May 2019


758
27 I/O User Interface
27.7 I/O Modules in the Work Area

Continued
Component Description

Model name Displays the status of the I/O module or


SmartX AS-B server onboard IO:
• Configured
Configured: There is at least one I/O
point created on the onboard IO or
I/O module.
• Unconfigured
Unconfigured: There are no I/O points
created on the onboard IO or I/O
module.
• Bootloader
Bootloader: The module's firmware is
being updated.
• Low power
power: The module has been
placed in low power mode to save
energy.
• 24V Out of tolerance
tolerance: The module is
not receiving the required power from
the bus.

Module ID Displays the update status of the I/O


module:
• Idle
Idle: No module firmware update is
occurring.
• In progress
progress: Module firmware is being
updated.
• Bad file
file: Module firmware update
failed because the uploaded file was
corrupted.
• Complete
Complete: Module firmware update
completed successfully.

04-30006-02-en, May 2019 Technical


759
27 I/O User Interface
27.8 Counter Input Properties – Basic Tab

27.8 Counter Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a counter input point.

Figure: Basic tab

Table: Counter Input Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
The maximum value of a counter input is
4294967295. Once passed, that value
wraps to 0. The maximum supported rate
for a counter input is 25Hz.

Reset counter Select True to set the counter value to 0.


The reset counter turns back to False after
being set to True.

Technical 04-30006-02-en, May 2019


760
27 I/O User Interface
27.8 Counter Input Properties – Basic Tab

Continued
Component Description

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Invert Select True (inverted) to increment the


counter when the counter input is
disconnected, rather than when it is
connected.

LED color Select either Red or Green


Green.

LED invert Select True to turn the LED off when the
counter is connected and on when the
counter is disconnected.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

04-30006-02-en, May 2019 Technical


761
27 I/O User Interface
27.9 Current Input Properties – Basic Tab

27.9 Current Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a current input point.

Figure: Basic tab

Table: Current Input Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, the present value is
measured from 0 to 20mA.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


762
27 I/O User Interface
27.9 Current Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the
Reliability is Value over range.

Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the
Reliability is Value under range.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage, (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 0 VDC,
0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering value


for the input point scale. (Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale. (Example:
0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

04-30006-02-en, May 2019 Technical


763
27 I/O User Interface
27.10 Digital Input Properties – Basic Tab

27.10 Digital Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a digital input point.

Figure: Basic tab

Table: Digital Input Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
realease the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, the displayed present value
is either On or Off.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


764
27 I/O User Interface
27.10 Digital Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Invert Select True (inverted) to turn the LED off


when the current is closed.

LED color Select either Red or Green


Green.

LED invert Select True to turn the LED off when the
current is closed.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

04-30006-02-en, May 2019 Technical


765
27 I/O User Interface
27.11 Resistive Input Properties – Basic Tab

27.11 Resistive Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a resistive input point.

Figure: Basic tab

Table: Resistive Input Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays the resistance
measured between 0 and 65535 ohms.
The RTD module resistive input range is
from 0 to 15000 ohms.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


766
27 I/O User Interface
27.11 Resistive Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the
Reliability is Value over range.

Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the
Reliability is Value under range.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage, (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 0 VDC,
0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering value


for the input point scale. (Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale. (Example:
0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

04-30006-02-en, May 2019 Technical


767
27 I/O User Interface
27.12 2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab

27.12 2-Wire or 3-Wire RTD Resistive Input


Properties – Basic Tab
Use the Basic tab to view and edit the basic properties of a 2-wire or 3-wire RTD
resistive input point.

Figure: Basic tab

Table: 2-Wire or 3-Wire Resistive Input Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
See the Sensor class property for more
information.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


768
27 I/O User Interface
27.12 2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Sensor class Select the sensor class to configure the


RTD resisitive input for the approximate
range it will measure:
• 100 ohm based: measures a range
from 50 to 220 ohm
• 1000 ohm based: measures a range
from 500 to 2200 ohm

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the
Reliability is Value over range.

Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the
Reliability is Value under range.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage, (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 0 VDC,
0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering value


for the input point scale. (Example: 100%)

04-30006-02-en, May 2019 Technical


769
27 I/O User Interface
27.12 2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab

Continued
Component Description

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale. (Example:
0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

Technical 04-30006-02-en, May 2019


770
27 I/O User Interface
27.13 Supervised Input Properties – Basic Tab

27.13 Supervised Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a supervised input
point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, the present value displays:
On, Off, Trouble, or Not set.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

04-30006-02-en, May 2019 Technical


771
27 I/O User Interface
27.13 Supervised Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Supervised circuit type Select one of the following: Not set, None,
NO Series, NC Series, NO Parallel, NC
Parallel. NO Series/Parallel, or NC
Series/Parallel (NO= normally open, NC=
normally closed). The default value is NO
Series.

Supervised resistor value Type the resistance value of the resistors in


the supervised circuit.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Technical 04-30006-02-en, May 2019


772
27 I/O User Interface
27.14 Temperature Input Properties – Basic Tab

27.14 Temperature Input Properties – Basic


Tab
Use the Basic tab to view and edit the basic properties of a temperature input
point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a forced value or click to
realease the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays the temperature
value. The module's maximum precision is
0.01C.

04-30006-02-en, May 2019 Technical


773
27 I/O User Interface
27.14 Temperature Input Properties – Basic Tab

Continued
Component Description

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Thermistor type Select the appropriate thermistor type from


the list. For more information, see section
26.21 “I/O Point Scaling” on page 732.list.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Upper reliability level Type a temperature value for the upper


reliability level. When the value is above
the upper reliability level, the Reliability is
Value over range. For more information,
see section 26.7 “2-Wire or 3-Wire RTD
Temperature Input Value and Reliability
Levels” on page 716.

Lower reliability level Type a temperature value for the lower


reliability level. When the value is below the
lower reliability level, the Reliability is Value
under range. For more information, see
section 26.7 “2-Wire or 3-Wire RTD
Temperature Input Value and Reliability
Levels” on page 716.

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

Technical 04-30006-02-en, May 2019


774
27 I/O User Interface
27.15 2-Wire or 3-Wire RTD Temperature Input Properties – Basic Tab

27.15 2-Wire or 3-Wire RTD Temperature Input


Properties – Basic Tab
Use the Basic tab to view and edit the basic properties of a 2-wire or 3-wire RTD
temperature input point.

Figure: Basic tab

04-30006-02-en, May 2019 Technical


775
27 I/O User Interface
27.15 2-Wire or 3-Wire RTD Temperature Input Properties – Basic Tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, the present value displays
the converted temperature value in
degrees including the user-specified
wiring resistance and offset ranging from
-50 to 150°C.4. For more information, see
section 26.7 “2-Wire or 3-Wire RTD
Temperature Input Value and Reliability
Levels” on page 716.

Raw resistance Displays the measured resistance from the


RTD without applying the wiring resistance
or offset properties.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Sensor type Select a sensor type to determine how the


resistance value is converted to
temperature.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Technical 04-30006-02-en, May 2019


776
27 I/O User Interface
27.15 2-Wire or 3-Wire RTD Temperature Input Properties – Basic Tab

Continued
Component Description

Upper reliability leve


level Type a temperature value for the upper
reliability level. When the value is above
the upper reliability level, the Reliability is
Value over range. For more information,
see section 26.7 “2-Wire or 3-Wire RTD
Temperature Input Value and Reliability
Levels” on page 716.

Lower reliability level Type a temperature value for the lower


reliability level. When the value is below the
lower reliability level, the Reliability is Value
under range. For more information, see
section 26.7 “2-Wire or 3-Wire RTD
Temperature Input Value and Reliability
Levels” on page 716.

Offset Type an offset value in degrees to the


converted temperature value. For
instructions on how the value is calculated,
see the Value property.

Wiring resistance Type a wiring resistance value. For more


information, see section 26.8 “2-Wire RTD
Temperature Input Wiring Resistance” on
page 717.

04-30006-02-en, May 2019 Technical


777
27 I/O User Interface
27.16 Voltage Input Properties – Basic Tab

27.16 Voltage Input Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a voltage input point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays the voltage input
value.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


778
27 I/O User Interface
27.16 Voltage Input Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Input channel Select an input channel number, such as


In1.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.

Digital filter Select True to filter out noise and prevent


false readings.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the
Reliability is Value over range.

Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the
Reliability is Value under range.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage, (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 0 VDC,
0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering value


for the input point scale. (Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale. (Example:
0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

04-30006-02-en, May 2019 Technical


779
27 I/O User Interface
27.17 Current Output Properties – Basic Tab

27.17 Current Output Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a current output point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays up to a maximum
of 20mA. This is the measured value of the
output from the I/O module.

Requested value Enter a value that you want to assign to the


output. This property drives the output to a
specific value. If the I/O module loses
communication with the SmartX server for
255 seconds, the default output value is
used instead of the requested value.

Technical 04-30006-02-en, May 2019


780
27 I/O User Interface
27.17 Current Output Properties – Basic Tab

Continued
Component Description

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch has been set to
Hand (value = 10mA) or Off (value = 0mA).

Output channel Select an output channel number, such as


Out1.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.
The threshold is applied to the value
measured from the I/O module, not the
requested value. For example, a current
output has a requested value of 2 mA, a
value of 2 mA, and a threshold of 2 mA. If
the requested value is set to 3 mA, the
value will remain at 2 mA, but the output
value from the module will be 3 mA.

Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the SmartX server for more than 255
seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Electrical scale top Type a top of the range voltage (VDC) or


current (mA) value for the output point
scale. (Example: 10 VDC or 20 mA)

Electrical scale bottom Type a bottom of the range voltage (VDC)


or current (mA) value for the output point
scale. (Example: 0 VDC or 0 mA)

Engineering scale top Type a top of the range engineering value


for the output point scale. (Example: 100%)

04-30006-02-en, May 2019 Technical


781
27 I/O User Interface
27.17 Current Output Properties – Basic Tab

Continued
Component Description

Engineering scale bottom Type a bottom of the range engineering


value for the output point scale. (Example:
0%)

Technical 04-30006-02-en, May 2019


782
27 I/O User Interface
27.18 Voltage Output Properties – Basic Tab

27.18 Voltage Output Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a voltage output point.

Figure: Basic tab

Table: Voltage Output Properties - Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays up to a maximum
output of 10V. This is the measured value
of the output from the I/O module.

Requested value Enter a value that you want to assign to the


output. This property drives the output to a
specific value. If the I/O module loses
communication with the SmartX server for
255 seconds, the default output value is
used instead of the requested value.

04-30006-02-en, May 2019 Technical


783
27 I/O User Interface
27.18 Voltage Output Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch has been set to
Hand (value = 5V) or Off (value = 0V).

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Output channel Select an output channel number, such as


Out1.

Threshold Type a value for the minimum amount of


change of value before the I/O module
reports the value to the SmartX server.
Properly setting the threshold value
reduces unnecessary communication
between the I/O module and the SmartX
server. For more information, see section
26.27 “Threshold Settings for I/O Points” on
page 742.
The threshold is applied to the value
measured from the I/O module, not the
requested value. For example, a current
output has a requested value of 2 mA, a
value of 2 mA, and a threshold of 2 mA. If
the requested value is set to 3 mA, the
value will remain at 2 mA, but the output
value from the module will be 3 mA.

Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the SmartX server for more than 255
seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Electrical scale top Type a top of the range voltage (VDC) or


current (mA) value for the output point
scale. (Example: 10 VDC or 20 mA)

Electrical scale bottom Type a bottom of the range voltage (VDC)


or current (mA) value for the output point
scale. (Example: 0 VDC or 0 mA)

Engineering scale top Type a top of the range engineering value


for the output point scale. (Example: 100%)

Technical 04-30006-02-en, May 2019


784
27 I/O User Interface
27.18 Voltage Output Properties – Basic Tab

Continued
Component Description

Engineering scale bottom Type a bottom of the range engineering


value for the output point scale. (Example:
0%)

04-30006-02-en, May 2019 Technical


785
27 I/O User Interface
27.19 Digital Output Properties – Basic Tab

27.19 Digital Output Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a digital output point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays the value of a
digital output, either On or Off.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Technical 04-30006-02-en, May 2019


786
27 I/O User Interface
27.19 Digital Output Properties – Basic Tab

Continued
Component Description

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Requested value Select either On or Off to set the


Requested value. Off is the default value.
When the Requested value is set, the
output turns on and off and remains there
unless the I/O module loses
communication with the SmartX server. If
the I/O module loses communication with
the SmartX server for 255 seconds, the
default output value is used instead of the
requested value.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch Hand value is On
and the override off value is Off.

Output channel Select an output channel number, such as


Out1.

Invert Select either False (not inverted) or True


(inverted).

Default output value Select either On or -On to set the default


output value. Off is the default value.
The default output value is the value that
the output reverts to if the I/O module loses
communication with the SmartX server for
more than 255 seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

04-30006-02-en, May 2019 Technical


787
27 I/O User Interface
27.20 Digital Pulsed Output Properties – Basic Tab

27.20 Digital Pulsed Output Properties – Basic


Tab
Use the Basic tab to view and edit the basic properties of a digital pulsed output
point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-force value.
Click to force the value.
For example, it displays the value of a
digital pulsed output, either On or Off.

Technical 04-30006-02-en, May 2019


788
27 I/O User Interface
27.20 Digital Pulsed Output Properties – Basic Tab

Continued
Component Description

Requested value Enter a value that you want to assign to the


output. This value depends on the PWM
settings. If the PWM scale is Duty cycle
cycle,
the requested value is a percentage from
0-100. If the PWM scale is Pulse duration
duration,
the requested value turns on for the
requested value seconds.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch Hand value is On
and the override off value is Off.

Output channel Select an output channel number, such as


Out1.

Invert Turns a digital pulsed output to the


opposite or contrary value. Select either
False (not inverted) or True (inverted).
False is the default value.

Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the SmartX server for more than 255
seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

04-30006-02-en, May 2019 Technical


789
27 I/O User Interface
27.20 Digital Pulsed Output Properties – Basic Tab

Continued
Component Description

PWM scale Select the PWM scale parameter Duration


(s) or Duty cycle (%). For more information,
see section 26.21 “I/O Point Scaling” on
page 732.
Consider the following points when
selecting a PWM scale type:
• If Duration (s) and the requested
value is greater than the period value,
the system will clip the requested
value to the period value.
• If Duty cycle (%) and the requested
value is greater than 100, the system
will clip the requested value to 100%.
• If the period is set to zero (0
0), the
system does not clip the requested
value. Instead, the system sets the
output to On for the same number of
seconds as the requested value and
then the output turns off permanently.

Period Enter a period value. For example, a duty


cycle of 25% and a Period of 20 seconds
produces a 5 second pulse every 20
seconds (25% of 20 seconds = 5
seconds).
For relay outputs, consider the expected
number of operation cycles specified for
the relay output (cycle life rating) when
configuring the period.

PWM minimum pulse Enter a PWM minimum pulse. If the value is


on for less than the minimum pulse, the
value remains off.

Technical 04-30006-02-en, May 2019


790
27 I/O User Interface
27.21 Tristate Output Properties – Basic Tab

27.21 Tristate Output Properties – Basic Tab


Use the Basic tab to view and edit the basic properties of a tristate output point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
For example, it displays the value of a
tristate output, either On, Off, -On or
Invalid. On turns the first channel on. Off
turns both channels off and -On turns the
second channel on. If you use the override
switch to turn both channels on, the value
is invalid.

04-30006-02-en, May 2019 Technical


791
27 I/O User Interface
27.21 Tristate Output Properties – Basic Tab

Continued
Component Description

Requested value Select either On


On, Off
Off, or -On to set the
requested value. Off is the default value.
When the requested value is set, the
output turns on or off and remains there
unless the I/O module loses
communication with the SmartX server. If
the I/O module loses communication with
the SmartX server for 255 seconds, the
default output value is used instead of the
requested value.

Reliabilty Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch Hand value is On
and the override off value is Off.

Output channel Select an output channel number. Tristate


and tristate pulsed outputs take up two
channels. The first one is displayed here.
For example, a tristate pulsed output
occupies channels Out1 and Out2.

Default output value Select either On


On, Off
Off, or -On to set the
default output value. Off is the default
value.
The default output value is the value that
the output reverts to if the I/O module loses
communication with the Automation Server
for more than 255 seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Technical 04-30006-02-en, May 2019


792
27 I/O User Interface
27.22 Tristate Pulsed Output Properties – Basic Tab

27.22 Tristate Pulsed Output Properties –


Basic Tab
Use the Basic tab to view and edit the basic properties of a tristate pulsed
output point.

Figure: Basic tab

Table: Basic Tab


Component Description

Value Displays the present value.


• Unforce
Unforce. Displays a forced value.
Enter a force value or click to release
the value.
• Force
Force. Displays a non-forced value.
Click to force the value.
Fore example, it displays the value of a
tristate pulsed output, either On, Off, or -
On. For a tristate pulsed output at channel
1, On means the first channel is on and the
second is off, while -On means that the
second channel is on and the first channel
is off. Off means that both channels are off.

04-30006-02-en, May 2019 Technical


793
27 I/O User Interface
27.22 Tristate Pulsed Output Properties – Basic Tab

Continued
Component Description

Requested value Enter a value that you want to assign to the


output. This value depends on the PWM
settings. If the PWM scale is Duty cycle
cycle,
the requested value is a percentage from
0-100. If the PWM scale is Pulse duration
duration,
the requested value turns on for the
requested value seconds.

Communications status Displays online when the module is


communicating with the EcoStruxure BMS
server and the point is on a valid,
unassigned channel.

Reliability Displays the integrity of the value of a


point. For more information, see section
26.16 “Reliability of I/O Points” on page
727.

Override status Displays whether the override switch is


being used. If the status is True
True, the
physical override switch Hand value is On
and the override off value is Off.

Output channel Select an output channel number. Tristate


and tristate pulsed outputs take up two
channels. The first one is displayed here.
For example, a tristate pulsed output
occupies channels Out1 and Out2.

Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the SmartX server for more than 255
seconds.

Label text Type the text that is printed on an I/O


module label. For more information, see
section 27.41 “Print I/O Module Labels
Dialog Box” on page 824.

Technical 04-30006-02-en, May 2019


794
27 I/O User Interface
27.22 Tristate Pulsed Output Properties – Basic Tab

Continued
Component Description

PWM scale Select the PWM scale parameter Duration


(s) or Duty cycle (%). For more information,
see section 26.21 “I/O Point Scaling” on
page 732.
Consider the following points when
selecting a PWM scale type:
• If Duration (s) and the requested
value, which includes negative
values, is greater than the period
value, the system will clip the
requested value to the absolute value.
• If Duty cycle (%) and the requested
value is greater than 100, the system
will clip the requested value to 100%.
• If the period is set to zero (0
0), the
system does not clip the requested
value. Instead, the system sets the
output to On for the same number of
seconds as the requested value and
then the output turns off permanently.

Period Enter a period value. For example, a duty


cycle of 25% and a Period of 20 seconds
produces a 5 second pulse every 20
seconds (25% of 20 seconds = 5
seconds).
For relay outputs, consider the expected
number of operation cycles specified for
the relay output (cycle life rating) when
configuring the period.

PWM minimum pulse Enter a PWM minimum pulse. If the value is


on for less than the minimum pulse, the
value remains off.

04-30006-02-en, May 2019 Technical


795
27 I/O User Interface
27.23 I/O Points in the Work Area

27.23 I/O Points in the Work Area


Use the work area to access details about the I/O points that were created in an
I/O module or SmartX AS-B server onboard I/O module.

Figure: I/O points in the work area

NOTICE
If you do not see all of the fields displayed, right-click on the column header to
display more. For more information, see the Add/Remove Columns Dialog Box
topic on WebHelp.

Table: I/O Points in the Work Area


Component Description

Name Displays the point name that was


assigned. The default value is the input or
output type, such as Digital Output
Output.

Description Displays the user defined description of


the I/O point.

Technical 04-30006-02-en, May 2019


796
27 I/O User Interface
27.24 Print I/O Wiring List Dialog Box

27.24 Print I/O Wiring List Dialog Box


Use the Print IO Wiring List dialog box to print an I/O wiring list for the I/O bus
that describes which I/O points are associated with each I/O module.

Figure: Print IO wiring list dialog box

Table: Print IO Wiring List Dialog Box


Component Description

IO module Displays the I/O module.

Channel Displays the electrical channel of the I/O


module.

Point name Displays the I/O point name.

Type Displays the I/O point type.

Description Displays a description for the I/O module.

Label text Displays the text that is printed on an I/O


module label using the Print IO module
labels command.

Click to print a wiring list for the I/O bus.


For more information, see section 26.26
“Printing a Wiring List for the I/O Bus” on
page 741..

04-30006-02-en, May 2019 Technical


797
27 I/O User Interface
27.25 Counter Input – Basic Settings Page

27.25 Counter Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the counter
input I/O point you create.

Figure: Counter Input - Basic Settings Page

Table: Counter Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Invert Select either True or False


False. Selecting True inverts the value of a
digital input and configures a counter input to increment when the
contact opens.

LED color Select either Red or Green


Green.

LED invert Select either True or False


False. Selecting True lights the LED when the
digital input is on and turns it off when the digital input is off.
Selecting False turns off the LED when the digital input is on and
turns on the LED when the digital input is off.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


798
27 I/O User Interface
27.26 Current Input – Basic Settings Page

27.26 Current Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the current
input I/O point you create.

Figure: Current Input - Basic Settings Page

Table: Current Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Top of scale Type a value to enter the top of the range engineering value for the
engineering value input point.

Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.

Bottom of scale Type a value for the bottom of the range engineering value for the
engineering value input point scale.

04-30006-02-en, May 2019 Technical


799
27 I/O User Interface
27.26 Current Input – Basic Settings Page

Continued
Component Description

Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Offset Type an offset value to be added to or subtracted from the


engineering value before it impacts the Value property.

Upper reliability Type a value for the upper reliability level in electrical units. When
level the electrical value is above the upper reliability level, the
Reliability is Value over range.

Lower reliability Type a value for the lower reliability level in electrical units. When
level the electrical value is below the lower reliability level, the Reliability
is Value under range.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


800
27 I/O User Interface
27.27 Digital Input – Basic Settings Page

27.27 Digital Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the digital
input I/O point you create.

Figure: Digital Input - Basic Settings Page

Table: Digital Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Invert Select either True or False


False. Selecting True inverts the value of a
digital input and configures a counter input to increment when the
contact opens.

LED color Select either Red or Green


Green.

LED invert Select either True or False


False. Selecting True lights the LED when the
digital input is on and turns it off when the digital input is off.
Selecting False turns off the LED when the digital input is on and
turns on the LED when the digital input is off.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


801
27 I/O User Interface
27.28 Resistive Input – Basic Settings Page

27.28 Resistive Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the resistive
input I/O point you create.

Figure: Resistive Input - Basic Settings Page

Table: Resistive Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Top of scale Type a value to enter the top of the range engineering value for the
enginering value input point.

Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.

Bottom of scale Type a value for the bottom of the range engineering value for the
engineering value input point scale.

Technical 04-30006-02-en, May 2019


802
27 I/O User Interface
27.28 Resistive Input – Basic Settings Page

Continued
Component Description

Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Offset Type an offset value to be added to or subtracted from the


engineering value before it impacts the Value property.

Upper reliability Type a value for the upper reliability level in electrical units. When
level the electrical value is above the upper reliability level, the
Reliability is Value over range.

Lower reliability Type a value for the lower reliability level in electrical units. When
level the electrical value is below the lower reliability level, the Reliability
is Value under range.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


803
27 I/O User Interface
27.29 2-Wire or 3-Wire RTD Resistive Input – Basic Settings Page

27.29 2-Wire or 3-Wire RTD Resistive Input –


Basic Settings Page
Use the Basic Settings page to specify the basic properties for the 2-wire or 3-
wire RTD resistive input point you create.

Figure: 2-Wire or 3-Wire RTD Resistive Input - Basic Settings Page

Table: 2-Wire or 3-Wire RTD Resistive Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Top of scale Type a value to enter the top of the range engineering value for the
enginering value input point.

Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.

Technical 04-30006-02-en, May 2019


804
27 I/O User Interface
27.29 2-Wire or 3-Wire RTD Resistive Input – Basic Settings Page

Continued
Component Description

Bottom of scale Type a value for the bottom of the range engineering value for the
engineering value input point scale.

Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.

Offset Type an offset value to be added to or subtracted from the


engineering value before it impacts the Value property.

Upper reliability Type a value for the upper reliability level in electrical units. When
level the electrical value is above the upper reliability level, the
Reliability is Value over range.

Lower reliability Type a value for the lower reliability level in electrical units. When
level the electrical value is below the lower reliability level, the Reliability
is Value under range.

Sensor class Select the sensor class to configure the RTD resisitive input for the
approximate range it will measure:
• 100 ohm based: measures a range from 50 to 220 ohm
• 1000 ohm based: measures a range from 500 to 2200 ohm

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


805
27 I/O User Interface
27.30 Supervised Input – Basic Settings Page

27.30 Supervised Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the
supervised input I/O point you create.

Figure: Supervised Input - Basic Settings Page

Table: Supervised Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Supervised circuit Select one of the following: Not set


set, None
None, NO Series
Series, NC Series
Series,
type NO Parallel
Parallel, NC Parallel
Parallel. NO Series/Parallel
Series/Parallel, or NC
Series/Parallel (NO= normally open, NC= normally closed).

Supervised Type the value or use the up and down arrow keys to enter the
resistor value resistance value of the resistors in the supervised circuit.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


806
27 I/O User Interface
27.31 Temperature Input – Basic Settings Page

27.31 Temperature Input – Basic Settings


Page
Use the Basic Settings page to specify the the basic properties for the
temperature input I/O point you create.

Figure: Temperature Input - Basic Settings page

Table: Temperature Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Thermistor type Select the appropriate thermistor type from the list.

Offset Type an offset value to be added to or subtracted from the


engineering value before it impacts the Value property.

04-30006-02-en, May 2019 Technical


807
27 I/O User Interface
27.31 Temperature Input – Basic Settings Page

Continued
Component Description

Upper reliability Type a temperature value for the upper reliability level. When the
level value is above the upper reliability level, the Reliability is Value
over range. For more information, see section 26.7 “2-Wire or 3-
Wire RTD Temperature Input Value and Reliability Levels” on page
716.

Lower reliability Type a temperature value for the lower reliability level. When the
level value is below the lower reliability level, the Reliability is Value
under range. For more information, see section 26.7 “2-Wire or 3-
Wire RTD Temperature Input Value and Reliability Levels” on page
716.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


808
27 I/O User Interface
27.32 2-Wire or 3-Wire RTD Temperature Input – Basic Settings Page

27.32 2-Wire or 3-Wire RTD Temperature


Input – Basic Settings Page
Use the Basic Settings page to specify the the basic properties for the 2-wire or
3-wire RTD temperature input point you create.

Figure: 2-Wire or 3-Wire Temperature Input - Basic Settings page

Table: 2-Wire or 3-Wire Temperature Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Sensor type Select a sensor type to determine how the resistance value is
converted to temperature.

Offset Type an offset in degrees to the converted temperature value.

04-30006-02-en, May 2019 Technical


809
27 I/O User Interface
27.32 2-Wire or 3-Wire RTD Temperature Input – Basic Settings Page

Continued
Component Description

Upper reliability Type a temperature value for the upper reliability level. When the
level value is above the upper reliability level, the Reliability is Value
over range. For more information, see section 26.7 “2-Wire or 3-
Wire RTD Temperature Input Value and Reliability Levels” on page
716.

Lower reliability Type a temperature value for the lower reliability level. When the
level value is below the lower reliability level, the Reliability is Value
under range. For more information, see section 26.7 “2-Wire or 3-
Wire RTD Temperature Input Value and Reliability Levels” on page
716.

Wiring resistance Type a wiring resistance value. For more information, see section
26.8 “2-Wire RTD Temperature Input Wiring Resistance” on page
717.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


810
27 I/O User Interface
27.33 Voltage Input – Basic Settings Page

27.33 Voltage Input – Basic Settings Page


Use the Basic Settings page to specify the the basic properties for the voltage
input I/O point you create.

Figure: Voltage Input - Basic Settings page

Table: Voltage Input - Basic Settings Page


Component Description

Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.

Threshold Type a value for minimum change of value before the I/O module
reports the value to the SmartX server. Properly setting the
threshold value reduces unnecessary communication between
the I/O module and the SmartX server. For more information, see
section 26.27 “Threshold Settings for I/O Points” on page 742.

Top of scale Type a value to enter the top of the range engineering value for the
engineering value input point.

Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.

Bottom of scale Type a value for the bottom of the range engineering value for the
engineering value input point scale.

04-30006-02-en, May 2019 Technical


811
27 I/O User Interface
27.33 Voltage Input – Basic Settings Page

Continued
Component Description

Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Offset Type an offset value to be added to or subtracted from the


engineering value before it impacts the Value property.

Upper reliability Type a value for the upper reliability level in electrical units. When
level the electrical value is above the upper reliability level, the
Reliability is Value over range.

Lower reliability Type a value for the lower reliability level in electrical units. When
level the electrical value is below the lower reliability level, the Reliability
is Value under range.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


812
27 I/O User Interface
27.34 New I/O Module Wizard – Basic Settings Page

27.34 New I/O Module Wizard – Basic


Settings Page
Use the Basic Settings page to select a module ID for the I/O module you
create.

Figure: Basic settings page

Table: Basic Settings Page


Component Description

Module ID Select Null or 1 to 32 for valid positions on the I/O bus. Selecting a
value of Null specifies that the Module ID is non-operational and
can be used as a placeholder to be configured when you wish to
assign it to a physical slot. You can place multiple modules on the
Null slot.
The Module ID is unique for logical modules. For example, a
UI8/DO-FC-4 module can have a Digital Output point on output
channel 1 and a Temperature Input point on input channel 1. The
input and output are different physical slots.

Override capability Check or uncheck this field depending upon which modules you
expected plan to connect. The field indicates whether you would like the
module to be override capable. By default, it is always checked.

04-30006-02-en, May 2019 Technical


813
27 I/O User Interface
27.35 Current Output – Basic Settings Page

27.35 Current Output – Basic Settings Page


Use the Basic Settings page to specify the basic properties for the current
output I/O point you create.

Figure: Current Output - Basic Settings page

Table: Current Output - Basic Settings Page


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the SmartX server. 255
seconds later the default output value is used instead of the
requested value.

Default output Enter a default output value. The default output value is the value
value that the output reverts to if the I/O module loses communication
with the SmartX server for 255 seconds.

Technical 04-30006-02-en, May 2019


814
27 I/O User Interface
27.35 Current Output – Basic Settings Page

Continued
Component Description

Threshold Type a value for the minimum amount of change of value before
the I/O module reports the value to the SmartX server. Properly
setting the threshold value reduces unnecessary communication
between the I/O module and the SmartX server. For more
information, see section 26.27 “Threshold Settings for I/O Points”
on page 742.
The threshold is applied to the value measured from the I/O
module, not the requested value. For example, a current output
has a requested value of 2 mA, a value of 2 mA, and a threshold of
2 mA. If the requested value is set to 3 mA, the value will remain at
2 mA, but the output value from the module will be 3 mA.

Top of scale Type a top of the range engineering value for the output point.
engineering value Scaling applies a linear conversion to the value of the output
points on an I/O module. For more information, see section 26.22
“Scaling an Input or Output I/O Point” on page 735.

Top of scale Type a top of the range voltage (VDC) or current (mA) value for the
electrical value output point scale.

Bottom of scale Type a bottom of the range engineering value for the output point.
engineering value

Bottom of scale Type a bottom of the range voltage (VDC) or current (mA) value
electrical value for the output point.

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


815
27 I/O User Interface
27.36 Voltage Output – Basic Settings Page

27.36 Voltage Output – Basic Settings Page


Use the Basic Settings page to specify the basic properties for the voltage
output I/O point you create.

Figure: Voltage Output - Basic Settings page

Table: Basic Settings Page- Voltage Output


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the SmartX server. 255
seconds later the default output value is used instead of the
requested value.

Default output Enter a default output value. The default output value is the value
value that the output reverts to if the I/O module loses communication
with the SmartX server for 255 seconds.

Technical 04-30006-02-en, May 2019


816
27 I/O User Interface
27.36 Voltage Output – Basic Settings Page

Continued
Component Description

Threshold Type a value for the minimum amount of change of value before
the I/O module reports the value to the SmartX server. Properly
setting the threshold value reduces unnecessary communication
between the I/O module and the SmartX server. For more
information, see section 26.27 “Threshold Settings for I/O Points”
on page 742.
The threshold is applied to the value measured from the I/O
module, not the requested value. For example, a current output
has a requested value of 2 mA, a value of 2 mA, and a threshold of
2 mA. If the requested value is set to 3 mA, the value will remain at
2 mA, but the output value from the module will be 3 mA.

Top of scale Type a top of the range engineering value for the output point.
engineering value Scaling applies a linear conversion to the value of the output
points on an I/O module. For more information, see section 26.22
“Scaling an Input or Output I/O Point” on page 735.

Top of scale Type a top of the range voltage (VDC) or current (mA) value for the
electrical value output point scale.

Bottom of scale Type a bottom of the range engineering value for the output point.
engineering value

Bottom of scale Type a bottom of the range voltage (VDC) or current (mA) value
electrical value for the output point.

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


817
27 I/O User Interface
27.37 Digital Output – Basic Settings Page

27.37 Digital Output – Basic Settings Page


Use the Basic Settings page to specify the basic properties for the digital output
I/O point you create.

Figure: Digital Output - Basic Settings page

Table: Digital Output - Basic Settings Page


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Select either On or Off to set the Requested value. When the
Requested value is set, the output turns on or off and remains in
that state unless the I/O module loses communication with the
SmartX server. 255 seconds later the default output value is used
instead of the requested value.

Default output Select either On or Off to set the Default output value. The Default
value output value is the value that the output reverts to if the I/O module
loses communication with the SmartX server for 255 seconds.

Invert Select either False (not inverted) or True (inverted).

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


818
27 I/O User Interface
27.38 Digital Pulsed Output – Basic Settings Page

27.38 Digital Pulsed Output – Basic Settings


Page
Use the Basic Settings page to specify the basic properties for the digital
pulsed output I/O point you create.

Figure: Digital Pulsed Output - Basic Settings page

Table: Digital Pulsed Output - Basic Settings Page


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the SmartX server. 255
seconds later the default output value is used instead of the
requested value.
The value of a digital pulsed output is On or Off since the output is
either On or Off at a given point in time.

Default output Enter a default output value. The default output value is the value
value that the output reverts to if the I/O module loses communication
with the SmartX server for 255 seconds.

04-30006-02-en, May 2019 Technical


819
27 I/O User Interface
27.38 Digital Pulsed Output – Basic Settings Page

Continued
Component Description

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Invert Select either False (not inverted) or True (inverted).

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

Technical 04-30006-02-en, May 2019


820
27 I/O User Interface
27.39 Tristate Output – Basic Settings Page

27.39 Tristate Output – Basic Settings Page


Use the Basic Settings page to specify the basic properties for the tristate
output I/O point you create.

Figure: Tristate Output - Basic Settings page

Table: Tristate Output - Basic Settings Page


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Select either On


On, Off
Off, or -On to set the Requested value. When the
Requested value is set, the output turns on or off and remains in
that state unless the I/O module loses communication with the
SmartX server. 255 seconds later the default output value is used
instead of the requested value.

Default output Select either On


On, Off
Off, or -On to set the Default output value. The
value Default output value is the value that the output reverts to if the I/O
module loses communication with the Automation Server for 255
seconds.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


821
27 I/O User Interface
27.40 Tristate Pulsed Output – Basic Settings Page

27.40 Tristate Pulsed Output – Basic Settings


Page
Use the Basic Settings page to specify the basic properties for the tristate
pulsed output I/O point you create.

Figure: Tristate Pulsed Output - Basic Settings page

Table: Tristate Pulsed Output - Basic Settings Page


Component Description

Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
26.1 “I/O Point Types” on page 707.

Label text Type the text that is printed on an I/O module label. For more
information, see section 27.41 “Print I/O Module Labels Dialog
Box” on page 824.

Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the SmartX server. 255
seconds later the default output value is used instead of the
requested value.
For Tristate pulsed outputs, the Requested value is a value in
seconds + or -.

Default output Enter a default output value. The default output value is the value
value that the output reverts to if the I/O module loses communication
with the SmartX server for 255 seconds.

Technical 04-30006-02-en, May 2019


822
27 I/O User Interface
27.40 Tristate Pulsed Output – Basic Settings Page

Continued
Component Description

Unit Select the engineering unit in use, such as current, voltage, or


temperature.

Create and Check the box to create and associate a local BACnet point to the
associate a local IO point you are creating. To select the location for the new
BACnet point BACnet point, click the ellipses.

04-30006-02-en, May 2019 Technical


823
27 I/O User Interface
27.41 Print I/O Module Labels Dialog Box

27.41 Print I/O Module Labels Dialog Box


Use the Print IO Module Labels dialog box to print labels to identify I/O
channels on the placard of an I/O module.

Figure: Print IO Module Labels dialog box

Table: Print IO Module Labels Dialog Box


Component Description

Blank Label Text Select to print labels with only the channel number with no
additional label text.

Paper Type Select the paper type for the label - letter or A4.

Save Saves any changes to the point's label text property.

Print Select to print the I/O module label.

Exit Select to close the dialog box.

Technical 04-30006-02-en, May 2019


824
27 I/O User Interface
27.42 Update I/O Module Firmware Dialog Box

27.42 Update I/O Module Firmware Dialog


Box
Use the Update IO Module Firmware dialog box to update I/O module firmware.

Figure: Update IO module firmware dialog box

Table: Update IO Module Firmware Dialog Box


Button Description

Update Firmware Click to update the firmware in the


selected I/O module or modules. For more
information, see section 25.8 “Updating I/O
Module Firmware” on page 678..

Save Results to File Click to save the results of the update to a


text file.

Cancel Update Click to cancel the I/O module firmware


update.

Exit Click to exit the Update IO Module


Firmware dialog box.

04-30006-02-en, May 2019 Technical


825
28 I/O Troubleshooting

Topics
I/O Module Incorrectly Configured
Input Point Not Functioning Correctly
Output Point Not Functioning Correctly
Device Address Changed
Blacklisted Device Detected
High CPU Usage and Slow System Response Time
28 I/O Troubleshooting
28.1 I/O Module Incorrectly Configured

28.1 I/O Module Incorrectly Configured


The I/O module status LED is not a solid green and the module status in the
Properties pane is not Configured
Configured. The I/O module is offline, in Low power, or
Bootloader modes, is Out of tolerance (24V out of tolerance), or contains an
error. Also, the module ID is not set correctly, a module mismatch exists, or the
I/O point does not exist on a channel other than Null.

28.1.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through the solution until the problem is resolved.
• Ensure that the I/O module is online by verifying that the Comm status
property is set to Online
Online.
Check also that the I/O module is securely connected to the SmartX server
and that the module ID is set to the position occupied by the I/O module.
For more information, see section 25.9 “Moving an I/O Module” on page
679.
• Ensure that the type of physical I/O module matches the type of module
assigned to it (that is, the module in the I/O Bus folder with the same module
ID).
When the I/O module type does not match the type created in the database,
the Module type mismatch property is True True.
For more information, see section 25.20 “Correcting a Module Type
Mismatch” on page 692.
• Ensure that the Comm status of the unconfigured I/O module is set to
Online and that the Module type mismatch is False. If so, confirm that at
least one point in the module is assigned a channel other than 0.
Right-click the I/O module, select the I/O wiring list, and verify that at least
one point is assigned a channel.
• Ensure that the Module status is not set to Low power
power. If the status is Low
power
power, recover the I/O module.
For more information, see section 25.18 “Setting and Recovering an I/O
Module from Low Power” on page 690.
• Ensure that the Module status is not set to Bootloader
Bootloader. If the status is
Bootloader
Bootloader, update the module firmware to the current version.
For more information, see section 25.8 “Updating I/O Module Firmware” on
page 678.
• Ensure that the Module status is not set to 24v out of Tolerance
Tolerance.
If the status is 24v out of Tolerance
Tolerance, the power supplied to the I/O module
may have dropped below ~19 VDC.
• Ensure that the Module status is not set to Unreliable
Unreliable. If the status is
Unreliable
Unreliable, the I/O module has detected an error.
For more information, see section 26.17 “Reviewing the Reliability of I/O
Point Values” on page 728.

04-30006-02-en, May 2019 Technical


829
28 I/O Troubleshooting
28.2 Input Point Not Functioning Correctly

28.2 Input Point Not Functioning Correctly


The parent I/O module is Configured and online. However, the input point is not
functioning correctly. The module status is Unconfigured
Unconfigured, the input point is
offline, unreliable, forced, or configured incorrectly (for example, wrong point
type, wrong channel, incorrect units, scaling, or threshold). Also, the input
channel is miswired, or the I/O module is defective.

NOTICE
• When the input point is not functioning correctly, the problem is usually that
the value is not in the expected range or does not update properly.

28.2.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Ensure that the Comm status of the input point is set to Online and that the
parent I/O module is Configured and Online.
Check also that the I/O module is securely connected to the SmartX server
and that the module ID is set to the position occupied by the I/O module.
For more information, see section 25.9 “Moving an I/O Module” on page
679.
• Ensure that the point’s Reliability is set to Reliable
Reliable.
Check the wiring of the input point and verify that the Lower and Upper
reliability level are set correctly if the Value is over range or under range.
Ensure also that the Module status of the parent I/O module is configured
correctly.
For more information, see section 26.17 “Reviewing the Reliability of I/O
Point Values” on page 728.
• Ensure that the input point is not forced.
When a point is forced, the Force property is True and the Forced button is
highlighted.
Ensure that the value of an I/O point is configured correctly if the value does
not change.
Verify also that point type, Channel number, scaling parameters, Units, and
Threshold are set correctly. The point’s value does not change until the
input delta exceeds the Threshold.
• Verify that the input is wired correctly.
• Test the I/O module hardware by applying the appropriate stimulus to the
input and verifying that the point’s value is correct.

Technical 04-30006-02-en, May 2019


830
28 I/O Troubleshooting
28.3 Output Point Not Functioning Correctly

28.3 Output Point Not Functioning Correctly


The parent I/O module is Configured and online. However, the output point is
not functioning correctly. The module status is Unconfigured
Unconfigured, the output point is
offline, unreliable, forced or manually overridden, or configured incorrectly (for
example, wrong point type, wrong channel, incorrect units, scaling, threshold, or
bindings). Also, the output channel is miswired, or the I/O module is defective.

NOTICE
• When the output point is not functioning correctly, the problem is usually that
the value is not being set, the physical output value does not change, or the
value does not change with the requested value.

28.3.1 Solutions
The solutions are listed in order: the solution most likely to fix the problem is
listed first. Work through each solution until the problem is resolved.
• Ensure that the Comm status of the output point is set to Online and that the
parent I/O module is Configured and Online.
Check also that the I/O module is securely connected to the SmartX server
and that the module ID is set to the position occupied by the I/O module.
For more information, see section 25.9 “Moving an I/O Module” on page
679.
• Ensure that the point’s Reliability is set to Reliable
Reliable.
Verify also that the Module status property of the parent I/O module is
configured correctly.
For more information, see section 26.17 “Reviewing the Reliability of I/O
Point Values” on page 728.
• Ensure that the value changes with the Requested value. If the value does
not change, verify that the point is not being forced or overridden.
When a point is manually overridden, the Override state property is True
True.
When a point is forced, the Force property is True and the Forced button is
highlighted.
For more information, see section 26.19 “Forcing Input Values” on page
730.
• Ensure that the value of an I/O point is configured correctly if the value does
not change.
Verify also that point type, Channel number, scaling parameters, Units, and
Threshold are set correctly. The point’s value does not change until the
input delta exceeds the Threshold.
• Verify that the output is wired correctly.
• Test the I/O module hardware by connecting a Digital Multimeter to the
output if I/O module contains the manual override (-H) option. Manually
override the different output values and verify that the Digital Multimeter
displays the overridden values.
Test the hardware by forcing the output to different values and verifying that
the Digital Multimeter displays the forced values.

04-30006-02-en, May 2019 Technical


831
28 I/O Troubleshooting
28.4 Device Address Changed

28.4 Device Address Changed


The backplane address changes on an online, physical I/O module, most likely
due to a terminal base hardware failure. The I/O module then sends an error to
the SmartX server which produces an updated module status and a system
alarm for each physical I/O module reporting the address change. The SmartX
server also remembers which serial numbers reported a device address change
and compiles a "blacklist" of these modules.

28.4.1 Solution
In this state, the SmartX server is still communicating with the I/O module, so
control and configuration of the device will continue uninterrupted until either the
SmartX server or I/O module is power-cycled. This error indicates a serious
problem that you need to resolve by replacing the terminal base and using the
acknowledge command in the I/O Module Management Tool.
For more information, see section 25.26 “Resolving I/O Module Device Address
Changed and Blacklisted Device Detection Errors” on page 703.

Technical 04-30006-02-en, May 2019


832
28 I/O Troubleshooting
28.5 Blacklisted Device Detected

28.5 Blacklisted Device Detected


A physical I/O module is rediscovered on the I/O bus with a serial number
corresponding to an I/O module on the SmartX server's blacklist. The physical
device is rediscovered because the physical module is disconnected and then
reconnected, or the SmartX server is restarted or power-cycled. When this
rediscovery occurs, the software module's status is set to Blacklisted Device
Detected and a system alarm is reported for the software module.

28.5.1 Solution
When a Blacklisted Device Detected error is reported, the SmartX server no
longer communicates with the I/O module. You must resolve this problem as
follows:
• Open the I/O module management tool.
• Find the I/O module with the lowest address whose serial number is
blacklisted.
• Replace the lowest slot ID terminal base reporting the error as well as the
terminal base preceding this slot ID.
• Click Accept Blacklisted Devices to resolve the error and resume normal
operation.
For more information, see section 25.26 “Resolving I/O Module Device Address
Changed and Blacklisted Device Detection Errors” on page 703.

04-30006-02-en, May 2019 Technical


833
28 I/O Troubleshooting
28.6 High CPU Usage and Slow System Response Time

28.6 High CPU Usage and Slow System


Response Time
When I/O modules report the Value property with its highest resolution, the
system processes every single fluctuation every time the Value changes. With a
large number of inputs and outputs, the SmartX server may need a significant
amount of CPU bandwidth to process them. As a result, you may observe high
system CPU usage and slow system response time.

28.6.1 Solutions
Improve system performance by setting the threshold to a higher value that is
still acceptable for your application. For more information, see section 26.27
“Threshold Settings for I/O Points” on page 742.

Technical 04-30006-02-en, May 2019


834
29 Custom Types

introduction to this topic

Topics
Custom Types Overview
Custom Types
Selecting the Engineering with Custom Types Workspace
Creating a Custom Type
Deleting a Custom Type
Checking Out a Custom Type
Undoing a Check Out
Checking In a Custom Type
Instances of Custom Types
Creating an Instance of a Custom Type
Creating Multiple Instances of a Custom Type at the Same
Time
Attaching an Object to a Custom Type
Detaching an Instance of a Custom Type
Identifying the Custom Type a Selected Instance is Attached
to
Changing the Custom Type Version for an Instance of a
Custom Type
Re-type
29 Custom Types Workflows
Create and Configure an MP Series Controller using Custom
Types Workflow
Create Custom Type Objects from Existing Objects
Search for Instances of Custom Types
Finding all Instances of a Custom Type
Finding Checked Out Instances
Exclude and Include Object from a Custom Type
Excluding an Object from a Custom Type
Export and Import of Custom Types and Instances of
Custom Types
Importing a Custom Type
Exporting a Custom Type
Cannot See the Custom Types Menu
29 Custom Types
29.1 Custom Types Overview

29.1 Custom Types Overview


Custom types save time when you have to update a lot of objects that are
basically the same regarding their content and structure. You change one
custom type and then all the instances attached to that custom type are
changed at the same time.

29.1.1 Custom Types


The Custom Types feature consists of two parts: a custom type and one or many
instances attached to the custom type. Using the custom type, you can edit
many instances at the same time.
For more information, see section 29.2 “Custom Types” on page 841.

29.1.2 Instances of Custom Types


Instances of custom types can be copied and duplicated as all other objects in
the system. The copies and duplicates are attached to the custom type.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

29.1.3 Re-type
A re-type is done when you do the following actions:
• attach
• undo checkout
• change version
For more information, see section 29.16 “Re-type ” on page 856.

29.1.4 Custom Types Workflows


Use the custom types workflow to create custom types and custom types
instances.
For more information, see section 29.17 “Custom Types Workflows” on page
862.

29.1.5 Edit Custom Types and Custom Type


Versions
You cannot edit the custom type from Custom Type Library. To edit a custom
type, you start by checking out an instance of the custom type you want to edit.
Editing is always done on the instance.

04-30006-02-en, May 2019 Technical


837
29 Custom Types
29.1 Custom Types Overview

You edit the instance in the usual way after you have checked it out. When you
check in an edited instance, a new version of the custom type is created. The
new version is named as the original version but a version number is added.
For example, you have a custom type called Room Graphic. When you check in
an instance of that custom type a new custom type version is created called
Room Graphic 1.1. The new custom type Room Graphic 1.1 can be applied to
objects of the custom type Room Graphic. The new custom type can also be
used to create new instances of the custom type Room Graphics 1.1.

NOTICE
If you do not check out an object of a custom type instance when you edit it,
you receive an error message that the instance cannot be saved. If you check
out the custom type instance, you can then save the edits.

29.1.6 Search for Custom Type Instances


You can search for all instances of a custom type. You can also search for all
checked out instances.
For more information, see section 29.20 “Search for Instances of Custom Types”
on page 866.

29.1.7 MP Series Controllers as Custom Types


All MP series controllers can be made into custom types and instances of
custom types. In this case, the MP series controller is treated as a container.
Objects in this container do not need to be supported by the Custom types
feature. Alarms, trend logs, schedules in an MP series controller that is an
instance of a custom type are treated as part of custom type instance.

NOTICE
You cannot have an instance of a custom type inside the MP series controller
that is an instance of a custom type itself.

For example, you have an MP-C-15-A that contains a trend log and an alarm.
Trend logs and alarms are not supported as custom types. But if they are
included in the MP-C-15-A and you create a custom type of this MP-C-A, the
trend log and the alarm is part of the custom type.
For more information, see section 29.18 “Create and Configure an MP Series
Controller using Custom Types Workflow” on page 863.

29.1.8 Exclude and Include Object from a Custom


Type
You can exclude an object when you create a custom type of an SmartX Series
controller.

Technical 04-30006-02-en, May 2019


838
29 Custom Types
29.1 Custom Types Overview

For more information, see section 29.23 “Exclude and Include Object from a
Custom Type” on page 869.

29.1.9 Permissions
You can configure what a specific user can do regarding Custom Types.

Access to the Engineering with Custom Types Workspace


To be able to work with Custom Types a user must have access to the Custom
types workspace.
A user that has access to the Custom types workspace can also see and use the
Custom types submenu.
A user without access to the Engineering with Custom Types Workspace and
Custom types submenu can still make copies and duplicates of instances of
custom types.

Permissions on the Custom Type Folder


You can also set the permissions directly on the Custom type folder in the
System folder.
The permissions on the Custom type folder work as on any other folder or object
in the system.
For more information, see the Software Permissions Rules Management topic on
WebHelp.

29.1.10 Export and Import of Custom Types and


Instances of Custom Types
Custom types and instances of custom types can be imported and exported,
both as part of a solution or as just a custom type.
For more information, see section 29.25 “Export and Import of Custom Types
and Instances of Custom Types ” on page 871.

29.1.11 Shared Graphics


Shared graphics are converted to custom types when you upgrade to 2.0 or
higher.
For example, your pre-2.0 EcoStruxure BMS contains 50 shared graphics of one
shared group and 10 shared graphics of another shared group. When you
upgrade to 2.0, the 50 shared graphics are converted to custom type instances
of one custom type. The 10 other graphics are converted into custom type
instances of another custom type. The custom types are visible in the Custom
Type Library immediately after the upgrade.

04-30006-02-en, May 2019 Technical


839
29 Custom Types
29.1 Custom Types Overview

After upgrade from a pre 2.0 to 2.0 or higher

NOTICE
A graphic that has been shared before, and has not been edited after it was
detached, will be treated as if it was still shared at upgrade! After upgrade,
Find instances for all your graphics and detach those you do not want to be
instances of the custom type.

A pre-2.0 system has graphics that has been shared but has been detached.
The graphics have never been edited after they were attached. When you
upgrade to 2.0 or higher these detached, but not edited, graphics are still
treated as instances of a custom type after the upgrade. To resolve this, you
must use Find instances to find the graphics after the upgrade. When they are
found, detach the ones that you do not want to be instances of a custom type.

NOTICE
A graphic that is identical (same type name-GUID) with a graphic that is
shared will also be found in the Find instances search for the shared graphic.
But that graphic will not be an instance of a custom type as the shared one will
be. To make that graphic not appear in the search, do an attach and then a
detach.

Technical 04-30006-02-en, May 2019


840
29 Custom Types
29.2 Custom Types

29.2 Custom Types


The Custom Types feature consists of two parts: a custom type and one or many
instances attached to the custom type. Using the custom type, you can edit
many instances at the same time.
The custom types feature is applied to the following objects and applications in
EcoStruxure BMS:
• Graphics
• Function blocks
• Script programing
• MP Series controllers and its content

29.2.1 Custom Types Library


All custom types are stored in the Custom Type Library. There is one Custom
Type Library in every EcoStruxure BMS server, except Enterprise Central. The
Custom Type Library contains all custom types of all instances that exist on the
EcoStruxure BMS server.
To be able to view the Custom Type Library and work with custom types, you
must select the Engineering with Custom Types workspace. For more
information, see section 29.3 “Selecting the Engineering with Custom Types
Workspace” on page 843.
A custom type cannot be created directly in the Custom Type Library. To create
a custom type, you must start by creating an object or an application. When this
is done, you can create the custom type from the object or application. For more
information, see section 101.15 “Creating a Custom Type” on page 3474.
A custom type can exist in the Custom Types Library without any instance
attached to it. Deleting the instance does not delete the custom type.
Custom types cannot be deleted from the Custom Types Library if the custom
type has an instance attached to it. To be able to delete a custom type, you must
delete all instances attached to the custom type.
Custom types cannot be copied in the Custom Type Library.
Custom types can be renamed in the Custom Type Library without losing their
connection with the instances.

29.2.2 Multi Server


Every EcoStruxure BMS server, except Enterprise Central, contains a Custom
Types Library that contains all custom types for that EcoStruxure BMS server.
The Custom Types Library that you see when you log on to a EcoStruxure BMS
server is the Custom Types Library for that EcoStruxure BMS server.

NOTICE
Custom Types are not supported in Enterprise Central.

04-30006-02-en, May 2019 Technical


841
29 Custom Types
29.2 Custom Types

By default, custom types only exist in the BMS server where they were created.
But you can copy an instance of a custom type from one EcoStruxure BMS
server and paste the it on another EcoStruxure BMS server. When you do that,
the custom type is created in the Custom Type Library for the EcoStruxure BMS
server where the custom type instance was pasted.
For example, you have an instance of a custom type on an Enterprise Server that
you want to use on a SmartX server. You copy the instance on the Enterprise
Server and paste it on the SmartX server. When you paste the instance in the
SmartX server, the custom type that the instance is attached to is created on the
SmartX server’s Custom Type Library.
The two custom types objects in this example, the one on the Enterprise Server
and the one on the SmartX server, are not connected. If you check out an
instance of the custom type on the Enterprise Server, edit it and check it in, you
get a new version of the custom type in the Custom Type Library of the
Enterprise Server but not on the SmartX server.

29.2.3 Graphics in Dashboards


Custom types graphics are visible in the Select Widget dialog box in
Dashboards. Instances of custom types graphics can be added and used in a
dashboard.
For more information, see the Dashboards Overview topic on WebHelp.

Technical 04-30006-02-en, May 2019


842
29 Custom Types
29.3 Selecting the Engineering with Custom Types Workspace

29.3 Selecting the Engineering with Custom


Types Workspace
You select the Engineering with Custom Types workspace so that you can
create and manage custom types.
For more information, see section 29.2 “Custom Types” on page 841.

To select the Engineering with Custom Types workspace


1. In WorkStation, on the View menu, point to Workspace and then click
Engineering with Custom Types
Types.

04-30006-02-en, May 2019 Technical


843
29 Custom Types
29.4 Creating a Custom Type

29.4 Creating a Custom Type


You create a custom type that you can use to create custom type instances
from. To be able to create a custom type you must work in the Engineering with
Custom Types workspace.
For more information, see section 29.2 “Custom Types” on page 841.

To create a custom type


1. In WorkStation, in the System Tree pane, select an object or application.
2. In the Actions menu, point to Custom types and then select Create custom
type
type.
3. In the Custom Type dialog box, in the Name box, type a name.
4. In the Info box, enter information regarding the custom type.
The custom type is visible in the Custom Type Library.

Technical 04-30006-02-en, May 2019


844
29 Custom Types
29.5 Deleting a Custom Type

29.5 Deleting a Custom Type


You delete custom types that are no longer needed.
For more information, see section 29.2 “Custom Types” on page 841.

NOTICE
You cannot delete a custom type that is attached to any custom type instance.
To be able to delete a custom type, detach or delete all custom type instances
that are attached to the custom type.

To delete a custom type


1. In WorkStation
WorkStation, in the Custom Type Library
Library, select the custom type.
2. Right-click the custom type and click Delete
Delete.

04-30006-02-en, May 2019 Technical


845
29 Custom Types
29.6 Checking Out a Custom Type

29.6 Checking Out a Custom Type


You check out an instance of a custom type so that you can edit the custom
type.
For more information, see section 29.2 “Custom Types” on page 841.

To check out a custom type


1. In WorkStation, in the System Tree pane, select the custom type instance.
2. In the Actions menu, point to Custom type and then click Check out
out.

Technical 04-30006-02-en, May 2019


846
29 Custom Types
29.7 Undoing a Check Out

29.7 Undoing a Check Out


You undo check out when do not want to save any changes.
For more information, see section 29.2 “Custom Types” on page 841.

To undo a check out


1. In Workstation, in the System Tree pane, select the custom type instance.
2. On the Actions menu, point to Custom types and then click Undo check
out
out.
3. Click Close
Close.

04-30006-02-en, May 2019 Technical


847
29 Custom Types
29.8 Checking In a Custom Type

29.8 Checking In a Custom Type


You check in an instance of a custom type after you have edited it to make a
new version of the custom type.
For more information, see section 29.2 “Custom Types” on page 841.

To check in a custom type


1. In WorkStation, in the System Tree pane, select the custom type instance.
2. In the Actions menu, point to Custom types and then click Check in
in.
3. In the Custom Type dialog box, in the Name box, type a name.
4. In the Info field, type information about the custom type version.
5. Click OK
OK.
A new version of the custom type is added to the Custom Type Library.

Technical 04-30006-02-en, May 2019


848
29 Custom Types
29.9 Instances of Custom Types

29.9 Instances of Custom Types


Instances of custom types can be copied and duplicated as all other objects in
the system. The copies and duplicates are attached to the custom type.
An instance can be renamed without losing the connection to the custom type it
is attached to.
You do not have to work in the Engineering with Custom Type workspace to be
able to copy, duplicate, rename or move an instance of a custom type.
All supported objects can be made custom type instances using the attach
function. The objects must be of the same type as the custom type. For
example, a graphic can only be an instance of a custom type that is a graphic.
For more information, see section 29.12 “Attaching an Object to a Custom Type”
on page 852.
An instance of a custom type can be detached from the custom type it is
attached to. When the instance is detached it is just as any other objects of the
same type in the system. You can attach the instance again to a custom type.

04-30006-02-en, May 2019 Technical


849
29 Custom Types
29.10 Creating an Instance of a Custom Type

29.10 Creating an Instance of a Custom Type


You create an instance of a custom type from a custom type.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To create an instance of a custom type


1. In WorkStation, in the Custom Type Library
Library, select a custom type.
2. Drag the custom type to the location in the System Tree pane or the List
view where you want to create the instance.
You can also copy or duplicate an existing instances of a custom type.

NOTICE
You can create multiple instances at the same location at the same time. For
more information, see section 29.11 “Creating Multiple Instances of a Custom
Type at the Same Time” on page 851.

Technical 04-30006-02-en, May 2019


850
29 Custom Types
29.11 Creating Multiple Instances of a Custom Type at the Same Time

29.11 Creating Multiple Instances of a Custom


Type at the Same Time
You create multiple instances at the same time and at the same location to make
your engineering more efficient.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To create multiple instances of a custom type at the same time


1. In WorkStation, in the Custom Type Library
Library, right-click a custom type.
2. Drag the custom type to the location in the System Tree pane or the List
view where you want to create the custom type instances.
3. Click Create multiple
multiple.
4. In the Create multiple dialog box, in the Number of instances box, type the
number of copies you want to create.
5. In the Name column, select the name you want to change and type a new
name.
6. Click OK
OK.

04-30006-02-en, May 2019 Technical


851
29 Custom Types
29.12 Attaching an Object to a Custom Type

29.12 Attaching an Object to a Custom Type


You attach objects or applications to a custom type so that the objects or
applications become a custom type instance of that custom type. When you
attached an object to a custom type, all content of that object is overwritten and
replaced by the content of the custom type.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To attach an object to a Custom type


1. In Workstation, in the System Tree pane, select the object.
2. On the Actions menu, point to Custom types and then click Attach
Attach.
3. In the Attach to custom type dialog box, select the Custom type to which
you want to attach the object.
4. Click OK
OK.

Technical 04-30006-02-en, May 2019


852
29 Custom Types
29.13 Detaching an Instance of a Custom Type

29.13 Detaching an Instance of a Custom


Type
You detach an instance of a custom type so that it is no longer attached to a
custom type.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To detach an instance of a custom type


1. In Workstation, in the System Tree pane, select the instance.
2. On the Actions menu, point to Custom types and then click Detach
Detach.

04-30006-02-en, May 2019 Technical


853
29 Custom Types
29.14 Identifying the Custom Type a Selected Instance is Attached to

29.14 Identifying the Custom Type a Selected


Instance is Attached to
You can identify which custom type a selected instance is attached to.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To identify the custom type a selected instance is attached to


1. In Workstation, in the System Tree pane, select the instance.
2. On the Actions menu, point to Custom types and then click Go to Custom
type
type.

Technical 04-30006-02-en, May 2019


854
29 Custom Types
29.15 Changing the Custom Type Version for an Instance of a Custom Type

29.15 Changing the Custom Type Version for


an Instance of a Custom Type
You change the custom type version for an instance of a custom type so that it is
attached to another custom type version.
For more information, see section 29.9 “Instances of Custom Types” on page
849.

To change the custom type version for an instance of a custom


type
1. In Workstation, in the System Tree pane, select the instance.
2. On the Actions menu, point to Custom types
types, point to Change version to:
and then click the version.

04-30006-02-en, May 2019 Technical


855
29 Custom Types
29.16 Re-type

29.16 Re-type
A re-type is done when you do the following actions:
• attach
• undo checkout
• change version
When a re-type is done, the following rules are applied on the instance.

29.16.1 Objects and Structure


If the instance is a container (MP series controller) that you are about to attach,
undo, or change version to (retype), there could be three different cases for
objects in the instance and in the type:
• The object exists both in the instance and in the type.
• The object exists in the instance but not in the type.
• The object exists in the type but not in the instance.

The object exists both in the instance and in the type


An object is considered being the same in the instance and in the type if it has
the same name, place, and type. If so, the same rules apply to this object as for
attach, undo, or change version to, for a single (non-container) object (see
Properties).

The object exists in the instance but not in the type


When the instance has an object in the structure that the type does not have,
there can be two cases:
• The object was a part of the custom type that the instance was attached to
before. In this case the object is removed. This means that you can remove
an object in the application from one version to another and then apply that
new version to other instances to have that object removed in them as well.
• The object was unique to the instance (attach falls under this category). In
this case the object is kept in the instance. This makes it possible to
customize your instances.

The object exists in the type but not in the instance


When the type has an object in the structure that the instance does not have, this
object is always added to the instance with default values from the type.

Technical 04-30006-02-en, May 2019


856
29 Custom Types
29.16 Re-type

Table: Objects at re-type


In instance to be re- In new type Result in retyped
typed instance

Objects in a Has object O Has object O Has object O,


structure (MP Series properties
controller) according to rules
below

Has object O from Has no object O Has no object O


the type it is re-
typed from

Has object O as a Has no object O Has object O,


unique object (not in identical with
the type it is re- instance
typed from)

Has object O and is Has no object O Has object O,


being attached to identical with
the new custom type instance

Has no object O Has object O Has object O,


identical with new
type

29.16.2 Properties
For properties, there is both the existence of the property as such to handle and
the value of the property and also the property configuration.

Existence
Just as for objects, there could be three different cases for the properties in the
instance and in the type:
• The property exists both in the instance and in the type. In this case the
instance keeps the property (for the value of the property, see Values
below).
• The property exists in the instance but not in the type. In this case the
property is removed from the instance.
• The property exists in the type but not in the instance. In this case the
property is added to the instance with default value from the type.

04-30006-02-en, May 2019 Technical


857
29 Custom Types
29.16 Re-type

Table: Objects at re-type


In instance to be re- In new type Result in retyped
typed instance

Properties Has property P Has property P Has property P,


value according to
rules below

Has property P Has no property P Has no property P

Has no property P Has property P Has property P,


identical with new
type

Values
There are three kinds of properties that are treated differently regarding their
value:
• Parameters
• Variables
• References
Parameters
Parameters are instance values and are almost always kept in the instance (see
Special Behaviors). The value is initially set from the type but is not updated from
the type at any custom type operation.
Variables
For variables, there are both the configured value and the property
configuration. These are treated differently from a custom type perspective.
Configured value
The configured value is always kept in the instance at re-type operations. These
are typically setpoints.
For retained variables, the initial value is set from the type. For non-retained
variables, no value is set at creation of an instance.
References
References in variables follow the rules for references stated below.

Property configuration
The property configuration (such as type, unit and, for values, read only, retain
level and forceable) are always applied from the type at re-type operations.

Table: Property values at Re-type


Result in retyped instance

Parameters Instance value

Technical 04-30006-02-en, May 2019


858
29 Custom Types
29.16 Re-type

Continued
Result in retyped instance

Variables Configured value Instance value

Retained variables Initial value set from the


type when creating new
instances

Non-retained variables No value is set when


creating new instances

References See reference rules below

Property configuration Applied from the new type

References
References can have one of three cases:
• Outer reference: The reference is outer if it (or at least one of them) points
outside of the instance/type.
• Inner reference: The reference is inner if it (or all of them are) points inside
of the instance/type and is unlocked. A locked inner reference is treated as
an outer reference.
• Empty reference: The reference is empty if there is no reference set.

Table: Reference matrix. References behaves according to the table (except for
Special Behaviors).
Reference in new type Reference in instance to be Resulting reference in
retyped retyped instance

No reference No reference No reference

No reference Inner reference No reference

No reference Outer reference Outer reference kept

Inner reference No reference Inner reference from type

Inner reference Inner reference Inner reference from type

Inner reference Outer reference Inner reference from type

Outer reference No reference No reference

Outer reference Inner reference Inner reference kept

Outer reference Outer reference Outer reference kept

04-30006-02-en, May 2019 Technical


859
29 Custom Types
29.16 Re-type

Table: Reference matrix. References behaves according to the table (except for
some exceptions see Special Behaviors).
Reference in instance to be Reference in new type Resulting reference in
retyped retyped instance

No reference No reference No reference

Inner reference No reference No reference

Outer reference No reference Outer reference kept

No reference Inner reference Inner reference from type

Inner reference Inner reference Inner reference from type

Outer reference Inner reference Inner reference from type

No reference Outer reference No reference

Inner reference Outer reference Inner reference kept

Outer reference Outer reference Outer reference kept

29.16.3 Special Behaviors


There are a few exceptions from the rules stated above and some parts of
objects that do not fit in any of the categories above.

Always applied from the type at re-type operations


These parts of objects are always applied from the type at re-type operations:
• Static parameters, such as the function block program, the graphic and the
script program.
• Multistate and digital enumerations, such as Inactive-Active/State Texts
properties.
• Attachments in alarms, panes in panels and series in trend charts.
• BACnet alarm type property and object types used to configure the sets of
alarm types in BACnet

Always kept in instances at re-type operation


These parts of objects are always kept in the instance at re-type operations and
are only used as an initial value when creating a new object from a custom type:
• Time schedule entries
• Device recipient list (MP series controller notifications)
• Filter (in different objects, for example Sum alarms and Notifications)

The whole object is completely applied from the type at re-type


operations
These objects are always the same in all instances of the same type:
• TGML-menus

Technical 04-30006-02-en, May 2019


860
29 Custom Types
29.16 Re-type

Notifications
For standard object notifications (not MP series controller notifications) the
whole object, except for file name property that is a variable and follows the
variable rules and the filter, is completely applied from the type at re-type
operations.

Default objects
Default objects, are created when you create the object, for example the system
folder in an MP series controller. These default objects are excluded from the re-
type operations. This means that no initial values are given to the instances from
the type, even though the type was created from an object that had configured
objects in the system folder.

04-30006-02-en, May 2019 Technical


861
29 Custom Types
29.17 Custom Types Workflows

29.17 Custom Types Workflows


Use the custom types workflow to create custom types and custom types
instances.

29.17.1 Create and Configure an MP Series


Controller using Custom Types Workflow
Use this workflow when you want to create custom types from scratch.
For more information, see section 29.18 “Create and Configure an MP Series
Controller using Custom Types Workflow” on page 863.

29.17.2 Create Custom Type Objects from Existing


Objects Workflow
Use this workflow when you want to create custom types from an existing object
or application.
For more information, see section 29.19 “Create Custom Type Objects from
Existing Objects” on page 865.

Technical 04-30006-02-en, May 2019


862
29 Custom Types
29.18 Create and Configure an MP Series Controller using Custom Types Workflow

29.18 Create and Configure an MP Series


Controller using Custom Types
Workflow
You have a site were 100 MP-V Series controllers are to be installed in 100
rooms. All rooms are the same and all MP-V Series controllers are to be
configured in the same way. Therefore, you do not want to build every MP-V
from scratch. You can of course make copies and duplicates but if you decided
to change something at a later stage you must replace every copy manually with
a new copy. So, you decide to use Custom types.
You start by creating one MP-V. When the MP-V is configured you create a
custom type of the MP-V. Then you create instances from the custom type MP-V
to their locations in the system.
In a late stage, you find out a way to further improve the configuration of the MP-
V Series controllers. So you check out one of the instance of the MP-V Series
controller and change the configuration. When you check in the edited instance
of the MP-V, a new version of the custom type MP-V is created in the Custom
Types Library. The new version of the custom type is named 1.1. If you want to
make further improvements you can check out the custom types MP-V again,
configure it, check it in, and a new version of the custom typed MP-V, called 1.2,
is created.
When you have checked that the improvement work fine, you decide to apply
the improved configuration to all MP-V Series controllers. You search for all
instances of the custom type MP-V Series controllers. When all of them are in the
list, you multi-select the list and apply the new improved custom type to all
custom type instance MP-V Series controllers.
You can at any time revert the operation by using the find function, multi select
all custom type instances MP-V Series controllers and then change back to the
first version of custom type MP-V.

Create an MP Series controller


Create an MP Series controller.
For more information, see section 101.4 “Creating a SmartX IP Controller
Device ” on page 3461.

Configure the MP Series controller


Configure the MP Series controller.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.

Create a custom type of the MP Series controller


Make the MP Series of controller a custom type that you can create custom type
instances from.
For more information, see section 101.15 “Creating a Custom Type” on page
3474.

Create custom type instances from the custom type MP Series


controller
Create custom type instances from the custom type.

04-30006-02-en, May 2019 Technical


863
29 Custom Types
29.18 Create and Configure an MP Series Controller using Custom Types Workflow

For more information, see section 29.10 “Creating an Instance of a Custom


Type ” on page 850.

Check out custom type MP Series controller


Check out a custom type so you can configure it.
For more information, see section 29.6 “Checking Out a Custom Type ” on page
846.

Edit the configuration of the MP series of controller


Configure the MP series of controller.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.

Check in the MP Series controller


You check in the MP Series controller to create a new version of the custom
type.
For more information, see section 29.8 “Checking In a Custom Type ” on page
848.

Search for all custom type instances of the MP Series controller


Search for all the custom type instances so that you can multi select them and
change their version.
For more information, see section 29.21 “Finding all Instances of a Custom
Type ” on page 867.

Changing the version


Change the version of all custom type instances.
For more information, see section 29.15 “Changing the Custom Type Version for
an Instance of a Custom Type” on page 855.

Technical 04-30006-02-en, May 2019


864
29 Custom Types
29.19 Create Custom Type Objects from Existing Objects

29.19 Create Custom Type Objects from


Existing Objects
You have a site that runs a pre 2.0 EcoStruxure BMS with 100 graphics that have
the same content. The graphics were once created with copy and paste.
The graphics must now be updated with a new graphical element. Instead of
using copy and paste you decides to use the Custom type feature.
In this case, you edit one of the graphics. When you are satisfied, you use the
updated graphic to make a custom type.
When the custom type is created, you search for all 100 graphics that are to be
updated. When they are in a list you multi select them, and attach them to the
custom type. Now they are custom type instances to the custom type graphic.

Search for the objects you want to convert to custom types


Use the Search function to find all the objects you want to make custom type
instances of.
For more information, see the Search topic on WebHelp.

Attach the objects to a custom type


Attach the objects to a custom type so that the objects become custom type
instances of that custom type object.
For more information, see section 29.12 “Attaching an Object to a Custom Type”
on page 852.

04-30006-02-en, May 2019 Technical


865
29 Custom Types
29.20 Search for Instances of Custom Types

29.20 Search for Instances of Custom Types


You can search for all instances of a custom type. You can also search for all
checked out instances.

Search for all instances of a custom type


You can search for all instances of a particular custom type and display them in
a list. In the list, you can also view the location for the custom type instances of
that custom type.
For more information, see section 29.21 “Finding all Instances of a Custom
Type ” on page 867.
The searches are context sensitive. If you have selected a custom type instance
and choose Find instances you will find all custom type instances of that custom
type of all version.
When you select objects and applications inside a custom type, the search finds
all objects and applications similar to the selected object or application.
You can search for instances of a custom type across multiple EcoStruxure BMS
server. You can only find instances of the custom type that exists on the
EcoStruxure BMS server you are logged on to.
Search for custom types can be used for mass editing. For more information,
see the Mass Editing Objects topic on WebHelp.

Search for all checked out instances of any custom type


You can search for all checked out instances of any custom type in your
EcoStruxure BMS.
When you search for checked out instances you will find all checked out
instances in your EcoStruxure BMS, including instances of custom types that
you do not have on your local EcoStruxure BMS server.
For more information, see section 29.22 “Finding Checked Out Instances ” on
page 868.

Technical 04-30006-02-en, May 2019


866
29 Custom Types
29.21 Finding all Instances of a Custom Type

29.21 Finding all Instances of a Custom Type


You can find all instances attached to the same custom type, and present them
in a list.
For more information, see section 29.20 “Search for Instances of Custom Types”
on page 866.

To find all instances of a custom type


1. In WorkStation, in the System Tree pane or the List View
View, select the
instance.
2. On the Actions menu, point to Custom types and then click Find
instances
instances.
3. To find an instance location, right-click the instance in the List View and
click Show in folder
folder.

04-30006-02-en, May 2019 Technical


867
29 Custom Types
29.22 Finding Checked Out Instances

29.22 Finding Checked Out Instances


You can find all checked out instances of custom types.
For more information, see section 29.20 “Search for Instances of Custom Types”
on page 866.

To find checked out instances


1. In WorkStation, in the Custom Type Library pane, click Find checked out

instances button .
All instances of custom types that are checked out are displayed in a list.

Technical 04-30006-02-en, May 2019


868
29 Custom Types
29.23 Exclude and Include Object from a Custom Type

29.23 Exclude and Include Object from a


Custom Type
You can exclude an object when you create a custom type of an SmartX Series
controller.

Exclude an object when creating a new custom type


When you create a new custom type, for example an MP Series controller, you
can choose to exclude one or more object.
For example, you have a MP Series controller that that suits your need. However,
this controller also contains a trend log specific for just the area it controls. The
trend log is not needed for all instance of controllers you want to create from the
custom type. You can then exclude the trend log before you create the custom
type.
Exclude is only valid for MP Series of controllers.
Objects added to a controller that is not checked out will be marked as
excluded. They are not part of the custom type.

Objects that are excluded when attaching a SmartX Series controller


to a custom type
When you attach a SmartX IP controller devices to a custom type, the SmartX IP
controller becomes an instance of that custom type. Objects in the attached
SmartX IP controller that do not exist in the custom type will be kept, but are not
included in the custom type. If you want the excluded objects to be excluded in
the future when you check out and check in this custom type instance of the
SmartX IP controller, you must exclude these objects manually by marking them
as excluded. If they are not marked as excluded when you check in, they will be
included in the custom type.
For example, you have a custom type object MP-C, called MP-C AB. The custom
type object MP-C AB contains two folders A and B. In your system you also have
an MP-C called MP-C AC. MP-C AC contains three folders, A, B, and C.
Now you want to make MP-C AC an instance of the custom type MP-C AB. So,
you attach MP-C AC to the custom type MP-C AB. The folder C in MP-C AC is
not part of the custom type MP-C AB so the instance MP-C AC keeps the folder
C. In the System Tree pane and in the List view, the name of the folder C is not in
italic.

Include objects in a custom type instance


You can include objects in an instance of SmartX Series controller that is
attached to a custom type. When you do this, no new version of the custom type
SmartX controller is created. The objects you include can be of any type, they
do not need to be objects that by themselves can be a custom type.
For example, you have 50 MP-A controllers that are instances of the same
custom type MP-A controller. You discover that you need an extra alarm in ten of
the controllers but you do not want to make a new version of the custom type
MP-A. In this case, you do not check out the controller. You just add the alarms.
All objects that are part of the custom type are in italic when the custom type is
not checked out.

04-30006-02-en, May 2019 Technical


869
29 Custom Types
29.24 Excluding an Object from a Custom Type

29.24 Excluding an Object from a Custom


Type
You exclude an object from a custom type MP Series contoller so that the object
is not a part of the custom type MP controller.
For more information, see section 29.23 “Exclude and Include Object from a
Custom Type” on page 869.

To exclude an object from a custom type


1. Select the object you want to exclude.
2. On the Actions menu, point to Custom types and then click Exclude from
custom type
type.

Technical 04-30006-02-en, May 2019


870
29 Custom Types
29.25 Export and Import of Custom Types and Instances of Custom Types

29.25 Export and Import of Custom Types and


Instances of Custom Types
Custom types and instances of custom types can be imported and exported,
both as part of a solution or as just a custom type.

29.25.1 Import and Export Custom Types and


Instances as a Part of a Solution
Instances of a custom type in a solution are included when exporting and
importing a solution.
Exported instances of custom types are exported as instances. The custom type
that the instances are attached to is also exported. When the instance is
imported the custom type that controls the instance is created.
All instances in the export must be checked in before the export. Checked out
instances are rejected during the export.

NOTICE
If you want to export only the custom type, the export must be performed from
the Custom Types Library.

If you want to export a file or folder that is part of an instance of a custom type,
you must check out the instance before the export.
For example, you have an MP Series controller that contains a function block
program you want to export. The MP Controller is an instance of a custom type.
To export the function block program, you must check out the MP Controller.
When the MP Controller is checked out, you export the function block program.
When the export is completed, you undo the check out of the MP Controller.
When you import the function block program, it is treated as any other imported
function block program, that is, it is not an instance of a custom type.

29.25.2 Import and Export of Custom Types Without


an Instance
You can choose to import and export only custom types without the instances.
This must be done from the Custom Types Library.
Custom types that are imported and exported keep all enclosed objects that are
part of the custom type. For example, a custom type of MP Controller containing
a graphic and a trend log keeps both the graphic and the trend log when the
custom type of this MP Controller is imported or exported.

04-30006-02-en, May 2019 Technical


871
29 Custom Types
29.25 Export and Import of Custom Types and Instances of Custom Types

Import a solution export file into the Custom Types Library


Only the custom type is imported when a solution export file is imported to the
Custom Types Library. All other objects are rejected. That includes instances of
the imported custom type. The import using the Custom Type Library is typically
used when you want to import custom types that later will be used to create
instances.
Make sure that you have completed the configuration of the custom type before
the export. The custom type that is exported from the custom type library is a
snapshot of the custom type when it was checked in and contains no changes
made to the custom type after the check in.
For example, if you have made bindings in the instance of the custom type that
you want to have in the type, be sure to check in the custom type before
exporting it from the library.

NOTICE
Do not import custom types custom types that do not have instances with
export files that are created from EBO 2.x. If you want to import a 2.x export
file, use the import function for solutions instead For more information, see
section 21.27 “Importing a Solution” on page 623..
If you import a custom type with an EBO 2.x export file, you may lose the
enumerations in the custom type instance.

Technical 04-30006-02-en, May 2019


872
29 Custom Types
29.26 Importing a Custom Type

29.26 Importing a Custom Type


You import a custom type so that you can use it in your system.
For more information, see section 29.25 “Export and Import of Custom Types
and Instances of Custom Types ” on page 871.

To import a custom type


1. In WorkStation, in the Custom Type Library pane, click the Import to

Custom Type Library button .


2. Select the file containing the custom type you want to import.
3. Click Open
Open.
4. In the Import dialog box, click Import
Import.
5. Click Close
Close.

04-30006-02-en, May 2019 Technical


873
29 Custom Types
29.27 Exporting a Custom Type

29.27 Exporting a Custom Type


You export a custom type so that it can be used in another EcoStruxure BMS.
For more information, see section 29.25 “Export and Import of Custom Types
and Instances of Custom Types ” on page 871.

To export a custom type


1. In WorkStation, in the Custom Type Library pane, right-click the custom
types you want to export and then click Export
Export.

NOTICE
Use multi-select in the Custom Type Library pane to export many custom
types at the same time.

2. In the Export preview dialog box, click Export.


3. Browse to the location where you want to save the export file and click
Save
Save.
4. Click Close
Close.

Technical 04-30006-02-en, May 2019


874
29 Custom Types
29.28 Cannot See the Custom Types Menu

29.28 Cannot See the Custom Types Menu


The custom type menu is not visible.

29.28.1 Solution
Ensure that you are working in the Engineering with Custom Types workspace.
For more information, see section 29.3 “Selecting the Engineering with Custom
Types Workspace” on page 843.

04-30006-02-en, May 2019 Technical


875
30 Custom Types User Interface

introduction to this topic

Topics
Custom Type Library Pane
Custom Type Dialog Box
Attach to Custom Type Dialog Box
Create Multiple Dialog Box
Change Custom Type Version Dialog Box
Custom Types Icons
Actions Menu – Custom Types Submenu
30 Custom Types User Interface
30.1 Custom Type Library Pane

30.1 Custom Type Library Pane


Use the Custom Type Library pane to administer custom types.

Figure: Custom Type Library pane

Table: Custom Type Library Pane


Component Description

Import to Custom Type Library


Click to import a custom type to the
Custom Type Library.

Find checked out instances


Click to find checked out instances. For
more information, see section 29.22
“Finding Checked Out Instances ” on page
868.

Grouped/Alphabetical view
Click to list the custom types in
alphabetical order.

Quick filter Type a word or a character to filter on. For


more information, see the Quick Filter topic
on WebHelp.

Custom type information Displays the name and the description of


the selected custom type.

04-30006-02-en, May 2019 Technical


879
30 Custom Types User Interface
30.2 Custom Type Dialog Box

30.2 Custom Type Dialog Box


Use the Custom Type dialog box to create Custom types.

Figure: Custom type dialog box

Table: Custom Type Dialog Box


Component Description

[Name] Displays the name of the application that is


used to create a Custom type.

Name Type the name of Custom type.

Info Type additional information regarding the


Custom type.

Technical 04-30006-02-en, May 2019


880
30 Custom Types User Interface
30.3 Attach to Custom Type Dialog Box

30.3 Attach to Custom Type Dialog Box


Use the Attach to Custom Type dialog box to attach applications or objects to a
custom type.

Figure: Attach to Custom type dialog box

Table: Attach to Custom Type Dialog Box


Component Description

Grouped/Alphabetical view
Click to list the custom types in
alphabetical order.

Quick filter Type a word or a character to filter on. For


more information, see the Quick Filter topic
on WebHelp.

Name Displays the name of the Custom type.

Info Displays information regarding the Custom


type.

Download now Select to download the instance of a


custom type MP Series controller
immediately.

04-30006-02-en, May 2019 Technical


881
30 Custom Types User Interface
30.4 Create Multiple Dialog Box

30.4 Create Multiple Dialog Box


Use the Create multiple dialog box to create multiple instances of a custom type
at the same time and at the same location.

Figure: Create multiple dialog box

Table: Create Multiple Dialog Box


Component Description

Number of instances Type the number of instances you want to


create.

Name Displays the name of the instance to


create.

New name Type names you want the copies to get


when created.

Technical 04-30006-02-en, May 2019


882
30 Custom Types User Interface
30.5 Change Custom Type Version Dialog Box

30.5 Change Custom Type Version Dialog


Box
Use the Change Custom Type Version dialog box to change the custom type
version that the custom type instance is attached to.

Figure: Change custom type version

Table: Change Custom Type Version


Component Description

Yes Click to change version.

No Click to keep the current version.

04-30006-02-en, May 2019 Technical


883
30 Custom Types User Interface
30.6 Custom Types Icons

30.6 Custom Types Icons


This table describes the custom types icons after the object icons in the System
Tree pane and List View.

Table: Custom Types Icons


Icon Description

The object or application is a custom type


instance. For more information, see section
29.1 “Custom Types Overview” on page
837.

The custom type instance is checked out.


For more information, see section 29.1
“Custom Types Overview” on page 837.

The object is excluded form the custom


type. For more information, see section
29.1 “Custom Types Overview” on page
837.

Text in italic The object is part of the custom type. For


more information, see section 29.1
“Custom Types Overview” on page 837.

Technical 04-30006-02-en, May 2019


884
30 Custom Types User Interface
30.7 Actions Menu – Custom Types Submenu

30.7 Actions Menu – Custom Types


Submenu
Use the Custom Types submenu to handle custom types.

Figure: Custom types submenu

Table: Custom Types Submenu


Command Description

Check out Click to check out the selected custom


type instance so that it can be edited.

Check in Click to check in the selected custom type


instance to create a new custom type
version.

Undo check out Click to undo the check out of the selected
custom type.

Change version to: Click to change version of the selected


custom type instance so that is based on
another version of custom type.

Create custom type Click to create a custom type of the


selected object.

Attach Click to attach an object to a custom type.

Detach Click to detach a custom type object from


its custom type so that it is treated as any
other object.

Excluded from custom type Click to exclude the selected object from
the custom type instance when you create
a new custom type. For more information,
see section 29.23 “Exclude and Include
Object from a Custom Type” on page 869.

Go to custom type Click to identify which Custom type the


selected Custom type instance is based
upon.

Find instance Click to find instances of the selected


custom type.

04-30006-02-en, May 2019 Technical


885
31 Graphics Overview

Topics
Graphics Overview
TGML
TGML Properties and Attributes
TGML Coordinate System
TGML Rendering Model
TGML Types and Enumerations
TGML Code Snippets
TGML Common Attributes
TGML Components
TGML Document Structure
TGML Scripting
TGML About Data Types
TGML Common Event Methods
TGML Mouse Event Methods
TGML SignalChange Event Methods
TGML DOM Methods
TGML - Standard DOM Methods (Commonly Used)
TGML JavaScript Functions
TGML JavaScript Functions - Example 1
TGML JavaScript Functions - Example 2
31 TGML JavaScript Functions - Example 3
TGML JavaScript Functions - Example 4
31 Graphics Overview
31.1 Graphics Overview

31.1 Graphics Overview


Graphics can be customized to provide the user interface required to operate a
site. The EcoStruxure Building Operation software uses TGML graphics that are
created and edited using Graphics Editor.

31.1.1 TGML
TGML (TAC Graphics Markup Language) is a declarative XML-based language
for dynamic 2D graphics.
For more information, see section 31.2 “TGML” on page 890.

31.1.2 Basic TGML Elements


Basic TGML elements descriptions.
For more information, see section 32.1 “Basic TGML Elements” on page 925.

31.1.3 Interactive TGML Elements


Interactive TGML elements descriptions.
For more information, see section 33.1 “Interactive TGML Elements” on page
989.

31.1.4 Graphics Editor


You can use Graphics Editor to create and edit graphics representing a site and
the devices that make up the site.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

31.1.5 TGML Appendices


Additions to the TGML Format Specification.
For more information, see section 44.1 “TGML Appendices” on page 1243.

04-30006-02-en, May 2019 Technical


889
31 Graphics Overview
31.2 TGML

31.2 TGML
TGML (TAC Graphics Markup Language) is a declarative XML-based language
for dynamic 2D graphics.
TGML is inspired by the XML based Scalable Vector Graphics (SVG) which is an
open standard for 2D graphics.
TGML specifies a hierarchy of runtime objects with a set of properties and logic.
Each markup element (XML element) represents a TGML object which can be
edited, or configured, in the Graphics Editor. However, not all of the objects are
graphical (visible). Several objects are used to add a specific behavior to a
graphical object, such as enabling dynamic update of attributes,
transformations and gradients.
The TGML object model is based on the W3C Document Object Model (DOM).
The TGML graphics elements are accessible for applications through the
exposed TGML DOM interfaces.

TGML version
The TGML version is specified in a XML processing instruction:

Figure: TGML code displaying the TGML version

Namespaces
The TGML graphics elements specified in this specification belong to the default
XML namespace, TGML.
TGML allows inclusion of elements from foreign namespaces anywhere with the
TGML content. In general, the TGML loader will include the unknown (foreign)
elements in the DOM, but will otherwise ignore the unknown elements.

31.2.1 TGML Properties and Attributes


In the underlying class library, public data members are exposed as properties.
Each TGML element attribute has a corresponding property in the TGML class
that implements the TGML element.
For more information, see section 31.3 “TGML Properties and Attributes” on
page 893.

31.2.2 TGML Coordinate System


The origin of the TGML default coordinate system is in the upper-left corner.
Values of x increase as you move right, and values of y increase as you move
down.
For more information, see section 31.4 “TGML Coordinate System” on page 895.

Technical 04-30006-02-en, May 2019


890
31 Graphics Overview
31.2 TGML

31.2.3 TGML Rendering Model


The following description is a summary of the TGML rendering model, which is
very similar to the SVG rendering model.
For more information, see section 31.5 “TGML Rendering Model” on page 896.

31.2.4 TGML Types and Enumerations


All TGML attributes are of a certain type or enumeration.
For more information, see section 31.6 “TGML Types and Enumerations” on
page 897.

31.2.5 TGML File Format


TGML (TAC Graphics Markup Language) is a declarative XML-based language
for dynamic 2D graphics.
For more information, see section 34.3 “TGML File Format” on page 1034.

31.2.6 TGML Code Snippets


A snippet is a stored piece of TGML code. It can be used for reusing constructs
such as preconfigured animations and gradients.
For more information, see section 31.7 “TGML Code Snippets” on page 900.

31.2.7 TGML Common Attributes


The following attributes are applicable to all TGML elements.
For more information, see section 31.8 “TGML Common Attributes” on page 901.

31.2.8 TGML Components


Components are standardized, predefined graphics for defined use.
For more information, see section 31.9 “TGML Components” on page 902.

31.2.9 TGML Document Structure


A TGML Graphics document always consists of at least one element, the root
("outermost") TGML element. This TGML element is the ancestor of all other
elements in the document.
For more information, see section 31.10 “TGML Document Structure” on page
903.

04-30006-02-en, May 2019 Technical


891
31 Graphics Overview
31.2 TGML

31.2.10 TGML Scripting


TGML scripting supports a number of event methods.
For more information, see section 31.11 “TGML Scripting” on page 904.

31.2.11 TGML Element Summary


TGML supports the listed elements.
For more information, see section 45.1 “TGML Element Summary” on page
1249.

Technical 04-30006-02-en, May 2019


892
31 Graphics Overview
31.3 TGML Properties and Attributes

31.3 TGML Properties and Attributes


In the underlying class library, public data members are exposed as properties.
Each TGML element attribute has a corresponding property in the TGML class
that implements the TGML element.

Default Values
Most of the object properties have a default value. Element attributes that are
omitted in the TGML document are considered to be undefined. An undefined
attribute will result in assigning a default value to the corresponding property,
unless the value is inherited from a parent element.

Attribute Inheritance
TGML supports attribute inheritance similar to the SVG and XAML attribute
inheritance.
The attribute inheritance means that a child element inherits (gets) the attribute
value from an ancestor element if the attribute value is omitted and if the
attribute has been specified for an ancestor (any of the parents).
In the example below, Line will inherit the Stroke value from the Group.
StrokeWidth is not defined either, but since it is not specified at the parent level,
StrokeWidth will be assigned the default StrokeWidth value.

Figure: Attribute inheritance

Custom Attributes
The implementation of attribute inheritance also enables the user to specify
custom attributes, since an element will accept attributes that are actually
unknown for the element. For example, in the attribute inheritance example,
Stroke was specified, and accepted at the group level, despite the Group does
not have a Stroke attribute.
Custom attributes can, for example, be used to create "local" variables. The
custom attribute can be bound to a signal, or animated, as any other attribute of
an element and it can be accessed from scripts in the graphics.

Error Notifications
TGML does not specify any error or warning notifications. However, the TGML
implementation (e.g. Graphics Services) and the viewer and editor applications
should notify the user about any error conditions.

Implicit Syntax
TGML uses an implicit syntax. The object model implementation is not exposed
in the serialized TGML.
The following example defines a group containing a line. The TGML code does
not reveal how the containment is implemented in Group. The Group
implementation includes for example a child list that is the actual container, but
such information is not serialized.

04-30006-02-en, May 2019 Technical


893
31 Graphics Overview
31.3 TGML Properties and Attributes

Figure: Implicit syntax

Undefined (non-specified) attributes values are not serialized, to avoid breaking


the attribute inheritance.

Technical 04-30006-02-en, May 2019


894
31 Graphics Overview
31.4 TGML Coordinate System

31.4 TGML Coordinate System


The origin of the TGML default coordinate system is in the upper-left corner.
Values of x increase as you move right, and values of y increase as you move
down.
Container elements such as TGML and Component establish new coordinate
systems. Group is also a container element, but does not establish a new
coordinate system.

Figure: TGML container elements

Coordinates
The unit of measurement for coordinates is the device independent pixel, which
is 1/96 of an inch (96dpi). The data type for coordinates and lengths (that is,
Width and Height) is Double.

Initial Scale
A TGML viewer uses the Width, Height and Stretch attributes of the outermost
TGML element to determine the initial scale. Stretch specifies if the document is
scaled to fit within the work area (preserving the aspect ratio or not) or if the
original size is preserved (scale 1:1).

04-30006-02-en, May 2019 Technical


895
31 Graphics Overview
31.5 TGML Rendering Model

31.5 TGML Rendering Model


The following description is a summary of the TGML rendering model, which is
very similar to the SVG rendering model.
Elements in a TGML document have an implicit drawing order, with the first
elements in the TGML document getting "painted" first. Subsequent elements
are painted on top of previously painted elements.
Grouping elements have the effect of producing a temporary separate canvas
onto which child elements are painted. Upon the completion of the group, any
filter effects specified for the group are applied to create a modified temporary
canvas. The modified temporary canvas is composited into the background,
taking into account any group-level settings, such as opacity, on the group.
Individual graphics elements are rendered as if each graphics element
represented its own group (applicable when for example opacity is defined for
the element).
Grouping elements have the effect of producing a temporary separate canvas
onto which child elements are painted.

Figure: Temporary canvas of grouped elements.

Upon the completion of the group, any filter effects specified for the group are
aööoled to create a modified temporary canvas.

Figure: Filter effects specified for the group modify the temporary canvas.

The modified temporary canvas is composited into the background, taking into
account any group-level settings, such as opacity, on the group.

Figure: Temporary canvas composited into the background

Technical 04-30006-02-en, May 2019


896
31 Graphics Overview
31.6 TGML Types and Enumerations

31.6 TGML Types and Enumerations


All TGML attributes are of a certain type or enumeration.
Type/Enumeration Description

Animation An enumeration that controls an animation:


"Start
Start"", "Stop
Stop""

Bool A boolean value:


"True
True"", "False
False""

Brush Describes how an area (Fill) or a stroke


(Stroke) is painted. Accepted values
(WP1):
"None
None"", "<Color>"

CalcMode Specifies how values are interpolated


when animated:
"Discrete
Discrete"", "Linear
Linear""
Remark
Remark: "Linear
Linear"" is only applicable when
you animate attributes of the types Double,
Color, Point and array of Point.

Color An RGB or an ARGB color.


RGB is described as the hexadecimal
representation of the red,gren and blue
components.
ARGB is described as the hexadecimal
representation of the alpha (00-FF, where
00 is fully transparent), red, green, and
blue components (in that order).
Example, opaque red: Fill="#FF0000
FF0000"
Example, 50% transparent red:
Fill="#7FFF0000
7FFF0000"

Double Double-precision floating-point numbers.


For example, heights and widths are
Double.
Example:""50, 25
25""

FontStyle Describes the style of the font: "Normal


Normal"",
"Italic
Italic""

FontWeight Describes the weight of the font: "Normal


Normal"",
"Bold
Bold""

04-30006-02-en, May 2019 Technical


897
31 Graphics Overview
31.6 TGML Types and Enumerations

Continued
Type/Enumeration Description

Format This enumeration describes the formating


of the subscribed data.
"None
None"": No formating. The data type of the
received data matches the data type of the
server variable (integer, float, boolean,
string etc).
"Presentation
Presentation"": Formated as text. The
server is expected to deliver the text
representation of the value, if any (e.g.
On/Off instead of 0/1
1.

HorizontalAlign Describes the horizontal alignment of a text


string.
"Left
Left"", "Center
Center"", "Right
Right""

Point Represents an XY coordinate.


Syntax: "<Double>, <Double>".
Example: "25.00 , 50.00
50.00""

Repeat Describes the way the animation will be


repeated.
"<Iterations>" "Forever
Forever""
<Iterations> specifies the number of times
the animation is repeated.

SpreadMethod Specifies how a gradient should be drawn


outside of the specified gradient vector or
space:
"Pad
Pad"": The color values at the ends of the
gradient vector are used to fill the
remaining space.
"Reflect
Reflect"": The gradient is repeated in the
reverse direction until the space is filled.
"Repeat
Repeat"": The gradient is repeated in the
original direction until the space is filled.

Stretch An enumeration that specifies how the


content shall be stretched.
"None
None"": Preserve the original size.
"Uniform
Uniform"": Resize the content, preserving
the native aspect ratio.
"Fill
Fill"": The content is resized but aspect
ratio is not preserved.

String A string value, i.e. plain text. Reserved


XML characters (&<>) are escaped using
the standard XML escaping.

TextDecoration Describes decorations that are added to


the texts.
"None
None"", "Underline
Underline"", "Strikethrough
Strikethrough""

Technical 04-30006-02-en, May 2019


898
31 Graphics Overview
31.6 TGML Types and Enumerations

Continued
Type/Enumeration Description

VerticalAlign Describes the vertical alignment of a text


string.
"Top
Top"", "Middle
Middle"", "Bottom
Bottom""

Visibility An enumeration that specifies the visibility


of an element:
"Visible
Visible"", "Hidden
Hidden""

31.6.1 Arrays
Some attributes accepts arrays of values, such as arrays of Double and Point.
Arrays are written as a sequence of values, delimited by space.

04-30006-02-en, May 2019 Technical


899
31 Graphics Overview
31.7 TGML Code Snippets

31.7 TGML Code Snippets


A snippet is a stored piece of TGML code. It can be used for reusing constructs
such as preconfigured animations and gradients.
A snippet file contains only one TGML snippet. The root element includes at
least two Metadata elements descibing the snippet; one for Name and one for
Description. It is recommended that the file name matches the Name metadata.

Figure: TGML code with Name and Description Metadata elements

Figure: Animation snippet that can be inserted as a child to any graphical (renderable)
TGML element

Technical 04-30006-02-en, May 2019


900
31 Graphics Overview
31.8 TGML Common Attributes

31.8 TGML Common Attributes


The following attributes are applicable to all TGML elements.
Attribute Type Description

ID String The identity of the element.


Reserved for scripts and
other entities that need to
use unique element
identifiers to access
specific elements.
Inheritable
Inheritable: No
Animatable
Animatable: No

Name String The name of the element.


The primary use is to
identify exposed elements
such as Bind.
Inheritable
Inheritable: No
Animatable
Animatable: No

04-30006-02-en, May 2019 Technical


901
31 Graphics Overview
31.9 TGML Components

31.9 TGML Components


Components are standardized, predefined graphics for defined use.

Component Library
Components are stored the same way as TGML code snipptets. Component is
the root element and the associated Metadata elements describe the
component.

ComponentContent Element
The document type ComponentContent is the root of the document when the
content of a component is edited in the TGML graphics editor.
ComponentContent is replaced with Component when the component is stored
in the library.
ComponentContent has the following attributes:
• Height
• Opacity
• Visibility
• Width
Width and Height are replaced with (copied to) ContentWidth and
ContentHeight of the Component element when the component is stored.

Initial Viewport
Width and Height of the stored Component are the initial viewport, that is, the
initial size of the component when it is pasted into a TGML document.

Technical 04-30006-02-en, May 2019


902
31 Graphics Overview
31.10 TGML Document Structure

31.10 TGML Document Structure


A TGML Graphics document always consists of at least one element, the root
("outermost") TGML element. This TGML element is the ancestor of all other
elements in the document.
Layer and Group are example of grouping (container) elements that are used to
structure the graphics. Elements that describe shapes and other graphical
(visible) objects can also have children, but these children are not visible
objects, but elements that add a specific behavior, such as gradients,
animations and dynamic bindings.

Figure: TGML code with the TGML root element and a number of child elements.

Figure: The graphic as seen in Graphics Editor.

04-30006-02-en, May 2019 Technical


903
31 Graphics Overview
31.11 TGML Scripting

31.11 TGML Scripting


TGML scripting supports a number of event methods.

31.11.1 TGML About Data Types


JavaScript variables are untyped. If you, for example, use global variables or
custom attributes to store numeric values: Convert the variables to a Number
For more information, see section 31.12 “TGML About Data Types” on page 906.

31.11.2 TGML Common Event Methods


An overview of the methods that are common for all event objects.
For more information, see section 31.13 “TGML Common Event Methods” on
page 907.

31.11.3 TGML Mouse Event Methods


An overview of the methods that are specific for the mouse event object.
For more information, see section 31.14 “TGML Mouse Event Methods” on page
908.

31.11.4 TGML SignalChange Event Methods


An overview of the methods that are specific for the signalchange event object.
For more information, see section 31.15 “TGML SignalChange Event Methods”
on page 910.

31.11.5 TGML DOM Methods


An overview of the methods that are specific for the TGML DOM methods that
do not exist in standard DOM implementations, that is, methods unique for
TGML.
For more information, see section 31.16 “TGML DOM Methods” on page 911.

31.11.6 TGML Standard DOM Methods (Commonly


Used)
An overview of standard DOM methods that can be used to access graphics
elements and attributes.

Technical 04-30006-02-en, May 2019


904
31 Graphics Overview
31.11 TGML Scripting

For more information, see section 31.17 “TGML - Standard DOM Methods
(Commonly Used)” on page 913.

31.11.7 TGML JavaScript Functions


An overview of the TGML JavaScript functions unique for TGML.
For more information, see section 31.18 “TGML JavaScript Functions” on page
915.

04-30006-02-en, May 2019 Technical


905
31 Graphics Overview
31.12 TGML About Data Types

31.12 TGML About Data Types


JavaScript variables are untyped. If you, for example, use global variables or
custom attributes to store numeric values: Convert the variables to a Number

Figure: Global variables or custom attributes used to store numeric values

Technical 04-30006-02-en, May 2019


906
31 Graphics Overview
31.13 TGML Common Event Methods

31.13 TGML Common Event Methods


An overview of the methods that are common for all event objects.

Table: Common Event Methods


Method Description

getCurrentTarget() Returns the element which the Script


belongs to (i.e. the EventTarget whose
EventListeners are currently being
processed.)

getTarget() Returns the element to which the event


was originally dispatched (for example, the
element you clicked on).

preventDefault() If the event is cancelable, preventDefault


cancels the default action normally taken
by the implementation (e.g. the viewer, see
Remarks below).

stopPropagation() Prevents further propagation of an event.

Remarks
When an element contains Bind or Link, the viewer are supposed to respond
(e.g. show a "change value" dialog or open the linked presentation object) when
the user clicks on the element. This is the "default action" for the viewer which is
cancelled by the preventDefault function.
preventDefault in an OnMouseClick function cancels the change value dialog
(when the element contains a Bind) or the link function (when the element
contains a Link).
preventDefault in an OnSignalChange function cancels the error indication (the
red cross).

Figure: Example of a common event method

04-30006-02-en, May 2019 Technical


907
31 Graphics Overview
31.14 TGML Mouse Event Methods

31.14 TGML Mouse Event Methods


An overview of the methods that are specific for the mouse event object.

Table: Mouse Event Methods


Method Description

getButton() Returns an integer describing which button


was pressed or released. Applicable for
MouseDownEvent and MouseUpEvent.
0 = Left button
1 = Middle button
2 = Right button

getClientX() Returns the X coordinate of the cursor,


relative the origin of the target coordinate
system.
The coordinate is calculated using the
transformations of the target element.

getClientY() Returns the Y coordinate of the cursor,


relative the origin of the target coordinate
system.
The coordinate is calculated using the
transformations of the target element.

getCurrentTargetX() Returns the X coordinate of the cursor,


relative the origin of the current target
coordinate system.
The coordinate is calculated using the
transformations of the current target
element.

getCurrentTargetY() Returns the Y coordinate of the cursor,


relative the origin of the current target
coordinate system.
The coordinate is calculated using the
transformations of the current target
element.

getCurrentTargetParentX() Returns the X coordinate of the cursor,


relative the origin of the current
target's parent coordinate system.
The coordinate is calculated using the
transformations of the
current target's parent.

getCurrentTargetParentY() Returns the Y coordinate of the cursor,


relative the origin of the current
target's parent coordinate system.
The coordinate is calculated using the
transformations of the
current target's parent.

Technical 04-30006-02-en, May 2019


908
31 Graphics Overview
31.14 TGML Mouse Event Methods

Continued
Method Description

getScreenX() Returns the X coordinate of the cursor,


relative to the origin of the document
coordinate system.

getScreenY() Returns the Y coordinate of the cursor,


relative to the origin of the document
coordinate system.

04-30006-02-en, May 2019 Technical


909
31 Graphics Overview
31.15 TGML SignalChange Event Methods

31.15 TGML SignalChange Event Methods


An overview of the methods that are specific for the signalchange event object.

Table: SignalChange Event Methods


Method Description

getStatus() Returns the status of the signal:


0: Error (Bad quality)
1: Stored value (Uncertain quality)
2: Real value (Good quality)
3: Forced value (Good quality)

getPresentationValue() Returns the value of the bound signal as a


"presentation value". For more information,
see section 33.12 “TGML Signal Binding:
<Bind>” on page 1006.

getUnit() Returns the unit of the bound signal as a


string.

getValue() Returns the value of the bound signal.

Technical 04-30006-02-en, May 2019


910
31 Graphics Overview
31.16 TGML DOM Methods

31.16 TGML DOM Methods


An overview of the methods that are specific for the TGML DOM methods that
do not exist in standard DOM implementations, that is, methods unique for
TGML.

Table: TGML DOM Methods


Object Method Description

Any element getChildByName(


getChildByName(""‹name
name››") Returns the child element
that has the Name attribute
Obsolete. This function may with the given value. If no
be removed in a future such element exists, this
release. returns null. If more than
one element has a Name
attribute with that value,
what is returned is
undefined.

Any element getChild ("‹name


name››") Returns the immediate child
element that has the Name
attribute with the given
value. If no such child
exists, this returns null. If
more than one immediate
child element has a Name
attribute with that value,
what is returned is
undefined.

Any element getChildRecursive Returns the child element at


("‹name
name››") any level that has the Name
attribute with the given
value. If no such element
exists, this returns null. If
more than one element has
a Name attribute with that
value, what is returned is
undefined.

Bind or Link getFullBindName() Returns the exposed name


of the Bind or Link element,
including names of parent
components.

04-30006-02-en, May 2019 Technical


911
31 Graphics Overview
31.16 TGML DOM Methods

Figure: Example of TGML DOM method

Technical 04-30006-02-en, May 2019


912
31 Graphics Overview
31.17 TGML - Standard DOM Methods (Commonly Used)

31.17 TGML - Standard DOM Methods


(Commonly Used)
An overview of standard DOM methods that can be used to access graphics
elements and attributes.
See W3C Document Object Model (DOM) Level 3 Core Specification for more
information.

Table: Standard DOM Methods


Object Method Description

Any element getAttribute(


getAttribute(""‹attribute
attribute››") Returns the value of
‹attribute›.

Any element getChildNodes() Returns a NodeList that


contains all children of this
node.

Any element getOwnerDocument() Returns the document.

Any element getParentNode() Returns the parent element.

Any element getTagName() Returns the element tag


name, e.g. Rectangle or
Bind.

Any element setAttribute(


setAttribute(""‹attribute
attribute››", Sets the value of ‹attribute›
"‹value
value››") to ‹value›. If the element
does not have the attribute,
it is created (as a TGML
custom attribute).

Document getDocumentElement() Returns the TGML (root)


element.

Document getElementById(
getElementById(""‹Id
Id››") Returns the child element
that has the Id attribute with
the given value.

Document getElementsByTagName Returns a NodeList of all the


("‹tagName
tagName››") elements in document order
with a given tag name.

NodeList getLength() Returns the number of


elements in the NodeList.

NodeList item(
item(""‹index
index››") Returns the element at
‹index› in the NodeList.

04-30006-02-en, May 2019 Technical


913
31 Graphics Overview
31.17 TGML - Standard DOM Methods (Commonly Used)

Figure: Standard DOM method example

Technical 04-30006-02-en, May 2019


914
31 Graphics Overview
31.18 TGML JavaScript Functions

31.18 TGML JavaScript Functions


An overview of the TGML JavaScript functions unique for TGML.

Table: TGML JavaScript Functions


Method Description

alert(
alert(""‹message
message››") Displays a message box.

clearInterval(intervalID) Obsolete. This Cancels the interval previously started


function is replaced byJavascript standard using the setInterval function.
implementation.*
intervalID is an identifier returned by a
previous call to the setInterval function.

clearTimeout(timeoutID) Obsolete. This Cancels a time-out that was set with the
function is replaced byJavascript standard setTimeout function.
implementation.*
timeoutID is an identifier returned by a
previous call to the setTimeout function.

confirm(
confirm(""‹message
message››") Displays a confirm box with "Yes" and "No"
buttons.
Returns true if the user clicks "Yes" or false
if the user clicks "No".

execute(
execute(""‹command
command››") Requests an execute operation to be
performed by the TGML viewer (start a
execute(
execute(""‹command
command››", "‹options
options››") Windows program).
command is the name of the program (full
path) and options is the command line
options.
Returns true if succeeded or false if failed.
Note: The implementation of this function is
system dependent. May not be
implemented in some systems.

invoke(
invoke(""‹bindingName
bindingName››", "‹operation
operation››") Requests an operation to be performed on
a bound object by the TGML viewer. The
bindingName is the full name (as it is
exposed to the binding tools) of a Bind or
Link element.
Returns true if succeeded or false if failed.
Note: The implementation of this function is
system dependent. May not be
implemented in some systems.

openFile(
openFile(""‹path
path››", "‹operation
operation››") Request the TGML viewer to open a file.
The operation is typical Windows object
verbs.
Returns true if succeeded or false if failed.
Note: The implementation of this function is
system dependent. May not be
implemented in some systems.

04-30006-02-en, May 2019 Technical


915
31 Graphics Overview
31.18 TGML JavaScript Functions

Continued
Method Description

prompt(
prompt(""‹message
message››", "‹defaultValue
defaultValue››") Prompts the user to enter a value.
Returns the entered value or null if
cancelled.

setForce(
setForce(""‹bindingName
bindingName››", "true|false
true|false"") Sets the force state of a bound signal
object. The bindingName is the full name
(as it is exposed to the binding tools) of a
Bind element.
Returns true if succeeded or false if failed.
Note: The implementation of this function is
system dependent. May not be
implemented in some systems.

setInterval(
setInterval(""‹expression
expression››", Evaluates (executes) the expression each
"‹milliseconds
milliseconds››") Obsolete. This function is time the specified number of milliseconds
replaced byJavascript standard has elapsed.
implementation.*
Returns an identifier that cancels the timer
with the clearInterval method.

setTimeout(
setTimeout(""‹expression
expression››", Evaluates (executes) the expression after
"‹milliseconds
milliseconds››") Obsolete. This function is the specified number of milliseconds has
replaced byJavascript standard elapsed.
implementation.*
Returns an identifier that cancels the timer
with the clearTimeout method.

setValue(
setValue(""‹bindingName
bindingName››", "‹value
value››") Sets the value of a bound signal object.
The bindingName is the full name (as it is
exposed to the binding tools) of a Bind
element.
Returns true if succeeded or false if failed.
Note: The implementation of this function is
system dependent. May not be
implemented in some systems.

* This is valid for the TGML specific implementations and may be removed in
future releases. Made obsolete in favor of the JavaScript standard
implementation.

31.18.1 TGML JavaScript Functions - Example 1


This is an example how to create an interactive rectangle that toggles a value.
For more information, see section 31.19 “TGML JavaScript Functions - Example
1” on page 918.

Technical 04-30006-02-en, May 2019


916
31 Graphics Overview
31.18 TGML JavaScript Functions

31.18.2 TGML JavaScript Functions - Example 2


The example below assumes that the Link named "Report" is bound to a TACOS
report object. The function invoke will result in a "print report" operation in Vista
Workstation.
For more information, see section 31.20 “TGML JavaScript Functions - Example
2” on page 919.

31.18.3 TGML JavaScript Functions - Example 3


This example starts an interval timer and animates (toggles) the fill color when
the cursor is over the rectangle. The timer is stopped and the color is restored
when the cursor leaves the rectangle.
For more information, see section 31.21 “TGML JavaScript Functions - Example
3” on page 920.

31.18.4 TGML JavaScript Functions - Example 4


This example displays an alert box when the cursor has been over the rectangle
for one second. The timer is stopped when the cursor leaves the rectangle.
For more information, see section 31.22 “TGML JavaScript Functions - Example
4” on page 921.sadfasd

31.18.5 JavaScript 1.5


For more information about JavaScript 1.5, see ECMAScript Language
Specification, Rev 3.

04-30006-02-en, May 2019 Technical


917
31 Graphics Overview
31.19 TGML JavaScript Functions - Example 1

31.19 TGML JavaScript Functions - Example 1


This is an example how to create an interactive rectangle that toggles a value.

Figure: An interactive rectangle that toggles a value

Figure: Confirm dialog box

Technical 04-30006-02-en, May 2019


918
31 Graphics Overview
31.20 TGML JavaScript Functions - Example 2

31.20 TGML JavaScript Functions - Example 2


The example below assumes that the Link named "Report" is bound to a TACOS
report object. The function invoke will result in a "print report" operation in Vista
Workstation.

Figure: The invoke function results in a print report operation in Vista WorkStation

04-30006-02-en, May 2019 Technical


919
31 Graphics Overview
31.21 TGML JavaScript Functions - Example 3

31.21 TGML JavaScript Functions - Example 3


This example starts an interval timer and animates (toggles) the fill color when
the cursor is over the rectangle. The timer is stopped and the color is restored
when the cursor leaves the rectangle.

Figure: Fill color is changed when cursor is moved over the rectangle

Technical 04-30006-02-en, May 2019


920
31 Graphics Overview
31.22 TGML JavaScript Functions - Example 4

31.22 TGML JavaScript Functions - Example 4


This example displays an alert box when the cursor has been over the rectangle
for one second. The timer is stopped when the cursor leaves the rectangle.

Figure: An alert box is displayed when the cursor has been over the rectangle for one
second

04-30006-02-en, May 2019 Technical


921
32 Basic TGML Elements

Topics
Basic TGML Elements
TGML Document Type Element and Metadata
TGML Grouping Elements
TGML Grouping: <Group>
TGML Components: <Component>
TGML Layers: <Layer>
TGML Basic Shapes
TGML Line: <Line>
TGML Polyline: <Polyline>
TGML Polygon: <Polygon>
TGML Rectangle: <Rectangle>
TGML Ellipse: <Ellipse>
TGML Segment Shapes
TGML Elliptical Arc: <Arc>
TGML Elliptical Pie: <Pie>
TGML Elliptical Chord: <Chord>
TGML Curves and Paths
TGML Cubic Bezier Curve: <Curve>
TGML Path Element: <Path>
TGML Raster Images
32 TGML Image Element: <Image>
TGML Animated Images (GIF89a): <AnimatedImage>
TGML Text
TGML Text Line: <Text>
TGML Text Flow: <TextBox>
TGML Gradients
TGML Linear Gradient: <LinearGradient>
TGML Radial Gradient: <RadialGradient>
TGML Gradient Stop: <GradientStop>
32 Basic TGML Elements
32.1 Basic TGML Elements

32.1 Basic TGML Elements


Basic TGML elements descriptions.

32.1.1 TGML Document Type Element and


Metadata
Each TGML document contains the TGML root element. It also contains
metadata created and interpreted by the TGML application.
For more information, see section 32.2 “TGML Document Type Element and
Metadata” on page 927.

32.1.2 TGML Grouping Elements


With TGML there are several ways to collect elements in a common container
element.
For more information, see section 32.3 “TGML Grouping Elements” on page 929.

32.1.3 TGML Basic Shapes


The TGML specification contains a number of basic shapes.
For more information, see section 32.7 “TGML Basic Shapes” on page 935.

32.1.4 TGML Segment Shapes


The TGML specification defines a number of shapes that are segments of an
ellipse.
For more information, see section 32.13 “TGML Segment Shapes” on page 950.

32.1.5 TGML Curves and Paths


TGML contains a definition for curve and path elements.
For more information, see section 32.17 “TGML Curves and Paths” on page 960.

32.1.6 TGML Raster Images


TGML defines raster images and an animated raster image.
For more information, see section 32.20 “TGML Raster Images” on page 965.

04-30006-02-en, May 2019 Technical


925
32 Basic TGML Elements
32.1 Basic TGML Elements

32.1.7 TGML Text


TGML supports two types of text elements: Text and TextBox.
For more information, see section 32.23 “TGML Text” on page 970.

32.1.8 TGML Gradients


Gradients consist of continuously smooth color transitions along a vector from
one color to another. TGML provides for two types of gradients, linear gradients
and radial gradients.
For more information, see section 32.26 “TGML Gradients” on page 979.

Technical 04-30006-02-en, May 2019


926
32 Basic TGML Elements
32.2 TGML Document Type Element and Metadata

32.2 TGML Document Type Element and


Metadata
Each TGML document contains the TGML root element. It also contains
metadata created and interpreted by the TGML application.

Document Type Element : <TGML>


The root element of a TGML document is TGML. This element specifies that the
document type is TGML.

Table: TGML element attributes


Attribute Type Description

Background Brush The background color of the


document canvas (the
viewing area).
Default
Default: "#FFFFFF
FFFFFF"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

DisablePanAndZoom Boolean Disables the normal zoom


and pan commands in the
viewer. For example useful
in kiosk mode or
headers/footers.
Default
Default: "False"
Inheritable
Inheritable: No
Animatable
Animatable: No

Height Double The height of the document.


See Remarks.
Default
Default: "600"
Inheritable
Inheritable: No
Animatable
Animatable: No

Stretch Stretch Specifies how the


document shall be
stretched initially within a
viewer. See Remarks.
Default
Default: "None"
Inheritable
Inheritable: No
Animatable
Animatable: No

04-30006-02-en, May 2019 Technical


927
32 Basic TGML Elements
32.2 TGML Document Type Element and Metadata

Continued
Attribute Type Description

UseGlobalScripts Boolean Enable a single execution


context for scripts. For more
information, see section
33.22 “TGML Script
Context” on page 1022.
Default
Default: "False
False"
Inheritable
Inheritable: No
Animatable
Animatable: No

Width Double The width of the document.


See Remarks.
Default
Default: "800"
Inheritable
Inheritable: No
Animatable
Animatable: No

Remarks
The viewer uses the width, height, and stretch information to determine how the
document initially is streteched.
The viewer can display a document where information about width and height is
missing. When you view such a document no stretching is applied and any
scroll bars are disabled.
Stretch
Stretch="None"
"None": Preserve the original size. This usually means that scroll bars
are enabled so the user can scroll to the right and the bottom of the document.
Stretch
Stretch="Uniform"
"Uniform": Resize the content, preserving the native aspect ratio. Scroll
bars are initially disabled.
Stretch
Stretch="Fill"
"Fill": The content is resized but aspect ratio is not preserved. Scroll
bars are initially disabled.

Metadata: <Metadata>
The Metadata element carries textual information about its parent element. It is
up to the TGML application to create and interpret the metadata.
Applying metadata to the outermost TGML element is the same as applying the
information to the TGML document.

Table: Metadata element attributes


Attribute Type Description

Name String A name that identifies the


information.
Inheritable
Inheritable: No
Animatabel
Animatabel: No

Value String The information.


Inheritable
Inheritable: No
Animatable
Animatable: No

Technical 04-30006-02-en, May 2019


928
32 Basic TGML Elements
32.3 TGML Grouping Elements

32.3 TGML Grouping Elements


With TGML there are several ways to collect elements in a common container
element.

32.3.1 TGML Grouping: <Group>


The Group element is a container element, used for grouping elements together
so they can, for example, be moved, copied and resized as if they were a single
element.
For more information, see section 32.4 “TGML Grouping: <Group>” on page
930.

32.3.2 TGML Components: <Component>


The Components element is a container element (similar to Group) which
defines a reusable group of elements.
For more information, see section 32.5 “TGML Components: <Component>” on
page 931.

32.3.3 TGML Layers: <Layer>


The Layer element is a container element used to create layered TGML
graphics.
For more information, see section 32.6 “TGML Layers: <Layer>” on page 934.

04-30006-02-en, May 2019 Technical


929
32 Basic TGML Elements
32.4 TGML Grouping: <Group>

32.4 TGML Grouping: <Group>


The Group element is a container element, used for grouping elements together
so they can, for example, be moved, copied and resized as if they were a single
element.

Table: Group element attributes


Attribute Type Description

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element


shall be visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a group element

Technical 04-30006-02-en, May 2019


930
32 Basic TGML Elements
32.5 TGML Components: <Component>

32.5 TGML Components: <Component>


The Components element is a container element (similar to Group) which
defines a reusable group of elements.
Top and Left of Component specifies the position of the component in the parent
coordinate system. Component itself establishes a new coordinate system for
the contained elements, which means that the upper left corner of Component is
the origin (0,0) for the contained elements.
Width and Height specifies the "viewport" (size on screen) of the component.
ContentWidth and ContentHeight specify the "viewbox", which is the boundary of
the contained elements. If the viewport is different from the viewbox, a scale
transformation is applied by the TGML implementation (similar to Stretch="Fill".
For more information, see section 32.2 “TGML Document Type Element and
Metadata” on page 927.. In other words, resizing a Component has the effect of
scaling the content of the Component.
The Clip attribute specifies if the renderer shall clip elements that exceed (are
drawn outside) the specified viewbox or not.
When a Component includes Bind or Link elements, the Name of Component
will prefix the exposed bind names ("MyComponent.MyBind").
For more information, see section 31.9 “TGML Components” on page 902.

Table: Component element attributes


Attribute Type Description

Clip Bool Specifies if the content shall


be clipped or not.
Default
Default: "True"
Inheritable
Inheritable: No
Animatable
Animatable: No

ContentHeight Double Specifies the viewbox


height (height of the
content).
Inheritable
Inheritable: No
Animatable
Animatable: No

ContentWidth Double Specifies the viewbox width


(width of the content).
Inheritable
Inheritable: No
Animatable
Animatable: No

Height Double The viewport height of the


component (height on
screen).
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


931
32 Basic TGML Elements
32.5 TGML Components: <Component>

Continued
Attribute Type Description

Left Double The x coordinate of the


component's upper left
corner.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between 0.0


(transparen) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Top Double The y coordinate of the


components upper left
corner.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element


shall be visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The viewport width of the


component (width on
screen).
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a component element

Technical 04-30006-02-en, May 2019


932
32 Basic TGML Elements
32.5 TGML Components: <Component>

Figure: TGML component element on screen

04-30006-02-en, May 2019 Technical


933
32 Basic TGML Elements
32.6 TGML Layers: <Layer>

32.6 TGML Layers: <Layer>


The Layer element is a container element used to create layered TGML
graphics.
Only the TGML root element can contain Layer elements, which means that
nested layers are not supported.
Layer elements cannot be transformed. Child transformation elements will have
no effect on the Layer element.

Table: Layer element attributes


Attribute Type Description

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Visibility Visbility Specifies if the element is


visible or not.
Default
Default: "Visibile"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing two layer elements

Technical 04-30006-02-en, May 2019


934
32 Basic TGML Elements
32.7 TGML Basic Shapes

32.7 TGML Basic Shapes


The TGML specification contains a number of basic shapes.

32.7.1 Shape Attributes


The following table describes the common attributes of the basic shapes.
Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None
None""
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0
1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000
000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" will result in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


935
32 Basic TGML Elements
32.7 TGML Basic Shapes

Continued
Attribute Type Description

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible
Visible""
Inheritable
Inheritable: No
Animatable
Animatable: Yes

32.7.2 TGML Line: <Line>


The Line element describes a straight line between two points.
For more information, see section 32.8 “TGML Line: <Line>” on page 938.

32.7.3 TGML Polyline: <Polyline>


The Polyline element describes a series of connected straight lines.
For more information, see section 32.9 “TGML Polyline: <Polyline>” on page
940.

32.7.4 TGML Polygon: <Polygon>


The Polygon element describes a polygon, which is a connected series of lines
that forms a closed shape. The end point does not have to be specified. The
polygon is closed automatically.
For more information, see section 32.10 “TGML Polygon: <Polygon>” on page
942.

32.7.5 TGML Rectangle: <Rectangle>


The Rectangle element defines a rectangle. Rounded rectangles can be
achived by setting values for the attributes RadiusX and RadiusY.
For more information, see section 32.11 “TGML Rectangle: <Rectangle>” on
page 944.

Technical 04-30006-02-en, May 2019


936
32 Basic TGML Elements
32.7 TGML Basic Shapes

32.7.6 TGML Ellipse: <Ellipse>


The Ellipse element defines an ellipse.
For more information, see section 32.12 “TGML Ellipse: <Ellipse>” on page 947.

04-30006-02-en, May 2019 Technical


937
32 Basic TGML Elements
32.8 TGML Line: <Line>

32.8 TGML Line: <Line>


The Line element describes a straight line between two points.

Table: Line element attributes


Attribute Type Description

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0
1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000
000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0
0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1
1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible
Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


938
32 Basic TGML Elements
32.8 TGML Line: <Line>

Continued
Attribute Type Description

X1 Double The x coordinate of the line


start point.
Default
Default: "0
0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

X2 Double The x coordinate of the line


end point.
Default
Default: "0
0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Y1 Double The y coordinate of the line


start point.
Default
Default: "0
0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Y2 Double The y coordinate of the line


end point.
Default
Default: "0
0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a Line element

Figure: Line element on screen

04-30006-02-en, May 2019 Technical


939
32 Basic TGML Elements
32.9 TGML Polyline: <Polyline>

32.9 TGML Polyline: <Polyline>


The Polyline element describes a series of connected straight lines.

Table: Polyline element attributes


Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None
None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0
1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Points Array of Point The vertex points of the


polyline:
"<x1>,<y1> <x2>,<y2>..."
Inheritable
Inheritable: No
Animatable: No

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


940
32 Basic TGML Elements
32.9 TGML Polyline: <Polyline>

Continued
Attribute Type Description

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a Polyline element

Figure: Polyline element on screen.

04-30006-02-en, May 2019 Technical


941
32 Basic TGML Elements
32.10 TGML Polygon: <Polygon>

32.10 TGML Polygon: <Polygon>


The Polygon element describes a polygon, which is a connected series of lines
that forms a closed shape. The end point does not have to be specified. The
polygon is closed automatically.

Table: Polygon element attributes


Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Points Array of Point The vertex points of the


polygon:
"<x1>,<y1> <x2>,<y2>..."
Inheritable
Inheritable: No
Animatable
Animatable: No

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


942
32 Basic TGML Elements
32.10 TGML Polygon: <Polygon>

Continued
Attribute Type Description

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a Polygon element

Figure: Polygon element on screen

04-30006-02-en, May 2019 Technical


943
32 Basic TGML Elements
32.11 TGML Rectangle: <Rectangle>

32.11 TGML Rectangle: <Rectangle>


The Rectangle element defines a rectangle. Rounded rectangles can be
achived by setting values for the attributes RadiusX and RadiusY.

Table: Rectangle element attributes


Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Height Double The height of the rectangle.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Left Double The x coordinate of the


upper left corner of the
rectangel.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusX Double For rounded rectangles.


The x axis radius of the
ellipse used to round off the
corners of the rectangle.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusY Double For rounded rectangles.


The y axis radius of the
ellipse used to round off the
corners of the rectangle.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


944
32 Basic TGML Elements
32.11 TGML Rectangle: <Rectangle>

Continued
Attribute Type Description

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Top Double The y coordinate of the


rectangles upper left
corner.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The width of the rectangle.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


945
32 Basic TGML Elements
32.11 TGML Rectangle: <Rectangle>

Figure: TGML code containing a Rectangle element

Figure: Rectangle element on screen

Technical 04-30006-02-en, May 2019


946
32 Basic TGML Elements
32.12 TGML Ellipse: <Ellipse>

32.12 TGML Ellipse: <Ellipse>


The Ellipse element defines an ellipse.

Table: Ellipse element attributes


Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Height Double The height of the ellipse.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Left Double The x coordinate of the


upper left corner of the
ellipse.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


947
32 Basic TGML Elements
32.12 TGML Ellipse: <Ellipse>

Continued
Attribute Type Description

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the
ellipse.

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The width of the ellipse.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing an Ellipse element

Technical 04-30006-02-en, May 2019


948
32 Basic TGML Elements
32.12 TGML Ellipse: <Ellipse>

Figure: Ellipse element on screen

04-30006-02-en, May 2019 Technical


949
32 Basic TGML Elements
32.13 TGML Segment Shapes

32.13 TGML Segment Shapes


The TGML specification defines a number of shapes that are segments of an
ellipse.

32.13.1 TGML Elliptical Arc: <Arc>


Arc defines an elliptical arc. The elliptical arc is part of an ellipse.
For more information, see section 32.14 “TGML Elliptical Arc: <Arc>” on page
951.

32.13.2 TGML Elliptical Pie: <Pie>


Pie defines an elliptical pie slice. Pie is similar to Arc.
For more information, see section 32.15 “TGML Elliptical Pie: <Pie>” on page
954.

32.13.3 TGML Elliptical Chord: <Chord>


Chord defines an elliptical chord. Chord is similar to Pie and Arc.
For more information, see section 32.16 “TGML Elliptical Chord: <Chord>” on
page 957.

Technical 04-30006-02-en, May 2019


950
32 Basic TGML Elements
32.14 TGML Elliptical Arc: <Arc>

32.14 TGML Elliptical Arc: <Arc>


Arc defines an elliptical arc. The elliptical arc is part of an ellipse.

Figure: Elliptical Arc

Table: Arc element attributes


Attribute Type Description

Center Point The center point of the


ellipse.
Default
Default: "0.0 , 0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusX Double The horizontal radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusY Double The vertical radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


951
32 Basic TGML Elements
32.14 TGML Elliptical Arc: <Arc>

Continued
Attribute Type Description

StartAngle Double Specifies the angle


between the x axis and the
starting point of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

SweepAngle Double Specifies the angle


between the starting and
ending points of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


952
32 Basic TGML Elements
32.14 TGML Elliptical Arc: <Arc>

Continued
Attribute Type Description

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


953
32 Basic TGML Elements
32.15 TGML Elliptical Pie: <Pie>

32.15 TGML Elliptical Pie: <Pie>


Pie defines an elliptical pie slice. Pie is similar to Arc.

Figure: Elliptical Pie

Table: Pie element attributes


Attribute Type Description

Center Point The center point of the


ellipse.
Default
Default: "0.0 , 0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusX Double The horizontal radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusY Doubel The vertical radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


954
32 Basic TGML Elements
32.15 TGML Elliptical Pie: <Pie>

Continued
Attribute Type Description

StartAngle Double Specifies the angle


between the x axis and the
starting point of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

SweepAngle Double Specifies the angle


between the starting and
ending points of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


955
32 Basic TGML Elements
32.15 TGML Elliptical Pie: <Pie>

Continued
Attribute Type Description

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


956
32 Basic TGML Elements
32.16 TGML Elliptical Chord: <Chord>

32.16 TGML Elliptical Chord: <Chord>


Chord defines an elliptical chord. Chord is similar to Pie and Arc.

Figure: Elliptical Chord

Table: Chord element attributes


Attribute Type Description

Center Point The center point of the


ellipse.
Default
Default: "0.0 , 0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusX Double The horizontal radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

RadiusY Double The vertical radius of the


ellipse.
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


957
32 Basic TGML Elements
32.16 TGML Elliptical Chord: <Chord>

Continued
Attribute Type Description

StartAngle Double Specifies the angle


between the x axis and the
starting point of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

SweepAngle Double Specifies the angle


between the starting and
ending points of the arc.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


958
32 Basic TGML Elements
32.16 TGML Elliptical Chord: <Chord>

Continued
Attribute Type Description

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


959
32 Basic TGML Elements
32.17 TGML Curves and Paths

32.17 TGML Curves and Paths


TGML contains a definition for curve and path elements.

32.17.1 TGML Cubic Bezier Curve: <Curve>


Curve defines a cubic Bezier curve. The cubic Bezier curve has a start point, an
end point, and two control points. The control points act as magnets, pulling the
curve in certain directions to influence the way the Bezier curve bends.
For more information, see section 32.18 “TGML Cubic Bezier Curve: <Curve>”
on page 961.

32.17.2 TGML Path Element: <Path>


Path represents the outline of a shape.
For more information, see section 32.19 “TGML Path Element: <Path>” on page
963.

Technical 04-30006-02-en, May 2019


960
32 Basic TGML Elements
32.18 TGML Cubic Bezier Curve: <Curve>

32.18 TGML Cubic Bezier Curve: <Curve>


Curve defines a cubic Bezier curve. The cubic Bezier curve has a start point, an
end point, and two control points. The control points act as magnets, pulling the
curve in certain directions to influence the way the Bezier curve bends.

Figure: Bezier curve with control points

Curve supports polybezier, which is a consecutive set of Bezier points. The end
point of the preceding Bezier becomes the start point of the following Bezier.

Figure: Polybezier

Table: Cubic Bezier Curve element attributes


Attribute Type Description

Closed Bool Describes if the curve is


closed or not. That is, if
Points data end with "z" or
not.
Default
Default: "False"
Inheritable
Inheritable: No
Animatable
Animatable: No

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


961
32 Basic TGML Elements
32.18 TGML Cubic Bezier Curve: <Curve>

Continued
Attribute Type Description

Points Array of Point The points: start point,


control points, and end
point, of the Bexier.
Polybezier is supported.
Inheritable
Inheritable: No
Animatable
Animatable: No

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


962
32 Basic TGML Elements
32.19 TGML Path Element: <Path>

32.19 TGML Path Element: <Path>


Path represents the outline of a shape.
The path is described by the PathData attribute, shich can contain moveto, line,
curve (both cubic and quadratic Beziers), arc,, and closepath instructions.
The path element is an implementation of the SVG path data specification. For
more information, see the Scalable Vector Graphics (SVG) 1.1 Specification.

Table: Path element attributes


Attribute Type Description

Fill Brush Specifies how the interior of


the shape is painted.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Opacity Double A value between "0.0"


(transparent) and "1.0"
(opaque)
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

PathData String SVG path data.


Inheritable
Inheritable: No
Animatable
Animatable: No

Stroke Brush Describes how the line is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StrokeDashArray Array of Double The pattern of dashes and


gaps used to outline
shapes:
"<dash> [ <gap> <dash>
<gap>...]"
If the array only specifies
the first dash, the line is
patterned as if a gap with
the same length as the dash
was specified.
An array with only one dash
set to "0" results in a line
without any pattern.
Default
Default: "0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


963
32 Basic TGML Elements
32.19 TGML Path Element: <Path>

Continued
Attribute Type Description

StrokeWidth Double The width of the outline of a


line.
Default
Default: "1"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Remarks
Some of the path commands can be converted or replaced when you import
SVG paths. For example, h, H (Horizontal lineto) and v, V (Vertical lineto) can be
replaced with l and L (lineto).

Technical 04-30006-02-en, May 2019


964
32 Basic TGML Elements
32.20 TGML Raster Images

32.20 TGML Raster Images


TGML defines raster images and an animated raster image.

32.20.1 TGML Image Element: <Image>


Image represents a raster image. Image supports JPEG and PNG images.
For more information, see section 32.21 “TGML Image Element: <Image>” on
page 966.

32.20.2 TGML Animated Images (GIF89a):


<Animated Image>
Animated image represents an animated raster image. AnimatedImage
supports the GIF89a format.
For more information, see section 32.22 “TGML Animated Images (GIF89a):
<AnimatedImage>” on page 968.

04-30006-02-en, May 2019 Technical


965
32 Basic TGML Elements
32.21 TGML Image Element: <Image>

32.21 TGML Image Element: <Image>


Image represents a raster image. Image supports JPEG and PNG images.
The image data is stored as a Base64 encoded string in the CDATA section of
the Image element.

Figure: TGML code containing an Image element

The image data is accessible through the Content attribute which means that it
can be bound and dynamically updated in View mode.

Table: Image element attributes


Attribute Type Description

Content String The image data (Base64


encoded).
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Height Double The height of the image.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Left Double The x coordinate of the


upper left corner of the
image.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the
image.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


966
32 Basic TGML Elements
32.21 TGML Image Element: <Image>

Continued
Attribute Type Description

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The width of the image.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


967
32 Basic TGML Elements
32.22 TGML Animated Images (GIF89a): <AnimatedImage>

32.22 TGML Animated Images (GIF89a):


<AnimatedImage>
Animated image represents an animated raster image. AnimatedImage
supports the GIF89a format.
The Animation attribute starts and stops the animation.
The image data is stored as a Base64-encoded string in the CDATA section of
the AnimatedImage element. The image data is accessible through the Content
attribute.

Table: Animated Image element attributes


Attribute Type Description

Content String The image data (Base64


encoded).
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Height Double The height of the image.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Left Double The x coordinate of the


upper left corner of the
image.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the
image.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Visibility Visibility Specifies if the element is


visible or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


968
32 Basic TGML Elements
32.22 TGML Animated Images (GIF89a): <AnimatedImage>

Continued
Attribute Type Description

Width Double The width of the image.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Animation Animation Starts and stops the


animation.
Default
Default: "Start"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


969
32 Basic TGML Elements
32.23 TGML Text

32.23 TGML Text


TGML supports two types of text elements: Text and TextBox.

Figure: The character data (the text) is stored within the Text element as XML element
content.

The character data is accessible through the Content attribute which means that
it is possible to cerate dynamic texts by animating or binding the Content
attribute.

32.23.1 TGML Text Line: <Text>


Text defines a graphics element consisting of text. Each Text element causes a
single string of text to be rendered. The Text element perfoms no automatic line
break or word wrapping.
For more information, see section 32.24 “TGML Text Line: <Text>” on page 973.

32.23.2 TGML Text Flow: <TextBox>


Text defines a graphics element consisting of text. TextBox wraps the text within
the specified box. The TextBox element also supports manual line breaks (ASCII
character 10).
For more information, see section 32.25 “TGML Text Flow: <TextBox>” on page
976.

Table: Common text attributes


Attribute Type Description

Content String The character data.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

FontFamily String The name of the font or font


family.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontSize Double The size of the font, in


device independent pixels.
For more information, see
section 31.4 “TGML
Coordinate System” on
page 895.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


970
32 Basic TGML Elements
32.23 TGML Text

Continued
Attribute Type Description

FontStyle FontStyle The style of the font, that is,


Normal or Italic
Italic.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontWeight FontWeight The weight of the font, that


is, Normal or Bold
Bold.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

HorizontalAlign HorizontalAlign Describes the horizontal


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Left"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Left Double The x coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Brush A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Specifies how the text is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


971
32 Basic TGML Elements
32.23 TGML Text

Continued
Attribute Type Description

TextDecoration TextDecoration Specifies decorations that


are added to the text.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

VerticalAlign VerticalAlign Describes the vertical


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Top"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Visibility Visibility Specifies if the text is visible


or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


972
32 Basic TGML Elements
32.24 TGML Text Line: <Text>

32.24 TGML Text Line: <Text>


Text defines a graphics element consisting of text. Each Text element causes a
single string of text to be rendered. The Text element perfoms no automatic line
break or word wrapping.

Table: Text element attributes


Attribute Type Description

Content String The character data.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

FontFamily String The name of the font or font


family.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontSize Double The size of the font, in


device independent pixels.
For more information, see
section 31.4 “TGML
Coordinate System” on
page 895.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontStyle FontStyle The style of the font, that is,


Normal or Italic.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontWeight FontWeight The weight of the font, that


is, Normal or Bold.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

HorizontalAlign HorizontalAlign Describes the horizontal


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Left"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


973
32 Basic TGML Elements
32.24 TGML Text Line: <Text>

Continued
Attribute Type Description

Left Double The x coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Specifies how the text is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

TextDecoration TextDecoration Specifies decorations that


are added to the text.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

VerticalAlign VerticalAlign Describes the vertical


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Top"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


974
32 Basic TGML Elements
32.24 TGML Text Line: <Text>

Continued
Attribute Type Description

Visibility Visibility Specifies if the text is visible


or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


975
32 Basic TGML Elements
32.25 TGML Text Flow: <TextBox>

32.25 TGML Text Flow: <TextBox>


Text defines a graphics element consisting of text. TextBox wraps the text within
the specified box. The TextBox element also supports manual line breaks (ASCII
character 10).
The text is stored in the CDATA section of the TextBox element.

Table: TextBox element attributes


Attribute Type Description

Content String The character data.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

FontFamily String The name of the font or font


family.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontSize Double The size of the font, in


device independent pixels.
For more information, see
section 31.4 “TGML
Coordinate System” on
page 895.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontStyle FontStyle The style of the font, that is,


Normal or Italic.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

FontWeight FontWeight The weight of the font, that


is, Normal or Bold.
Default
Default: "Normal"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

HorizontalAlign HorizontalAlign Describes the horizontal


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Left"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


976
32 Basic TGML Elements
32.25 TGML Text Flow: <TextBox>

Continued
Attribute Type Description

Left Double The x coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Opacity Double A value between 0.0


(transparent) and 1.0
(opaque).
Default
Default: "1.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Stroke Brush Specifies how the text is


painted.
Default
Default: "#000000"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

TextDecoration TextDecoration Specifies decorations that


are added to the text.
Default
Default: "None"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Top Double The y coordinate of the


upper left corner of the text
area.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

VerticalAlign VerticalAlign Describes the vertical


alignment of a text string:
Text: relative to the x
coordinate Left
TextBox: relative the
specified box
Default
Default: "Top"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


977
32 Basic TGML Elements
32.25 TGML Text Flow: <TextBox>

Continued
Attribute Type Description

Visibilty Visibility Specifies if the text is visible


or not.
Default
Default: "Visible"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Height Double The height of the text area.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The width of the text area.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing a TextBox element

Figure: Textbox element on screen

Technical 04-30006-02-en, May 2019


978
32 Basic TGML Elements
32.26 TGML Gradients

32.26 TGML Gradients


Gradients consist of continuously smooth color transitions along a vector from
one color to another. TGML provides for two types of gradients, linear gradients
and radial gradients.

32.26.1 TGML Linear Gradient: <LinearGradient>


The LinearGradient creates a linear gradient brush for the stroke or fill area of
the immediate parent.
For more information, see section 32.27 “TGML Linear Gradient:
<LinearGradient>” on page 980.

32.26.2 TGML Radial Gradient: <RadialGradient>


RadialGradient defines a radial gradient brush for the stroke or fill area of the
immediate parent.
For more information, see section 32.28 “TGML Radial Gradient:
<RadialGradient>” on page 982.

32.26.3 TGML Gradient Stop: <GradientStop>


The GradientStop describes the location and color of a transition point in a
gradient. GradientStop belongs to its immediate parent gradient element.
For more information, see section 32.29 “TGML Gradient Stop: <GradientStop>”
on page 984.

04-30006-02-en, May 2019 Technical


979
32 Basic TGML Elements
32.27 TGML Linear Gradient: <LinearGradient>

32.27 TGML Linear Gradient:


<LinearGradient>
The LinearGradient creates a linear gradient brush for the stroke or fill area of
the immediate parent.
LinearGradient works in conjunction with gradient stops, which describe the
location and color of transition points in gradients. For more information, see
section 32.29 “TGML Gradient Stop: <GradientStop>” on page 984.

Table: LinearGradient element attributes


Attribute Type Description

Attribute String The brush attribute of the


parent ("Fill" or "Stroke")
Inheritable
Inheritable: No
Animatable
Animatable: No

EndPoint Point The ending coordinates of


the linear gradient. See
Remarks.
Default
Default: "1.0 , 0.0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

SpreadMethod SpreadMethod Specifies how the gradient


should be drawn outside of
the specified gradient
vector or space. See
Remarks.
Default
Default: "Pad"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

StartPoint Point The starting coordinates of


the linear gradient. See
Remarks.
Default
Default: "0.0 , 0.0"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Remarks
StartPoint and EndPoint specify the starting and ending coordinates of the linear
gradient. "0.0 , 0.0" represents the upper left corner of the element and "1.0 , 1.0"
represents the lower right corner.

Technical 04-30006-02-en, May 2019


980
32 Basic TGML Elements
32.27 TGML Linear Gradient: <LinearGradient>

Figure: StartPoint set to "0.0 , 0.0" and EndPoint set to "1.0 , 1.0

Figure: Different SpreadMethod values

04-30006-02-en, May 2019 Technical


981
32 Basic TGML Elements
32.28 TGML Radial Gradient: <RadialGradient>

32.28 TGML Radial Gradient:


<RadialGradient>
RadialGradient defines a radial gradient brush for the stroke or fill area of the
immediate parent.
RadialGradient works in conjunction with gradient stops, which describe the
location and color of transition points in gradients. For more information, see
section 32.29 “TGML Gradient Stop: <GradientStop>” on page 984.

Table: RadialGradient element attributes


Attribute Type Description

Attribute String The brush attribute of the


parent ("Fill" or "Stroke")
Inheritable
Inheritable: No
Animatable
Animatable: No

Center Point The center of the circle of


the radial gradient. See
Remarks.
Default
Default:"0.5 , 0.5"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Focus Point The location of the focal


point that defines the
beginning of the gradient.
See Remarks.
Default
Default:"0.5 , 0.5"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

RadiusX Double The horizontal radius of the


circle of the radial gradient.
See Remarks.
Default
Default:"0.5"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

RadiusY Double The vertical radius of the


circle of a radial gradient.
See Remarks.
Default
Default:"0.5"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


982
32 Basic TGML Elements
32.28 TGML Radial Gradient: <RadialGradient>

Continued
Attribute Type Description

SpreadMethod SpreadMethod Specifies how the gradient


should be drawn outside of
the specified gradient
vector or space. See
Remarks.
Default
Default: "Pad"
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Remarks
The RadialGradient is similar in programming model to the LinearGradient.
However, RadialGradient does not have start and end points, but a circle, along
with a focal point, to define the gradient behavior. The focal point defines the
beginning of the gradient, and the circle defines the end point of the gradient.
Radial gradient only supports the spread method Pad in TGML version 1.0.

Figure: RadialGradient element

04-30006-02-en, May 2019 Technical


983
32 Basic TGML Elements
32.29 TGML Gradient Stop: <GradientStop>

32.29 TGML Gradient Stop: <GradientStop>


The GradientStop describes the location and color of a transition point in a
gradient. GradientStop belongs to its immediate parent gradient element.

Table: GradientStop element attributes


Attribute Type Description

Color Color The color of the gradient


stop
Inheritable
Inheritable: Yes
Animatable
Animatable: yes

Offset Double The location of the gradient


stop within the gradient
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Figure: The relations between the StartPoint/EndPoint of the LinearGradient element and
the Color/Offset of the GradientStop element

Figure: TGML code containing LinearGradient with GradientStop elements

Technical 04-30006-02-en, May 2019


984
32 Basic TGML Elements
32.29 TGML Gradient Stop: <GradientStop>

Figure: LinearGradient with GradientStop elements on screen

Figure: TGML code containing RadialGradient with GradientStop elements

Figure: RadialGradient with GradientStop elements on screen

04-30006-02-en, May 2019 Technical


985
33 Interactive Elements

Topics
Interactive TGML Elements
TGML Transformations
TGML Rotation: <Rotate>
TGML Skewing: <SkewX> and <SkewY>
TGML Scaling: <Scale>
TGML Translations: <Translate>
TGML Link element: <Link>
TGML Animations
TGML Animation: <Animate>
TGML Sequences: <Sequence>
TGML Dynamics
TGML Signal Binding: <Bind>
TGML Value Conversion: <ConvertValue>
TGML Text Value Conversion: <ConvertText>
TGML Value Range Conversion: <ConvertRange>
TGML Custom Conversion: <ConvertCustom>
TGML Status Conversion: <ConvertStatus>
TGML Attribute Exposure
TGML Expose Element: <Expose>
TGML Scripting
33 TGML Script Element: <Script>
TGML Script Context
TGML Target Area Element: <TargetArea>
33 Interactive Elements
33.1 Interactive TGML Elements

33.1 Interactive TGML Elements


Interactive TGML elements descriptions.

33.1.1 TGML Transformations


Transformation elements control the size, position, rotation and skew of graphic
objects. The transformation establishes a transformed coordinate system for the
immediate parent element.
For more information, see section 33.2 “TGML Transformations” on page 991.

33.1.2 TGML Link Element: <Link>


Link represents a hyperlink to another presentation stored in the database, or file
system, of the connected server. Examples of presentation objects are: TGML
graphics files, trend log views and on-line plots.
For more information, see section 33.7 “TGML Link element: <Link>” on page
998.

33.1.3 TGML Animations


An animation is a time-based modification of an element attribute. The animation
defines a mapping of time to values for the target attribute.
For more information, see section 33.8 “TGML Animations” on page 999.

33.1.4 TGML Dynamics


A dynamic graphic object is an object (TGML element) whose properties (TGML
attributes) are bound to, and controlled by, server variables (signals).
For more information, see section 33.11 “TGML Dynamics” on page 1003.

33.1.5 TGML Attribute Exposure


In TGML, it is possible to indicate that an attribute is to be exposed by the TGML
editor in such a way that it is easy to find and set the attribute value.
For more information, see section 33.18 “TGML Attribute Exposure” on page
1015.

04-30006-02-en, May 2019 Technical


989
33 Interactive Elements
33.1 Interactive TGML Elements

33.1.6 TGML Scripting


TGML supports the script language JavaScript 1.5. A JavaScript editor is
available in Graphics Editor. You can use the JavaScript edtor to access the
elements and their attributes in View mode. The script engine does not run in
Edit mode.
For more information, see section 33.20 “TGML Scripting” on page 1017.

Technical 04-30006-02-en, May 2019


990
33 Interactive Elements
33.2 TGML Transformations

33.2 TGML Transformations


Transformation elements control the size, position, rotation and skew of graphic
objects. The transformation establishes a transformed coordinate system for the
immediate parent element.
Transformations are appliced in the same order as they are specified in the
TGML file.
Transformations can be nested to any level. The effect of nested transformations
is to post-multiply, that is, concatenate, the subsequent transformation matrices
onto previously defined transformations.

33.2.1 Rotation: <Rotate>


Rotate rotates the coordinate system for the immediate parent element about a
specified point.

33.2.2 Skewing: <SkewX> and <SkewY>


SkewX and SkewY skew (stretch) the coordinate system for the immediate
parent element about a specified point.

33.2.3 Scaling: <Scale>


Scale scales the coordinate system for the immediate parent element.

33.2.4 Translations: <Translate>


Translate translates (moves) the coordinate system for the immediate parent
element.

04-30006-02-en, May 2019 Technical


991
33 Interactive Elements
33.3 TGML Rotation: <Rotate>

33.3 TGML Rotation: <Rotate>


Rotate rotates the coordinate system for the immediate parent element about a
specified point.

Table: Rotate element attributes


Attribute Type Description

Angle Double The angle of the rotation,


measured in degrees.
A positive value implies
clockwise rotation. A
negative value implies
counter-clockwise rotation.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Center Point Describes the position of


the center point ("X,Y") of
the rotation.
"0.0 , 0.0" represents the
upper left corner of the
element and "1.0 , 1.0"
represents the lower right
corner. See Remarks.
Default
Default: "0.5 , 0.5"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Remarks

Figure: Different Center values

Figure: TGML code containg a Rotate element

Technical 04-30006-02-en, May 2019


992
33 Interactive Elements
33.3 TGML Rotation: <Rotate>

Figure: Rotate element on screen

04-30006-02-en, May 2019 Technical


993
33 Interactive Elements
33.4 TGML Skewing: <SkewX> and <SkewY>

33.4 TGML Skewing: <SkewX> and


<SkewY>
SkewX and SkewY skew (stretch) the coordinate system for the immediate
parent element about a specified point.
Skew X specifies a skew transformation along the X axis. The skew angle is
measured in degrees from the Y axis.
Skew Y specifies a skew transformation along the Y axis. The skew angle is
measured in degrees from the X axis.

Figure: Skewing along the X axis and the Y axis

Table: Skew element attributes


Attribute Type Description

Angle Double The skew angle, measured


in degrees.
A positive value implies
counterclockwise skew. A
negative value implies
clockwise skew.
Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Center Point Describes the position of


the center point of the skew.
For more information, see
section 33.3 “TGML
Rotation: <Rotate>” on
page 992.
Default
Default: "0.5 , 0.5"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


994
33 Interactive Elements
33.4 TGML Skewing: <SkewX> and <SkewY>

Figure: TGML code containing Skew elements

Figure: Skew elements on screen

04-30006-02-en, May 2019 Technical


995
33 Interactive Elements
33.5 TGML Scaling: <Scale>

33.5 TGML Scaling: <Scale>


Scale scales the coordinate system for the immediate parent element.

Table: Scale element attributes


Attribute Type Description

Center Point Describes the position of


the center point (origin) of
the scale.
For more information, see
section 33.3 “TGML
Rotation: <Rotate>” on
page 992.
Default
Default: "0.5 , 0.5"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

ScaleX Double The horizontal scale factor.


Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

ScaleY Double The vertical scale factor.


Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


996
33 Interactive Elements
33.6 TGML Translations: <Translate>

33.6 TGML Translations: <Translate>


Translate translates (moves) the coordinate system for the immediate parent
element.

Table: Translate element attributes


Attribute Type Description

X Double Specifies the X direction.


Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Y Double Specifies the Y direction.


Default
Default: "0.0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Figure: TGML code containing Translate element

Figure: Translate element on screen

04-30006-02-en, May 2019 Technical


997
33 Interactive Elements
33.7 TGML Link element: <Link>

33.7 TGML Link element: <Link>


Link represents a hyperlink to another presentation stored in the database, or file
system, of the connected server. Examples of presentation objects are: TGML
graphics files, trend log views and on-line plots.
Link indicates that the immediate parent shape or container element is a
hyperlink object, which the user can click to navigate to another presentation.
A Link is bound to a presentation object on the server with the same technique
used for Dynamics. The Name attribute of the Link element is exposed as a
connection point to which the presentation object is connected in WorkStation.
For more information, see section 33.11 “TGML Dynamics” on page 1003.
The Link element has a Description attribute that you can use to add a
description of the link. You can expose Description along with Name and
present it to the user by binding it in WorkStation.
Link makes the parent element an interactive element, and a TGML viewer is
supposed to open the linked presentation object when the user clicks the
element.

Table: Link element attributes


Attribute Type Description

Description String A user-defined description


of the link.
Inheritable
Inheritable: No
Animatable
Animatable: No

PreventDefault Bool Cancels the default action


normally taken by the
implementation, for
example, the viewer. See
Remarks.
Default
Default: "False"
Inheritable
Inheritable: Yes
Animatable
Animatable: No

Remarks
The default action when the user clicks an element containing a Link element is
to navigate to, or open, another presentation. When PreventDefault is set to
"True" this action is canceled.

Figure: Example of a text made into a link object

Only painted regions are clickable. Clicking a hollow shape, that is a shape with
the Fill attribute set to "None", has no effect.

Technical 04-30006-02-en, May 2019


998
33 Interactive Elements
33.8 TGML Animations

33.8 TGML Animations


An animation is a time-based modification of an element attribute. The animation
defines a mapping of time to values for the target attribute.
The TGML implementation (Graphics Services) only runs animations in Dynamic
mode. The value of an attribute that has been animated (changed) in Dynamic
mode is not preserved in the TGML file. The animated value is only valid while
running in Dynamic mode.

33.8.1 TGML Animation: <Animate>


Animate animates a specified attribute of the immediate parent element.
For more information, see section 33.9 “TGML Animation: <Animate>” on page
1000.

33.8.2 TGML Sequences: <Sequence>


Sequence plays a sequence of graphical elements, for example, shapes, text,
images, as a 'movie'.
For more information, see section 33.10 “TGML Sequences: <Sequence>” on
page 1002.

04-30006-02-en, May 2019 Technical


999
33 Interactive Elements
33.9 TGML Animation: <Animate>

33.9 TGML Animation: <Animate>


Animate animates a specified attribute of the immediate parent element.

Table: Animate element attributes


Attribute Type Description

Animation Animation Starts and stops the


animation in Dynamic
mode.
Default
Default: "Start"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Attribute String The animated attribute of


the parent element.
Inheritable
Inheritable: No
Animatable
Animatable: No

AutoReverse Bool Indicates whether the


timeline plays in reverse
after it completes a forward
iteration.
Default
Default: "False"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

CalcMode CalcMode Specifies how values are


interpolated. See Remarks.
Default
Default: "Discrete"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Duration Double Specifies the "simple


duration" of the animation
measured in seconds.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Freeze Bool Specifies if the animated


attribute value is kept or not
when the animation ends
(end of "active duration" or
stopped by setting
Animation to Stop).
Default
Default: "False"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Technical 04-30006-02-en, May 2019


1000
33 Interactive Elements
33.9 TGML Animation: <Animate>

Continued
Attribute Type Description

From String (untyped) The starting value of an


animation. The type is
determined by the
referenced Attribute.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Repeat Repeat Describes the way the


animation is repeated.
Default
Default: "Forever"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

To String (untyped) The ending value of the


animation. The type is
determined by the
referenced Attribute.
Inheritable
Inheritable. Yes
Animatable
Animatable: Yes

Figure: Different CalcMode values

Figure: TGML code containing an Animate element that performs a blink

04-30006-02-en, May 2019 Technical


1001
33 Interactive Elements
33.10 TGML Sequences: <Sequence>

33.10 TGML Sequences: <Sequence>


Sequence plays a sequence of graphical elements, for example, shapes, text,
images, as a 'movie'.
The Interval attribute controls the "frame rate". Interval specifies for how long,
measured in seconds, each graphical element is visible. The sequence can be
started and stopped by setting the Animation attribute to "Start" and "Stop".
Sequence belongs to the immediate parent container element and controls the
visibility of the container's graphical elements.

Table: Sequence element attributes


Attribute Type Description

Animation Animation Starts and stops the


animation in Dynamic
mode.
Default
Default: "Start"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Interval Double Specifies for how long,


measured in seconds, each
of the shapes in the
container is to be visible.
Inheritable
Inheritable: Yes
Animatable
Animatable: Yes

Figure: TGML code containing a Sequence element

The example plays a sequence of three rectangles and the frame rate is set to
one second. The Visibility attributes of the second and third rectangles are set to
"Hidden" to hide them in Edit mode.

Technical 04-30006-02-en, May 2019


1002
33 Interactive Elements
33.11 TGML Dynamics

33.11 TGML Dynamics


A dynamic graphic object is an object (TGML element) whose properties (TGML
attributes) are bound to, and controlled by, server variables (signals).
The TGML implementation (Graphics Services) only runs the dynamics engine in
Dynamic mode. That is, bound properties are not dynamically updated in Static
(edit) mode.
Server variables are connected to element attributes via Bind elements with
associated rule elements. A Bind element belongs to the immediate parent
element and specifies which attribute of the parent element that are going to be
dynamically updated (similar to animations). The rule elements belong to the
immediate parent Bind element and they specify how a signal value is going to
be converted to a TGML attribute value.
The rules are evaluated in sequence, in the same order as they are specified. A
rule is executed (and the specified attribute is set) only if the specified
conditions are fulfilled. If no matching rules are found, the bound attribute is left
unaffected.
TGML supports different types of rule elements (ConvertValue, ConvertRange,
ConvertText, ConvertStatus, and so on). Different types of rules can be
combined in the same Bind element.
The Name attribute of the Bind element identifies the binding and is exposed to
bind tools as a binding point to which the server variable is connected.

Figure: Overview of how an attribute in a graphic is bound to a server object, which in turn
dynamically affects the graphic.

Bindings can be thought of as a "connection table" between the exposed Bind


elements and the server variables. The TGML implementation (Graphics
Services) only has knowledge about the Name of the Bind elements.
Subscriptions are set up using the names of the Bind elements. When the value
of a bound signal is updated, it will be experienced as if the binding point was
updated (the signal identity is "hidden" behind the binding point). It is up to the
server, or the communication proxy depending on the binding implementation,
to resolve the name.
A TGML document can contain multiple Bind elements with the same Name.
However, the TGML implementation is only going to expose the Name once to
the bind tool in WorkStation (unique binding point). This makes it possible to
have multiple presentations of a signal, using a single binding point.

04-30006-02-en, May 2019 Technical


1003
33 Interactive Elements
33.11 TGML Dynamics

Figure: Multiple Bind elements with the same Name

33.11.1 TGML Signal Binding: <Bind>


Bind enables a dynamic (server/device controlled) update of an attribute of the
immediate parent element.
For more information, see section 33.12 “TGML Signal Binding: <Bind>” on
page 1006.

33.11.2 TGML Value Conversion: <ConvertValue>


ConvertValue specifies how a server variable (signal) value is to be converted to
a TGML element attribute value. A ConvertValue element belongs to the
immediate parent Bind element.
For more information, see section 33.13 “TGML Value Conversion:
<ConvertValue>” on page 1008.

33.11.3 TGML Text Value Conversion:


<ConvertText>
ConvertText specifies how a server variable (signal) value is to be converted to a
TGML element attribute value. ConvertText assumes that the signal value is a
text. A ConvertText element belongs to the immediate parent Bind element.
For more information, see section 33.14 “TGML Text Value Conversion:
<ConvertText>” on page 1010.

33.11.4 TGML Value Range Conversion:


<ConvertRange>
ConvertRange specifies how a server variable (signal) value shall be converted
to a TGML element attribute value using min and max values. A ConvertRange
element belongs to the immediate parent Bind element.

Technical 04-30006-02-en, May 2019


1004
33 Interactive Elements
33.11 TGML Dynamics

For more information, see section 33.15 “TGML Value Range Conversion:
<ConvertRange>” on page 1011.

33.11.5 TGML Custom Conversion:


<ConvertCustom>
ConvertCustom defines a custom conversion of a signal value. The
ConvertCustom element is a script element with a JavaScript function named
'convert'.
For more information, see section 33.16 “TGML Custom Conversion:
<ConvertCustom>” on page 1013.

33.11.6 TGML Status Conversion: <ConvertStatus>


ConvertStatus specifies how the status of a server variable (signal) value is to be
converted to a TGML element attribute value. A ConvertStatus element belongs
to the immediate parent Bind element.
For more information, see section 33.17 “TGML Status Conversion:
<ConvertStatus>” on page 1014.

04-30006-02-en, May 2019 Technical


1005
33 Interactive Elements
33.12 TGML Signal Binding: <Bind>

33.12 TGML Signal Binding: <Bind>


Bind enables a dynamic (server/device controlled) update of an attribute of the
immediate parent element.
The Name of the Bind element is exposed to the WorkStation bind tool as a
binding point. For more information, see section 31.8 “TGML Common
Attributes” on page 901..
The Bind element has a Description attribute that can be used to add a
description of the binding. The Description can be exposed together with the
Name and presented to the user in the bind tool.
Bind makes the parent element an "interactive" element. The TGML viewer is
supposed to respond, for example, show a "change value" dialog box, when the
user clicks the element.

Table: Bind element attributes


Attribute Type Description

Attribute String The bound attribute of the


parent element.
Inheritable
Inheritable: No
Animatable
Animatable: No

Description String A user-defined description


of the binding.
Inheritable
Inheritable: No
Animatable
Animatable: No

Format Format Specifies the formating of


the subscibed data. See
Remarks.
Default
Default: "None"
Inheritable
Inheritable: No
Animatable
Animatable: No

PreventDefault Bool Cancels the defautl action


normally taken by the
implementation, for
example, the viewer. See
Remarks.
Default
Default: "False"
Inheritable
Inheritable: Yes
Animatable
Animatable: No

DynamicUpdates DynamicUpdates Specifies if the Bind should


be enabled or disabled.
Default
Default: "Enabled"
Inheritable
Inheritable: Yes
Animatable
Animatable: No

Technical 04-30006-02-en, May 2019


1006
33 Interactive Elements
33.12 TGML Signal Binding: <Bind>

Remarks
Format is an instruction to the server how the subscribed value is to be
formated.
"None" means "deliver the data as is". The data type is preserved (integer, float,
boolean, string, and so on ). You typically use conversion elements to convert
the server variable value to a TGML element attribute value.
"Presentation" is an instruction to the server: Deliver the text representation of the
variable value, if any (for example, On/Off instead of 0/1). "Presentation" is
typically used when the data i to be presented by a Text element without any
value conversions.
The “default action” when a user clicks an element containing a Bind element, is
usually to open an “edit value” dialog. This action is canceled when
PreventDefault is set to 'True'.
PreventDefault is typically set to 'True' in components that mimics interactive
controls such as check boxes and spin buttons. In such components, the value
is set in a JavaScript using the setValue function.
DynamicUpdates can be used to, by scripting, turn off a group of Binds initially
to load a picture faster. Subscriptions can in some systems be performance
heavy, then perhaps only a select few Binds needs to be active in a picture. By
default this attribute is set to “Enabled”.

Figure: A dynamic text without any conversion elements using the presentation format

Figure: This TGML code example shows Bind that will be enabled/disabled on the
OnMouseOver event.

04-30006-02-en, May 2019 Technical


1007
33 Interactive Elements
33.13 TGML Value Conversion: <ConvertValue>

33.13 TGML Value Conversion:


<ConvertValue>
ConvertValue specifies how a server variable (signal) value is to be converted to
a TGML element attribute value. A ConvertValue element belongs to the
immediate parent Bind element.
A ConvertValue rule is only executed when each of the specified conditions are
fulfilled.

Figure: TGML code containing a ConvertValue element where the attribute is set to
#00FF00 (green) when the signal value is more than 18 and less than or equal to 22

Figure: The rule can never be fulfilled (and thus, never executed) since the signal value is
both equal to 0 and more than 10

Table: ConvertValue element attributes


Attribute Type Description

AttributeValue String (untyped) The attribute value that is to


be set (resulting value). The
type is determined by the
bound Attribute (referenced
by the Bind element).
Inheritable
Inheritable: No
Animatable
Animatable: No

SignalEqualTo String (untyped) Corresponds to "="


Inheritable
Inheritable: No
Animatable
Animatable: No

SignalMoreThan String (untyped) Corresponds to ">"


Inheritable
Inheritable: No
Animatable
Animatable: No

SignalMoreOrEqualTo String (untyped) Corresponds to ">="


Inheritable
Inheritable: No
Animatable
Animatable: No

SignalLessThan String (untyped) Corresponds to "<"


Inheritable
Inheritable: No
Animatable
Animatable: No

SignalLessOrEqualTo String (untyped) Corresponds to "<="


Inheritable
Inheritable: No
Animatable
Animatable: No

Technical 04-30006-02-en, May 2019


1008
33 Interactive Elements
33.13 TGML Value Conversion: <ConvertValue>

Figure: TGML code containing ConvertValue element

Figure: ConvertValue element on screen

Figure: TGML code containing ConvertValue element

Figure: ConvertValue element on screen

04-30006-02-en, May 2019 Technical


1009
33 Interactive Elements
33.14 TGML Text Value Conversion: <ConvertText>

33.14 TGML Text Value Conversion:


<ConvertText>
ConvertText specifies how a server variable (signal) value is to be converted to a
TGML element attribute value. ConvertText assumes that the signal value is a
text. A ConvertText element belongs to the immediate parent Bind element.
A ConvertText rule is executed when the signal value matches the specified text
(SignalEqualTo).

Table: ConvertText element attributes


Attribute Type Description

AttributeValue String (untyped) The attribute value that is to


be set (resulting value). The
type is determined by the
bound Attribute (referenced
by the Bind element).
Inheritable
Inheritable: No
Animatable
Animatable: No

SignalEqualTo String Corresponds to "="


Inheritable
Inheritable: No
Animatable
Animatable: No

Technical 04-30006-02-en, May 2019


1010
33 Interactive Elements
33.15 TGML Value Range Conversion: <ConvertRange>

33.15 TGML Value Range Conversion:


<ConvertRange>
ConvertRange specifies how a server variable (signal) value shall be converted
to a TGML element attribute value using min and max values. A ConvertRange
element belongs to the immediate parent Bind element.
A ConvertRange rule is executed when the signal value is within the specified
range.

Table: ConvertRange element attributes


Attribute Type Description

AttributeMax Value String (untyped) The upper bound of the


attribute value. The
referenced attribute
(referenced by the Bind
element) will be set to this
value when the signal value
is more than or equal to
SignalMaxValue.
Inheritable
Inheritable: No
Animatable
Animatable: No

AttributeMin Value String (untyped) The lower bound of the


attribute value. The
referenced attribute
(referenced by the Bind
element) will be set to this
value when the signal value
is less than or equal to
SignalMinValue.
Inheritable
Inheritable: No
Animatable
Animatable: No

SignalMax Value String (untyped) The upper bound of the


signal value.
Inheritable
Inheritable: No
Animatable
Animatable: No

SignalMin Value String (untyped) The lower bound of the


signal value.
Inheritable
Inheritable: No
Animatable
Animatable: No

04-30006-02-en, May 2019 Technical


1011
33 Interactive Elements
33.15 TGML Value Range Conversion: <ConvertRange>

Figure: TGML code containing a ConvertRange element that calculates an attribute value

Figure: ConvertRange element on screen

Technical 04-30006-02-en, May 2019


1012
33 Interactive Elements
33.16 TGML Custom Conversion: <ConvertCustom>

33.16 TGML Custom Conversion:


<ConvertCustom>
ConvertCustom defines a custom conversion of a signal value. The
ConvertCustom element is a script element with a JavaScript function named
'convert'.

Figure: JavaScript convert function

The function takes one parameter which is the signal value and returns a
converted value.
The user can insert any valid JavaScript code in the function body to accomplish
a value conversion. By default the function just returns the signal value as is.

Figure: TGML code containing a ConvertCustom element.

04-30006-02-en, May 2019 Technical


1013
33 Interactive Elements
33.17 TGML Status Conversion: <ConvertStatus>

33.17 TGML Status Conversion:


<ConvertStatus>
ConvertStatus specifies how the status of a server variable (signal) value is to be
converted to a TGML element attribute value. A ConvertStatus element belongs
to the immediate parent Bind element.
ConvertStatus is executed when the status of the value is different from
“normal”, which means when the status value is 0, 1 or 3. For more information,
see section 44.2 “TGML Appendix A User-Defined Descriptions of Custom
Attributes” on page 1244..
ConvertStatus can be combined with other converters (for example,
ConvertValue and ConvertRange) but the converters are executed in the same
order as they are specified. The ConvertStatus should be placed last if it is
combined with other converters.

Table: ConvertStatus element attributes


Attribute Type Description

Error String (untyped) The attribute value that is to


be set when the status is 0
(Error). The type is
determined by the bound
Attribute (referenced by the
Bind element).
Inheritable
Inheritable: No
Animatable
Animatable: No

Stored String (untyped) The attribute value that is to


be set when the status is 1
(Stored value). The type is
determined by the bound
Attribute (referenced by the
Bind element).
Inheritable
Inheritable: No
Animatable
Animatable: No

Forced String (untyped) The attribute value that is to


be set when the status is 3
(Forced value). The type is
determined by the bound
Attribute (referenced by the
Bind element).
Inheritable
Inheritable: No
Animatable
Animatable: No

Technical 04-30006-02-en, May 2019


1014
33 Interactive Elements
33.18 TGML Attribute Exposure

33.18 TGML Attribute Exposure


In TGML, it is possible to indicate that an attribute is to be exposed by the TGML
editor in such a way that it is easy to find and set the attribute value.
The primary purpose is to be able to create a "Component interface" to the user.
A Component can be rather complex. The component developer can choose to
expose some of the attributes of the Component (or the contained elements) to,
for example, make it easy to change the appearance of the Component.
An Expose element is used to expose an attribute. The Name of the Expose
element is presented to the user instead of the original attribute name.
The Expose element has a Description attribute that can be used to add a
description of the exposed attribute. This description is presented to the user in
the TGML editor.
The attribute exposure is only handled by the TGML editor. TGML viewers
ignores the exposure.

33.18.1 TGML Expose Element: <Expose>


Expose indicates that an attribute of the immediate parent element is to be
exposed by the TGML editor, using the Name of the Expose element instead of
the original attribute name.
For more information, see section 33.19 “TGML Expose Element: <Expose>” on
page 1016.

04-30006-02-en, May 2019 Technical


1015
33 Interactive Elements
33.19 TGML Expose Element: <Expose>

33.19 TGML Expose Element: <Expose>


Expose indicates that an attribute of the immediate parent element is to be
exposed by the TGML editor, using the Name of the Expose element instead of
the original attribute name.

Table: Expose element attributes


Attribute Type Description

ExposedAttribute String The exposed attribute of the


parent element
Inheritable
Inheritable: No
Animatable
Animatable: No

Description String A user-defined description


of the exposed attribute
Inheritable
Inheritable: No
Animatable
Animatable: No

Figure: TGML code containing Expose element including a user-defined description of the
exposed attribute

Technical 04-30006-02-en, May 2019


1016
33 Interactive Elements
33.20 TGML Scripting

33.20 TGML Scripting


TGML supports the script language JavaScript 1.5. A JavaScript editor is
available in Graphics Editor. You can use the JavaScript edtor to access the
elements and their attributes in View mode. The script engine does not run in
Edit mode.
The DOM (the elements and their attributes) is accesed using DOM methods
such as getCurrentTarget, getAttribute, and setAttribute.
Apart from accessing the DOM, it is also possible to interact with the TGML
Viewer, and thus the underlying system, using the EcoStruxure Building
Operation specific JavaScript functions such as setValue and execute.
The execution of the scripts is event driven. Event attributes are used to specify
the event and a function name. The function is executed in View mode when the
specified event is raised.
For more information, see section 44.2 “TGML Appendix A User-Defined
Descriptions of Custom Attributes” on page 1244..

33.20.1 TGML Script Element: <Script>


Script defines a script block that belongs to the immediate parent element.
For more information, see section 33.21 “TGML Script Element: <Script>” on
page 1019.

33.20.2 TGML Script Context


A Script context can be seen as a sandbox in which the script is executed.
Script contexts can be either Local (access within the current Script element) or
Global (access across all Script Elements within the same TGML-file). This
scope is regulated with the "UseGlobalScripts"-attribute on the Tgml element.
For more information, see section 33.22 “TGML Script Context” on page 1022.

33.20.3 TGML Target Area Element: <TargetArea>


TargetArea represents a clickable area in a graphic. Target area is not painted,
that is, it is always invisible.
For more information, see section 33.23 “TGML Target Area Element:
<TargetArea>” on page 1023.

33.20.4 Global Scripts in TGML Graphics


By default, each Script element (script block) creates a JavaScript context. In
this mode, function calls between script blocks (contexts) are not supported,
that is, no support for global script functions.
For more information, see section 45.4 “Global Scripts in TGML Graphics” on
page 1263.

04-30006-02-en, May 2019 Technical


1017
33 Interactive Elements
33.20 TGML Scripting

33.20.5 Invoke Function


Graphic components can be used to navigate within panels. The navigation
function requires that you add a script with an invoke function to the graphic
component in Graphics Editor.
For more information, see section 45.5 “Invoke Function” on page 1264.

33.20.6 Panel Navigation


When you use graphics in a panel, you can configure in which target location a
target object linked to the graphic is to be opened when the user performs an
action on the graphic, for example, a mouse click. You configure the graphic in
Graphics Editor by adding an invoke function script. In WorkStation or
WebStation, you link the graphic to the target object you want to open when the
user performs the action.
For more information, see section 45.6 “Panel Navigation” on page 1267.

Technical 04-30006-02-en, May 2019


1018
33 Interactive Elements
33.21 TGML Script Element: <Script>

33.21 TGML Script Element: <Script>


Script defines a script block that belongs to the immediate parent element.
Specifying an event attribute on the Script element makes the parent element
the target for the specified event. For example, if OnMouseClick and the
function name "click" are specified, the click function is executed when the user
clicks the parent element (assuming that the element is a visible graphical
element).
If the parent element of Script is a container element, such as Component, the
mouse event is sent when any of the contained graphical elements are hit. The
hit element is the target, while the parent element, which handles the event, is
the current target.
The functions are always defined with an in parameter. The parameter is a
reference to the event object that can be used to get event specific information
and to access the DOM, starting with getTarget or getCurrentTarget.
Each Script element (script block) creates a JavaScript context. Function calls
between script blocks (contexts) are not supported, that is, no support for global
script functions.
The script functions are stored in the CDATA section of the Script element. The
CDATA section is accessible through the Content attribute.

Table: Script element attribute


Attribute Type Descirption

Content String The script.


Inheritable
Inheritable: No
Animatable
Animatable: No

Table: Events and event attributes


Event Attribute Event Type Target Desciption

OnDocumentLoad DocumentLoadEven Any element The TGML


t document is
uploaded (opened).
Cancelable: No

OnMouseClick MouseClickEvent Painted element A mouse button is


clicked over an
element.
Cancelable: Yes

OnMouseDown MouseDownEvent Painted element A mouse button is


pressed over an
element.
Cancelable: Yes

04-30006-02-en, May 2019 Technical


1019
33 Interactive Elements
33.21 TGML Script Element: <Script>

Continued
Event Attribute Event Type Target Desciption

OnMouseUp MouseUpEvent Painted element A mouse button is


released over an
element.
Cancelable: Yes

OnMouseOver MouseOverEvent Painted element The pointer is


moved onto an
element.
Cancelable: Yes

OnMouseMove MouseMoveEvent Painted element The pointer is


moved while it is
over an element.
Cancelable: Yes

OnMouseOut MouseOutEvent Painted element The pointer is


moved away from an
element.
Cancelable: Yes

OnSignalChange SignalChangeEvent Bind element The value of the


bound signal has
been changed.
The referenced
attribute in the Bind
element is updated
before the event is
sent.
Cancelable: Yes

Figure: TGML code containing a Script element with an OnMouseClick attribute event

Technical 04-30006-02-en, May 2019


1020
33 Interactive Elements
33.21 TGML Script Element: <Script>

Figure: Script element on screen

04-30006-02-en, May 2019 Technical


1021
33 Interactive Elements
33.22 TGML Script Context

33.22 TGML Script Context


A Script context can be seen as a sandbox in which the script is executed.
Script contexts can be either Local (access within the current Script element) or
Global (access across all Script Elements within the same TGML-file). This
scope is regulated with the "UseGlobalScripts"-attribute on the Tgml element.
By default, the "UseGlobalScripts" attribute is "False" and it is omitted from the
Tgml element. Adding it to the Tgml element and explicitly setting it to "False"
has the same result. The script can only access variables within the current
Script element. All variables and function pointers that are declared in a Script
element are only accessible within that context.

Figure: All variables and function pointers that are declared in a Script element are only
accessible within that context

Changing the "UseGlobalScripts" attribute to "True" makes all Script elements


use one global JavaScript context. This enables variables and function pointers
to be shared between all the Script elements.
To make a variable or a function pointer global and shared between different
Script elements it needs to be declared without "var" and "UseGlobalScripts"
needs to be set to "True".

Figure: To make a variable or a function pointer global, "UseGlobalScripts" needs to be set


to "True"

Remarks: This will decrease load time and memory usage greatly in the HTML5
graphics viewer. It’s highly recommended to switch to True. You should modify
your existing scripts if they unintentionally leaked local values. The Statistics
view enables you to see your current global variables and verify that they are not
defined as a standard property in a Web browser by clicking on the Validate
button.

Technical 04-30006-02-en, May 2019


1022
33 Interactive Elements
33.23 TGML Target Area Element: <TargetArea>

33.23 TGML Target Area Element:


<TargetArea>
TargetArea represents a clickable area in a graphic. Target area is not painted,
that is, it is always invisible.
You do not have to use TargetArea to be able to handle mouse events. All of the
graphical (painted) elements can be targets of mouse events. Use TargetArea
when you need an invisible but clickable area.

Table: TargetArea element attributes


Attribute Type Description

Height Double The height of the area.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

Length Double The x-coordinate of the


area's upper left corner.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Top Double The y-coordinate of the


area's upper left corner.
Default
Default: "0"
Inheritable
Inheritable: No
Animatable
Animatable: Yes

Width Double The width of the area.


Inheritable
Inheritable: No
Animatable
Animatable: Yes

04-30006-02-en, May 2019 Technical


1023
33 Interactive Elements
33.23 TGML Target Area Element: <TargetArea>

Figure: The TargetArea is used to create a "mouse sensitive" area that covers the whole
Component

Without the TargetArea, the MouseOver and MouseOut events are sent every
time the cursor passes the contained elements since the Script is defined at the
Component level in this example. The TargetArea has the effect of "hiding" the
contained shapes and you only get one MouseOver and one MouseOut when
the cursor passes the Component.

Figure: TGML code fragment containing an invisible link area that can be placed above
other shapes

Technical 04-30006-02-en, May 2019


1024
34 Graphics Editor

Topics
Graphics Editor
Graphics in WorkStation
TGML File Format
SVG Support
Creating a Graphic
Adjusting the Graphic Work Area
Zooming
Zooming to a Specified Value
Saving a Graphic
Printing Graphics
Setting Up a Page for Printing
Previewing a Print
Graphics Editor Libraries
Keyboard Shortcuts for Graphics Editor
Test
Testing a Graphic in Preview Mode
Disabling Pan and Zoom
Console
Opening the Console
34 Graphics Editor
34.1 Graphics Editor

34.1 Graphics Editor


You can use Graphics Editor to create and edit graphics representing a site and
the devices that make up the site.

NOTICE
You have to have a valid Graphics Editor license to start the Graphics Editor.
For more information, see the Licenses topic on WebHelp.

In Graphics Editor, you can create advanced graphics. Graphics Editor contains
tools to make geometrical figures, symbols, texts, flexible data conversions,
animations, dynamics and interactivity. You can transform, move, align, arrange,
and distribute graphics objects in a work area in several ways.
Often used functionality, standard symbols, and components representing
common functions are available in libraries delivered with Graphics Editor. You
can add to these libraries.
You can open and import graphics or photographs into Graphics Editor, paste
graphics into other graphics, and export from Graphics Editor.
You can link figures, for example, illustrations, symbols, and text, to database
objects in the EcoStruxure Building Operation database. When the system is
running, the graphic objects can be displayed in WorkStation and automatically
updated as values at the site change.
You can print the graphics on any printer supported by Microsoft Windows.
A graphic component is a predefined graphic that contains one or several other
parts. Components are meant for reuse and typically represent a feature or a
device in a live system. Components can be designed as symbols which can be
used as building blocks and reused in several graphics. Components reside in
dedicated libraries and are displayed in the Components pane. The analog
watch is an example of a component.
When you design components, it is recommended that you set Graphics Editor
Component mode to Graphics.

04-30006-02-en, May 2019 Technical


1027
34 Graphics Editor
34.1 Graphics Editor

Figure: Graphics Editor

When you create a new component, the default work area is 200x200 pixels
(where a pixel is the smallest possible drawing unit). A standard graphic work
area is 600x800. This smaller work area is usually sufficient to draw a fairly
detailed component. When you use the component in the TGML graphic,
however, the component is automatically scaled to one fifth of the graphic size.
This default size of 40x40 pixels makes the component comparable in size to the
ISO and DIN standard components.
For more information, see section 34.3 “TGML File Format” on page 1034.
When you create a component, the root element, ComponentContent, is used
(instead of TGML for a graphic object). When the component is stored in a
library and used in a graphic, the ComponentContent element is replaced with
the Component element.
The root element of a component always includes at least two metadata
elements describing the component: Name and Description. These metadata
elements automatically get their values when you save the component.
The ComponentContent has the following properties:
• Opacity
• Visibility
• Height
• Width

Technical 04-30006-02-en, May 2019


1028
34 Graphics Editor
34.1 Graphics Editor

The height and width values are copied to the ComponentHeight and
ComponentWidth properties of the Component element when you store the
component. When you use the component in a TGML graphic, however, the
height and width values are scaled to 20%, as mentioned above.
Thus, the component has one size when you use it in a graphic and another size
(usually larger) when you create or edit the component.
Components are stored as separate files in subfolders of the Components
folder. Typically, you would save different categories of components in different
subfolders. The subfolder names are displayed as separate bars in the
Components pane.

Figure: Example of component categories

You can create and import components in several ways:


• Create a new component in Component mode of Graphics Editor
• Group and save as a component in Graphic mode of Graphics Editor
• Import components from an external source
In WorkStation, you can create graphics that you edit in Graphics Editor.
Graphics consist of one or several graphic objects. You can set properties for
the graphic objects to define their appearance and behavior.
You can create the graphic objects by using the drawing tools, by copying
objects from the work area, or by using instances of objects from the libraries
delivered with Graphics Editor.
All drawn objects belong to one of the following two groups:
• Graphics: free-form drawings
• Components: standardized graphics for defined reuse

04-30006-02-en, May 2019 Technical


1029
34 Graphics Editor
34.1 Graphics Editor

34.1.1 Graphics in WorkStation


Graphics are representations of a site or parts of a site. Graphics can be made
up of figures, text and imported pictures. They can also contain components
and functions.
For more information, see section 34.2 “Graphics in WorkStation” on page 1032.

34.1.2 Figures
A figure is the smallest independent element of a graphic, for example, a circle.
For more information, see section 35.1 “Figures” on page 1057.

34.1.3 Components
Components are standardized, predefined graphics for defined use.
For more information, see section 41.1 “Components” on page 1205.

34.1.4 Graphic Menus


You use a menu in a graphic to navigate from a graphic to other graphics or
objects in the system, for example trend charts or alarms.
For more information, see section 43.1 “Graphic Menus” on page 1235.

34.1.5 Graphics Editor Libraries


When Graphics Editor is installed, a library of brushes, components, and
snippets are included.
For more information, see section 34.13 “Graphics Editor Libraries” on page
1047.

34.1.6 Keyboard Shortcuts for Graphics Editor


You can acces most of the Graphics Editor commands by using keyboard
shortcuts.
For more information, see section 34.14 “Keyboard Shortcuts for Graphics
Editor” on page 1048.

34.1.7 Test
You can test the behavior of graphics and components offline in Preview mode
by setting test values in the Test pane.
For more information, see section 34.15 “Test” on page 1050.

Technical 04-30006-02-en, May 2019


1030
34 Graphics Editor
34.1 Graphics Editor

34.1.8 Console
The console is used for testing and troubleshooting scripts.
For more information, see section 34.18 “Console” on page 1053.

04-30006-02-en, May 2019 Technical


1031
34 Graphics Editor
34.2 Graphics in WorkStation

34.2 Graphics in WorkStation


Graphics are representations of a site or parts of a site. Graphics can be made
up of figures, text and imported pictures. They can also contain components
and functions.
In WorkStation, graphics are represented by a graphics icon .

Figure: Graphics in WorkStation

You can view graphics in the graphics viewer.

Technical 04-30006-02-en, May 2019


1032
34 Graphics Editor
34.2 Graphics in WorkStation

Figure: Graphics viewer in WorkStation

34.2.1 TGML File Format


TGML (TAC Graphics Markup Language) is a declarative XML-based language
for dynamic 2D graphics.
For more information, see section 34.3 “TGML File Format” on page 1034.

34.2.2 SVG Support


You can import SVG pictures, but only the following SVG Elements and
Properties are supported.
For more information, see section 34.4 “SVG Support” on page 1036.

04-30006-02-en, May 2019 Technical


1033
34 Graphics Editor
34.3 TGML File Format

34.3 TGML File Format


TGML (TAC Graphics Markup Language) is a declarative XML-based language
for dynamic 2D graphics.
Graphics created in Graphics Editor are saved as .TGML files.
When you create a graphic in Graphics Editor, a TGML root object is created at
the bottom of the Objects tree in the objects pane. The TGML root object is also
the default layer in the work area of Graphics Editor. The TGML object cannot be
deleted.

34.3.1 Supported File Formats


You can import other graphics or photographs in supported formats. The
following formats are supported:

Table: Supported file formats that you can import to Graphics Editor
Graphic type File type

TGML *.tgml

OGC *.ogc

OGC *.sym

OGC *.sgr

OGC *.ogx

SVG *.svg

CAD *.dxf

CAD *.dwg

You can export graphics to supported formats.

Table: Supported file formats that you can export from Graphics Editor
Graphic type File type

Bitmap *.bmp

GIF *.gif

JPEG *.jpg

JPEG *.jpeg

JPEG *.jpe

PNG *.png

TIFF *.tiff

Technical 04-30006-02-en, May 2019


1034
34 Graphics Editor
34.3 TGML File Format

Continued
Graphic type File type

TIFF *.tif

04-30006-02-en, May 2019 Technical


1035
34 Graphics Editor
34.4 SVG Support

34.4 SVG Support


You can import SVG pictures, but only the following SVG Elements and
Properties are supported.

34.4.1 Supported SVG Elements


SVG
VERSION
LINE
POLYLINE
POLYGON
ELLIPSE
CIRCLE
RECT
TEXT
PATH
GROUP
DEFS
LINEARGRADIENT
RADIALGRADIENT
STOP
IMAGE

34.4.2 Supported SVG Attributes


LEFT
TOP
WIDTH
HEIGHT
D
R
X
X1
X2
CX
RX
Y
Y1

Technical 04-30006-02-en, May 2019


1036
34 Graphics Editor
34.4 SVG Support

Y2
CY
RY
FX
FY
ID
POINTS
STYLE
FILL
STROKE
STROKEWIDTH
OPACITY
OFFSET
FONTFAMILY
FONTSIZE
VISIBILITY
DISPLAY
VISIBILITY_HIDDEN
VISIBILITY_NONE
VISIBILITY_COLLAPSE
VISIBILITY_VISIBLE
VISIBILITY_INLINE
TRANSFORM
TRANSLATE
SCALE
SCALEX
SCALEY
ROTATE
SKEWX
SKEWY
STOP_COLOR
SPREADMETHOD
SPREADMETHOD_PAD
SPREADMETHOD_REFLECT
SPREADMETHOD_REPEAT
STROKE_OPACITY
FILL_OPACITY
XLINK_HREF
STROKEDASHARRAY

04-30006-02-en, May 2019 Technical


1037
34 Graphics Editor
34.4 SVG Support

GRADIENTSTOP

Technical 04-30006-02-en, May 2019


1038
34 Graphics Editor
34.5 Creating a Graphic

34.5 Creating a Graphic


You create a graphic object in WorkStation to make a container for the graphic
that you create in Graphics Editor.
For more information, see section 34.2 “Graphics in WorkStation” on page 1032.

To create a graphic
1. In WorkStation, in the System Tree pane, select the folder or EcoStruxure
BMS server where you want to create the graphic.
2. On the File menu, point to New and then click Graphic
Graphic.
3. In the Create Object wizard, in the object type list, select Graphic
Graphic.
4. In the Name box, type a name for the graphic.
5. In the Description box, type a description for the graphic.
6. Click Next
Next.
7. In the Basic Settings page, in the File box, enter a .tgml file if the graphic
has already been created using Graphics Editor.
8. Click Create
Create.

04-30006-02-en, May 2019 Technical


1039
34 Graphics Editor
34.6 Adjusting the Graphic Work Area

34.6 Adjusting the Graphic Work Area


You adjust the graphic work area when you initially edit the graphic in order to
ensure the work area settings, such as graphic size and background color, are
appropriately defined for display in WorkStation.
For more information, see section 41.1 “Components” on page 1205.

To adjust the graphic work area


1. In WorkStation, in the System Tree pane, select the graphic you want to
edit.
2. On the Actions menu, click Edit.
3. In Graphics Editor, in the Objects pane, select the Tgml element.
4. In the Properties pane, in the Background box, select the background
color.
5. In the Stretch box, select the the behavior of the graphic when displayed in
WorkStation.
6. In the Height box, type the value for the height of the work area.
7. In the Width box, type the value for the width of the work area.
8. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1040
34 Graphics Editor
34.7 Zooming

34.7 Zooming
You zoom in to get a more detalied view of an object. You zoom out to get an
overview of a design.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

To zoom
1. In Graphics Editor, on the Drawing toolbar, click Zoom .
2. On the Options toolbar, select the magnifying glass you want to use, + to
zoom in and - to zoom out.
3. In the work area, click the object you want to zoom in or out on.

NOTICE
You zoom in/out by 10% each time you click the object.

04-30006-02-en, May 2019 Technical


1041
34 Graphics Editor
34.8 Zooming to a Specified Value

34.8 Zooming to a Specified Value


You zoom to a specified value to get an exact percentage of the original size.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

To zoom to a specified value


1. In Graphics Editor, on the menu bar, enter a percentage in the Zoom box
.

NOTICE
• Zoom to fit zooms the drawing to fill the available presentation area.
• You can enter any percentage value in the Zoom box.

Technical 04-30006-02-en, May 2019


1042
34 Graphics Editor
34.9 Saving a Graphic

34.9 Saving a Graphic


When you have created a graphic you can save it to the database.
For more information, see section 34.3 “TGML File Format” on page 1034.

To save a graphic
1. In Graphics Editor, on the File menu, click Save
Save.

NOTICE
• You can only save a graphic in Preview mode.
• If you choose to save by using the Save As command the link to the
database is broken and you have to define the location where you want
to save the .Tgml graphics file in the file system.

04-30006-02-en, May 2019 Technical


1043
34 Graphics Editor
34.10 Printing Graphics

34.10 Printing Graphics


You print a graphic, for example, to present it to a customer or to get an
overview.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

To print graphics
1. In Graphics Editor, on the File menu, point to Print
Print, and then click Print
Print.
2. In the Print dialog box, select the printer you want to use and set other print
options.
3. Click Print
Print.

Technical 04-30006-02-en, May 2019


1044
34 Graphics Editor
34.11 Setting Up a Page for Printing

34.11 Setting Up a Page for Printing


You set up a page for printing to print a graphic in a specified way.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

To set up a page for printing


1. In Graphics Editor, on the File menu, point to Print
Print, and then click Page
settings
settings.
2. In the Page Setup dialog box, enter paper size, orientation, margins and
other properties.
3. Click OK
OK.

NOTICE
• The print settings apply for all printouts until you change them.

04-30006-02-en, May 2019 Technical


1045
34 Graphics Editor
34.12 Previewing a Print

34.12 Previewing a Print


You preview a print to make sure the printed page will turn out the way you
intended.

To preview a print
1. In Graphics Editor, on the File menu, point to Print, and then click Print
preview
preview.
2. In the Print preview dialog box, set the amount of pages you want the
graphic to print on.
3. Click Close
Close.

Technical 04-30006-02-en, May 2019


1046
34 Graphics Editor
34.13 Graphics Editor Libraries

34.13 Graphics Editor Libraries


When Graphics Editor is installed, a library of brushes, components, and
snippets are included.
The brushes, components, and snippets are stored in:
C:\ProgramData\Schneider Electric EcoStruxure\Building Operation
x.y\Graphics Editor

Table: Frequently used objects, animations, and behaviors are stored in the
following subfolders:
Folder Usage

\Brushes The Colors and Gradients palettes are


stored here.

\Components Standard symbols with specific meaning,


as well as some other common symbols,
are stored as components in the
Components library, available in one of the
window panes.
A component can be dragged and
dropped directly into the Design pane.
New components can be added to the
library.

\Snippets A snippet is a piece of TGML code whose


purpose is to store a “behavior” for reuse.
A number of common behaviors are stored
in the Snippets pane.
A snippet can be dragged and dropped
on an object in the Objects pane.
Objects can be copied and modified, even
created, and then saved as new snippets
in the library.

All subfolders in the Components library are displayed as clickable bars in the
Components pane. All *.tgmlcomponent files in the Components subfolder are
displayed as selectable components under the corresponding bar.
All subfolders in the Snippets library are displayed as clickable bars in the
Snippets pane. All *.tgmlsnippet files in the Snippetes subfolder are displayed
as selectable snippets under the corresponding bar.

04-30006-02-en, May 2019 Technical


1047
34 Graphics Editor
34.14 Keyboard Shortcuts for Graphics Editor

34.14 Keyboard Shortcuts for Graphics Editor


You can acces most of the Graphics Editor commands by using keyboard
shortcuts.

Table: Graphics Editor Keyboard Shortcuts


Press To

CTRL+N Start a new graphic

CTRL+O Open an existing graphic

CTRL+S Save the current graphic

CTRL+SHIFT+S Save the current graphic in a specified


location and with a specified file name

CTRL+SHIFT+P Preview a print

CTRL+P Print graphic

CTRL+F4 Close the current graphic

ALT+F4 Close the current graphic and exit the


program

CTRL+Z Undo the latest change

CTRL+Y Revert the latest Undo command

F6 Set Design mode

F7 Set Source mode

F8 Set Preview mode

F11 Toggle between hiding and showing all


panes

F12 Toggle between hiding and showing the


Objects and Properties panes

F1 Access Help

F2 Rename

F5 Refresh

CTRL+SHIFT+F6 Go to a previous graphic

CTRL+F6 Go to a later graphic

CTRL+0 Zoom

CTRL+1 Select

CTRL+2 Use the Line tool

Technical 04-30006-02-en, May 2019


1048
34 Graphics Editor
34.14 Keyboard Shortcuts for Graphics Editor

Continued
Press To

CTRL+3 Use the Polyline tool

CTRL+4 Use the Curve tool

CTRL+5 Use the Polygon tool

CTRL+6 Use the Rectangle tool

CTRL+7 Use the Ellipse tool

CTRL+8 Use the Arc tool

CTRL+9 Use the Pie tool

CTRL+T Use the Text tool

CTRL+SHIFT+T Use the Textbox tool

CTRL+X Cut

CTRL+C Copy

CTRL+V Paste

DEL Delete

CTRL+F Find

CTRL+H Find and replace

CTRL+A Select all

CTRL+D Clear all

CTRL+SHIFT+Space Toggle to show or hide the grid

CTRL+Space Toggle to snap or unsnap to the grid

CTRL+G Group figures

CTRL+SHIFT+G Ungroup figures

CTRL+Mouse wheel up Zoom in

CTRL+Mouse wheel down Zoom out

+ (on numeric keyboard) Zoom in

– (on numeric keyboard) Zoom out

CTRL+* (on num. keyboard) Restore to original size

Arrow keys Move the selected figure to next grid point


if Snap to Grid is activated

ALT+ Arrow keys Move the selected figure one pixel

04-30006-02-en, May 2019 Technical


1049
34 Graphics Editor
34.15 Test

34.15 Test
You can test the behavior of graphics and components offline in Preview mode
by setting test values in the Test pane.
Any graphic or component with an associated name and a Bind object, is
displayed in the Test pane.
You enter test values in the Value column, and set an optional Unit.
You can also test the behavior for certain signal status values. The Status
column contains a drop-down menu where you can select four kinds of status:
• Error
• Database value
• Value from devide
• Forced value
By default, Error status is handled by the graphic (the figure is crossed over in
red). Other status types can be modified by user-written Java scripts.

Figure: An example on testing values in Preview mode

Technical 04-30006-02-en, May 2019


1050
34 Graphics Editor
34.16 Testing a Graphic in Preview Mode

34.16 Testing a Graphic in Preview Mode


You test the animation, snippets, and other parts of a graphic to ensure it works
the way it is intended to.
For more information, see section 34.15 “Test” on page 1050.

To test a graphic in Preview mode


1. In Graphics Editor, on the menu bar, click Preview to open the graphic in
preview mode.
2. On the menu bar, click View and then click Test
Test.
3. In the Test pane, in the Value column, type the value for the drawing object
for which you want to test the behavior.
4. In the Status column select Forced value
value.
5. In the work area, check the behavior.

04-30006-02-en, May 2019 Technical


1051
34 Graphics Editor
34.17 Disabling Pan and Zoom

34.17 Disabling Pan and Zoom


You can disable the pan and zoom function in your graphic so that the user
cannot pan or zoom in the graphic in WorkStation or WebStation.
For more information, see section 34.2 “Graphics in WorkStation” on page 1032.

To disable pan and zoom


1. In WorkStation, in the System Tree pane, select the graphic.
2. On the Actions menu, click Edit
Edit.
3. In Graphics Editor, in the Objects pane, select Tgml element.
4. In the DisplayPanAndZoom box, select True
True.
5. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1052
34 Graphics Editor
34.18 Console

34.18 Console
The console is used for testing and troubleshooting scripts.
The console is optimized for developers and programmers. To be able to use
the console, you must have knowledge of scripting.

04-30006-02-en, May 2019 Technical


1053
34 Graphics Editor
34.19 Opening the Console

34.19 Opening the Console


You open the console to test and troubleshoot scripts in TGML graphics.
For more information, see section 34.1 “Graphics Editor ” on page 1027.

To open the console


1. On the menu bar, click View and then click Console
Console.

Technical 04-30006-02-en, May 2019


1054
35 Graphics Editor Figures

Topics
Figures
Drawing Tools
Lines
Drawing a Line
Polylines
Drawing a Polyline
Curves
Drawing a Curve
Editing a Curve
Polygons
Drawing a Polygon
Rectangles
Drawing a Rectangle
Drawing a Square
Ellipses
Drawing an Ellipse
Circles
Drawing a Circle
Arcs
Pies
35 Drawing an Arc or a Pie
Editing an Arc
Texts and Textboxes
Adding Text Using the Text Tool
Making Text Content Dynamic
Adding Text Using the Textbox tool
Editing Text
Pictures
Inserting a Picture
Adjusting a Picture
Adding an Animated Picture
Making an Animated Picture Dynamic
35 Graphics Editor Figures
35.1 Figures

35.1 Figures
A figure is the smallest independent element of a graphic, for example, a circle.
Figures are graphically represented TGML elements.
All figures in a graphic are displayed in a tree structure in the Objects pane. The
TGML root object is always present in the tree structure and cannot be deleted.
The TGML root object properties define the size and color of the work area. The
position of the objects in the tree structure reflects the relationship between
figures in the graphic. The closer in the tree structure a figure is to the TGML root
object, the further back it is located in the work area. You can move the figures
in the tree structure. When you move a figure in the tree structure, it is
dynamically moved back or forward in the work area.

NOTICE
• Apart from the two surface coordinates, x and y, figures also have a hidden
stacking order known as the z-coordinate or the z-order. The z order means
that more recently added figures are put in the front and older ones in the
back. Thus, more recent figures can cover previous figures in the graphic.

NOTICE
• To change the order of the figures, you select a figure in the Objects pane
and click the Move up or Move down button.

When you select a figure in the work area, the figure and its elements are
selected in the Objects pane. You can also select an element in the Objects
pane.

NOTICE
• Before you can select a figure in the work area, you have to make sure that
the layer where the figure is located is active.

To create certain elements on an object, you need to right-click on the object


and then click the element in the Objects pane. Use this method to create the
following elements on an object:
• Bind
• Link
• Animate
• TargetArea
• Metadata
• Chord
• AnimatedImage
• Expose
• Script

04-30006-02-en, May 2019 Technical


1057
35 Graphics Editor Figures
35.1 Figures

35.1.1 Drawing Tools


Use the Graphics Editor drawing tools to add lines, polylines, curves, polygons,
rectangles, ellipses, arcs, pies, texts, and textboxes to a graphic.
For more information, see section 35.2 “Drawing Tools” on page 1060.

35.1.2 Snippets
Snippets are standardized, predefined functions for defined use.
For more information, see section 41.11 “Snippets” on page 1218.

35.1.3 Attributes
Each element in the Objects pane has a number of properties. The Graphics
Editor element properties are referred to as attributes, in compliance with XML
standards. The attributes are displayed in the Properties pane, where they can
be edited. Attributes are used to give a complete description of a graphic
element. Most of the attributes are automatically defined when the graphic
element is created. By changing the attributes, you can change, for example,
the appearance and behavior of a graphic element.
For more information, see section 36.1 “Attributes” on page 1097.

35.1.4 Binds and Links


A dynamic graphic object can be bound to, and thus controlled by, EcoStruxure
BMS server variables (signals). When the signal changes the behavior or
appearance of the object changes dynamically.
For more information, see section 37.1 “Binds and Links” on page 1115.

35.1.5 Graphics Editing Tools


You can edit all graphic objects, that is, modify their properties. For example,
shape, size, and color.
For more information, see section 38.1 “Graphics Editing Tools” on page 1127.

35.1.6 Graphic Object Position


You can check the position and size of a graphic object using the graphic object
position bar. The size and position is displayed in pixels.
If the objects are grouped together the position and size for the whole group is
displayed. If you multi select objects the position and size is displayed for all
selected objects.
This feature is only available in Design mode.

Technical 04-30006-02-en, May 2019


1058
35 Graphics Editor Figures
35.1 Figures

For more information, see section 46.1 “Graphics Editor” on page 1271.

04-30006-02-en, May 2019 Technical


1059
35 Graphics Editor Figures
35.2 Drawing Tools

35.2 Drawing Tools


Use the Graphics Editor drawing tools to add lines, polylines, curves, polygons,
rectangles, ellipses, arcs, pies, texts, and textboxes to a graphic.

35.2.1 Lines
Use the Graphics Editor Line tool to draw a straight line, that is, a line between
two points.
For more information, see section 35.3 “Lines” on page 1062.

35.2.2 Polylines
Use the Graphics Editor Polyline tool to draw a line with several nodes, that is, a
line with angles.
For more information, see section 35.10 “Polygons” on page 1070.

35.2.3 Curves
Use the Graphics Editor Curve tool to draw a curve, that is, a line that is not
straight.
For more information, see section 35.7 “Curves” on page 1066.

35.2.4 Polygons
Use the Graphics Editor Polygon tool to draw a polygon, that is, a plane figure
that is bounded by a closed path, composed of a finite sequence of straight line
segments.
For more information, see section 35.10 “Polygons” on page 1070.

35.2.5 Rectangle
Use the Graphics Editor Rectangle tool to draw a simple rectangle, that is, a
quadrilateral with four right angles.
For more information, see section 35.12 “Rectangles” on page 1073.

35.2.6 Ellipses
Use the Graphics Editor Ellipse tool to draw an ellipse, that is, a plane curve that
results from the intersection of a cone by a plane in a way that produces a
closed curve.
For more information, see section 35.15 “Ellipses” on page 1076.

Technical 04-30006-02-en, May 2019


1060
35 Graphics Editor Figures
35.2 Drawing Tools

35.2.7 Arcs
Use the Graphcis Editor Arc tool to draw an arc, that is, a part of the periphery of
an ellipse, or a circle.
For more information, see section 35.19 “Arcs” on page 1080.

35.2.8 Pies
Use the Graphics Editor Pie tool to draw a pie, that is, an area enclosed by two
radii of a circle and their intercepted arc.
For more information, see section 35.20 “Pies” on page 1081.

35.2.9 Texts and Textboxes


Use the Graphics Editor Text tool to write a single line of text with no wrapping.
Use the Graphics Editor Textbox tool to write one or several lines of text that are
wrapped within the specified box.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

35.2.10 Pictures
Use the Graphics Editor Insert Pictures tool to insert supported image files into
your graphic.
For more information, see section 35.28 “Pictures” on page 1089.

04-30006-02-en, May 2019 Technical


1061
35 Graphics Editor Figures
35.3 Lines

35.3 Lines
Use the Graphics Editor Line tool to draw a straight line, that is, a line between
two points.
You can set stroke, style and width properties for the line to change the line
color, pattern and thickness.

Technical 04-30006-02-en, May 2019


1062
35 Graphics Editor Figures
35.4 Drawing a Line

35.4 Drawing a Line


You draw a line when you want to draw an extending one-dimensional figure that
has no curvature .
For more information, see section 35.3 “Lines” on page 1062.

To draw a line
1. In Graphics Editor, in the Layers pane, select the layer whre you want to
draw the line.
2. On the Drawing toolbar, click Line
Line.
3. In the work area, click where you want the line to start and drag to where
you want it to end.
4. On the Drawing toolbar, click Select
Select.
5. In the Properties pane, in the Name box, type the name of the line.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar, or in the Properties pane, adjust the appearance of


the line.
7. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1063
35 Graphics Editor Figures
35.5 Polylines

35.5 Polylines
Use the Graphics Editor Polyline tool to draw a line with several nodes, that is, a
line with angles.
You can set fill, stroke, style and line width to achieve a certain appearance of
the polyline.

Technical 04-30006-02-en, May 2019


1064
35 Graphics Editor Figures
35.6 Drawing a Polyline

35.6 Drawing a Polyline


You draw a polyline to get a figure that consists of two or more connected line
segments.
For more information, see section 35.5 “Polylines” on page 1064.

To draw a polyline
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the polyline
2. On the Drawing toolbar, click Polyline
Polyline.
3. In the work area, drag from where you want the polyline to start and click
for each new line segment you want to add.

NOTICE
You have to add a new segment for every turn of the polyline.

4. Double-click to finish the polyline.


5. On the Drawing toolbar, click Select
Select.
6. In the Properties pane, in the Name box, type the name of the polyline.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

7. On the Options toolbar, or in the Properties pane, adjust the appearance of


the curve.
8. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1065
35 Graphics Editor Figures
35.7 Curves

35.7 Curves
Use the Graphics Editor Curve tool to draw a curve, that is, a line that is not
straight.
Drawing perfect curves requires some understanding of the principles of
curves, as well as some practical experience. When you draw a curve and click
the key points of the curve, a number of curve segments are created. These
segments are defined by three vertices:
• The vertex, that is, the start point
• The highest/lowest point of a curve segment
• The end point
When a curve consists of more than one segment, the point connecting two
curve segments is also a vertex. The curve passes through all of these vertex
points.
Normally, the vertex points are not displayed, but to modify the curve you need
to access these points.
When you double-click the curve, the vertices are displayed. Two handles are
associated with each vertex (except for the start and end points, which have
only one handle).

Figure: A simple curve with its three vertices and two plus two handles

Each handle controls the shape of the curve at its side of the vertex. The length
and the angle of the handle determine the direction and curvature of that end of
the segment. The handle can be regarded as a magnet attracting its part of the
segment.

Figure: By stretching the top right handle, that part of the curve segment is modified

If you want to modify a curve, you have the following options:


• Moving a Curve Vertex
• Adjusting a Curve Handle

Technical 04-30006-02-en, May 2019


1066
35 Graphics Editor Figures
35.7 Curves

NOTICE
You can also nudge the vertex by using the arrow keys.

04-30006-02-en, May 2019 Technical


1067
35 Graphics Editor Figures
35.8 Drawing a Curve

35.8 Drawing a Curve


You draw a curve to get a line that is not straight and that consists of two or more
segments.
For more information, see section 35.7 “Curves” on page 1066.

To draw a curve
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the curve.
2. On the Drawing toolbar, click Curve
Curve.
3. In the work area, drag from where you want the curve to start and click for
each segment you want to add.

NOTICE
You have to add a new segment for each turn of the curved line.

4. Double-click to finish the curve.


5. On the Drawing toolbar, click Select
Select.
6. In the Properties pane, in the Name box, type the name of the curve.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

7. On the Options toolbar or in the Properties pane, adjust the appearance of


the curve.
8. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1068
35 Graphics Editor Figures
35.9 Editing a Curve

35.9 Editing a Curve


You edit a curve to adjust any point of the curve.
For more information, see section 35.7 “Curves” on page 1066.

To edit a curve
1. In Graphics Editor, in the work area, double-click the curve to display its
vertices.
2. Drag the vertex you want to change to a new position.

3. Click outside the curve to finish.

04-30006-02-en, May 2019 Technical


1069
35 Graphics Editor Figures
35.10 Polygons

35.10 Polygons
Use the Graphics Editor Polygon tool to draw a polygon, that is, a plane figure
that is bounded by a closed path, composed of a finite sequence of straight line
segments.

Technical 04-30006-02-en, May 2019


1070
35 Graphics Editor Figures
35.11 Drawing a Polygon

35.11 Drawing a Polygon


You draw a polygon when you need a closed multi-sided figure.
For more information, see section 35.10 “Polygons” on page 1070.

To draw a polygon
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the polygon.
2. On the Drawing toolbar, click Polygon
Polygon.
3. In the work area, click where you want to locate the corners of the polygon.

4. Double-click to close the polygon.


5. On the Drawing toolbar, click Select
Select.
Continued on next page

04-30006-02-en, May 2019 Technical


1071
35 Graphics Editor Figures
35.11 Drawing a Polygon

6. In the Properties pane, in the Name box, type the name of the polygon.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

7. On the Options toolbar or in the Properties pane, adjust the appearance of


the polygon.
8. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1072
35 Graphics Editor Figures
35.12 Rectangles

35.12 Rectangles
Use the Graphics Editor Rectangle tool to draw a simple rectangle, that is, a
quadrilateral with four right angles.

04-30006-02-en, May 2019 Technical


1073
35 Graphics Editor Figures
35.13 Drawing a Rectangle

35.13 Drawing a Rectangle


You draw a rectangle when you need a four-sided figure with four 90 ° angles
and there is no component that works for this situation.
For more information, see section 35.2 “Drawing Tools” on page 1060.

To draw a rectangle
1. In Graphics Editor, in the Layers pane, select the layer you want to draw
the rectangle on.
2. On the Drawing toolbar, click Rectangle
Rectangle.
3. In the work area, click where you want the rectangle to begin and drag the
pointer to where you want it to end.

4. On the Drawing toolbar, click Select


Select.

5. In the Properties pane, in the Name box, type the name of the rectangle.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar or in the Properties pane, adjust the appearance of


the rectangle.
7. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1074
35 Graphics Editor Figures
35.14 Drawing a Square

35.14 Drawing a Square


You draw a square when you need a figure with four equal sides and four 90 °
angels.

To draw a square
1. In Graphics Editor, in the Layers pane, select the layer you want to draw
the square.
2. On the Drawing toolbar, click Rectangle
3. In the work area, press SHIFT and click where you want the square to begin
and drag to where you want it to end.
4. On the Drawing toolbar, click Select
Select.
5. In the Properties pane, in the Name box, type the name of the square.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar or in the Properties pane, adjust the appearance of


the rectangle.
7. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1075
35 Graphics Editor Figures
35.15 Ellipses

35.15 Ellipses
Use the Graphics Editor Ellipse tool to draw an ellipse, that is, a plane curve that
results from the intersection of a cone by a plane in a way that produces a
closed curve.

NOTICE
To draw a circle, select Ellipse and press SHIFT while you draw.

Technical 04-30006-02-en, May 2019


1076
35 Graphics Editor Figures
35.16 Drawing an Ellipse

35.16 Drawing an Ellipse


You draw an ellipse when you need a conic section whose plane is not parallel
to the axis, base, or generatrix of the intersected cone.
For more information, see section 35.15 “Ellipses” on page 1076.

To draw an ellipse
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the ellipse.
2. On the Drawing toolbar, click Ellipse
Ellipse.
3. In the work area, drag the pointer from where you want to start the ellipse to
where you want it to end.
4. On the Drawing toolbar, click Select
Select.
5. In the Properites pane, in the Name box, type the name of the ellipse.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar or in the Properties pane, adjust the appearance of


the ellipse.
7. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1077
35 Graphics Editor Figures
35.17 Circles

35.17 Circles
In Graphics Editor, use the Ellipse tool to draw a circle, that is, a line forming a
closed loop, every point on which is a fixed distance from a center point. A circle
is actually a special case of an ellipse. In an ellipse, if you make the major and
minor axis the same length, the result is a circle, with both foci at the center.

Technical 04-30006-02-en, May 2019


1078
35 Graphics Editor Figures
35.18 Drawing a Circle

35.18 Drawing a Circle


You draw a circle when you need a figure forming a closed loop where every
point is a fixed distance from the center point.
For more information, see section 35.17 “Circles” on page 1078.

To draw a circle
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the circle.
2. On the Drawing toolbar, click Ellipse.
3. I the work area, click SHIFT while dragging the pointer from where you want
the circle to begin to where you want it to end.
4. On the Drawing toolbar, click Select
Select.
5. In the Properties pane, in the Name box, type the name of the circle.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar or in the Properties pane, adjust the apperance of


the circle.
7. On the File menu, click Save.

04-30006-02-en, May 2019 Technical


1079
35 Graphics Editor Figures
35.19 Arcs

35.19 Arcs
Use the Graphcis Editor Arc tool to draw an arc, that is, a part of the periphery of
an ellipse, or a circle.
The arc is defined by a center point, a radius X, a radius Y, a start angle, and a
sweep angle. The start angle is the angle between the X-axis and the start of the
arc. The sweep angle can lie in the interval ±(0° – 360°).

Technical 04-30006-02-en, May 2019


1080
35 Graphics Editor Figures
35.20 Pies

35.20 Pies
Use the Graphics Editor Pie tool to draw a pie, that is, an area enclosed by two
radii of a circle and their intercepted arc.
The pie is defined by a radius X, a radius Y, a start angle, and a sweep angle.
The start angle is the angle between the X-axis and the start of the arc. The
sweep angle can lie in the interval ±(0° – 360°).
A pie is similar to an arc, but includes the two radii and the area within.

04-30006-02-en, May 2019 Technical


1081
35 Graphics Editor Figures
35.21 Drawing an Arc or a Pie

35.21 Drawing an Arc or a Pie


Use Arc or Pie to draw a curve-like segment, but with specified start and end
points. The initial sweep angle is always 90°. The orientation of the 90° arc or pie
corresponds to the position of the end point, related to the start point.
For more information, see section 35.19 “Arcs” on page 1080. For more
information, see section 35.20 “Pies” on page 1081.

To draw an arc
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the arc or pie.
2. On the Drawing toolbar, select Arc The cursor will change into a crosshair
pointer.
3. In the work area, drag the pointer from where you want to start the arc or
pie to where you want it to end.
4. On the Drawing toolbar, click Select
Select.
5. In the Properties pane, in the Name box, type the name of the arc or pie.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar, or in the Properties pane, adjust the appearance of


the arc or pie.
7. On the File menu, click Save.

Technical 04-30006-02-en, May 2019


1082
35 Graphics Editor Figures
35.22 Editing an Arc

35.22 Editing an Arc


You edit the start and sweep vertexes of an arc to change its angle.
For more information, see section 35.20 “Pies” on page 1081.

To edit an arc
1. In Graphics Editor, in the work area, double-click anywhere on the arc to
display the vertexes.
2. Select the vertex you want to edit and drag it to a new position.

NOTICE
• You can extend the angle handle to increase the precision. This does
not affect the arc in other ways.
• If you press the SHIFT key while moving the cursor, the angle changes
in steps of 7.5°, somewhat depending on how much you extend the
handle.

3. Click outside the arc to finish.

04-30006-02-en, May 2019 Technical


1083
35 Graphics Editor Figures
35.23 Texts and Textboxes

35.23 Texts and Textboxes


Use the Graphics Editor Text tool to write a single line of text with no wrapping.
Use the Graphics Editor Textbox tool to write one or several lines of text that are
wrapped within the specified box.
You can edit and format the text by using the standard formatting tools.

35.23.1 Text Path


A text path is a free form curve of text. You use the text path to make the
characters independent of any font library. The disadvantage of this is that you
can no longer edit the characters as text.
When you create a path of text, you create a copy, which can be treated as an
ordinary closed curve. You can set Stroke and Fill color for the text path.
The original text remains unchanged and if required you can delete it.

Technical 04-30006-02-en, May 2019


1084
35 Graphics Editor Figures
35.24 Adding Text Using the Text Tool

35.24 Adding Text Using the Text Tool


Text is typically used for adding labels or informative comments within your
graphic. You add a single line of text using the Text tool. Textboxes are used
when you need to wrap text.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

To add text using the Text tool


1. In Graphics Editor, in the Layers pane, select the layer you want to add the
text on.
2. On the Drawing toolbar, click Text
Text.
3. Click in the work area where you want the text to start.
4. Type the text you want to add to the graphic.
5. Press Enter
Enter.
6. On the Drawing toolbar, click Select
Select.
7. In the Properties pane, in the Name box, type the name of the text.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

8. On the Options toolbar or in the Properties pane, adjust the appearance of


the text.
9. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1085
35 Graphics Editor Figures
35.25 Making Text Content Dynamic

35.25 Making Text Content Dynamic


You make text content dynamic so that the text changes according to the value
of the variable it is bound to. This way you use only one text object to show
different texts depending on the value of the variable.

To make text content dynamic


1. In Graphics Editor, in the Layers pane, select the layer that contains the
text you want to make dynamic.
2. In the work area, select the text you want to make dynamic.
3. In the Object pane, right-click Text
Text, point to New
New, and then click Bind
Bind.
4. In the Properties pane, in the Name box, type the name of the Bind object.
5. In the Attribute box, select Content
Content.
6. In the Objects pane, right-click Bind
Bind, point to New
New, and then click
ConvertValue
ConvertValue.
7. In the Properties pane, in the Name box, type a name for the ConvertValue
object.
8. In the AttributeValue box, type the text that you want to display in the
graphic.
9. In the SignalEqualTo box, type the value when the text is to be displayed.
10. Add more ConvertValue objects to the Bind object, one for each value of
the variable that is to be displayed as text.
11. In the Objects pane, right-click the Text
Text, point to Group as
as, and then click
Component
Component.
12. In the Properties pane, in the Name box, type the name of the component.
13. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1086
35 Graphics Editor Figures
35.26 Adding Text Using the Textbox tool

35.26 Adding Text Using the Textbox tool


You add text within a textbox when you want to add several lines of text with
automatic line wrap within a defined area.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

To add text using the Textbox tool


1. In Graphics Editor, in the Layers pane, select the layer you want to add the
text on.
2. On the Drawing toolbar, click Textbox
Textbox.
3. In the work area, click where you want to locate the upper-left corner of the
textbox.
4. Drag the pointer to where the lower-right corner of the textbox is to end.
5. Type the text you want to add to the graphic.
6. On the drawing toolbar, click Select
Select.
7. Adjust the size of the textbox.
8. In the Properties pane, in the Name box, type the name of the textbox.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

9. On the Options toolbar or in the Properties pane, adjust the appearance of


the text.
10. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1087
35 Graphics Editor Figures
35.27 Editing Text

35.27 Editing Text


You can reformat single line texts and texts within textboxes.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

To edit text
1. In Graphics Editor, in the work area, select the text or textbox object
containing the text you want to edit.

2. On the Options toolbar, expand Stroke and select a new text color from the
Color palette.
3. On the Options toolbar, expand Fill and select a new background color for
the textbox from the Color palette.
4. Double-click the text/textbox object and edit the text by adding or deleting
text.
5. On the Options toolbar, set font, font size, and other text properties.

6. When finished, click outside the text/textbox.

Technical 04-30006-02-en, May 2019


1088
35 Graphics Editor Figures
35.28 Pictures

35.28 Pictures
Use the Graphics Editor Insert Pictures tool to insert supported image files into
your graphic.
The native Graphics Editor file formats are . *.gif, *.jpg, and *.png files. That is,
pasted components and graphics will be saved as one of these file types.

Table: File Formats You Can Insert into a Graphic


Graphic Type File Type

Bitmap *.bmp

Bitmap *.dib

GIF *.gif

Icon *.ico

JPEG *.jpg

JPEG *.jpeg

JPEG *.jpe

JPEG *.jfif

JPEG *.exif

Metafile *.wmf

Metafile *.emf;

PNG *.png

TIFF *.tiff

TIFF *.tif

35.28.1 Image Insertion


A raster image can be inserted anywhere in the work area. When you add an
image, the actual image is saved with the graphic. That is, the image is not
linked into the graphic.
Raster images put a heavy load on graphics handling.

NOTICE
• To minimize system load, reduce size and color depht of the images before
inserting them into a graphic.

Use an image editor to resize the image to the size required in the graphic. If
you use the .jpg format, the image can be compressed to a quality of 60%
without any adverse effects on the appearance.

04-30006-02-en, May 2019 Technical


1089
35 Graphics Editor Figures
35.28 Pictures

If you want to use transparency, you should add it to the original image. This can
be done if you use the .png format.

NOTICE
• You can paste any picture residing on the clipboard to the work area.
• You can also drag pictures to the work area.

Technical 04-30006-02-en, May 2019


1090
35 Graphics Editor Figures
35.29 Inserting a Picture

35.29 Inserting a Picture


You insert a picture when you want to add an image, such as a .bmp or .png file,
into a graphic.
For more information, see section 35.28 “Pictures” on page 1089.

To insert a picture
1. In Graphics Editor, in the Layers pane, select the layer where you want to
add the picture.
2. On the Drawing toolbar, click Insert Picture
Picture.
3. In the work area, click where you want to locate the upper-left corner of the
picture.
4. Select the picture you want to insert into the graphic.
5. On the Drawing toolbar, click Select
Select.
6. In the Properties pane, in the Name box, type the name of the picture.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

7. On the Options toolbar or in the Properties pane, adjust the appearance of


the picture.
8. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1091
35 Graphics Editor Figures
35.30 Adjusting a Picture

35.30 Adjusting a Picture


You adjust a picture to change any of its properties.
For more information, see section 35.28 “Pictures” on page 1089.

To adjust a picture
1. In Graphics Editor, in the work area, select the picture you want to adjust.
2. Drag the picture to reposition it.
3. Press SHIFT while dragging one of the corner handles to resize the picture
but keep the aspect ratio.
4. To change the opacity or visibility for the picture, in the Properties pane, in
the Appearance area, select the corresponding elements and enter new
values.

NOTICE
• For performance reasons, it is strongly recommended that you edit the
picture before inserting it into the graphic.

5. On the File menu, click Save


Save.

Technical 04-30006-02-en, May 2019


1092
35 Graphics Editor Figures
35.31 Adding an Animated Picture

35.31 Adding an Animated Picture


You insert an animated picture when you want to add an animated image, such
as a .gif file, into a graphic.

To add an animated picture


1. In Graphics Editor, in the Layers pane, select the layer where you want to
add an animated image.
2. On the Drawing toolbar, click Insert Picture
Picture.
3. In the work area, click where you want to locate the upper-left corner of the
animated image.
4. Select the animated picture you want to insert into the graphic.
5. On the Drawing toolbar, click Select
Select.
6. In the Properties pane, in the Name box, type the name of the animated
image.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

7. On the Options toolbar or in the Properties pane, adjust the appearance of


the animated image.
8. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1093
35 Graphics Editor Figures
35.32 Making an Animated Picture Dynamic

35.32 Making an Animated Picture Dynamic


You make an animated image dynamic so that the animation can start and stop
according to the value of the variable it is bound to. This way you use the
animation in the image instead of using components.

To make an animated picture dynamic


1. In Graphics Editor, in the Layers pane, select the layer where you want to
make an animated image dynamic.
2. In the work area, select the picture you want to make dynamic.
3. In the Objects pane, right-click AnimatedImage
AnimatedImage, point to New
New, and then
click Bind
Bind.
4. In the Properties pane, in the Name box, type the name of the Bind object.
5. In the Attribute box, select Animation
Animation.
6. In the Objects pane, right-click Bind
Bind, point to New
New, and then click
ConvertValue
ConvertValue.
7. In the Properties pane, in the Name box, type the name of the
ConvertValue object.
8. In the AttributeValue box, select Start
Start.
9. In the SignalEqualTo box, type the value that should start the animation.
10. In the Objects pane, right-click Bind
Bind, point to New
New, and then click Convert
Value
Value.
11. In the Properties pane, in the Name box, type the name of the
ConvertValue.
12. In the AttributeValue box, select Stop
Stop.
13. In the SignalEqualTo box, type the value that should stop the animation.
14. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1094
36 Attributes

Topics
Attributes
Graphic Object Attributes
Inherited Attributes
Defining Inheritance
Setting Up Inherited Attributes
Exposed Attributes
Adding an Expose Element
Exposing an Attribute
Modifying the Behavior of a Component
36 Attributes
36.1 Attributes

36.1 Attributes
Each element in the Objects pane has a number of properties. The Graphics
Editor element properties are referred to as attributes, in compliance with XML
standards. The attributes are displayed in the Properties pane, where they can
be edited. Attributes are used to give a complete description of a graphic
element. Most of the attributes are automatically defined when the graphic
element is created. By changing the attributes, you can change, for example,
the appearance and behavior of a graphic element.
The Properties pane has two modes, where you can define which level of detail
you want displayed.
• Normal
• Detailed
Normal mode displays the most commonly edited attributes. Detailed mode
displays all attributes.
You can add attribute values, for example, Name. Some attributes describe a
dynamic behavior and the attributes become apparent only when the graphic is
used in a dynamic environment, for example, as an online graphic accessible in
WorkStation Graphics viewer.
For some of the attributes in the Properties pane, a label is displayed at the
bottom of the pane when you select the attribute.

Figure: Attribute label in the Properties pane

Often an information text, with information on how the specific attribute gets its
value, is displayed below the label:

(blank)
The value has been chosen when the element was created and applies to this
element.

Default value
The value was set by default when the element was created and applies to this
element.

04-30006-02-en, May 2019 Technical


1097
36 Attributes
36.1 Attributes

Inherited value
The element is a part of a parent element and has inherited its value from the
parent.
This information can be useful when you create more complex graphics, where
attribute inheritance is used. For more information, see section 36.3 “Inherited
Attributes” on page 1101.
Different elements and items have different attributes, which are described with
each item, but some general rules apply.
There are different categories of graphic element attributes
• Generic attributes
• Appearance, Position and Size attributes
• Behavior, Boundary and Target attributes

36.1.1 Graphic Object Attributes


All graphic elements that you use in a graphic have attributes, that is, properties
that describe the element. For example, shape, position, appearance, and
dynamic behavior.
For more information, see section 36.2 “Graphic Object Attributes” on page
1099.

36.1.2 Inherited Attributes


When you design a graphic you can establish an inheritance to apply an
attribute of a parent or ancestor element on one or several child elements. A
parent element can be, for example, a Group element. A child element can be,
for example, a graphic element within a group.
For more information, see section 36.3 “Inherited Attributes” on page 1101.

36.1.3 Exposed Attributes


You can make certain attributes of a component accessible from outside the
component. For example, you can use the Fill attribute to let an external signal
change the color of a component. You add Expose as a separate element to an
object that has an attribute you want to make accessible in your component.
For more information, see section 36.6 “Exposed Attributes” on page 1108.

Technical 04-30006-02-en, May 2019


1098
36 Attributes
36.2 Graphic Object Attributes

36.2 Graphic Object Attributes


All graphic elements that you use in a graphic have attributes, that is, properties
that describe the element. For example, shape, position, appearance, and
dynamic behavior.
When you select a graphic element, all its element attributes are displayed in the
Properties pane.
You can change most element attributes from the options bar and the
associated menus. However, sometimes it is more convenient—or gives more
precision—to enter the attribute values directly in the Properties pane.

36.2.1 Generic Attributes


All items have two generic attributes.

Table: Generic Attributes


Property Type Description

ID String The identity of the element.


Reserved for scripts and
other entities that need to
use unique element
identifiers to access
specific elements.

Name String The name of the element.


The primary use is to
identify exposed elements
such as Bind.

For Bind elements, the Name is displayed in the Binds and Links pane. From
there the Bind element cannot be connected to external signals. The actual
binding is performed from WorkStation.

36.2.2 Inherited Attributes


When you design a graphic you can establish an inheritance to apply an
attribute of a parent or ancestor element on one or several child elements. A
parent element can be, for example, a Group element. A child element can be,
for example, a graphic element within a group.
For more information, see section 36.3 “Inherited Attributes” on page 1101.

36.2.3 Exposed Attributes


You can make certain attributes of a component accessible from outside the
component. For example, you can use the Fill attribute to let an external signal
change the color of a component. You add Expose as a separate element to an
object that has an attribute you want to make accessible in your component.

04-30006-02-en, May 2019 Technical


1099
36 Attributes
36.2 Graphic Object Attributes

For more information, see section 36.6 “Exposed Attributes” on page 1108.

Technical 04-30006-02-en, May 2019


1100
36 Attributes
36.3 Inherited Attributes

36.3 Inherited Attributes


When you design a graphic you can establish an inheritance to apply an
attribute of a parent or ancestor element on one or several child elements. A
parent element can be, for example, a Group element. A child element can be,
for example, a graphic element within a group.
If you have set up an ineritance and have defined an attribute for a Group
object, for example, Fill color, the fill color is applied on all the individual graphic
elements in the group.
Inheritance only applies if you remove the corresponding attribute on the child
element. Conversely, if you keep the attribute on the child element it overrides
the attribute of the parent element.
If an attribute is left undefined both in the child element and all its parents, a
default attribute is used.
If you want to determine the origin of an attribute, you can click the attribute in
the Properties pane and then read the text in the gray box beneath, For more
information, see section 36.1 “Attributes” on page 1097.
Example: If you create a rectangle and a circle (ellipse), both get the same Fill
and Stroke attribute values from the values in the Options toolbar.

Figure: Graphic objects that can be grouped

If you group the elements, the group only has two Appearance attributes:
Opacity and Visibility, and both get default values.

04-30006-02-en, May 2019 Technical


1101
36 Attributes
36.3 Inherited Attributes

Figure: Grouped graphic objects

To define inheritance of Fill and Stroke from the Group element to the two
constituting elements, two things have to be done:
• Create (or Add) the missing attributes in the Group element.
• Remove the Fill and Stroke attributes from the rectangle and ellipse.
Right-click the Group element in the Properties pane, select Add and enter the
attributes; first Fill and then Stroke, and some suitable values.

Technical 04-30006-02-en, May 2019


1102
36 Attributes
36.3 Inherited Attributes

Figure: Attributes added to Group object

In the tree structure in the Objects pane, select the rectangle, right-click the Fill
attribute and select Remove. The rectangle immediately inherits the Fill attribute
from the Group element.

04-30006-02-en, May 2019 Technical


1103
36 Attributes
36.3 Inherited Attributes

Figure: The graphic figures own attribute is removed

Repeat the procedure for the ellipse.


Now, you can select the group and change its Fill attribute. The Fill value of the
two elements in the group is also changed.

Technical 04-30006-02-en, May 2019


1104
36 Attributes
36.3 Inherited Attributes

Figure: The graphic figure in the group inherits the Fill attribute from the Group element.

NOTICE
If you do not know the value (for example, a color code), you can leave the
value box empty. In this case, when you add the attribute, the value box in the
Properties pane indicates an invalid (empty) value. Use the drop-down menu
to select a valid value.

04-30006-02-en, May 2019 Technical


1105
36 Attributes
36.4 Defining Inheritance

36.4 Defining Inheritance


You define inheritance to enable attribute inheritance from an element
containing other elements, for example, to control a specific attribute of an entire
group of elements.

To define inheritance
1. In Graphics Editor, in the Objects pane, select the parent element from
which you want to use an attribute, for example, Group
Group.
2. In the Properties pane, right-click anywhere and then click Add
Add.
3. In the Add a Custom Attribute dialog box, type a name for the attribute that
you want child elements to inherit, for example, "Fill".
4. In the Objects pane, select the elements that are to inherit attributes from
the container element to which they belong.
5. In the Properties pane, delete the attribute that you want the container
element to control.
6. Click Remove
Remove.

NOTICE
• Make sure that the attribute that you add on the container element has
a corresponding attribute on the inheriting elements. For example, Fill.
• Corresponding attributes have to have identical names.

NOTICE
• You can override the inheritance from a container element by keeping
the attribute on an element that belongs to the container element. This
is useful when you want a group of elements in the same container
element to inherit an attribute, but have one or a few elements in that
container element, which should keep their individual attributes.

Technical 04-30006-02-en, May 2019


1106
36 Attributes
36.5 Setting Up Inherited Attributes

36.5 Setting Up Inherited Attributes


You set up inherited attributes to make sure that a component gets the same
attributes as lead or ancestor components.

NOTICE
• If an attribute for a shadow object is removed, the object inherits the
corresponding attribute from its lead object.

For more information, see section 41.2 “Component Design” on page 1207.

To set up inherited attributes


1. In Graphics Editor, in the Objects pane, select ComponentContent
ComponentContent.
2. In the Properties pane, right-click the attribute field, and then click Add
Add.
3. In the Add a Custom Attribute dialog box, enter the name of the attribute
that is to be inherited and then enter its initial value.

NOTICE
• If you do not know the value (for example, a color code), you can leave
the Value field blank. In this case, when you add the attribute, the Value
field in the Properties pane indicates an invalid (empty) value. Use the
drop-down menu to select a valid value.

4. In the Objects pane, select the object whose attribute should be inherited.
5. In the Properties pane, right-click the attribute or attributes that are to be
inherited and then click Remove
Remove. The attribute does not disappear, but the
text at the bottom of the Properties pane, changes to Inherited value.
6. On the File menu, click Save
Save.
Inherent objects get a uniform appearance.

04-30006-02-en, May 2019 Technical


1107
36 Attributes
36.6 Exposed Attributes

36.6 Exposed Attributes


You can make certain attributes of a component accessible from outside the
component. For example, you can use the Fill attribute to let an external signal
change the color of a component. You add Expose as a separate element to an
object that has an attribute you want to make accessible in your component.
An exposed attribute is displayed among the attributes of its parent figure and
all ancestors all the way up to the root figure (Tgml) of a graphic, in the Exposed
Properties part of the Properties pane.
The Expose element has two attributes:
• Name
This is the name the exposed attribute gets
• ExposedAttribute
This refers to the attribute (attribute) that is exposed

NOTICE
• When naming exposed attributes, note that if two or more exposed elements
have the same name this is considered to be intentional. It means that the
named element is displayed only once in the Exposed Properties part of the
Properties pane.

Technical 04-30006-02-en, May 2019


1108
36 Attributes
36.7 Adding an Expose Element

36.7 Adding an Expose Element


You use exposed attributes to make certain attributes of a component
accessible from outside Graphics Editor.
For more information, see section 36.6 “Exposed Attributes” on page 1108.

To add an Expose object


1. In Graphics Editor, in the Properties pane, right-click the object with the
attribute you want to expose, point to New
New, and then click Expose
Expose.
2. In the Objects pane, in the component tree structure, select the new
Expose element and change the name from My___ to a more descriptive
name.
3. In the Properties pane, click the ExposedAttribute box, and select the
attribute you want to expose from the drop-down list.
If you select the object containing the exposed attribute in the Objects pane, the
exposed attribute is displayed in the Properties pane

04-30006-02-en, May 2019 Technical


1109
36 Attributes
36.8 Exposing an Attribute

36.8 Exposing an Attribute


Use exposed attributes to make certain attributes of a component accessible
from outside Graphics Editor.

NOTICE
• If an attribute for a low-level object is removed, the object inherits the
corresponding attribute from its parent object.

For more information, see section 41.2 “Component Design” on page 1207.

To expose an attribute
1. In Graphics Editor, in the Objects pane, select the component containing
the attribute you want to expose
2. In the Properties pane, right-click the attribute you want to expose and
then click Expose
Expose.

NOTICE
An ExposedAttribute element is added in the Properties pane.

3. In the Objects pane, select the new Expose element and change the name
from My___ to a more descriptive name.

NOTICE
• You can expose several attributes at a time.

If you select the object containing the exposed attribute in the Objects pane, the
exposed attribute is displayed in the Properties pane.

Technical 04-30006-02-en, May 2019


1110
36 Attributes
36.9 Modifying the Behavior of a Component

36.9 Modifying the Behavior of a Component


You expose the properties of a component to modify its behavior.
For more information, see section 36.6 “Exposed Attributes” on page 1108.

To modify the behavior of a component


1. In Graphics Editor, on the File menu, point to New and then click
Component
Component.
2. In the Components pane, click the My Components category.
3. Select the required component, and drag it to the work area.
4. In the Properties pane, in the Name box, type the name of the modified
component.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

5. In the Properties pane, type values for the Exposed Properties object.
6. Select Preview.
7. In the Binds and Links pane, enter values to test the modified behavior.

NOTICE
• The bindings name consists of the component name, a dot, and the
bind name 'Value'.

8. On the File menu, click Save


Save.
By modifying exposed properties of a component, you can customize it when
reusing the component in different applications.

04-30006-02-en, May 2019 Technical


1111
37 Binds and Links

Topics
Binds and Links
Object Binding
Adding a Link
Adding a Bind
Binding a Graphic to a Variable
Dynamic Updates
Activating a binding with a dynamic update attribute
37 Binds and Links
37.1 Binds and Links

37.1 Binds and Links


A dynamic graphic object can be bound to, and thus controlled by, EcoStruxure
BMS server variables (signals). When the signal changes the behavior or
appearance of the object changes dynamically.
Similarly, you can link a graphic object to other database objects or Server
pages by using a Link property to define a target.
Binds and links are created by using the Bind or Link elements of the graphic
object. Binds and links defined for a graphic, are displayed in the Binds and
Links pane. Although you have to do the physical binding and linking in
WorkStation, the Binds and Links pane gives you a useful overview.
When you select binds or links, the different panes highlight the selected
elements which makes them easy to locate. The binds and links remain selected
even if you toggle between panes.
You can test bindings in Graphics Editor in Preview mode, by manually entering
test values for the binding to test the effect of the rules for a binding. For more
information, see section 34.15 “Test” on page 1050.

37.1.1 Object Binding


A dynamic graphic object is an object whose appearance or behavior is
controlled by variables from the server. This is done by binding elements of the
graphic object to the variable.

37.1.2 Object Linking


If you want to dynamically link a graphic object to, for example, other graphic
objects, trend log views, notes, and online plots in WorkStation, you add a Link
element to the graphic object.
Linking is done by using the Link element of the graphic object. You have to set
the Target property of the Link element to define the target that is to be
displayed when the user clicks the link in the graphic object. You do the
physical linking to another object from WorkStation.

37.1.3 Dynamic Updates


A graphic can contain numerous bindings to values that you want to be able to
display in the graphic. When there are numerous bindings, reading the values
can be time-consuming and can slow down the performance of the graphic. By
setting the DynamicUpdates attributes in the Bind elements of the graphic to
either disabled or enabled, you can control which values that are updated. That
is, which values the graphic subscribes to when the graphic is opened.
For more information, see section 37.6 “Dynamic Updates” on page 1123.

04-30006-02-en, May 2019 Technical


1115
37 Binds and Links
37.2 Object Binding

37.2 Object Binding


A dynamic graphic object is an object whose appearance or behavior is
controlled by variables from the server. This is done by binding elements of the
graphic object to the variable.
A binding can simply reflect the variable value, for example, a symbol toggles
between green when a status signal is 0 and red when the signal is 1.

Figure: Figure: The desired dynamic behavior of a graphic object

A binding can also contain converters (rules) that declare how the appearance
or behavior of the graphic object should be affected if the variable value
changes.
You can add bindings to, for example, lines, curves, and rectangles. You can
also add bindings to transformations of objects, for example, rotate, scale, or
translate elements.
Bindings are made by adding a Bind element to the graphic object. The Bind
element has a Target attribute that is changed as the incoming value from the
Server changes.

Technical 04-30006-02-en, May 2019


1116
37 Binds and Links
37.2 Object Binding

Figure: Graphics object proerties bound to singals in the system

You select the Target attribute from the Attribute drop-down list, which only
shows the bindable properties of the parent object.
Examples:
When you add a Bind element to an arc, a certain number of arc attributes can
be bound.

04-30006-02-en, May 2019 Technical


1117
37 Binds and Links
37.2 Object Binding

Figure: Arc attributes that can be bound

When you add a Bind element to a Rotate element, only the rotation angle and
center attributes can be bound.

Figure: Rotate attributes that can be bound

When you add a Bind element to an Animate element, only the animation
attributes can be bound.

Technical 04-30006-02-en, May 2019


1118
37 Binds and Links
37.2 Object Binding

Figure: Animate attributes that can be bound

The remaining Bind property is Format. You can set it to None (deliver value as
is) or Presentation. If you select Presentation, the value is converted to and
presented as a text according to an enumeration table in WorkStation.

04-30006-02-en, May 2019 Technical


1119
37 Binds and Links
37.3 Adding a Link

37.3 Adding a Link


You add links to a graphic to open Web sites, applications, or documents from
within WorkStation.
For more information, see section 37.1 “Binds and Links” on page 1115.

To add a link
1. In Graphics Editor, click the Snippets tab.
2. Select the Basic Functions category.
3. Drag the Link snippet to the drawing object that will be linked to a Web site,
application, or document.
4. In the Objects pane, click the Link object.
5. In the Properties pane, in the LinkName box, type the name of the Link
object.
6. Click Save
Save.
The link is now added to the graphic and is available for binding in WorkStation.

Technical 04-30006-02-en, May 2019


1120
37 Binds and Links
37.4 Adding a Bind

37.4 Adding a Bind


You add a bind when you want to bind an attribute of a dynamic graphic object
to, and thus let it be controlled by, server variables (signals). When the signal
changes, the behavior or appearance of the object changes dynamically.
For more information, see section 37.1 “Binds and Links” on page 1115.

To add a bind
1. In Graphics Editor, in the Objects pane, right-click the object to which you
want to add the bind.
2. Point to New and then click Bind
Bind.
3. In the Properties pane, in the Attribute box, enter the object attribute you
want to be affected by the server signal.
Before you can bind the graphic object attribute to a signal in WorkStation, you
have to add, for example, a value converter to the bind.

04-30006-02-en, May 2019 Technical


1121
37 Binds and Links
37.5 Binding a Graphic to a Variable

37.5 Binding a Graphic to a Variable


You bind the graphic to variables to show variable values in the graphic either
as digital values or as dynamic components. You also bind a graphic to objects
to activate the links in the graphic.
For more information, see section 17.1 “Bindings Overview” on page 437.

To bind a graphic to a variable


1. In WorkStation, in the System Tree pane, select the graphic that you want
to bind a variable or an object to.
2. On the Action menu, click Edit bindings.
3. In the Bindings View, in the Browser pane, select the variable or object that
you want bind to the graphic.
4. Drag the variable or object to the box in the Binding column for the binding
point you want to bind.

5. On the File menu, click Save


Save.
6. Click the Graphics view and verify that the bindings correspond to
dynamically changing values in the graphic or working links to objects.

Technical 04-30006-02-en, May 2019


1122
37 Binds and Links
37.6 Dynamic Updates

37.6 Dynamic Updates


A graphic can contain numerous bindings to values that you want to be able to
display in the graphic. When there are numerous bindings, reading the values
can be time-consuming and can slow down the performance of the graphic. By
setting the DynamicUpdates attributes in the Bind elements of the graphic to
either disabled or enabled, you can control which values that are updated. That
is, which values the graphic subscribes to when the graphic is opened.
Disabling the updates can improve the performance when loading the graphic.
By default, the dynamic updates are enabled, that is, the value connected to a
Bind element in the graphic is updated when the graphic is opened.
To control how and when the values of bindings that are not dynamically
updated are to be updated, you can add a script to the Script element of the
Bind element.

04-30006-02-en, May 2019 Technical


1123
37 Binds and Links
37.7 Activating a binding with a dynamic update attribute

37.7 Activating a binding with a dynamic


update attribute
You edit the DynamicUpdate attribute to improve the performance when loading
a graphic. By default, the dynamic updates are enabled, that is, the value
connected to the Bind element of the graphic is updated when the graphic is
opened.
For more information, see section 37.6 “Dynamic Updates” on page 1123.

To activate a binding with a dynamic update attribute


1. In Graphics Editor, in the Objects pane, select the Bind element for which
you want to edit the DynamicUpdates attribute..
2. In the Properties pane, in the Behavior area, select the DynamicUpdates
attribute and select Enable or Disable depending on whether or not you
want the graphic to subscribe to the value connected to the Bind element
when the graphic is opened.

Technical 04-30006-02-en, May 2019


1124
38 Editing Tools

Topics
Graphics Editing Tools
Object Organization
Moving Objects
Aligning Objects
Arranging Objects
Distributing Objects
Arranging a Table-like Layout
Duplicating an Object to the Same Position
Duplicating an Object with a Controlled Offset
Resizing an Object
Resizing an Object to the Same Size
Rotating a Single Object
Rotating Multiple Objects
Skewing Horizontally
Skewing Vertically
Flipping an Object
Copying an Object
Editing a Point of an Object
Editing Object Properties
Editing Multiple Objects
38 Deleting an Object
Colors
Adding a Custom Color
Using a Custom Color
Gradients
Gradient Properties
Adding a Linear Gradient
Adjusting a Linear Gradient
Adding a Radial Gradient
Adjusting a Radial Gradient
Animations
Adding an Animation
Paths
Creating a Text Path
Editing a Text Path
Grid
Showing/Hiding the Grid
Switching on/off Snap to Grid
Nudging an Object
38 Editing Tools
38.1 Graphics Editing Tools

38.1 Graphics Editing Tools


You can edit all graphic objects, that is, modify their properties. For example,
shape, size, and color.
You can edit all graphic objects individually. You can also edit some graphic
objects simultaneously. You can edit the following properties of two or more
graphic objects simultaneously:
• Fill color
• Stroke color
• Stroke style
• Stroke width
• Flip
• Rotate
• Skew
For text boxes, you can also edit the following properties for several text boxes
simultaneously:
• Font
• Font size
• Font style
• Stroke width
• Horizontal text alignment in text box
• Vertical text alignment in text box
If you want a graphic object to be available for future use, you can save it as a
component in the My Components library.

38.1.1 Groups
A group is when two or more objects or components are joined together as one
entity. You can group both graphical objects, such as figures, or non-graphical
objects, such as metadata. Groups can have nested groups, that is, groups
within the group.
For more information, see section 40.1 “Groups” on page 1191.

38.1.2 Layers
When creating complex graphics, it can be a challenge to keep track of all the
graphic figures in the work area. Graphic figures get hidden under one another
and selecting becomes difficult. Layers provide a way to manage the graphic
figures that make up your graphic. Layers can be regarded as folders that
contain graphic figures.
For more information, see section 39.1 “Layers” on page 1177.

04-30006-02-en, May 2019 Technical


1127
38 Editing Tools
38.1 Graphics Editing Tools

38.1.3 Object Organization


When organizing objects in a graphic there are many options. You can move,
align, arrange, and distribute objects in the work area. You can use the tools on
the toolbar or any of the features available from the panes.
For more information, see section 38.2 “Object Organization ” on page 1129.

38.1.4 Colors
You can apply color to most objects. Graphics Editor has a range of colors but
you can also customize colors and save for future use. Objects with both stroke
and fill can have different colors on stroke and fill.
For more information, see section 38.22 “Colors” on page 1151.

38.1.5 Gradients
In addition to the Color palette, Fill and Stroke have a Gradient palette.
Gradients consist of smooth color transitions along a specified direction from
one color to another. There are two types of gradients: linear and radial.
For more information, see section 38.25 “Gradients” on page 1154.

38.1.6 Animations
You can add animations to a graphic object to create an illusion of movement.
You can add animations to, for example, lines curves and rectangles. You can
also add animations to transformations of objects, for example rotate, scale,
translate and others. You can add the Animate property by adding it to the
object you want to animate in the Objects pane.
For more information, see section 38.31 “Animations” on page 1164.

38.1.7 Paths
When you create a path of one or several objects, you create a copy in the form
of a path, where the original objects have been dissolved and replaced with
corresponding lines and fills. For example, a rectangle dissolves into a path of
four connected strokes.
For more information, see section 38.33 “Paths” on page 1168.

38.1.8 Grid
A grid is a Graphics Editor feature that can be of assistance when you draw and
position graphic figures in a graphic. Graphic figures can be made to snap
(attach) to the grid intersection points, which always align with the logical pixels.
For more information, see section 38.36 “Grid” on page 1171.

Technical 04-30006-02-en, May 2019


1128
38 Editing Tools
38.2 Object Organization

38.2 Object Organization


When organizing objects in a graphic there are many options. You can move,
align, arrange, and distribute objects in the work area. You can use the tools on
the toolbar or any of the features available from the panes.

38.2.1 Object Moving


You can move drawn objects individually, or collected in arbitrary groups.

38.2.2 Object Aligment


You can align two or more selected objects in seven different ways:
• Left
Horizontally along the left edge of the objects
• Center
Horizontally along the center of the objects
• Right
Horizontally along the right edge of the objects
• Top
Vertically along the top edge of the objects
• Middle
Vertically along the middle of the objects
• Bottom
Vertically along the bottom edge of the objects
• Center Middle
Horizontally along the center of the objects, and vertically along the top
edge of the objects

NOTICE
• All alignments refer to the object considered to be the primary selection.
Which object is regarded as the primary selection depends on how the
objects are selected. For more information, see section 40.1 “Groups” on
page 1191.

NOTICE
The Align drop-down menu options indicate how the objects can be
positioned relative to the primary selection.

04-30006-02-en, May 2019 Technical


1129
38 Editing Tools
38.2 Object Organization

38.2.3 Object Arrangement


If an object more or less overlaps another object, you may want to arrange them.
You can move an object so that it appears behind or in front of other objects.
You can also move a graphic object to the very back or the very front of the
stack.
You can arrange one or more selected objects in four different ways:
• Bring to Front
Bring the object(s) to the top position
• Bring Forward
Bring the object(s) one position up
• Bring Backward
Bring the object(s) one position down
• Bring to Back
Bring the object(s) to the bottom position

NOTICE
• When you select more than one object, the selected objects keep their
internal order during the arrangement procedure.

NOTICE
The Arrange menu options list shows how the objects can be arranged.

38.2.4 Object Distribution


You can distribute three or more selected objects in two directions:
• Horizontal
Evenly distributed between the leftmost and the rightmost of the selected
objects
• Vertical
Evenly distributed between the selected top object and bottom object

NOTICE
The Distribute menu options list how the objects can be distributed.

38.2.5 Object Rotation


You can rotate objects in different ways, by using the rotation tool or the two
rotation commands. Rotating multiple objects is somewhat different from rotating
a single object. When you rotate multiple objects they are rotated as if they were
grouped. That is, with an common center point around which the objects are
rotated.

Technical 04-30006-02-en, May 2019


1130
38 Editing Tools
38.2 Object Organization

NOTICE
• You can rotate an object by using the Rotate Selection tool on the Options
toolbar and drag the rotation handle.
• You can drag out the angle handle to increase the angle precision. This
does not affect the rotation in other ways.
• The aspect ratio is automatically used when rotated objects are resized.
• When you use the Rotate Selection tool, you can also change the center of
rotation by clicking it and moving the entire rotation handle. Before changing
the center of rotation, consider that the effect of future rotations can be
difficult to anticipate.
• If you move the center point of an object that has already been rotated, an
additional rotation is added to the object and the moved center point applies
to the new rotation that was added.

38.2.6 Object Skewing


Skewing an object means that you distort the shape in a horizontal or vertical
direction by a number of degrees. You skew by selecting one or several objects
and then applying a value from the horizontal or vertical skewing menu.

38.2.7 Object Flipping


Flipping an object means that you replace the object with a reflection of the
original object on a horizontal or vertical axis.

38.2.8 Object Resizing


You can resize graphics objects, components and groups in the work area.
There are two resizing methods:
• General resizing
Whatever is enclosed by a selection rectangle is resized
• Resizing to same value
The selected graphics object, component, or group is resized to the same
size as another grahics object, component or group. The size can be
compared in three different ways:
– Same width
Resize the width of the graphics object, component, or group to the
width of another graphics object, component, or group.
– Same height
Resize the height of the graphics object, component, or group to the
height of another graphics object, component, or group.
– Same width and height
This action resizes the width and height of the graphics object,
component, or group to the width and height of another graphics
object, component, or group.

04-30006-02-en, May 2019 Technical


1131
38 Editing Tools
38.3 Moving Objects

38.3 Moving Objects


You move objects to place them at a new position in a design.
For more information, see section 38.2 “Object Organization ” on page 1129.

To move objects
1. In Graphics Editor, in the work area, select the object you want to move.
2. Drag the object to its new position.

NOTICE
• You can move multiple objects by selecting them all.
• You can also move the selected object(s) by using the arrow keys.

Technical 04-30006-02-en, May 2019


1132
38 Editing Tools
38.4 Aligning Objects

38.4 Aligning Objects


You align two or more objects to position them evenly.
For more information, see section 38.2 “Object Organization ” on page 1129.

To align objects
1. In Graphics Editor, in the work area, select the objects you want to align.

NOTICE
• Make sure the object that controls the alignment is the primary
selection. The primary selection is enclosed within a blue, dashed
rectangle.

2. On the Options toolbar, click the Align button and select the required
alignment from the drop-down menu.

04-30006-02-en, May 2019 Technical


1133
38 Editing Tools
38.5 Arranging Objects

38.5 Arranging Objects


You arrange objects that more or less overlap each other to put certain objects
in front of or behind other objects.
For more information, see section 38.2 “Object Organization ” on page 1129.

To arrange objects
1. In Graphics Editor, in the work area, select the object you want to move
backward or forward.

2. On the Options toolbar, click the Arrange button and then click the
required option.

Technical 04-30006-02-en, May 2019


1134
38 Editing Tools
38.6 Distributing Objects

38.6 Distributing Objects


You distribute three or more objects to position them evenly in a design, based
on the center points of the objects.
For more information, see section 38.2 “Object Organization ” on page 1129.

To distribute objects
1. In Graphics Editor, in the work area, select the objects you want to
distribute.

2. On the Options toolbar, click the Distribute button and then click
Horizontal or Vertical distribution.

NOTICE
• When the objects are distributed, the objects’ center points, that is, the
vertical or horizontal middle, are used. The result becomes most
apparent when objects of different sizes are distributed.

04-30006-02-en, May 2019 Technical


1135
38 Editing Tools
38.7 Arranging a Table-like Layout

38.7 Arranging a Table-like Layout


You position objects in a table-like layout to get evenly spaced rows and
columns.
For more information, see section 38.2 “Object Organization ” on page 1129.

To arrange a table-like layout


1. In Graphics Editor, in the work area, select the objects for the top row, in
order from left to right.

2. On the Options toolbar, click Align and then click Top


Top. The selected
objects align to the same horizontal height.
3. Select the objects that belong to the leftmost column, in order from top to
bottom.
4. On the Options toolbar, click the Align button and then click Left
Left. The
selected objects align to the same left, vertical line.
5. Depending on the pattern and row/column distance you want, group the
objects, row-by-row or column-by-column.
6. Position the top/bottom rows, or the leftmost/rightmost columns.
7. Select all groups, comprising either rows or columns.

8. On the Options toolbar, click Distribute and then click Vertical if the
rows have been grouped, and Horizontal if the columns have been
grouped.
The rows or columns are distributed evenly between the outermost
rows/columns. If necessary, you continue to do adjustments by using the Align
and Distribute commands on individual objects or groups.

Technical 04-30006-02-en, May 2019


1136
38 Editing Tools
38.8 Duplicating an Object to the Same Position

38.8 Duplicating an Object to the Same


Position
You copy any object or component to the same position as the original by
working with the original object from Objects pane tree structure.
For more information, see section 38.2 “Object Organization ” on page 1129.

To duplicate an object to the same position


1. In Graphics Editor, in the Objects pane, select the object.
2. Press CTRL and drag the object to a new position in the tree structure.
A copy of the object is created directly on top of the original object in the
drawing.

04-30006-02-en, May 2019 Technical


1137
38 Editing Tools
38.9 Duplicating an Object with a Controlled Offset

38.9 Duplicating an Object with a Controlled


Offset
You make equidistant copies of an object or component to get a certain
conformity in a design. You specify the position of the first copy and use a
special copy command to distribute the remaining copies as ‘extensions’ of the
first copy operation.
For more information, see section 38.2 “Object Organization ” on page 1129.

To duplicate an object with a controlled offset


1. In Graphics Editor, in the Objects pane, select the object you want to copy.
2. On the Drawing toolbar, click Copy
Copy.
3. Press CTRL+V to paste a copy.

4. Press CTRL+SHFT and move the copy to its correct position, relative to the
original.
5. Press CTRL+SHFT+V to paste another copy at the same distance relative
to the previous copy.
6. Repeat for as many copies as you need.

A number of copies are created and they are all placed with the same offset
from the previous object.

Technical 04-30006-02-en, May 2019


1138
38 Editing Tools
38.10 Resizing an Object

38.10 Resizing an Object


You resize an object to modify the size of the object.
For more information, see section 38.2 “Object Organization ” on page 1129.

To resize an object
1. In Graphics Editor, in the work area, select the object you want to resize.
2. Click the border of the selection rectangle and drag until the object has the
size you want.

NOTICE
• Pulling the “handles” at any of the corners of the rectangle affects the
scaling both horizontally and vertically.
• Pressing SHIFT while resizing makes the scaling proportional, that is,
resizes the object horizontally and vertically.

04-30006-02-en, May 2019 Technical


1139
38 Editing Tools
38.11 Resizing an Object to the Same Size

38.11 Resizing an Object to the Same Size


You resize an object to the same value to transform the object to the same size
as another object.
For more information, see section 38.2 “Object Organization ” on page 1129.

To resize an object to the same size


1. In Graphics Editor, in the work area, select the object you want to resize.
2. Press CTRL while selecting the object you want to use as a size template.

NOTICE
• The last selected object is used as a size template. The size template is
enclosed in a blue rectangle.

3. On the Options toolbar, click Resize and then click the resize option
you want: Same width
width, Same height
height, or Same width and height
height.

Technical 04-30006-02-en, May 2019


1140
38 Editing Tools
38.12 Rotating a Single Object

38.12 Rotating a Single Object


You rotate an object to change its orientation. The rotate command performs a
90° rotation when the command is executed.
For more information, see section 38.2 “Object Organization ” on page 1129.

To rotate a single object


1. In Graphics Editor, in the work area, select the object you want to rotate.

2. On the Options toolbar, click Rotate Left or Rotate Right .

04-30006-02-en, May 2019 Technical


1141
38 Editing Tools
38.13 Rotating Multiple Objects

38.13 Rotating Multiple Objects


You rotate multiple objects to change their orientation simultaneously. The rotate
commands performs a 90° rotation each time the command is executed.
For more information, see section 38.2 “Object Organization ” on page 1129.

To rotate multiple objects


1. In Graphics Editor, in the work area, select the objects you want to rotate.

2. On the Options toolbar, click Rotate Left or Rotate Right .

Technical 04-30006-02-en, May 2019


1142
38 Editing Tools
38.14 Skewing Horizontally

38.14 Skewing Horizontally


You skew horizontally to transform an object along the x-axis. The skew angle is
measured in degrees from the y-axis.
For more information, see section 38.2 “Object Organization ” on page 1129.

To skew horizontally
1. In Graphics Editor, in the work area, select the object you want to skew.

2. On the Options toolbar, click Skew Horizontal to open the degree


selection menu.
3. Click the required amount of degrees, –60° to +60°.

NOTICE
• A positive value implies counter-clockwise skew.
• A negative value implies clockwise skew.

04-30006-02-en, May 2019 Technical


1143
38 Editing Tools
38.15 Skewing Vertically

38.15 Skewing Vertically


You skew vertically to transform an object along the y-axis. The skew angle is
measured in degrees from the y-axis.
For more information, see section 38.2 “Object Organization ” on page 1129.

To skew vertically
1. In Graphics Editor, in the work area, select the object you want to skew.

2. On the Options toolbar, click the Skew Vertical button to open the
degree selection menu.
3. Click the required amount of degrees, –60° to +60°.

NOTICE
• A positive value implies counter-clockwise skew.
• A negative value implies clockwise skew.

Technical 04-30006-02-en, May 2019


1144
38 Editing Tools
38.16 Flipping an Object

38.16 Flipping an Object


You flip one or more objects to reflect them in a horizontal or vertical direction.
For more information, see section 38.2 “Object Organization ” on page 1129.

To flip an object
1. In Graphics Editor, in the work area, select the object you want to flip.

2. On the Options toolbar, click Flip to open the flip axis menu.

3. Click Horizontal to reflect in a horizontal direction and Vertical to


reflect in a vertical direction.

04-30006-02-en, May 2019 Technical


1145
38 Editing Tools
38.17 Copying an Object

38.17 Copying an Object


You copy an object in the work area to reuse it.
For more information, see section 38.2 “Object Organization ” on page 1129.

To copy an object
1. In Graphics Editor, in the work area, select the object you want to copy.
2. On the Drawing toolbar, click Copy
Copy.
3. On the Drawing toolbar, click Paste
Paste.
4. Move the copy to a new position.

Technical 04-30006-02-en, May 2019


1146
38 Editing Tools
38.18 Editing a Point of an Object

38.18 Editing a Point of an Object


You edit a point of an object to transform its appearance. You can edit the points
of lines, polylines, curves, polygons, arcs, pies, or paths.
For more information, see section 38.1 “Graphics Editing Tools” on page 1127.

To edit a point of an object


1. In Graphics Editor, in the work area, select the object whose point you want
to edit.
2. Double-click the point you want to move.

3. Drag the selected point to a new position.

NOTICE
• When small objects are edited at an extreme zoom level, it can be
difficult to select the points. This is due to unavoidable rounding errors,
but the problem can be avoided if you draw and edit the object in a
larger size and then down-scale it.
• You can also use Show Grid (1 px) and Snap to Grid when you create
and edit the object. Grid points are not numerically rounded.

04-30006-02-en, May 2019 Technical


1147
38 Editing Tools
38.19 Editing Object Properties

38.19 Editing Object Properties


You edit object properties to change the object.
For more information, see section 35.1 “Figures” on page 1057.

To edit object properties


1. In Graphics Editor, in the work area, select the object whose properties you
want to edit.
2. In the Properties pane, change, for example, the position properties of the
object.
3. In the work area, click anywhere outside the object you have edited to clear
the selection.
4. On the File menu, click Save
Save.
You can edit a number of properties from the Properties pane.

Technical 04-30006-02-en, May 2019


1148
38 Editing Tools
38.20 Editing Multiple Objects

38.20 Editing Multiple Objects


You edit multiple objects to simultaneously modify, for example, their shape,
size, and appearance.
For more information, see section 38.1 “Graphics Editing Tools” on page 1127.

To edit multiple objects


1. In Graphics Editor, in the work area, select the objects you want to edit.

2. On the Options toolbar, click any of the Fill


Fill, Stroke (border) color, Style
Style, or
Width buttons and select appearance from the corresponding menu.

04-30006-02-en, May 2019 Technical


1149
38 Editing Tools
38.21 Deleting an Object

38.21 Deleting an Object


You delete objects in the work area that you do not want in your design.

To delete an object
1. In Graphics Editor, in the work area, select the object you want to delete.

2. On the Drawing toolbar, click Delete


Delete.

The selected object is deleted but you can undo the command by clicking Undo
on the menu bar before you have edited any other objects.

Technical 04-30006-02-en, May 2019


1150
38 Editing Tools
38.22 Colors

38.22 Colors
You can apply color to most objects. Graphics Editor has a range of colors but
you can also customize colors and save for future use. Objects with both stroke
and fill can have different colors on stroke and fill.
You can define color hue from the Gradient palette.

Table: Overview of Color, Style, and Gradient Applicability


Object Stroke Color Stroke Style Stroke Fill Color Fill Gradient
Gradient

Line Yes Yes Yes – –

Shape Yes Yes Yes Yes Yes

Text Yes – Yes Yesa –

Textbox Yes – Yes Yesb Yes

a) Background behind text (default area)


b) Background behind text (textbox area)

04-30006-02-en, May 2019 Technical


1151
38 Editing Tools
38.23 Adding a Custom Color

38.23 Adding a Custom Color


You add a custom color the color palette to save it for quick access in the future.
For more information, see section 38.25 “Gradients” on page 1154.

To add a custom color


1. In Graphics Editor, on the Options toolbar, click Fill (or Stroke
Stroke) to open the
color palette.
2. Select Custom Color
Color.

3. In the Color dialog box, in the colored square, move the pointer to the color
you want to add. If required, you can adjust the color by adjusting the
numerical values for Hue
Hue, Saturation
Saturation, Red
Red, Green
Green, Blue
Blue, and Luminosity
Luminosity.
4. Click Add to Custom Colors
Colors.

NOTICE
• Fill and Stroke use the same color palette and also the same custom
colors.

5. Click OK
OK.
The color is displayed in one of the Custom Color boxes.

Technical 04-30006-02-en, May 2019


1152
38 Editing Tools
38.24 Using a Custom Color

38.24 Using a Custom Color


You use custom colors when you want to use a specific color in your design.
For more information, see section 38.25 “Gradients” on page 1154.

To use a custom color


1. In Graphics Editor, in the work area, select the object on which you want to
use the custom color.
2. On the Options toolbar, expand Stroke (or Fill
Fill) to open the color palette.
3. Click Custom Color
Color.

4. Select the color in the Custom colors area.


5. Click OK
OK.

04-30006-02-en, May 2019 Technical


1153
38 Editing Tools
38.25 Gradients

38.25 Gradients
In addition to the Color palette, Fill and Stroke have a Gradient palette.
Gradients consist of smooth color transitions along a specified direction from
one color to another. There are two types of gradients: linear and radial.
Gradients work with gradient stops where the two colors are specified and
indicating where they start and stop.
The Gradients and Gradient stops are properties, added to the object in the
Objects pane. For more information, see section 35.1 “Figures” on page 1057.

38.25.1 Linear Gradient Adjustment


When you use the Fill – Gradient palette, you may need to adjust the color or
some other aspect of the appearance.
Adjusting a linear gradient involves finding the specific object in the Objects
pane and then changing the gradient parameters of the LinearGradient or the
GradientStop elements.

38.25.2 Radial Gradient Adjustment


When you use the Fill – Gradient palette, you may need to adjust the color or
some other aspect of the appearance.
Adjusting a radial gradient involves first finding the specific object in the Objects
pane and then changing the gradient parameters of the RadialGradient or the
GradientStop elements.

38.25.3 Gradient Properties


It is not difficult to change the gradient properties, but you have to have some
understanding of the parameters involved. In most cases, it is sufficient to use
the standard Gradient palette.
For more information, see section 38.26 “Gradient Properties” on page 1155.

Technical 04-30006-02-en, May 2019


1154
38 Editing Tools
38.26 Gradient Properties

38.26 Gradient Properties


It is not difficult to change the gradient properties, but you have to have some
understanding of the parameters involved. In most cases, it is sufficient to use
the standard Gradient palette.
There are two types of gradients, linear and radial, each with somewhat different
properties. These properties are displayed in objects under the corresponding
shape object in the Objects tree. For more information, see section 35.1
“Figures” on page 1057.
A linear gradient has a StartPoint and an EndPoint, local coordinates for the
direction of the gradient.

Figure: A linear gradient, with a diagonal direction from 0, 0 to 1, 1; and a horizontal


gradient from 0.3, 0 to 0.7, 0 (with SpreadMethod “Pad”)

A linear gradient also has a SpreadMethod, which tells how the areas outside
the StartPoint and the EndPoint are to be treated. There are three methods:
• Pad (default)
Extends the gradient end colors to the respective ends of the object.
• Reflect
Reflects the gradient like a mirror placed at the StartPoints and EndPoints.
• Repeat
Repeats the gradient pattern, as far as the “outside” areas stretches.

04-30006-02-en, May 2019 Technical


1155
38 Editing Tools
38.26 Gradient Properties

Figure: The three different SpredMethods used with the same StartPoints and EndPoints

A radial gradient has the following properties:


• Focus
Point that defines where the radial gradient starts.
• Center
Center point for the circle (ellipse) that defines where the radial gradient
ends.
• RadiusX
One of the two axes for the circle (ellipse) that define where the radial
gradient ends.
• RadiusY
One of the two axes for the circle (ellipse) that define where the radial
gradient ends.
Example: An ellipse, created with one of the standard circular gradient patterns
from the Fill Gradient palette:

Technical 04-30006-02-en, May 2019


1156
38 Editing Tools
38.26 Gradient Properties

Figure: A radial gradient with an off-center focus, suggesting light from upper-left

The SpreadMethod for a radial gradient is always “Pad”.


The colors at the StartPoint and EndPoint of a gradient (linear or radial) are
specified in two GradientStop objects, belonging to the “parent” LinearGradient
or RadialGradient object.
The GradientStop objects also have an Offset, which modifies where the
gradient starts and stops. If the values are 0 and 1, the StartPoint and EndPoint
are not modified.
Example: A rectangle with two different pairs of settings for the GradientStop:

04-30006-02-en, May 2019 Technical


1157
38 Editing Tools
38.26 Gradient Properties

Figure: A linear gradient, in the lower case modified by the GradientStop Offsets

Gradients and gradient stops can be used in more complex ways.


For example, you can add more GradientStops to a Linear/RadialGradient to
make the color change at each Offset distance. Below is an example with three
GradientStops.
We use a square, 400x400, in which we want the gradients to run roughly in a
diagonal direction, but described only within the inner part of the square. By
setting the StartPoint to (0.2, 0.4) and the EndPoint to (0.7, 0.9), the gradients will
run from the coordinates (180, 260) to (380, 460).

Technical 04-30006-02-en, May 2019


1158
38 Editing Tools
38.26 Gradient Properties

Figure: A square with a limited linear gradient, three gradient stops, and two
"preadMethod" areas outside the linear gradient definition.

The three GradientStops have the following properties:


• Color 1 (green), Offset=0.1
• Color 2 (none), Offset=0.3
• Color 3 (blue), Offset=0.7
The area between Offset=0 and Offset=0.1 is padded with Color 1 (green).
The area between Offset=0.1 and Offset=0.3 gradually changes from Color 1
(green) to Color 2 (transparent).
The area between Offset=0.3 and Offset=0.7 gradually changes from Color 2
(transparent) to Color 3 (blue).
The area between Offset=0.7 and Offset=1 is padded with Color 3 (blue).
The two areas outside the LinearGradient definition use the same
SpreadMethod, in this case Repeat, but Pad or Reflect could also have been
used. With Repeat, the pattern is repeated according to the defined gradient.
With Reflect, the pattern would have been mirrored, and with Pad the outermost
colors (here 1 and 3) would have been extended.

NOTICE
• You have to add the GradientStops to the Objects pane in a strictly
ascending Offset order (0 to 1), otherwise the result is undefined.
• When you add a GradientStop to the list, its Color and Offset are undefined,
which means that the associated object are transparent until the parameters
have been set.

04-30006-02-en, May 2019 Technical


1159
38 Editing Tools
38.27 Adding a Linear Gradient

38.27 Adding a Linear Gradient


You add a linear gradient to give an object a smooth, varying hue from one point
to another.
For more information, see section 38.25 “Gradients” on page 1154.

To add a linear gradient


1. In Graphics Editor, in the work area, select the object on which to apply the
gradient.
2. On the Options toolbar, expand Fill to open the Color/Gradient palette.
3. Click the Gradient tab.
4. Click the box with the gradient you want to use.
In the Objects pane, a LinearGradient element and two or more GradientStop
elements are added to the object.

Technical 04-30006-02-en, May 2019


1160
38 Editing Tools
38.28 Adjusting a Linear Gradient

38.28 Adjusting a Linear Gradient


You adjust a linear gradient to customize it.
For more information, see section 38.25 “Gradients” on page 1154.

To adjust a linear gradient


1. In Graphics Editor, in the work area, select the object with the linear
gradient you want to adjust.
2. In the Objects pane, locate the object.
3. Expand the object elements to display the LinearGradient element with its
GradientStops.
4. Select the LinearGradient element.
5. To change the gradient target (the area or the stroke), in the Target area, in
the Attribute box, switch between Fill and Stroke
Stroke.
6. To change the gradient start and end points (also indicating the gradient
direction), in the Position area, in the StartPoint or EndPoint box, type x
and y-coordinates between (0,0), (0,1), (1,0) and (1,1). If the gradient is
positioned well within the square outlined above, the areas “outside” the
start and end points can be filled by one of three spread methods.
7. To change the gradient spread method, in the Behavior area, in the
SpreadMethod box, switch between Pad (extending the end colors),
Reflect (mirroring the gradient in the Start/End points), and Repeat
(repeating the gradient as far as the “outside” area stretches).
8. To change any of the gradient colors (the “start” and “stop” colors), in the
Appearance area, in the Color box, click a color in the Color palette, or
type a hexadecimal color code.
9. To change the offset (where the “start” and “stop” colors will be positioned,
relative to the LinearGradient Start/End points), in the Position area, in the
Offset box, type a value between 0 and 1.

04-30006-02-en, May 2019 Technical


1161
38 Editing Tools
38.29 Adding a Radial Gradient

38.29 Adding a Radial Gradient


You add a radial gradient to give an object a smooth, varying hue from a center
point to the periphery.
For more information, see section 38.25 “Gradients” on page 1154.

To add a radial gradient


1. In Graphics Editor, in the work area, select the object to which you want to
add the radial gradient.
2. On the Options toolbar, expand Fill to open the Color/Gradient palette.
3. Click the Gradient tab.
4. Click the radial gradient you want to use.
In the Objects pane, a RadialGradient element with two or more GradientStops
are added to the object.

Technical 04-30006-02-en, May 2019


1162
38 Editing Tools
38.30 Adjusting a Radial Gradient

38.30 Adjusting a Radial Gradient


You adjust a radial gradient to suit current requirements.
For more information, see section 38.25 “Gradients” on page 1154.

To adjust a radial gradient


1. In Grahics Editor, in the work area, select the object with the radial gradient
that has to be adjusted.
2. In the Objects pane, locate the object.
3. Expand the object elements to display the RadialGradient element with its
GradientStops
GradientStops.
4. Select the RadialGradient element.
5. To change the gradient target (the area or the stroke), in the Target area, in
the Attribute box, switch between Fill and Stroke
Stroke.
6. To change the gradient focus (the beginning of the radial gradient), in the
Position area, in the Focus box, type x and y-coordinates between (0,0)
and (1,1). To change how far the gradient will reach (a kind of gradient end
point periphery), a circle or ellipse is used.
7. In the Position area, click the periphery ellipse Center
Center, and type x and y-
coordinates between (0,0) and (1,1).
8. In the Position area, complete the circle/ellipse by selecting RadiusX or
RadiusY
RadiusY, and type values between 0 and 1 to define the reach of the
periphery.
9. To change any of the gradient colors (the “start” and “stop” colors), in the
Appearance area, in the Color box, click a color in the Color palette, or
type the a hexadecimal color code.
10. To change the offset (where the “start” and “stop” colors will be positioned,
relative to the RadialGradient focal point), in the Position area, in the Offset
box, type a value between 0 and 1.

04-30006-02-en, May 2019 Technical


1163
38 Editing Tools
38.31 Animations

38.31 Animations
You can add animations to a graphic object to create an illusion of movement.
You can add animations to, for example, lines curves and rectangles. You can
also add animations to transformations of objects, for example rotate, scale,
translate and others. You can add the Animate property by adding it to the
object you want to animate in the Objects pane.
The Animate element has a Target attribute, that is, the property in the parent
object that you want the animation to change. For example, the Target attribute
can be Visibility. The Boundary attribute of the Animate element decides how the
Target attribute is affected. For example, a visible element can be hidden. The
Behavior attribute of the Animate element decides how the parent element of the
Animate element will go from visible to hidden. For example, Linear, in which
case the parent element softly goes from visible to hidden. You select attribute
from a drop-down list in the attribute box. Only relevant attributes are available in
the list.
Two examples:
When you add an Animate element to a rectangle, you can animate a whole
number of rectangle properties:

Figure: Rectangle properties

When you add an Animate element to a Rotate element, you can only animate
the rotation angle and center properties:

Technical 04-30006-02-en, May 2019


1164
38 Editing Tools
38.31 Animations

Figure: Rotation properties

The remaining Animate properties are used as follows:


• Animation
Start or Stop the dynamic behavior.
• AutoReverse
If True, the animation runs backwards at the end of the forward motion. If
False, there is no backwards run at the end of the forward motion.
• CalcMode
If Discrete, the animation switches between the From and To Boundaries. If
Linear, the animation progresses smoothly between the same Boundaries.
Use discrete animations for:
– Binary values (for example true/false, hidden/visible)
– Enumerations (0, 1, 2)
– Switching between two colors
– Changing properties for a text (for example, Font, Size, Bold, or Italic)
– Changing the size (height and width) of a shape
– Options (for example, alignment and visibility)
Use linear animations to:
– Change properties that are numbers (double, analog values) to
smoothly change the size
– Position a shape
– Set the angle of a rotated shape
– Create a smooth blink, using the Visibility properties
– Create smooth rotation animations
• Duration
The time in seconds for one forward animation.
• Freeze
If True, the current animation value is saved when the dynamic mode is
exited. If False, the value is reset.

04-30006-02-en, May 2019 Technical


1165
38 Editing Tools
38.31 Animations

• Repeat
Either an entered number of runs or Forever, that is, endless repetition.
• Boundary, From and To
The end values for the animated property.

Technical 04-30006-02-en, May 2019


1166
38 Editing Tools
38.32 Adding an Animation

38.32 Adding an Animation


You make an object dynamic by adding an animate element to it.
For more information, see section 38.31 “Animations” on page 1164.

To add an animation
1. In Graphics Editor, in the work area, select the object you want to animate.
2. In the Objects pane, right-click the object, click New
New, and then click
Animate
Animate.
3. In the Properties pane, under Target
Target, in the Attribute box, enter the
property that you want the animation to affect.
4. In the Behavior field, in the Animation box, click Start to be able to specify
what is to start the animation.
5. In the Properties pane, add other attributes to control how the attribute is to
behave.
6. In the Objects pane, right-click the Animate element, point to New
New, and
then click Bind
Bind.
7. In the Objects pane, right-click the Bind element, point to New
New, and then
click a converter or another property that controls what the animation is to
change.
You can now bind the animation to an actual signal in WorkStation.

04-30006-02-en, May 2019 Technical


1167
38 Editing Tools
38.33 Paths

38.33 Paths
When you create a path of one or several objects, you create a copy in the form
of a path, where the original objects have been dissolved and replaced with
corresponding lines and fills. For example, a rectangle dissolves into a path of
four connected strokes.
By creating a path, the number of objects is reduced to one. That is, the
resulting path.
The advantage of using a path is that it speeds up the drawing of the object,
which can be important when using animations.
The original objects remain unchanged and can be deleted, if required.

Technical 04-30006-02-en, May 2019


1168
38 Editing Tools
38.34 Creating a Text Path

38.34 Creating a Text Path


You create a text path to protect the text so that it cannot be manipulated and to
be able to use effects like gradients on the text. When you creat a text path, the
text in reality becomes a curve.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

To create text path


1. In Graphics Editor, on the Options toolbar set the Fill
Fill, Stroke
Stroke, Style
Style, and
Width properties for the text path you are going to create.

2. On the Drawing toolbar, click Text or Textbox .


3. In the work area, click the general area where you want to position the text
path and write the text.
4. Right-click the text or textbox object and click Create Path
Path.
The characters are transformed to curve paths, with the appearance you
specified in the first step. You can edit the appearance.

NOTICE
• The original text remains untouched, but can be moved or deleteed.

04-30006-02-en, May 2019 Technical


1169
38 Editing Tools
38.35 Editing a Text Path

38.35 Editing a Text Path


You edit a text path to change its appearance or other properties. The text path
is in fact a curve and can be modified like any other curve, but you can no
longer edit the text itself.
For more information, see section 35.23 “Texts and Textboxes” on page 1084.

To edit a text path


1. In Graphics Editor, in the work area, select the text path.

2. In the Properties pane, edit the properties (Fill, Opacity, Stroke,


StrokeDashArray, StrokeWidth, or Visibility).
3. Double-click the path and drag the vertices to change the shape of the
path.

4. Click outside the textpath to clear the selection.

Technical 04-30006-02-en, May 2019


1170
38 Editing Tools
38.36 Grid

38.36 Grid
A grid is a Graphics Editor feature that can be of assistance when you draw and
position graphic figures in a graphic. Graphic figures can be made to snap
(attach) to the grid intersection points, which always align with the logical pixels.
A grid is a Graphics Editor feature that can be of assistance when you draw and
position graphic figures in a graphic. Graphic figures can be made to snap
(attach) to the grid intersection points, which always align with the logical pixels.
There are two kinds of pixels:
• Logical pixels
• Screen pixels
The logical pixel is the unit of measurement in the graphic. Figure coordinates,
stroke width, and so on, are all based on pixels. Although a line with Stroke width
1.0 px will look different (use few or many screen pixels) depending on the zoom
level, the line will always have the width of 1.0 logical pixel.
The width of the grid lines can be set to: 1, 2, 5, 10, or 20 logical pixels.
The screen pixel is the smallest possible detail on a screen and its physical size
depends on the screen resolution.
When you zoom out of a graphic, the grid pattern eventually becomes cluttered.
In this case, the grid lines are removed so that the distance between two grid
lines never gets shorter than five pixels.
You can customize the pixel space between the grid lines. This is useful when
you draw small details.
The grid size is saved in the .tgml document.
When you zoom in on a graphic, additional, lighter grid lines are added to show
the logical 1.0x1.0 pixel grid. This is the grid that is used when you nudge a
figure.

04-30006-02-en, May 2019 Technical


1171
38 Editing Tools
38.37 Showing/Hiding the Grid

38.37 Showing/Hiding the Grid


You show the grid to get assistance when you position objects in the work area.

NOTICE
• By default, the grid is hidden.
• Even if the grid is hidden, Snap to grid can be active.

For more information, see section 38.36 “Grid” on page 1171.

To show/hide the grid

1. In Graphics Editor, on the Drawing toolbar, click Show grid/Hide grid .

NOTICE
• Show Grid has a drop-down menu where you set the grid distance to 1,
2, 5, 10, or 20 pixels.

Show grid toggles between showing and hiding the grid.

Technical 04-30006-02-en, May 2019


1172
38 Editing Tools
38.38 Switching on/off Snap to Grid

38.38 Switching on/off Snap to Grid


You use Snap to Grid to get a certain degree of alignment in a design.
For more information, see section 38.36 “Grid” on page 1171.

To switch on/off Snap to Grid

1. In Graphics Editor, on the Drawing toolbar, click Snap to Grid .

NOTICE
• You can snap to the grid even when the grid is hidden.

Snap to Grid toggles between switching on and switching off the Snap to Grid.

04-30006-02-en, May 2019 Technical


1173
38 Editing Tools
38.39 Nudging an Object

38.39 Nudging an Object


You nudge an object to make a small adjustment to its position.
For more information, see section 38.36 “Grid” on page 1171.

To nudge an object
1. In Graphics Editor, in the work area, select the object you want to nudge.
2. If Snap to Grid is active, press ALT to temporarily disable the snap function
during the nudging.

3. Use the arrow keys to move the object in the desired direction.
You move the object one pixel each time you press an arrow key.

Technical 04-30006-02-en, May 2019


1174
39 Layers

Topics
Layers
Adding a Layer
Copying a Layer
Deleting a Layer
Renaming a Layer
Selecting a Layer
Hiding a Layer
Controlling the Visibility of a Layer
39 Layers
39.1 Layers

39.1 Layers
When creating complex graphics, it can be a challenge to keep track of all the
graphic figures in the work area. Graphic figures get hidden under one another
and selecting becomes difficult. Layers provide a way to manage the graphic
figures that make up your graphic. Layers can be regarded as folders that
contain graphic figures.
The structure of layers in your document can be as simple or complex as you
want it to be. By default, all graphic figures are organized in a single, root layer.
This layer is named Tgml and you cannot rename it. The Tgml layer is always
visible.
Layers have the same properties as Group elements: Opacity and Visibility. You
can control these layer properties from the Properties pane.

04-30006-02-en, May 2019 Technical


1177
39 Layers
39.1 Layers

Figure: Tgml layer and two additional layers

Technical 04-30006-02-en, May 2019


1178
39 Layers
39.1 Layers

Layers are located on the TGML root level. New layers are added at the top of
the work area (z-order, corresponding to the top of the tree), which means that
the figures in the layer are displayed above (and possibly on top of) figures in
previous layers. For more information, see section 35.1 “Figures” on page 1057.

NOTICE
• To rearrange the order of the layers, you can select a layer in the Layers
pane and click the Move up and Move down buttons to move the layer
upward or downward in the tree.

You manage layers in the Layers pane. From the Layers pane you can create,
select and merge layers. You can also show, hide, duplicate, move, rename and
delete all layers except the Tgml layer. You can copy graphic figures from one
layer to another. To edit a layer and access all its contents, you have to make
sure that the layer is selected. When you select one layer, all other layers
become inaccessible. If you move the layers up or down, you change the
stacking order of the graphic figures in the work area.

Figure: Tgml and two additional layers, the last (Layer 2; topmost) active

The display area of the Layers pane has the following columns:
• Buttons to select the active layer
• Thumbnail, showing the contents of a layer. For Tgml the merged contents
are displayed.
• The name of the layer, which can be edited (except for Tgml)
• Check box to show/hide a layer

04-30006-02-en, May 2019 Technical


1179
39 Layers
39.1 Layers

NOTICE
• You can edit the name in the Name box in the Properties pane.
• You can also edit the name in the tree structure in the Objects pane.
• You can show/hide layers during the design process, but also in run time, for
example, through a signal bound to the Visibility property.

You typically use layers to create a background image, which lies inert during
the remaining design work, or to create layers with information that is to be
displayed only under certain conditions.

Technical 04-30006-02-en, May 2019


1180
39 Layers
39.2 Adding a Layer

39.2 Adding a Layer


You add layers to make it easier to select an individual element or groups of
elements in the work area when you edit the graphic. Layers are especially
useful when you use a background graphic in your work area.
For more information, see section 39.1 “Layers” on page 1177.

To add a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.

2. In the Layers pane, on the Layers toolbar, click the New Layer button .
3. In the layer list, double click the layer name and type the name of the layer.
4. Press Enter
Enter.
5. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1181
39 Layers
39.3 Copying a Layer

39.3 Copying a Layer


You copy a layer to reuse it.
For more information, see section 39.1 “Layers” on page 1177.

To copy a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.
2. In the Layers pane, right click the layer you want to copy and then click
Duplicate
Duplicate.

NOTICE
• The Tgml layer cannot be copied.

In the Layers pane, the new layer is displayed at the bottom of the list with
content identical to the content of the original layer. The new layer is
automatically named Copy of [name of the original layer]. For example, Copy of
Text layer.

Technical 04-30006-02-en, May 2019


1182
39 Layers
39.4 Deleting a Layer

39.4 Deleting a Layer


You delete a layer and all its contents if you no longer need it.
For more information, see section 39.1 “Layers” on page 1177.

To delete a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.
2. In the Layers pane, right-click the layer you want to delete and then click
Delete
Delete.

NOTICE
• The inherent Tgml layer cannot be removed. Objects, components and
groups in this layer are contents of the root level of the Tgml object.

The selected layer is deleted from the layers list, and all its contents is removed
from the work area.

04-30006-02-en, May 2019 Technical


1183
39 Layers
39.5 Renaming a Layer

39.5 Renaming a Layer


You can rename layers to make them easier to identify.
For more information, see section 39.1 “Layers” on page 1177.

To rename a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.
2. In the Layers pane, click the layer name and then type a new name.

Technical 04-30006-02-en, May 2019


1184
39 Layers
39.6 Selecting a Layer

39.6 Selecting a Layer


You select a layer to perform an operation on it. You can only select and edit one
layer at a time.
For more information, see section 39.1 “Layers” on page 1177.

To select a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.
2. In the Layers pane, select the option button for the layer you want to edit.

NOTICE
• When you have selected a layer, all other layers will automatically be
made inaccessible.

04-30006-02-en, May 2019 Technical


1185
39 Layers
39.7 Hiding a Layer

39.7 Hiding a Layer


You hide a layer to change the visibility property for the layer, and all its
contents.
For more information, see section 39.1 “Layers” on page 1177.

To hide a layer
1. In Graphics Editor, on the View menu, click Layers
Layers.
2. In the Layers pane, clear the box in the eye icon column for the layer you
want to hide.

NOTICE
• Selecting the box in the eye icon column displays the layer.
• It is not possible to hide the Tgml layer.

Technical 04-30006-02-en, May 2019


1186
39 Layers
39.8 Controlling the Visibility of a Layer

39.8 Controlling the Visibility of a Layer


You control the visibility of a layer in a graphic by binding a signal to the
Visibility property, or by using a JavaScript.
For more information, see section 39.1 “Layers” on page 1177.

To control the visibility of a layer


1. In Graphics Editor, in the Objects pane, select the layer that you want to
control with a signal.
2. Right-click, point to New
New, and then click Bind
Bind.
3. In the Properties pane, under General
General, in the Name box, enter a layer
name and add “.Value”.
4. Right-click the Bind element and add two ConvertValue elements.
5. For the first ConvertValue element, in the Properties pane, under Behavior
Behavior,
in the AtributeValue box, type Hidden
Hidden.
6. For the first ConvertValue element, in the Properties pane, under Behavior
Behavior,
in the SignalLessOrEqualTo box, enter “0”.
7. For the second ConvertValue element, in the Properties pane, under
Behavior
Behavior, in the AtributeValue box, type Visible
Visible.
8. For the second ConvertValue element, in the Properties pane, under
Behavior
Behavior, in the SignalMoreOrEqualTo box, enter “1”.
The visibility of the layer in the graphic can now be controlled by the signal
values 0 and 1, bound to [Layer name].Value
name].Value.

04-30006-02-en, May 2019 Technical


1187
40 Groups

Topics
Groups
Grouping Multiple Objects
Ungrouping Objects
Selecting an Object
Selecting Multiple Objects
Selecting All Objects
Clearing the Selection of Multiple Objects
Selecting a Group
Selecting an Object Within a Group
40 Groups
40.1 Groups

40.1 Groups
A group is when two or more objects or components are joined together as one
entity. You can group both graphical objects, such as figures, or non-graphical
objects, such as metadata. Groups can have nested groups, that is, groups
within the group.
The purpose of grouping objects is to make it possible to perform an operation
on them all simultaneously. When you have selected a group, you can move,
copy, and zoom in on the objects of the group in one single command.
Once you have grouped objects, you cannot select individual objects within the
group from the work area. You can still select one or several objects of the group
from the Objects pane. The objects are then indicated as selected members of
the group.
This can be useful, for example, if you want to see on which objects a specific
element operates. The selected object is then indicated as a selected member
of the group in the work area as well.
When you select one or more individual objects of a group, the selected object
or objects are displayed with inverted text in the Objects pane, and are selected
as Group member in the work area.

NOTICE
• A Group member selection is displayed in the work area as green dashed
rectangle(s), enclosing the object(s).

Figure: An individual member of a group has been selected. The group member selection
is indicated with a green rectangle in the work area

You can add objects that do not belong to the group to a selection by pressing
CTRL and clicking in the Objects pane.

04-30006-02-en, May 2019 Technical


1191
40 Groups
40.1 Groups

Figure: A single curve is added to the selection. The ellipse is still surrounded by the green
rectangle, but now the group, which is the primary selection, is surrounded by a blue
rectangle

The usage of selection indicators in the work area, when you have selected one
or several objects, can be summarized as follows.
• Primary selection is indicated with a dashed blue rectangle enclosing the
object (which can also be a group)
• Group member selection is indicated with a dashed green rectangle
enclosing the individual object
You have to select an object before editing it. There are several ways to select
an object. You can select objects individually or simultaneously by clicking them
or by drawing a marquee around them.
When you select two or more objects, one of them is regarded as the primary
selection. The primary selection is displayed surrounded with a blue, dashed
rectangle in the work area.
You can select two or more objects to align them. All the selected objects are
aligned with the “primary selection” object. For more information, see section
38.4 “Aligning Objects” on page 1133.

Table: Summary of Selection Methods


Selection method Primary Selection Group Member Selection

Press CTRL and click in the Last selected object (group N/A
work area is also an object)

Selection box in the work Of the selected objects: the N/A


area topmost (z-order) in the tree
(group is also an object)

Press CTRL and click non- First selected object (group N/A
grouped objects or groups is also an object)
in the Objects pane

Press CTRL and click N/A Each individually selected


members of a group in the object in the group
Objects pane

Technical 04-30006-02-en, May 2019


1192
40 Groups
40.1 Groups

Continued
Selection method Primary Selection Group Member Selection

Press CTRL and click child N/A Parent object


elements of members of a
group in the Objects pane

Press CTRL and click non- First selected (group is also Each individually selected
grouped objects and an object) object in the group
members of a group in the
Objects pane (‘Mixed
selection’)

04-30006-02-en, May 2019 Technical


1193
40 Groups
40.2 Grouping Multiple Objects

40.2 Grouping Multiple Objects


You group objects to be able to perform an operation on them all
simultaneously.

To group multiple objects


1. In Graphics Editor, in the work area, select the objects you want to include
in the group.
2. On the Options toobar, click Group
Group.
The selected objects are now grouped and enclosed by the selection rectangle.

Technical 04-30006-02-en, May 2019


1194
40 Groups
40.3 Ungrouping Objects

40.3 Ungrouping Objects


You ungroup objects to be able to perform operations on them individually.
Nested groups are unfolded in the reverse order.

To ungroup objects
1. In Graphics Editor, in the work area, select the group you want to ungroup.
2. On the Options toolbar, click Ungroup
Ungroup.
The selected objects are now ungrouped. The selection rectangle still encloses
all the objects, but the objects also have separate selection indicators. All
selections are cleared when you click outside the objects.

04-30006-02-en, May 2019 Technical


1195
40 Groups
40.4 Selecting an Object

40.4 Selecting an Object


You can select a single object to perform an operation only on that object.
For more information, see section 40.1 “Groups” on page 1191.

To select an object
1. In Graphics Editor, in the work area, click the border or fill of the object you
want to select.

NOTICE
• When an object is selected in the work area, it is highlighted in the Objects
pane tree structure.The opposite also applies: when you click an object in
the Objects pane, the corresponding object is selected in the work area.

Technical 04-30006-02-en, May 2019


1196
40 Groups
40.5 Selecting Multiple Objects

40.5 Selecting Multiple Objects


You select multiple objects to perform an operation on them all simultaneously.
For more information, see section 40.1 “Groups” on page 1191.

To select multiple objects


1. In Graphics Editor, on the Drawing toolbar, click Select
Select.
2. Press CTRL while clicking the border or fill of all the objects you want to
include in the selection.
The last selected object is the primary selection.

NOTICE
• You can add or remove objects by pressing CTRL while clicking the objects.
Clicking the same object toggles between select and clear.

04-30006-02-en, May 2019 Technical


1197
40 Groups
40.6 Selecting All Objects

40.6 Selecting All Objects


You select all objects to perform an operation on them all simultaneously. This
command selects all objects including invisible objects.
For more information, see section 40.1 “Groups” on page 1191.

To select all objects


1. In Graphics Editor, click anywhere in the work area and press CTRL+A.

The last selected object is the primary selection.

Technical 04-30006-02-en, May 2019


1198
40 Groups
40.7 Clearing the Selection of Multiple Objects

40.7 Clearing the Selection of Multiple


Objects
You clear the selection of objects when you have completed an operation on
them.
For more information, see section 40.1 “Groups” on page 1191.

To clear the selection of multiple objects


1. In Graphics Editor, in the work area, press CTRL+D.
The selection of all objects in the drawing are cleared.

04-30006-02-en, May 2019 Technical


1199
40 Groups
40.8 Selecting a Group

40.8 Selecting a Group


You select an entire group of objects to perform an operation on the group and
all objects within the group simultaneously.
For more information, see section 40.1 “Groups” on page 1191.

To select a group
1. In Graphics Editor, in the work area, click the border, or any filled part, of
any of the objects in the group.

Technical 04-30006-02-en, May 2019


1200
40 Groups
40.9 Selecting an Object Within a Group

40.9 Selecting an Object Within a Group


You select individual members within a group to perform an operation only on
the selected objects.
For more information, see section 40.1 “Groups” on page 1191.

To select an object within a group


1. In Graphics Editor, in the Objects pane, click the object you want to select
within the group.
The entire group as well as each individually selected object are selected in the
work area. Any operation you perform only affects the individually selected
objects, not the entire group.

04-30006-02-en, May 2019 Technical


1201
41 Components and Snippets

Topics
Components
Component Design
Documenting and Saving a Component
Inhibiting Clipping
Controlling the Appearance of the Component
Grouping Drawing Objects as a Component
Adding a Component
Creating a New Component
Editing a Component
Saving as a Component
Snippets
Adding a Snippet
Saving as a Snippet
41 Components and Snippets
41.1 Components

41.1 Components
Components are standardized, predefined graphics for defined use.
All drawn objects are either graphics, that is, free-form drawings or components.
A component contains one or several graphic figures. It can also have
predefined functionality. Components typically represent a feature or a
component in a live system. Components can be designed as symbols, which
can be used as building blocks in graphics. Components are located in
dedicated libraries and are displayed in the Components pane. An analog
gauge is an example of a component.

41.1.1 Component Design


You create a component to make, for example, a symbol or a well-defined
function available for future reuse.
For more information, see section 41.2 “Component Design” on page 1207.

41.1.2 Categories
Standard components and functions are categorized in logical groups.
For more information, see section 42.1 “Categories” on page 1223.

41.1.3 Snippets
Snippets are standardized, predefined functions for defined use.
For more information, see section 41.11 “Snippets” on page 1218.

41.1.4 Attributes
Each element in the Objects pane has a number of properties. The Graphics
Editor element properties are referred to as attributes, in compliance with XML
standards. The attributes are displayed in the Properties pane, where they can
be edited. Attributes are used to give a complete description of a graphic
element. Most of the attributes are automatically defined when the graphic
element is created. By changing the attributes, you can change, for example,
the appearance and behavior of a graphic element.
For more information, see section 36.1 “Attributes” on page 1097.

41.1.5 Binds and Links


A dynamic graphic object can be bound to, and thus controlled by, EcoStruxure
BMS server variables (signals). When the signal changes the behavior or
appearance of the object changes dynamically.
For more information, see section 37.1 “Binds and Links” on page 1115.

04-30006-02-en, May 2019 Technical


1205
41 Components and Snippets
41.1 Components

41.1.6 Graphics Editing Tools


You can edit all graphic objects, that is, modify their properties. For example,
shape, size, and color.
For more information, see section 38.1 “Graphics Editing Tools” on page 1127.

Technical 04-30006-02-en, May 2019


1206
41 Components and Snippets
41.2 Component Design

41.2 Component Design


You create a component to make, for example, a symbol or a well-defined
function available for future reuse.

41.2.1 The Design Process


You can create a component in two ways:
• Compose your graphics and group the elements as a Component. You then
save the component in a category in the Components pane, or
• Open the component editor, draw your component and save it in a
components category.

NOTICE
• When a component is edited in the components editor, the root element is
called ComponentContent. The element has two metadata elements that
contain the name of the component and the description. These elements are
not present when the component is used in a graphic.

41.2.2 Component Documentation and Saving


To make a component easy to understand and use, you add a description
including all or parts of the following:
• A descriptive name
• A short, comprehensive description of the function
• Notes on the usage
• Exposed properties
• Links or Bindings, if any
You type the information in the Properties dialog box when saving the
component.

04-30006-02-en, May 2019 Technical


1207
41 Components and Snippets
41.2 Component Design

Figure: Component properties

You can edit the name and description of a component in the Component library
by editing the properties of the component.

NOTICE
To get a new line in the description, press CTRL+ENTER. Pressing ENTER
alone has the same effect as clicking OK
OK.

Technical 04-30006-02-en, May 2019


1208
41 Components and Snippets
41.3 Documenting and Saving a Component

41.3 Documenting and Saving a Component


You enter a description to document a component.

NOTICE
• To make your components useful to others, you can document and save
them in a standardized way.

For more information, see section 41.2 “Component Design” on page 1207.

To document and save a component


1. In Graphics Editor, on the File menu, point to Save As and then click
Component
Component.
2. Select the category in which you want to save the component.
3. Click OK
OK.
4. In the Name box, type the name of the component.
5. In the Description box, type a description using this structure:
Short description of the function.
Special notes, if any
==Bindings==, or ==Links==
Name of Binding/Link: Explanation of signal
==Exposed Properties==
Name of Property: Explanation of property
6. Click OK
OK.
The component is now saved in the selected category and can be used in other
graphics.

04-30006-02-en, May 2019 Technical


1209
41 Components and Snippets
41.4 Inhibiting Clipping

41.4 Inhibiting Clipping


You inhibit clipping to prevent borders of a component from partly disappearing
when the component is used in a larger graphic.
For more information, see section 41.2 “Component Design” on page 1207.

To inhibit clipping
1. In Graphics Editor, in the Objects pane, select ComponentContent
ComponentContent.
2. In the Properties pane, right-click in any input field, and then click Add
Add.
3. In the Add a Custom Attribute dialog box, in the Attribute box, type 'Clip. In
the Value box, type 'False'.
4. Click OK
OK.
In the Properties pane, the Content attribute has been added and its Clip
property is set to False
False.

Technical 04-30006-02-en, May 2019


1210
41 Components and Snippets
41.5 Controlling the Appearance of the Component

41.5 Controlling the Appearance of the


Component
You use the Bind object to control the appearance of a component.

NOTICE
• You only bind an exposed property.
• You can also use the Control element to control the appearance of a
component.

For more information, see section 36.6 “Exposed Attributes” on page 1108.

To control the appearance of a component


1. In Graphics Editor, in the Objects pane, right-click the element you want
the Bind element to control, point to New, and then click Bind
Bind.
2. In the Objects pane, right-click the bind element, point to New, and then
click the required number of Convert elements.
3. In the Properties pane, set the behavior for the Convert element.
4. On the View menu, click Test to open the Test pane.
5. Click Preview
Preview.
6. In the Test pane, test the behavior by entering test values.
By using Inherit, Expose and Bind, you can design a standardized component
whose appearance is easily controlled by an external signal.

04-30006-02-en, May 2019 Technical


1211
41 Components and Snippets
41.6 Grouping Drawing Objects as a Component

41.6 Grouping Drawing Objects as a


Component
You group multiple drawing objects within a graphic as a component for bind
naming and graphics design efficiency. In order to save your work to a
components library for reuse, the drawing elements must be grouped as a
component.

To group drawing objects as a component


1. In Graphics Editor, in the Layers pane, select the layer that contains the
drawing objects you want to group.
2. On the work area, select all drawing objects that you want to group as a
component.
3. Right-click the selected objects, point to Group as
as, and then click
Component
Component.
4. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1212
41 Components and Snippets
41.7 Adding a Component

41.7 Adding a Component


You add components to the graphic instead of drawing all the drawing objects
yourself to simplify the graphics creation process.
For more information, see section 41.1 “Components” on page 1205.

To add a component
1. In Graphics Editor, in the Layers pane, select the layer where you want to
add the component.
2. In the Components pane, click the component category tab that contains
the component you want to use.
3. Select the component you want to add.

4. Drag the component to the work area.


Continued on next page

04-30006-02-en, May 2019 Technical


1213
41 Components and Snippets
41.7 Adding a Component

5. In the Properties pane, in the Name box, type the name of the component.

NOTICE
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.

6. On the Options toolbar or in the Properties pane, adjust the appearance of


the component.
7. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1214
41 Components and Snippets
41.8 Creating a New Component

41.8 Creating a New Component


You create a new component when you want to create a design that represents
a feature or a component in a live system and want this design to be available
for reuse. The component can be, for example, a button or a representation of a
fan.
For more information, see section 41.1 “Components” on page 1205.

To create a new component


1. In Graphics Editor, on the File menu, point to New and then click
Component
Component.
2. In the work area, design the appearance of the component.
3. On the File menu, point to Save As and then click Component
Component.
4. In the Components tree, select the category where you want to save the
component.
5. Click OK
OK.
6. In the Properties pange, in the Name box, type the name of the component.
7. In the Description box, type a description for the component. The
description is displayed as a ToolTip for the component in the Components
pane.
8. In the Height and Width boxes, enter the size the component gets when
used in a drawing.
9. Click OK
OK.

NOTICE
• When you create a new component, a work area opens and a
ComponentContent root element appears in the Objects pane.

The name you give the component is also the file name the component gets
when saved (with the suffix .tgmlcomponent). The new component is now
displayed in the selected category in the Components pane, and is ready to use
in other graphics.

04-30006-02-en, May 2019 Technical


1215
41 Components and Snippets
41.9 Editing a Component

41.9 Editing a Component


You edit a component when you have an original component and want to reuse
a number of its properties. You then save the edited version under a different
name or in a different category.
For more information, see section 41.2 “Component Design” on page 1207.

To edit a component
1. In Graphics Editor, in the Components pane, select the category
containing the component you want to edit.
2. Right-click the component and click Edit
Edit.
3. In the Components work area, edit the component.
4. On the File menu, point to Save As and click Component
Component.
5. Select the category where you want to save the edited component.
6. Click OK
OK.
7. In the Properties dialog box, in the Name box, type the name of the
component.
8. In the Description box, type a description to make the component easier to
identify.
9. In the Height and Width boxes, enter the size of the component.
10. Click OK
OK.
The edited component is saved in the selected category and under the
specified name.

Technical 04-30006-02-en, May 2019


1216
41 Components and Snippets
41.10 Saving as a Component

41.10 Saving as a Component


You save your components in the Components library so that they are available
for future use.
For more information, see section 41.1 “Components” on page 1205.

To save as a component
1. In Graphics Editor, on the work area, select the component you want to
save to highlight it in the Objects pane.
2. From the Objects pane, drag the component to the components category
that you want to add the component to.

NOTICE
You have to drag the component from the Objects pane. You can not
drag the component from the work area.

3. In the Properties dialog box, in the Name box, type the name you want to
display in the components category.
4. In the Description box, type the description you want to display as the
tooltip in the components category.
5. In the Height box, type the height you want the component to have when it
is added to the work area.
6. In the Width box, type the width you want the component to have when it is
added to the work area.
7. Select Use default scale (0x0) to give the component the default size when
it is added to the work area.
8. Click OK
OK.
The component is now saved in the Components library for use in the current
graphic and future graphics.

04-30006-02-en, May 2019 Technical


1217
41 Components and Snippets
41.11 Snippets

41.11 Snippets
Snippets are standardized, predefined functions for defined use.
Snippets typically represents a feature in a live system. Snippets are located in
dedicated libraries and are displayed in the Snippets pane. Blink, which starts
and stops a blink animation, is an example of a snippet.
By default, Graphics Editor uses two dedicated folders, containing subfolders,
for Components and Snippets. The folders are installed with the software. If your
computer runs on Windows 7, Windows 8.1, or Windows 10, the components
and snippets folders have the following paths:
C:\Users\[User name]\Documents\StruxureWare\Graphics Editor\Components
or Snippets\
The subfolders are displayed as categories in the Components and Snippets
panes.
Libraries can be located anywhere on the local disk.
You can show and hide categories from a selected library. You can add
categories.

Technical 04-30006-02-en, May 2019


1218
41 Components and Snippets
41.12 Adding a Snippet

41.12 Adding a Snippet


You add snippets to a graphic to add pre-programmed behaviors, such as
colors changing according to the state of a point or numerically displayed
values.

To add a Snippet
1. In Graphics Editor, in the Layers pane, select the layer where you want to
add the snippet.
2. In the Snippets pane, select the snippet category tab that contains the
snippet you want to use.
3. Select the snippet you want to add to the graphic.
4. Drag the snippet to the work area or to a drawing object.
5. On the Drawing toolbar, click Select
Select.
6. On the Options toolbar or in the Properties pane, adjust the appearance of
the snippet.
7. On the File menu, click Save
Save.

04-30006-02-en, May 2019 Technical


1219
41 Components and Snippets
41.13 Saving as a Snippet

41.13 Saving as a Snippet


You save your bind objects as snippets in the Snippets library so that they are
available for future use.

To save as a snippet
1. In Graphics Editor, in the Objects Pane, select the Bind object that you
want to save to the Snippets library.

2. Drag the Bind object to the snippet category that you want to add the
snippet to.
3. In the Properties dialog box, in the Name box, type the name you want to
display in the snippets category.

4. In the Description box, type the description that you want to display as the
ToolTip in the Snippets category.
5. Click Ok
Ok.
The snippet is now saved in the Snippets library for use in the current graphic
and future graphics.

Technical 04-30006-02-en, May 2019


1220
42 Categories

Topics
Categories
Creating a Category
Selecting a Category
Renaming a Category
Hiding a Category
Displaying a Hidden Category
Importing a Components Category
Importing a Snippets Category
Exporting a Category
Deleting a Category
42 Categories
42.1 Categories

42.1 Categories
Standard components and functions are categorized in logical groups.
The following groups are delivered with Graphics Editor:
• Basic Controls
Control and sensor devices and buttons of different kinds.
• DIN Symbols (EN)
English standard ISO symbols
• ISO Symbols
Standard ISO symbols
• My Components
An empty folder where you can save components you want to make
available for reuse.
• Basic Functions
Functions of different kinds.
• My Snippets
An empty folder where you can save functions you want to make available
for reuse.
For more information, see section 46.13 “Components Pane” on page 1292.

NOTICE
• The categories listed above are read-only, and cannot be deleted.

The different categories are displayed as bars in the Components and Snippets
panes. You can hide unused categories.
You can display hidden categories, or categories that reside in other libraries, in
the Components pane.
You can store categories of components in other libraries. To make new libraries
accessible from the Components pane, you have to add them to the list of
available libraries.
When you import or export categories of components, or create new categories,
the default library is used. You can set any components library folder as the
default library.

04-30006-02-en, May 2019 Technical


1223
42 Categories
42.2 Creating a Category

42.2 Creating a Category


You create a category when you want to organize your components in the
Components pane or snippets in the Snippets pane.
For more information, see section 42.1 “Categories” on page 1223.

To create a category
1. In Graphics Editor, in the Components pane or in the Snippets pane, right-
click and then click New Category
Category.
2. In the the New Component Category dialog box, type a name for the
category.
3. Click OK
OK.
The new category is displayed as a tab in the Components pane or Snippets
pane.

Technical 04-30006-02-en, May 2019


1224
42 Categories
42.3 Selecting a Category

42.3 Selecting a Category


You select a components or snippets category to display its content in the
Graphics Editor, or before performing an operation on the category.
For more information, see section 42.1 “Categories” on page 1223.

To select a category
1. In Graphics Editor, in the Components pane or in the Snippets pane, click
the tab of the category you want to select.
The content of the selected category is displayed in the pane.

04-30006-02-en, May 2019 Technical


1225
42 Categories
42.4 Renaming a Category

42.4 Renaming a Category


You rename a components or snippets category to better reflect the contents.
For more information, see section 42.1 “Categories” on page 1223.

To rename a category
1. In the Components pane or Snippets pane, select the category you want to
rename.
2. Right-click an empty space in the selected category and then click
Rename Category
Category.
3. In the Rename category dialog box, type a new name for the category.
4. Click OK
OK.
The selected category is displayed with its new name in the Components pane
or Snippets pane.

Technical 04-30006-02-en, May 2019


1226
42 Categories
42.5 Hiding a Category

42.5 Hiding a Category


Hide a components or snippets category when you do not want to display it in
the Components pane or Snippets pane.
For more information, see section 42.1 “Categories” on page 1223.

To hide a category
1. In the Components pane or Snippets pane, click the X to the right on the
specific tab of the category you want to hide.
The selected category disappears from the Components pane or Snippets
pane.

04-30006-02-en, May 2019 Technical


1227
42 Categories
42.6 Displaying a Hidden Category

42.6 Displaying a Hidden Category


You display component or snippet categories that are hidden to make them
available in the component or snippet library for use in Graphics Editor.
For more information, see section 42.1 “Categories” on page 1223.

To display a hidden category


1. In Graphics Editor, in the Components pane or Snippets pane, right-click
and then click Categories
Categories. in the Components pane, right-click and then
click Categories
Categories.
2. On the Components tab, select the category that you want to display.
3. Click Close
Close.

Technical 04-30006-02-en, May 2019


1228
42 Categories
42.7 Importing a Components Category

42.7 Importing a Components Category


You import a components category into the components library to be able to
reuse the components between different EcoStruxure BMS projects.
For more information, see section 42.1 “Categories” on page 1223.

To import a components category


1. In Graphics Editor, in the Components pane, right-click and then click
Import
Import.
2. Select the .tgmlcomponentArchive file that contains the components you
want to import.
3. Click OK
OK.

04-30006-02-en, May 2019 Technical


1229
42 Categories
42.8 Importing a Snippets Category

42.8 Importing a Snippets Category


You import a snippets category into the snippets library to be able to reuse the
snippets between different EcoStruxure BMS projects.
For more information, see section 42.1 “Categories” on page 1223.

To import a snippets category


1. In Graphics Editor, in the Snippets pane, right-click and then click Import
Import.
2. Select the .tgmlsnippetArchive file that contains the snippets you want to
import.
3. Click OK
OK.
The ímported snippets category is displayed as a tab in the Snippets pane.

Technical 04-30006-02-en, May 2019


1230
42 Categories
42.9 Exporting a Category

42.9 Exporting a Category


You export component or snippets categories to create a component archive file
or a snippet archive file, which in turn can be imported into the component or
snippet library of Graphics Editor on other computers.
For more information, see section 41.2 “Component Design” on page 1207.

To export a category
1. In Graphics Editor, right-click anywhere in the Components pane or
Snippets pane and then click Export
Export.
2. Enter the location where you want to save the export file.
3. In the File name box, verify or type a new name for the export file.
4. Click Save
Save.

04-30006-02-en, May 2019 Technical


1231
42 Categories
42.10 Deleting a Category

42.10 Deleting a Category


You delete a components or snippets category when you no longer need it.
For more information, see section 42.1 “Categories” on page 1223.

To delete a category
1. In the Components pane or Snippets pane, select the category you want to
delete.
2. Right-click an empty space in the category and then click Delete Category
Category.
3. Click OK
OK.
The selected category is deleted from the database.

Technical 04-30006-02-en, May 2019


1232
43 Graphic Menus

introduction to this topic

Topics
Graphic Menus
Graphic Menus Workflow
Creating a Menu
Add Objects to a Menu
Adding a Submenu
Removing a Menu Item
43 Graphic Menus
43.1 Graphic Menus

43.1 Graphic Menus


You use a menu in a graphic to navigate from a graphic to other graphics or
objects in the system, for example trend charts or alarms.
You can use submenus to group links and show them in a hierarchical structure.

Figure: A menu in a graphic

The menu can contain all type of objects including submenus. Menus are
created and edited using the Menu Editor.

43.1.1 Graphic Menus Workflow


Use the Graphic menus workflow to create a graphic menu using Menu Editor,
Graphics Editor, and Bindings view.
For more information, see section 43.2 “Graphic Menus Workflow” on page
1236.

04-30006-02-en, May 2019 Technical


1235
43 Graphic Menus
43.2 Graphic Menus Workflow

43.2 Graphic Menus Workflow


Use the Graphic menus workflow to create a graphic menu using Menu Editor,
Graphics Editor, and Bindings view.

Figure: Graphics menu workflow

Create the menu item


Create the menu in the System Tree pane in Workstation.
For more information, see section 43.3 “Creating a Menu” on page 1237.

Edit the menu


Edit the menu using the Menu Editor.
For more information, see section 43.4 “Add Objects to a Menu” on page 1238.

Create a link to the menu in a graphic


Add a link in the graphic using the Graphics Editor so that you can bind the
menu.
For more information, see section 37.3 “Adding a Link” on page 1120.

Bind the link in the graphic to the menu


Bind the menu to the link in the graphic using the Bindings view.
For more information, see section 17.3 “Binding Values Manually” on page 442.

Technical 04-30006-02-en, May 2019


1236
43 Graphic Menus
43.3 Creating a Menu

43.3 Creating a Menu


Create a menu when you want the user to be able to navigate from a graphic.
For more information, see section 43.1 “Graphic Menus” on page 1235.

To create a menu
1. In WorkStation, in the System Tree pane, select the folder or EcoStruxure
BMS server where you want to create the menu.
2. On the File menu, point to New and then click Menu
Menu.
3. In the Create Object wizard, in the Name box, type a name for the menu.
4. In the Description box, type a description for the menu.
5. Click Create
Create.

04-30006-02-en, May 2019 Technical


1237
43 Graphic Menus
43.4 Add Objects to a Menu

43.4 Add Objects to a Menu


You add objects that you want to display in your menu.
For more information, see section 43.1 “Graphic Menus” on page 1235.

To add objects to a menu


1. In WorkStation, in the System Tree pane, click the menu to open Menu
Editor.
2. Drag and drop the object you want to add to the menu from the System
Tree to Menu Editor.
3. On the File menu, click Save
Save.

Technical 04-30006-02-en, May 2019


1238
43 Graphic Menus
43.5 Adding a Submenu

43.5 Adding a Submenu


You add a submenu to make the navigation easier in your menu.
For more information, see section 43.1 “Graphic Menus” on page 1235.

To add a submenu
1. In WorkStation, in the System Tree pane, click the menu to open Menu
Editor.

2. In the Menu Editor, click Add .

04-30006-02-en, May 2019 Technical


1239
43 Graphic Menus
43.6 Removing a Menu Item

43.6 Removing a Menu Item


Remove unwanted menu items from the menu.
For more information, see section 43.1 “Graphic Menus” on page 1235.

To remove a menu item


1. In WorkStation, in the System Tree pane, click the menu to open Menu
Editor.
2. In the Menu Editor, select the menu item you want to remove.

3. Click the Remove button .

Technical 04-30006-02-en, May 2019


1240
44 Appendices

introduction to this topic

Topics
TGML Appendices
TGML Appendix A User-Defined Descriptions of Custom
Attributes
TGML Appendix B TGML View Object
44 Appendices
44.1 TGML Appendices

44.1 TGML Appendices


Additions to the TGML Format Specification.

44.1.1 TGML Appendix A User-Defined


Descriptions of Custom Attributes
In Graphics Editor, when an attribute is selected, a short description of the
element attribute is displayed in the properties pane.
For more information, see section 44.2 “TGML Appendix A User-Defined
Descriptions of Custom Attributes” on page 1244.

44.1.2 TGML Appendix B TGML View Object


Appendix B describes the TGML JavaScript Global Objects, the TGML View
Object, and the TGML Console Object.
For more information, see section 44.3 “TGML Appendix B TGML View Object ”
on page 1245.

04-30006-02-en, May 2019 Technical


1243
44 Appendices
44.2 TGML Appendix A User-Defined Descriptions of Custom Attributes

44.2 TGML Appendix A User-Defined


Descriptions of Custom Attributes
In Graphics Editor, when an attribute is selected, a short description of the
element attribute is displayed in the properties pane.
Custom attributes have no description since the TGML implementation has no
knowledge of the attribute. However, it is possible to use Metadata to add a
description of a custom attribute:

Figure: TGML code containing a user-defined description of a custom attribute. When the
user selects MyAttribute in the Graphics Editor properties pane the desciption is
displayed.

The Name of the Metadata element has to be the same as the attribute name.
Value contains the description.

Technical 04-30006-02-en, May 2019


1244
44 Appendices
44.3 TGML Appendix B TGML View Object

44.3 TGML Appendix B TGML View Object


Appendix B describes the TGML JavaScript Global Objects, the TGML View
Object, and the TGML Console Object.

44.3.1 TGML JavaScript Global Objects


Global object Description

view The view object

Console The console object

44.3.2 TGML View Object


Members Description

document The document object.

width Width in normal pixels.

height Height in normal pixels

zoomLevel Zoom level, a floating point value where


1.0 is no zoom, <1 is zoomed out, >1 is
zoomed in.

touchEnabled Touch device (true/false).

addEventListener(type, listener[, Adds an event listener.


useCapture])
Supported event: ‘resize’. See w3c
standard interface EventTarget.

removeEventListener(type, listener[, Remove an event listener.


useCapture])
Supported event: ‘resize’. See w3c
standard interface EventTarget.

04-30006-02-en, May 2019 Technical


1245
44 Appendices
44.3 TGML Appendix B TGML View Object

Figure: Example 1: The view properties are displayed in a textbox and updated when the
viewer resizes or the zoom level changes.

44.3.3 TGML Console Object


Members Description

info(obj1 [, obj2, ..., objN]) Outputs a message to the Console view.

warn(obj1 [, obj2, ..., objN]) Outputs a message to the Console view.

error(obj1 [, obj2, ..., objN]) Outputs a message to the Console view.

log(obj1 [, obj2, ..., objN]) Outputs a message to the Console view.

Figure: Example 1: Outputs the message “test 9” to the console view.

Technical 04-30006-02-en, May 2019


1246
45 TGML Additions for
EcoStruxure Building
Operation

Topics
TGML Element Summary
TGML Limitations
Displaying the TGML Version
Global Scripts in TGML Graphics
Invoke Function
Panel Navigation
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

45.1 TGML Element Summary


TGML supports the listed elements.
TGML Element Type Possible parent Description

<Animate> Animation Brush, Container, Animate animates a


Image, Shape, specified attribute of
Transform, the immediate
<GradientStop> parent element.
For more
information, see
section 33.9 “TGML
Animation:
<Animate>” on
page 1000.

<AnimatedImage> Image Container, <Tgml> Animated image


represents an
animated raster
image.
AnimatedImage
supports the GIF89a
format.
For more
information, see
section 32.22
“TGML Animated
Images (GIF89a):
<AnimatedImage>”
on page 968.

<Arc> Shape Container, <Tgml> Arc defines an


elliptical arc. The
elliptical arc is part
of an ellipse.
For more
information, see
section 32.14
“TGML Elliptical Arc:
<Arc>” on page
951.

<Bind> Shape Not in Rule, Bind enables a


<Expose>, <Link>, dynamic
<Metadata> or (server/device
<Script> controlled) update
of an attribute of the
immediate parent
element.
For more
information, see
section 33.12
“TGML Signal
Binding: <Bind>” on
page 1006.

04-30006-02-en, May 2019 Technical


1249
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Component> Container Container, <Tgml> The Components


element is a
container element
(similar to Group)
which defines a
reusable group of
elements.
For more
information, see
section 32.5 “TGML
Components:
<Component>” on
page 931.

<ComponentConten Container
t>

<ConvertCustom> Rule <Bind> ConvertCustom


defines a custom
conversion of a
signal value. The
ConvertCustom
element is a script
element with a
JavaScript function
named 'convert'.
For more
information, see
section 33.16
“TGML Custom
Conversion:
<ConvertCustom>”
on page 1013.

<ConvertRange> Rule <Bind> ConvertRange


specifies how a
server variable
(signal) value shall
be converted to a
TGML element
attribute value using
min and max values.
A ConvertRange
element belongs to
the immediate
parent Bind
element.
For more
information, see
section 33.15
“TGML Value Range
Conversion:
<ConvertRange>”
on page 1011.

Technical 04-30006-02-en, May 2019


1250
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<ConvertStatus> Rule <Bind> ConvertStatus


specifies how the
status of a server
variable (signal)
value is to be
converted to a
TGML element
attribute value. A
ConvertStatus
element belongs to
the immediate
parent Bind
element.
For more
information, see
section 33.17
“TGML Status
Conversion:
<ConvertStatus>”
on page 1014.

<ConvertText> Rule <Bind> ConvertText


specifies how a
server variable
(signal) value is to
be converted to a
TGML element
attribute value.
ConvertText
assumes that the
signal value is a text.
A ConvertText
element belongs to
the immediate
parent Bind
element.
For more
information, see
section 33.14
“TGML Text Value
Conversion:
<ConvertText>” on
page 1010.

04-30006-02-en, May 2019 Technical


1251
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<ConvertValue> Rule <Bind> ConvertValue


specifies how a
server variable
(signal) value is to
be converted to a
TGML element
attribute value. A
ConvertValue
element belongs to
the immediate
parent Bind
element.
For more
information, see
section 33.13
“TGML Value
Conversion:
<ConvertValue>” on
page 1008.

<Chord> Shape Container, <Tgml> Chord defines an


elliptical chord.
Chord is similar to
Pie and Arc.
For more
information, see
section 32.16
“TGML Elliptical
Chord: <Chord>” on
page 957.

<Curve> Shape Container, <Tgml> Curve defines a


cubic Bezier curve.
The cubic Bezier
curve has a start
point, an end point,
and two control
points. The control
points act as
magnets, pulling the
curve in certain
directions to
influence the way
the Bezier curve
bends.
For more
information, see
section 32.18
“TGML Cubic Bezier
Curve: <Curve>” on
page 961.

Technical 04-30006-02-en, May 2019


1252
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Ellipse> Shape Container, <Tgml> The Ellipse element


defines an ellipse.
For more
information, see
section 32.12
“TGML Ellipse:
<Ellipse>” on page
947.

<Expose> Not in <Script> Expose indicates


that an attribute of
the immediate
parent element is to
be exposed by the
TGML editor, using
the Name of the
Expose element
instead of the
original attribute
name.
For more
information, see
section 33.19
“TGML Expose
Element: <Expose>”
on page 1016.

<GradientStop> Brush The GradientStop


describes the
location and color of
a transition point in a
gradient.
GradientStop
belongs to its
immediate parent
gradient element.
For more
information, see
section 32.29
“TGML Gradient
Stop:
<GradientStop>” on
page 984.

04-30006-02-en, May 2019 Technical


1253
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Group> Container Container, <Tgml> The Group element


is a container
element, used for
grouping elements
together so they
can, for example, be
moved, copied and
resized as if they
were a single
element.
For more
information, see
section 32.4 “TGML
Grouping:
<Group>” on page
930.

<Image> Image Container, <Tgml> Image represents a


raster image. Image
supports JPEG and
PNG images.
For more
information, see
section 32.21
“TGML Image
Element: <Image>”
on page 966.

<Layer> Container <Tgml> The Layer element is


a container element
used to create
layered TGML
graphics.
For more
information, see
section 32.6 “TGML
Layers: <Layer>” on
page 934.

<Line> Shape Container, <Tgml> The Line element


describes a straight
line between two
points.
For more
information, see
section 32.8 “TGML
Line: <Line>” on
page 938.

Technical 04-30006-02-en, May 2019


1254
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<LinearGradient> Brush Container, Shape The LinearGradient


creates a linear
gradient brush for
the stroke or fill area
of the immediate
parent.
For more
information, see
section 32.27
“TGML Linear
Gradient:
<LinearGradient>”
on page 980.

<Link> Container, Image, Link represents a


Shape, hyperlink to another
<TargetArea> presentation stored
in the database, or
file system, of the
connected server.
Examples of
presentation objects
are: TGML graphics
files, trend log views
and on-line plots.
For more
information, see
section 33.7 “TGML
Link element:
<Link>” on page
998.

<Metadata> Not in <Metadata> Each TGML


or <Script> document contains
the TGML root
element. It also
contains metadata
created and
interpreted by the
TGML application.
For more
information, see
section 32.2 “TGML
Document Type
Element and
Metadata” on page
927.

<Path> Shape Container, <Tgml> Path represents the


outline of a shape.
For more
information, see
section 32.19
“TGML Path
Element: <Path>” on
page 963.

04-30006-02-en, May 2019 Technical


1255
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Pie> Shape Container, <Tgml> Pie defines an


elliptical pie slice.
Pie is similar to Arc.
For more
information, see
section 32.15
“TGML Elliptical Pie:
<Pie>” on page 954.

<Polygon> Shape Container, <Tgml> The Polygon


element describes a
polygon, which is a
connected series of
lines that forms a
closed shape. The
end point does not
have to be
specified. The
polygon is closed
automatically.
For more
information, see
section 32.10
“TGML Polygon:
<Polygon>” on
page 942.

<Polyline> Shape Container, <Tgml> The Polyline element


describes a series of
connected straight
lines.
For more
information, see
section 32.9 “TGML
Polyline: <Polyline>”
on page 940.

<RadialGradient> Brush Container, Shape RadialGradient


defines a radial
gradient brush for
the stroke or fill area
of the immediate
parent.
For more
information, see
section 32.28
“TGML Radial
Gradient:
<RadialGradient>”
on page 982.

Technical 04-30006-02-en, May 2019


1256
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Rectangle> Shape Container, <Tgml> The Rectangle


element defines a
rectangle. Rounded
rectangles can be
achived by setting
values for the
attributes RadiusX
and RadiusY.
For more
information, see
section 32.11
“TGML Rectangle:
<Rectangle>” on
page 944.

<Rotate> Transform Container, Image, Rotate rotates the


Shape coordinate system
for the immediate
parent element
about a specified
point.
For more
information, see
section 33.3 “TGML
Rotation: <Rotate>”
on page 992.

<Scale> Transform Container, Image, Scale scales the


Shape coordinate system
for the immediate
parent element.
For more
information, see
section 33.5 “TGML
Scaling: <Scale>”
on page 996.

<Script> Container, Image, Script defines a


Shape, <Bind>, script block that
<TargetArea>, belongs to the
<Tgml> immediate parent
element.
For more
information, see
section 33.21
“TGML Script
Element: <Script>”
on page 1019.

04-30006-02-en, May 2019 Technical


1257
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Sequence> Animation Container Sequence plays a


sequence of
graphical elements,
for example,
shapes, text,
images, as a
'movie'.
For more
information, see
section 33.10
“TGML Sequences:
<Sequence>” on
page 1002.

<SkewX> Transform Container, Image, SkewX and SkewY


Shape skew (stretch) the
coordinate system
for the immediate
parent element
about a specified
point.
For more
information, see
section 33.4 “TGML
Skewing: <SkewX>
and <SkewY>” on
page 994.

<SkewY> Transform Container, Image, SkewX and SkewY


Shape skew (stretch) the
coordinate system
for the immediate
parent element
about a specified
point.
For more
information, see
section 33.4 “TGML
Skewing: <SkewX>
and <SkewY>” on
page 994.

<Snippet> Container A snippet is a stored


piece of TGML
code. It can be used
for reusing
constructs such as
preconfigured
animations and
gradients.
For more
information, see
section 31.7 “TGML
Code Snippets” on
page 900.

Technical 04-30006-02-en, May 2019


1258
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<TargetArea> Container, <Tgml> TargetArea


represents a
clickable area in a
graphic. Target area
is not painted, that
is, it is always
invisible.
For more
information, see
section 33.23
“TGML Target Area
Element:
<TargetArea>” on
page 1023.

<Text> Shape Container Text defines a


graphics element
consisting of text.
Each Text element
causes a single
string of text to be
rendered. The Text
element perfoms no
automatic line break
or word wrapping.
For more
information, see
section 32.24
“TGML Text Line:
<Text>” on page
973.

<TextBox> Shape Container Text defines a


graphics element
consisting of text.
TextBox wraps the
text within the
specified box. The
TextBox element
also supports
manual line breaks
(ASCII character
10).
For more
information, see
section 32.25
“TGML Text Flow:
<TextBox>” on
page 976.

04-30006-02-en, May 2019 Technical


1259
45 TGML Additions for EcoStruxure Building Operation
45.1 TGML Element Summary

Continued
TGML Element Type Possible parent Description

<Tgml> Each TGML


document contains
the TGML root
element. It also
contains metadata
created and
interpreted by the
TGML application.
For more
information, see
section 32.2 “TGML
Document Type
Element and
Metadata” on page
927.

<Translate> Transform Container, Image, Translate translates


Shape (moves) the
coordinate system
for the immediate
parent element.
For more
information, see
section 33.6 “TGML
Translations:
<Translate>” on
page 997.

Technical 04-30006-02-en, May 2019


1260
45 TGML Additions for EcoStruxure Building Operation
45.2 TGML Limitations

45.2 TGML Limitations


In some implementations, for example, Microsoft GDI+ there are limitations to
TGML attributes.

Positional and Size-Related Limitations


Positional attributes have a limitation of +/- 10.000 pixels. Size-related attributes
have a limitation of 10.000 by 10.000 pixels. That is, no TGML figure can have a
size that exceeds 10.000 by 10.000 pixels. This size limitation also applies for
the canvas. The following TGML attributes are affected by the limitations:
• Top
• Left
• Height
• Width
• Length
• X1
• X2
• Y1
• Y2
• Points
• RadiusX
• RadiusY
• StartPoint
• EndPoint
• ContentHeight
• ContentWidth
• FontSize
• StrokeWidth

04-30006-02-en, May 2019 Technical


1261
45 TGML Additions for EcoStruxure Building Operation
45.3 Displaying the TGML Version

45.3 Displaying the TGML Version


You display the TGML version to find out which TGML version the Graphics
Editor version supports.
For more information, see section 31.2 “TGML” on page 890.

To display the TGML Version


1. In Graphics Editor, click the Design button.
2. On the File menu, click Properties
Properties.
The TGML version is displayed in the TGML version box.

Technical 04-30006-02-en, May 2019


1262
45 TGML Additions for EcoStruxure Building Operation
45.4 Global Scripts in TGML Graphics

45.4 Global Scripts in TGML Graphics


By default, each Script element (script block) creates a JavaScript context. In
this mode, function calls between script blocks (contexts) are not supported,
that is, no support for global script functions.
It is possible to enable scripts to run in one single context for the whole graphic
so that functions and variables can be shared between script blocks. This is
done by setting the TGML element property ‘UseGlobalScripts’ in the Graphics
Editor to ‘True’. By default, 'UseGlobalScripts' is ‘False’.
Using ‘UseGlobalScripts’ may have a very positive effect on graphics loading
performance in some of the viewers, such as the HTML5-based viewer in
WebStation.

Global variables
In the HTML5 viewer some names are reserved for the Web Browser. It might not
be apparent for users writing Java Scripts that using reserved names can cause
a conflict when viewing the TGML graphic in the HTML5 viewer, as it works fine
in the WorkStation viewer.
You can check whether or not there is a conflict by using the Global Variables
tool in the Graphics Editor Statistics pane to analyze the scripts in the TGML
graphic and looks for global variables that could cause name conflicts.
Example:
A script that contains a variable named ‘window’ without the var declaration
might have been intended to be used as a local variable. However, not
declaring it as ‘var’ makes it a global variable and since ‘window’ is a reserved
word (an object in the Web Browser) this object is referenced instead, when the
Web Browser executes the script.
function load(evt)
{
window = 1;
}

NOTICE
• The variable 'window' is visible in the list of Global script variables.
• To use reserved words locally in scripts as variables, make sure to declare
them as ‘var’.

function load(evt)
{
var window = 1;
}

04-30006-02-en, May 2019 Technical


1263
45 TGML Additions for EcoStruxure Building Operation
45.5 Invoke Function

45.5 Invoke Function


Graphic components can be used to navigate within panels. The navigation
function requires that you add a script with an invoke function to the graphic
component in Graphics Editor.
With invoke functions in the script, you can configure the graphic component to
open a linked target object in a target location when the user performs a specific
action on the component. For example a graphics component can be
configured to open a trend chart in another pane in the panel of your graphic
when the user clicks the graphic component.
This is an example of the invoke command syntax:
invoke("BindingName", "Operation") where Operation is "OperationName
Attribute 1 | Attribute2"
The operation in the invoke function defines where the target object is to be
opened.
For more information, see section 33.20 “TGML Scripting” on page 1017.

Figure: An example of the Invoke syntax in Graphics Editor

Table: Invoke commands


Command Description

invoke("Link 1", "OpenInFloatingWindow"); Opens the target object in a floating


window.

invoke("Link 1", "OpenInNewWindow"); Opens the target object in a new window.

invoke("Link 1", "OpenInNewBrowserTab"); Opens the target object in a new browser


window in WebStation. Falls back to
OpenInNewWindow in WorkStation.

invoke("Link 1", "OpenInParent"); The target object replaces the parent


location, that is, the panel in which the
graphic is contained.

invoke("Link 1", "OpenInSelf"); The target object replaces the graphic.

invoke("Link 1", "OpenInTarget"); Opens the target object in a specific pane.

invoke("Link 1", "OpenInTop"); The target object replaces the top panel,
that is the panel in which all other panels
are contained.

invoke("Link 1", "OpenInWorkArea"); Opens the target object in the work area.
This command replaces the obsolete 'View
object' command.

invoke("", "HistoryForward"); Navigates forward to a view you have


visited before in the selected window.

Technical 04-30006-02-en, May 2019


1264
45 TGML Additions for EcoStruxure Building Operation
45.5 Invoke Function

Continued
Command Description

invoke("", "HistoryBack"); Navigates back to a view you have visited


before in the selected window.

Invoke("", "LogOff"); Logs off the current user from WorkStation

45.5.1 Invoke Function Attributes


You can include any number of attributes that are supported for the used
command. The OpenInTarget command has to include the Target attribute in
order to work.
For each invoke command you can set a number of attributes:
• Width: sets the width of the window in pixels.
• Height: sets the height of the window in pixels
• Top: sets the top position of the window in number of pixels from the top left
corner o the screen
• Left: sets the left position of the window in number of pixels from the top left
corner or the screen
• Target: sets the target location where the link target is to be opened. You
type the name of the pane. The pane and the graphic have to be contained
in the same panel.
• DisplayName: displays the name you have typed for the target pane. By
default, the object name is the display name of the target pane.
• ShowToolbar: displays the toolbar in the target pane when set to “Yes“.
• SkipFallback: when set to “Yes“, this attribute makes the invoke function
return a "false" message if the target object does not exist. By using
SkipFallback in your script, you make it possible for the script to control
what to do if the target location does not exist.
By default, the fallback handles a non-existing target location as follows: If
the graphic is contained in a panel, the object opens in the workarea. If the
graphic is stand-alone, the object replaces the graphic.

Table: Invoke Function Attributes


Command Supported Attributes

OpenInFloatingWindow • Width
• Height
• Top
• Left
• ShowToolBar

OpenInTarget • Target
• DisplayName
• SkipFallback
• ShowToolbar

04-30006-02-en, May 2019 Technical


1265
45 TGML Additions for EcoStruxure Building Operation
45.5 Invoke Function

Continued
Command Supported Attributes

OpenInSelf • DisplayName
• ShowToolbar

OpenInWorkArea • SkipFallback
• ShowToolbar

OpenInParent • DisplayName
• SkipFallback
• ShowToolbar

OpenInTop • SkipFallback
• ShowToolbar

OpenInNewWindow • ShowToolbar

Figure: Example of the invoke syntax where you want Trend Chart 1 to open in the pane
named TopPane. If TopPane does not exist in the panel of the graphic, Trend Chart 1 is to
be opened in a floating window. The display name is Graphic 1 and a toolbar is to be
hidden.

NOTICE
The following attribute settings made in the graphic override the
corresponding attributes of the previously displayed object in the panel:
• DisplayName
• ShowToolbar

Technical 04-30006-02-en, May 2019


1266
45 TGML Additions for EcoStruxure Building Operation
45.6 Panel Navigation

45.6 Panel Navigation


When you use graphics in a panel, you can configure in which target location a
target object linked to the graphic is to be opened when the user performs an
action on the graphic, for example, a mouse click. You configure the graphic in
Graphics Editor by adding an invoke function script. In WorkStation or
WebStation, you link the graphic to the target object you want to open when the
user performs the action.
A target object can be opened from a graphic in any of the following target
locations:
• Floating window
• New window
• Parent
• Self
• Target
• Top
• Work area
You can also use the invoke function script to give the user the ability to navigate
back and forward to a previously visited view.

04-30006-02-en, May 2019 Technical


1267
46 Graphics User Interface

Topics
Graphics Editor
Graphics Editor Menu Bar
Graphics Editor File Menu
Graphics Editor File Menu – New Submenu
File Menu – Open Submenu
File Menu – Save As Submenu
File Menu – Print Submenu
File Menu – Settings Submenu
Graphics Editor View Menu
Categories Context Menu
Graphics Editor Drawing Toolbar
Graphics Editor Options Toolbar
Components Pane
Graphics Editor Snippets Pane
Graphics Editor Panes
Graphics Editor Objects Pane
Graphics Editor Properties Pane
Graphics Editor Statistics Pane
Graphics Editor Test Pane
Graphics Editor Binds and Links Pane
46 Graphics Editor Layers Pane
Create Graphics Wizard - Basic Settings Page
Graphic Properties - Basic Tab
Graphic Properties – Bindings Tab
Graphic Properties – Links Tab
Graphic Properties - References Tab
Document Properties Dialog Box
Unsupported Characters
Menu Editor
Menu – Basic Tab
46 Graphics User Interface
46.1 Graphics Editor

46.1 Graphics Editor


Use the Graphics Editor main window to create, test, and save application
graphics.

Figure: Graphics Editor

Table: Graphics Editor Window


Number Description

Toolbars
Contain tools used to create and edit .tgml
files and other objects.

Work area
You can drag elements from the panes to
the work area. You can also draw free form
objects by using the drawing tools.

04-30006-02-en, May 2019 Technical


1271
46 Graphics User Interface
46.1 Graphics Editor

Continued
Number Description

Panes
Includes the following:
• Objects pane with a tree structure of
what is included in the graphic
• Properties pane where you edit the
properties of a selected object
• Layers pane where you manage
layers in a graphic
• Statistics Pane where you check the
efficiency of a graphic
• Binds and Links pane with
information on the bind objects
• Test pane where you test the
behavior of a graphic
• Components pane where you can
access standard components
libraries as well as components
categories that you have imported or
created on your own
• Snippets pane where you can access
standard snippets libraries as well as
snippets categories that you have
imported or created on your own

Graphic Object Position Bar


Displays the position of the pointer and the
position of a selected object.
For more information, see section 35.1
“Figures” on page 1057.

Technical 04-30006-02-en, May 2019


1272
46 Graphics User Interface
46.2 Graphics Editor Menu Bar

46.2 Graphics Editor Menu Bar


Use the menu bar to manage graphic files, and to toggle between different
views of the current graphic.

Table: Graphics Editor Menu Bar


Button Description

File
Click to open the File menu. For more
information, see section 46.3 “Graphics
Editor File Menu” on page 1275.

Save
Click to open the standard Save As
window.

Undo
Click to revert the graphic to the state it
was in before the latest performed
command was executed. Repeated use of
Undo takes you back in the changes
history, all the way to when the graphic file
was opened.

Redo
Click to revert the graphic to the state it
was in before the latest Undo command.
Repeated use of Redo takes you forward
in the changes history, all the way to the
most recent change.

Magnification
Click to enter the percentage of
magnification of the work area.

Design
Click to open the current graphic's work
area for drawing and editing. It also
displays the tools on the drawing toolbar.
Graphics Editor opens in Design mode.

Source
Click to open the current graphic for tgml
text editing, by putting the cursor in the
text. Common text editing tools are made
available in the Options bar.

Preview
Click to open the current graphic to test
animations, bindings, and links.

04-30006-02-en, May 2019 Technical


1273
46 Graphics User Interface
46.2 Graphics Editor Menu Bar

Continued
Button Description

View
Click to open the View menu from which
you can select the panes you want to use
in Graphics Editor: Components, Snippets,
Statistics, Layers, Objects, Properties,
Binds and Links, and Test. You can also
select Full Screen mode. For more
information, see section 46.9 “Graphics
Editor View Menu” on page 1282.

Technical 04-30006-02-en, May 2019


1274
46 Graphics User Interface
46.3 Graphics Editor File Menu

46.3 Graphics Editor File Menu


Use the File menu to manage graphic files.

Figure: Graphics Editor File menu

Table: Graphics Editor File Menu


Command Description

New Opens a submenu where you can select if


you want to create a graphic or a
component.

Open Opens a submenu where you select a


.tgml graphic file or an .ogc file.

Save Saves the graphic as an EcoStruxure


Building Operation object in the database.

Save As Opens a submenu where you select how


the current graphic file is to be saved.
When you use the Save As command to
save a graphic as a file, the EcoStruxure
Building Operation link is broken.

Import Opens a dialog box where you can locate


graphics files that you want to import into
Graphics Editor.

Export Exports a graphics file to the selected


location, under the name you enter, and in
the file format you specify.

Print Opens a submenu where you can make a


number of print preferences for printing the
active graphic or component.

Properties Opens the document properties pane. For


more information, see section 46.17
“Graphics Editor Properties Pane” on page
1298.

Settings Opens a submenu from which you access


user interface settings for Graphics Editor.

04-30006-02-en, May 2019 Technical


1275
46 Graphics User Interface
46.3 Graphics Editor File Menu

Continued
Command Description

Close Closes the current design and the editor in


which it is open. If you have several
instances of the editor open
simultaneously, only the current editor is
closed.

Exit Exits all instances of the program.

Technical 04-30006-02-en, May 2019


1276
46 Graphics User Interface
46.4 Graphics Editor File Menu – New Submenu

46.4 Graphics Editor File Menu – New


Submenu
Use the New submenu to create a graphic or a component.

Figure: Graphics Editor File menu - New submen

Table: Graphics Editor File Menu - New Submenu


Command Description

Graphic Click to open a graphic workspace where


you create a new graphic. For more
information, see section 34.1 “Graphics
Editor ” on page 1027.

Component Click to open a new component workspace


where you create a new component. For
more information, see section 34.1
“Graphics Editor ” on page 1027.

04-30006-02-en, May 2019 Technical


1277
46 Graphics User Interface
46.5 File Menu – Open Submenu

46.5 File Menu – Open Submenu


Use the Open submenu to open .tgml or .ogc files in Graphics Editor.

Figure: Graphics Editor File menu - Open submenu

Table: Open Submenu


Command Description

File Click to open a graphics or components


file in .tgml or .ogc format.

Technical 04-30006-02-en, May 2019


1278
46 Graphics User Interface
46.6 File Menu – Save As Submenu

46.6 File Menu – Save As Submenu


Use the Save As submenu to save a graphics or components file.

Figure: Graphcis Editor File menu - Save As submenu

Table: Graphics Editor File Menu - Save As Submenu


Command Description

File Click to save the graphic as a .tgml file.

Component Click to save a component in a component


category.

04-30006-02-en, May 2019 Technical


1279
46 Graphics User Interface
46.7 File Menu – Print Submenu

46.7 File Menu – Print Submenu


Use the Print submenu to make settings that affect how a graphic or component
is printed.

Figure: Graphics Editor File menu - Print submenu

Table: Graphics Editor File Menu - Print Submenu


Command Description

Page settings Click to open a dialog box where you can


set paper size, source, orientation and
margins.

Print preview Click to display a print preview of the page,


that is, a view of how the page appears
when printed.

Print Click to open the default Print dialog box


where you can select a printer, set the
page range, and set the number of copies
you want to print.

Technical 04-30006-02-en, May 2019


1280
46 Graphics User Interface
46.8 File Menu – Settings Submenu

46.8 File Menu – Settings Submenu


Use the Settings submenu to save settings you have made to the user interface
or to reset the user interface to the default settings.

Figure: Graphics Editor File menu - Settings submenu

Table: Graphics Editor File Menu - Settings Submenu


Command Description

Save settings Click to save customized settings that


define the size, position and visibility of the
grid, panes, magnification, tools options,
and columns. Snap to the grid is also
saved.

Reset to default Click to reset the user interface to the


default settings.

04-30006-02-en, May 2019 Technical


1281
46 Graphics User Interface
46.9 Graphics Editor View Menu

46.9 Graphics Editor View Menu


Use the View menu to show or hide the Graphics Editor tabs and panes. From
the View menu, you can also toggle a graphic between full screen mode and
displaying it in the Graphics Editor window.

Figure: Graphics Editor View menu

Table: Graphics Editor View Menu


Command Description

Components Click to show or hide the Components tab


where you can access and manage
components.

Snippets Click to show or hide the Snippets tab


where you can access and manage
snippets.

Layers Click to show or hide the Layers pane


where you can manage the layers of your
graphic.

Objects Click to show or hide the Objects pane


where you can view the object tree with all
the elements included in the graphic.

Properties Click to show or hide the Properties pane


where you can view and set the properties
of a graphic.

Binds and Links Click to show or hide the Binds and Links
pane where you manage the binds and
links of the graphic.

Test Click to show or hide the Test pane where


you can test that your graphics functions
behave as expected.

Statistics Click to show or hide the Statistics pane


where you can view the efficiency of the
graphic.

Console Click to show or hide the Console where


you can trouble-shoot and test scripts.

Technical 04-30006-02-en, May 2019


1282
46 Graphics User Interface
46.9 Graphics Editor View Menu

Continued
Command Description

Full Screen Click to view the graphic in full screen


mode or to revert to the Graphics Editor
window.

04-30006-02-en, May 2019 Technical


1283
46 Graphics User Interface
46.10 Categories Context Menu

46.10 Categories Context Menu


Use the categories context menu to manage components and snippets
categories.

Figure: Categories context menu

Table: Categories Context Menu


Command Description

Libraries Opens the Libraries dialog box where you


manage components and snippets
libraries. For more information, see section
41.11 “Snippets” on page 1218.

Categories Opens the Categories dialog box where


you select or clear the components and
snippets categories that you want to be
displayed in the Components pane or
Snippets pane.

Import Opens an Explorer window where you can


import a components or snippets archive
file.

Export Opens an Explorer window where you can


save a components or snippets archive
file.

New Category Opens the New Component Category or


the New Snippet Category dialog box
where you type a name for the new
category you want to create.

Delete Category Opens the Delete Category dialog box


where you confirm that you want to delete
the selected components or snippets
category.

Rename Category Opens the Rename Category dialog box


where you type a new name for the
selected components or snippets
category.

Hide Category Hides the selected components or


snippets category in Graphics Editor.

Technical 04-30006-02-en, May 2019


1284
46 Graphics User Interface
46.11 Graphics Editor Drawing Toolbar

46.11 Graphics Editor Drawing Toolbar


Use the Drawing toolbar to access the tools you need to create and edit .tgml
files and other objects.

Table: Graphics Editor Drawing Toolbar


Button Description

Select
Click the border, or anywhere within a filled
object, to select the object.

Scroll
Click and drag to adjust the work area in
the pane.

Zoom
Click to display three zoom tools in the
Options bar: Restore original, Zoom In, and
Zoom Out.

Line
Click-drag-release in the work area to draw
a line between the two end points.

Polyline
Click a number of times in the work area to
draw a polyline between the click points.
Double-click to finish the polyline.

Curve
Click a number of times in the work area to
draw a curve between the click points.
Double-click to finish the curve.

Polygon
Click a number of times in the work area to
draw a polygone between the click points.
Double-click to finish the polygon.

Rectangle
Click and drag in the work area to open up
a rectangle between the two corner points.
Simultaneously, press SHIFT to open up a
square.

Ellipse
Click and drag in the work area to open up
an ellipse between the two size-
determining points. Simultaneously, press
SHIFT to open up a circle.

04-30006-02-en, May 2019 Technical


1285
46 Graphics User Interface
46.11 Graphics Editor Drawing Toolbar

Continued
Button Description

Arc
Click and drag in the work area to open up
an arc between the two size-determining
points. Simultaneously, press SHIFT to
open up a quarter of a circle. For more
information, see section 35.20 “Pies” on
page 1081.

Pie
Click and drag in the work area to open up
a pie (filled arc) between the two size-
determining points. Simulataneously, press
SHIFT to open up a quarter of a pie. For
more information, see section 35.20 “Pies”
on page 1081.

Text
Click in the work area to position the start
point of a text string. Type the text and
press ENTER.

Textbox
Click and drag in the work area to open up
a rectangular text box between the two
corner points. Simultaneously, press SHIFT
to open up a square. Type the text and
press ENTER.

Insert Picture
Click in the work area to position the upper
left corner of a picture insert. An Open
window lets you browse to the desired
picture file.

Cut
Click to remove the selected object from
the graphic. The object is temporarily
stored on the clipboard.

Copy
Click to save a copy of the selected object
on the clipboard.

Paste
Click to create a copy of the object
residing on the clipboard. The copy is
displayed on the graphic slightly displaced
from the original, or from any previous
copy.

Delete
Click to delete the selected object from the
graphic. The clipboard is not affected.

Technical 04-30006-02-en, May 2019


1286
46 Graphics User Interface
46.11 Graphics Editor Drawing Toolbar

Continued
Button Description

Show Grid
Click to toggle between show and hide
grid. Select a grid size value from the
adjacent combo box.

Snap to Grid
Click to toggle between enabling and
disabling the snap objects to the grid
function.

04-30006-02-en, May 2019 Technical


1287
46 Graphics User Interface
46.12 Graphics Editor Options Toolbar

46.12 Graphics Editor Options Toolbar


Use the Options toolbar to specify properties, or perform commands that
become available when you have selected a tool on the toolbar.

Table: Graphics Editor Options Toolbar


Button Description

Point Selection
Click the border, or anywhere within a filled
object, to select the object and display the
curve points.

Rotate Selection
Click to rotate the selected object by
dragging the handle that is displayed at
the top of the object.

Fill Select the required fill color or gradient


from the palette. For more information, see
section 38.25 “Gradients” on page 1154.

Swap Colors
Click to swap the current colors of the
stroke and the fill.

Stroke Select the required stroke color or gradient


from the palette. For more information, see
section 38.25 “Gradients” on page 1154.

Style Select the required stroke style from the


list.

Width Select the required stroke width, 0–30


pixels, from the list.

Corner Select the required corner radius, 0–50


pixels, from the list.

Group
Click to group the selected objects in the
work area.

Ungroup
Click to ungroup objects that were
previously grouped.

Align
Select the required alignment of two or
more objects from the list: left, center,
right, top, middle, bottom, or center and
middle.

Technical 04-30006-02-en, May 2019


1288
46 Graphics User Interface
46.12 Graphics Editor Options Toolbar

Continued
Button Description

Arrange
Select the required arrangement of an
object relative to other objects, from the
list.

Distribute
Select the required distribution of three or
more objects, in the horizontal or vertical
direction, from the list.

Flip
Select the required flip operation of the
selected object, in the horizontal or vertical
direction, from the list.

Resize
Select the required resize operation of two
or more objects from the list: same width,
height, or width and height.

Rotate Left
Click to rotate objects (single or group) 90°
left.

Rotate Right
Click to rotate objects (single or group) 90°
right.

Skew Horizontal
Click to skew the objects (single or group)
horizontally to ±60°, ±45°, ±30°, or ±15°.

Skew Vertical
Click to skew the objects (single or group)
vertically to ±60°, ±45°, ±30°, or ±15°.

Font
Select the required font family from the list.

Size
Select the required font size, 8–100 pixels,
from the list.

Bold
Click to make the characters of the
selected text string or text box bold.

Italic
Click to make the characters of the
selected text string or text box italic.

04-30006-02-en, May 2019 Technical


1289
46 Graphics User Interface
46.12 Graphics Editor Options Toolbar

Continued
Button Description

Underline
Click to make the characters of the
selected text string or text box underlined.

Strikethrough
Click to display the characters of the
selected text string or text box with
strikethrough.

Text
Click to align the text to the left based on
the insertion point of the text row.
Textbox
Click to align the text to the left in the text
box.

Text
Click to center the text based on the
insertion point of the text row.
Textbox
Click to center each text row in the textbox.

Text
Click to align the text to the left based on
the insertion point of the text row.
Textbox
Click to align the text to the right in the text
box.

Text
Click to align the top of the text to the
insertion point.
Textbox
Click to align the text to the top of the
textbox

Text
Click to align the middle of the text to the
insertion point.
Textbox
Click to align the text in the middle of the
texbox.

Technical 04-30006-02-en, May 2019


1290
46 Graphics User Interface
46.12 Graphics Editor Options Toolbar

Continued
Button Description

Text
Click to align the bottom of the text to the
insertion point.
Textbox
Click to align the text to the bottom of the
textbox.

04-30006-02-en, May 2019 Technical


1291
46 Graphics User Interface
46.13 Components Pane

46.13 Components Pane


Use the Components pane to access components and manage components
categories.

Figure: Graphics Editor Components pane

Table: Graphics Editor Components Pane


Number Description

Expanded component category


Select a component and drag it to the work
area. For more information, see section
41.1 “Components” on page 1205.

Collapsed component category


Click the component category title to
expand the component category. For more
information, see section 41.1
“Components” on page 1205.

Technical 04-30006-02-en, May 2019


1292
46 Graphics User Interface
46.14 Graphics Editor Snippets Pane

46.14 Graphics Editor Snippets Pane


Use the Graphics Editor Snippets pane to manage function categories.

Figure: Graphics Editor Snippets pane

NOTICE
• To get a description of a snippet, right-click the snippet in the list, and then
click Properties
Properties.

Table: Graphics Editor Snippets Pane


Component Description

Basic Functions This category contains standard functions


delivered with the program. For more
information, see section 41.11 “Snippets”
on page 1218.

Global Bind Snippets This category contains global bind


snippets delivered with the program. For
more information, see section 41.11
“Snippets” on page 1218.

04-30006-02-en, May 2019 Technical


1293
46 Graphics User Interface
46.14 Graphics Editor Snippets Pane

Continued
Component Description

Global Graphic Scripts This category contains global graphic


scripts delivered with the program. For
more information, see section 41.11
“Snippets” on page 1218.

My Snippets This category is where you save


customized functions that you want to
reuse in the future. For more information,
see section 41.11 “Snippets” on page
1218.

Technical 04-30006-02-en, May 2019


1294
46 Graphics User Interface
46.15 Graphics Editor Panes

46.15 Graphics Editor Panes


Use the Graphics Editor panes to manage graphics and components.

Figure: Graphics Editor panes

Table: Graphics Editor Panes


Number Description

Components
Use the Components pane to access and
manage components.

Layers
Use the Layers pane to manage layers in a
graphic.

Objects
Use the Objects pane tree structure to
navigate among the objects that make up
a graphic or a component.

04-30006-02-en, May 2019 Technical


1295
46 Graphics User Interface
46.15 Graphics Editor Panes

Continued
Number Description

Properties
Use the Properties pane to view and edit
the properties of a graphic or a
component.

Statistics
Use the Statistics pane to test the
performance of a graphic.

Test
Use the Test pane to test the behavior of a
graphic or a component.

Binds and Links


Use the Binds and Links pane to manage
and test the binds and links of a graphic or
a component.

Snippets
Use the Snippets pane to access and
manage functions.

Technical 04-30006-02-en, May 2019


1296
46 Graphics User Interface
46.16 Graphics Editor Objects Pane

46.16 Graphics Editor Objects Pane


Use the Objects pane to get an overview of the structure of a graphic and all its
objects, graphical and non-graphical. You can also use the Objects pane to
manage objects.

Figure: Graphics Editor Objects pane with the Tgml tree structure

Table: Graphics Editor Objects Pane


Button Description

Expand All
Click to show all branches in the Tgml tree.

Collapse All
Opens the standard Save As window.

Move Up
Moves the selected object upward in the
Tgml tree.

Move Down
Moves the selected object down in the
Tgml tree.

04-30006-02-en, May 2019 Technical


1297
46 Graphics User Interface
46.17 Graphics Editor Properties Pane

46.17 Graphics Editor Properties Pane


Use the Properties pane to view and edit properties of the objects present in the
work area.

Figure: Graphics Editor Properties pane

Table: Graphics Editor Properties Pane


Button Description

Normal
Click to display a selection of commonly
used properties.

Detailed
Click to display all properties.

Which properties that are displayed in the Properties pane depends on the
objects included in the graphic. Graphics properties define the appearance,
boundary, and behavior of the graphic.

Technical 04-30006-02-en, May 2019


1298
46 Graphics User Interface
46.18 Graphics Editor Statistics Pane

46.18 Graphics Editor Statistics Pane


Use the Statistics pane to get information on the performance of your graphics
and components.

Figure: Statistics pane

Table: Graphics Editor Statistics Pane


Component Description

Loading Parse time displays the time it takes to


load the graphic file. Small files load
quickly whereas large files take longer to
load. If the loading process takes long, you
should consider reducing the amount of
figures included in the graphic.
Script setup and document load display
the amount of time it takes to load Script
blocks, initiate and start the script engine,
and execute the OnDocumentLoad scripts.
If this takes too long, you can consider
reducing the amount of OnDocumentLoad
scripts and the total number of Script
blocks in the graphic. Complex
OnDocumentLoad scripts delay the
opening of the graphic.

04-30006-02-en, May 2019 Technical


1299
46 Graphics User Interface
46.18 Graphics Editor Statistics Pane

Continued
Component Description

Rendering Initial render time displays the time it takes


to draw the graphics file the first time, that
is, the time it takes for the system to draw
all the graphic figures. The more complex
the graphic is, the longer it takes to render.
Average render time in sample displays
the time it takes to update the graphic in
run time. The result is updated every
second. The average rendering time and
the maximum rendering time are
displayed.

Drawing efficiency The bar indicates the performance of the


graphic:
• Green = Excellent performance
• Yellow = Acceptable. Consider
simplifying the graphic.
• Red = The graphic could be
perceived as slow. Simplify the
graphic.

Update Click to analyze all the scripts and refresh


the view to show all global variables, that
is, variables not declared as 'var'.

Validate Click to analyze the found Global script


variables and notify which variables are in
conflict with reserved names.

Technical 04-30006-02-en, May 2019


1300
46 Graphics User Interface
46.19 Graphics Editor Test Pane

46.19 Graphics Editor Test Pane


Use the Test pane to test the dynamic behavior in Preview mode.

Figure: Graphics Editor Test pane

Table: Graphics Editor Test Pane


Component Description

Name The name of the object you are testing.

Value Tests a bind, that is, a dynamic behavior.


Enter a value to start the test.

Unit Tests the unit management under the


condition that you have used getUnit in
your scripts. Enter any text.

Status Simulates signal status. "Value from


device" is the normal status.

04-30006-02-en, May 2019 Technical


1301
46 Graphics User Interface
46.20 Graphics Editor Binds and Links Pane

46.20 Graphics Editor Binds and Links Pane


Use the Binds and Links pane to get an overview of the binds and links used in
a graphic and their properties.

NOTICE
• The actual binding and linking are perfomred in WorkStation.

Figure: Graphics Editor Binds and Links pane

Table: Graphcis Editor Binds and Links Pane


Column Description

Name Displays the name of the bind/link,


consisting of the object’s name and, for the
binds, a suffix normally ‘Value’. Name also
shows the number of bind values or link
targets that use this name. (One signal can
affect several properties.)

Attribute Displays the property (if present) that is


affected by the bound value.

Format None or Presentation. As selected in the


Properties pane, under Behavior - Format.

Description Displays an optional descriptive text.

Technical 04-30006-02-en, May 2019


1302
46 Graphics User Interface
46.21 Graphics Editor Layers Pane

46.21 Graphics Editor Layers Pane


Use the Layers pane to manage layers in a graphic.

Figure: Graphics Editor Layers pane

Table: Graphics Editor Layers Pane


Button Description

New layer
Click to create a new layer.

Duplicate layer
Click to duplicate the current layer.

Merge layer
Click to merge the selected layers.

Delete layer
Click to delete the current layer.

Move up
Moves the selected layer upward in the
layer pane.

Move down
Moves the selected layer down in the layer
pane.

Table: Layers Pane


Column Description

1st column Click to select the active layer. For more


information, see section 39.1 “Layers” on
page 1177.

2nd column Displays the graphics contents of the layer.

04-30006-02-en, May 2019 Technical


1303
46 Graphics User Interface
46.21 Graphics Editor Layers Pane

Continued
Column Description

3rd column Displays the name of the layer (the Name


property).

4th column Select to make the layer visible.

Technical 04-30006-02-en, May 2019


1304
46 Graphics User Interface
46.22 Create Graphics Wizard - Basic Settings Page

46.22 Create Graphics Wizard - Basic


Settings Page
Use the Basic Settings page to enter a tgml file if you want to use a pre-existing
graphic. You can also leave this empty if the tgml file has not yet been created.

Figure: Basic Settings page

Table: Basic Settings Page


Property Description

File Enter a tgml file if you want to use a pre-


existing graphic.

04-30006-02-en, May 2019 Technical


1305
46 Graphics User Interface
46.23 Graphic Properties - Basic Tab

46.23 Graphic Properties - Basic Tab


Use the Graphic properties Basic tab to select a new TGML file to present in the
graphic viewer.

Figure: Basic tab

Table: Basic Tab


Property Description

File Enter the graphic file you want to display in


the graphic viewer. For more information,
see section 34.2 “Graphics in WorkStation”
on page 1032.

Technical 04-30006-02-en, May 2019


1306
46 Graphics User Interface
46.24 Graphic Properties – Bindings Tab

46.24 Graphic Properties – Bindings Tab


Use the Bindings tab to view and edit the bindings of the graphic.

Figure: Bindings tab

Table: Bindings Tab


Property Description

[Binding
Binding name
name] Enter the path to the object to which you
want to bind the graphic. For more
information, see section 17.1 “Bindings
Overview” on page 437.

04-30006-02-en, May 2019 Technical


1307
46 Graphics User Interface
46.25 Graphic Properties – Links Tab

46.25 Graphic Properties – Links Tab


Use the Links tab to view and edit the links of the graphic.

Figure: Links tab

Table: Links Tab


Property Description

[Link name] Enter the path to the object to which you


want to link the graphic. For more
information, see section 37.1 “Binds and
Links” on page 1115.

Technical 04-30006-02-en, May 2019


1308
46 Graphics User Interface
46.26 Graphic Properties - References Tab

46.26 Graphic Properties - References Tab


Use the References Properties to view and access the references of the
graphic.

Figure: References tab

04-30006-02-en, May 2019 Technical


1309
46 Graphics User Interface
46.27 Document Properties Dialog Box

46.27 Document Properties Dialog Box


Use the Document Properties dialog box to view, enter, or edit details on the
creation of the TGML graphic.

Figure: Document Properties dialog box

Table: Document Properties Dialog Box


Component Description

TGML version Displays the TGML version of the TGML


graphic.

Title View, add, or edit the title of the TGML


graphic.

Author View, add, or edit the name of the author


who created the TGML graphic.

Company View, add, or edit the name of the


company the author belongs to.

Created Displays the date the TGML graphic was


created.

Modified Displays the date the TGML graphic was


modified.

Revision View, add, or edit the document revision


number.

Comments View, add, or edit the document


comments.

Technical 04-30006-02-en, May 2019


1310
46 Graphics User Interface
46.28 Unsupported Characters

46.28 Unsupported Characters


Object names cannot include any of the following characters: exclamation point
(!), quotation mark (“), number sign (#), percent sign (%), ampersand (&),
apostrophe ('), left parenthesis ((), right parenthesis ()), asterisk (*), plus sign
(+), comma (,), hyphen-minus (-), semicolon (;), less than sign (<), greater than
sign (>), equals sign (=), question mark (?), backslash (\), or pipe symbol (|).
In addition, the following restrictions apply:
• Object names can contain spaces, however, leading and trailing spaces
are not supported in objects names.
• Object names can contain full stops (.), however, leading and trailing full
stops (.) are not supported in object names.
• Object names cannot be empty names.

04-30006-02-en, May 2019 Technical


1311
46 Graphics User Interface
46.29 Menu Editor

46.29 Menu Editor


Use the Menu Editor to edit a menu.

Figure: Menue editor

Table: Menu editor


Component Description

Add
Click to add a submenu.

Remove
Click to remove a submenu or a menu
item.

Collapse all
Click to collapse the menu.

Expand all
Click to expand the menu.

[Quick filter] Enter a word or a character to filter on. For


more information, see the Quick Filter topic
on WebHelp.

Technical 04-30006-02-en, May 2019


1312
46 Graphics User Interface
46.30 Menu – Basic Tab

46.30 Menu – Basic Tab


Use the Basic tab to view and edit basic information about the menu. For more
information, see the General Properties – Basic Tab topic on WebHelp.

Figure: Menu – Basic Tab

04-30006-02-en, May 2019 Technical


1313
47 Graphics Troubleshooting

Topics
Units Categories Mismatch when Saving a Graphic
47 Graphics Troubleshooting
47.1 Units Categories Mismatch when Saving a Graphic

47.1 Units Categories Mismatch when


Saving a Graphic
This error occurs if you have bound an improperly configured alarm to a
graphic, in this case, a mismatching unit.

NOTICE
• The error occurs even when you use bindning view.

For example, you have created an alarm and bound its monitored variable in unit
Celsius that belong to the Temperature category. In Graphics Editor, you have
created a graphic, added text to the graphic, and added a binding. In
WorkStation you have edited the binding of the graphic, bound the alarm state to
the graphic binding and saved the graphic. You have then changed the variable
unit, for example, to ohms.
The result is that the alarm is disabled and sends an alarm text saying "Disabled
Cause" = system. A system alarm is created and tells you that the alarm unit is
wrong.
It is not possible to save the graphic in Graphics Editor or remove the binding
between the text and the alarm state if you have:
• bound the graphic containing a certain unit to a variable of a different unit
category
• changed the original variable unit category to one that does not match the
unit of the graphic

47.1.1 Solution
Locate the monitored variable and change its unit to any unit in the alarm unit
category. Alternatively,you can changee the alarm unit or remove the binding
between the alarm and the monitored variabl.

04-30006-02-en, May 2019 Technical


1317
48 Function Block Introduction

Topics
Graphical Programming
Function Block Editor Overview
Function Block Workflow
Function Block Editor File Type
Function Block Editor Shortcut Keys
Programming Hints
Units of Measure
Function Block Diagram Structure
Programming Phases
Design Phase
Operation Modes
48 Function Block Introduction
48.1 Graphical Programming

48.1 Graphical Programming


When you program a function block program using Function Block Editor, you
define the function block program graphically in the function block diagram. The
function block diagram has two fundamental elements:
• Function blocks, which process the data
• Connections, which transport the signals

48.1.1 How a Function Block Program Works


In a function block program, the input signals to the blocks are processed and
generated into a single output signal.
Each function block can have one or several parameters that process the input
signals. The parameters can be defined as numerical values or as identifiers
(constants).
The output signal is forwarded to other blocks. The signal follows the route
defined by the connections, which represent the data flow during the program
execution.
The data normally flows left-to-right in the diagram: An exception to this rule is
when a connection is used to close a feedback loop. In this case, the data flows
back to complete a loop.

Figure: A simple function block diagram (FBD)

In general, blocks with no inputs (source blocks) are located on the left in the
diagram.
Blocks with no outputs connected to other blocks (destination blocks) are often
placed to the right in the diagram.
Intermediate blocks, which make calculations and logical decisions, are placed
between the source blocks and the destination blocks. These intermediate
blocks are oriented in the direction of the data flow.
A function block program is cyclic and is executed at a constant time interval,
called the program cycle. During each program cycle, source blocks send data
to the intermediate blocks, which then send data to the destination blocks.

48.1.2 Printouts of Function Block Programs with


Multiple Pages
Boundary ties are cross references at both ends of a connection that crosses
pages. The boundary ties are useful when you prepare a printout of a function
block program with multiple pages. Boundary ties indicate where the signal
continues in a three-position format, separated by a dot: x-axis.y-axis.page.
Boundary ties are automatically created but can be manually moved and
deleted.

04-30006-02-en, May 2019 Technical


1321
48 Function Block Introduction
48.1 Graphical Programming

48.1.3 Function Block Limitations


A function block program cannot contain more than 1024 public blocks and 512
public constants.
If you have a function block program that contains more than 1024 public blocks
and more than 512 public constants, you must split the function block program
into smaller parts.

Technical 04-30006-02-en, May 2019


1322
48 Function Block Introduction
48.2 Function Block Editor Overview

48.2 Function Block Editor Overview


Function Block Editor is a graphical programming tool for EcoStruxure BMS
servers and MP Series controllers, which you use to create function block
programs that control and monitor building automation systems. For example,
you create a basic program, called OfficeLight, to control lighting in a room
based on occupancy.

NOTICE
Ensure that you have a working and available Function Block Editor license. A
working license is required to start the Function Block Editor software. For
more information, see the Licenses topic on WebHelp.

When you open your new OfficeLight program in Function Block Editor, you
begin by adding function blocks based on the type of action you wish the
program to perform. You then connect the blocks. For more information, see
section 48.1 “Graphical Programming” on page 1321.
When you have finished the graphical programming, you create points in
WorkStation. You then bind the signals of the function block program to those
points to view the output.
When you are finished, you use the Function Block Editor Simulation mode to
check the program for errors and save the program.
In WorkStation, in the Properties pane, you select the task in which you want to
include your programs. You then execute your function block program.
For more information, see section 48.3 “Function Block Workflow” on page 1324.
You can store your function block programs and include them later in projects
for use in your control system. By putting small function block programs
together, you can create function block programs that perform anything from
simple to very complex operations, such as lighting, boilers, and air handling
units at multiple sites.

04-30006-02-en, May 2019 Technical


1323
48 Function Block Introduction
48.3 Function Block Workflow

48.3 Function Block Workflow


The function block workflow enables you to create (and edit) function block
programs in the EcoStruxure Building Operation software.
The following flowchart describes the basic steps required to create (or edit) a
function block program. Related information can be found in the sections after
the flowchart. If you want to edit an existing function block program, select the
program in the SmartX server and then continue from the second step.

Technical 04-30006-02-en, May 2019


1324
48 Function Block Introduction
48.3 Function Block Workflow

Figure: Function block workflow

Create a function block program


In WorkStation, create a function block program under a SmartX server.

04-30006-02-en, May 2019 Technical


1325
48 Function Block Introduction
48.3 Function Block Workflow

For more information, see section 49.3 “Creating a Function Block Program” on
page 1343.

Open Function Block Editor


In WorkStation, open Function Block Editor so that you can edit the program.
For more information, see section 49.8 “Editing a Function Block Program” on
page 1348.

Add, name, and connect function blocks


In Function Block Editor, in Edit mode, add, name, and connect function blocks.
Edit library programs as required.
For more information, see section 58.2 “Adding a Simple Block” on page 1499.
For more information, see section 59.2 “Adding an Operator” on page 1612.
For more information, see section 57.2 “Adding an Expression Block” on page
1481.
For more information, see section 50.11 “Naming a Function Block” on page
1385.
For more information, see section 56.3 “Connecting a Block Output to a Block
Input” on page 1465.

Open the program in Simulation mode


In Function Block Editor, open the program in Simulation mode.
For more information, see section 55.2 “Changing to Simulation Mode” on page
1436.

Test and verify the program


In Simulation mode, execute the program for one or more cycles, for different
input values.
For more information, see section 55.7 “Starting a Simulation” on page 1441.
For more information, see section 55.5 “Simulating One Cycle Only” on page
1439.
For more information, see section 55.6 “Simulating a Defined Number of Cycles”
on page 1440.

Change the program to Edit mode


Change to Edit mode so that you can save the program.
For more information, see section 50.2 “Changing to Edit Mode” on page 1376.

Save program to SmartX server


In Function Block Editor, in Edit mode, save the tested program to the SmartX
server.
For more information, see section 49.11 “Saving a Function Block Program” on
page 1353.

Bind inputs and outputs


In WorkStation, bind the inputs and outputs of the program to I/O bus variables.

Technical 04-30006-02-en, May 2019


1326
48 Function Block Introduction
48.3 Function Block Workflow

For more information, see section 49.9 “Binding a Function Block Program to
I/Os” on page 1349.

Select a task and execute the program


In WorkStation, select the function block execution frequency (the task) and
execute the program.
For more information, see section 62.18 “Adding a Task to a Program” on page
1742.

04-30006-02-en, May 2019 Technical


1327
48 Function Block Introduction
48.4 Function Block Editor File Type

48.4 Function Block Editor File Type


A Function Block Editor .AUT file is the data file type used for creating a function
block program for a SmartX server.
The .AUT file is a text file with function block program source code and data
including a graphical block diagram. When you save a function block program
from Function Block Editor, it is saved to the function block program object in the
EcoStruxure BMS database. To use the file outside EcoStruxure BMS, you need
to export the text file.

.MTA
An .MTA file can be imported into Function Block Editor but, when saved, it is
converted into an .AUT file.

Technical 04-30006-02-en, May 2019


1328
48 Function Block Introduction
48.5 Function Block Editor Shortcut Keys

48.5 Function Block Editor Shortcut Keys


You can use shortcut commands to make the work in Function Block Editor more
efficient.
In Edit mode the following commands are available:

Table: Shortcut Commands in Edit Mode


Key Function

F7 Open the Search dialog box.

F8 Open the Replace dialog box.

F9 Center a selection in the diagram window.

F12 Change to Simulation mode.

In Simulation mode the following commands are available:

Table: Shortcut Commands in Simulation Mode


Key Function

F2 Start and stop a simulation.

F5 Change to table view.

F7 Open the Search dialog box.

F12 Change to Edit mode.

04-30006-02-en, May 2019 Technical


1329
48 Function Block Introduction
48.6 Programming Hints

48.6 Programming Hints


To make your programming tasks in Function Block Editor more efficient, use
these hints.

48.6.1 Program Cycle Time


The cycle time for the function block program is variable. Take this into account
when drawing your function block program.
For example, you can use the INTEG block to calculate Energy consumption
from the input Power. When resetting the block at the start of a new calculation
interval, the reset value must be the input signal multiplied by the program cycle
time.

48.6.2 Time Counter


The time counter counts in seconds, which takes care of the actual function
block program cycle time. The counter is reset by a binary signal.

Figure: Time counter

You can also make Time counters by using the PULSE and RT blocks. Designs
using RT and INTEG can be reset during the count. You can use the INTEG
counter when counting something, such a time or power, over time.

48.6.3 Equality
When testing whether two values are equal, ensure that the tested values are of
the Binary or Integer type. Do not carry out an equal test on Real values.

48.6.4 Reset Counter


You can use the RST, for example, to reset an energy counter without losing any
pulses during the reset:

Figure: Reset a counter

Technical 04-30006-02-en, May 2019


1330
48 Function Block Introduction
48.6 Programming Hints

48.6.5 Bitwise Operators


The output of the bitwise AND (&) operator is an integer that represents the
result of the AND operation on two analog signals. By using this operation inside
an expression block with a binary output and assigning the result of the AND
operation to the output, you obtain a binary signal that is zero if there is no match
and one as soon as there is a match in at least one bit position.

48.6.6 Sliding Average Value


You use sliding average values to display previous values.
Programming example of the sliding average of three values:

Figure: Sliding average value

48.6.7 Time Shift


You can detect a time shift, if the latest displayed time has a lower value than the
previously displayed time. A lower value of an HOUR block indicates a day shift,
a lower value in a MINUTE block indicates an hour shift, and a lower value in a
SECOND block indicates a minute shift.

Figure: A lower value in an HOUR block indicates a day shift

48.6.8 Expression Blocks


You cannot change the output type of an expression block when the output is
connected to a node.
Expression blocks can be used to convert from a Real signal to an Integer signal
and vice versa:

04-30006-02-en, May 2019 Technical


1331
48 Function Block Introduction
48.6 Programming Hints

Figure: Expression blocks

If the expression block contains an IF-THEN-ELSE statement, both the IF and the
ELSE part of the statement are calculated each cycle.

48.6.9 Start-Up Delay


Use the RST block to create a start-up delay following a warm start of the device.
Use different delays for different AHUs by altering the DelayOff time (60 s in the
example):

Figure: Start-Up delay

Technical 04-30006-02-en, May 2019


1332
48 Function Block Introduction
48.7 Units of Measure

48.7 Units of Measure


In Function Block Editor, a number of blocks use either the SI unit system or the
imperial unit system. SI units are the metric units and imperial units are the inch-
pound units.
The regional settings of the Windows operating system that is used to create the
function block program, determines the units of measure for some blocks. The
definition of the signal determines the units of measure for other blocks.

04-30006-02-en, May 2019 Technical


1333
48 Function Block Introduction
48.8 Function Block Diagram Structure

48.8 Function Block Diagram Structure


In a function block diagram (FBD), the function blocks process input signals and
generate a single output signal. During the program execution, the output signal
is forwarded to other blocks by using connections that represent the data flow
from left to right.
The first step when structuring is to make an outline structure by:
• Identifying the main functions, and
• Determine where to graphically locate these function groups in relation to
each other.
The grouping can be done in several ways. The most important thing is to make
the FBD easy to understand. Function blocks that perform a function together
should preferably be located together.
The second step is to graphically locate the groups. Create a left-to-right logical
sequence in the FBD. If there is a connection between two groups, place a
group that delivers an output to the left of a group that receives an input. To
standardize this, we recommend a logical order from left-to-right: START
CONDITION - STOP CONDITION - GENERAL CONTROL - PID CONTROL
SEQUENCES - ALARM HANDLING.

Figure: Left-to-right logical sequence

Use the following rules of thumb when you locate blocks and groups:
• Enter a framed comment containing the last edition date of the FBD in the
upper left corner. History notes, describing the revision, can also be
included. Update this information whenever you make a program revision.
• Try to structure every page so that the physical input blocks are arranged in
a column to the left, and the physical output blocks in a column to the right.
• Adjust the function block diagram to the page break lines, to make a
printout legible.
• Make space between the groups so that it is possible to add connections
and additional functions.
• Add new pages to the right when necessary, but try to use only one page in
a vertical direction.
• Locate connections like a bus with common left-to-right connections at the
top of the diagram. Avoid mixing connections running in opposite
directions. Put connections running in opposite directions in a separate bus
at the bottom of the page. Mark the direction of these signals.
• Reuse tested macros from the Macro Block Library or your own library as
often as possible.
• Structure the function block program so that all public signals that you want
to display together belong to the same module (and have the same module
name).

Technical 04-30006-02-en, May 2019


1334
48 Function Block Introduction
48.8 Function Block Diagram Structure

Figure: Page breaks have to be adjusted to make printouts easy to read

04-30006-02-en, May 2019 Technical


1335
48 Function Block Introduction
48.9 Programming Phases

48.9 Programming Phases


When you program a SmartX server, the work can be divided into three
fundamental phases:
• Function phase: analyze the requirements
• Design phase: program the function block program
• Test phase: simulate the functionality of the function block program

48.9.1 Function Phase


In the function phase, you read and analyze the functional specification. You
add your analysis and form an overall solution. In this phase, you sometimes
need to acquire more data regarding parts of the installation that affect the
programming. An important part of this phase is to locate function block
programs that are ready to use or that only require small changes, in the folder
where you store your function block programs.

48.9.2 Design Phase


During the Design phase, you start working in Function Block Editor. You identify
points, name the points, and allocate them. You plan the structure of the function
block program and finally build your function block program in Function Block
Editor.

48.9.3 Test Phase


During the test phase you can test a function block program in two ways:
• In Simulation mode in Function Block Editor.
• As a final system test where you download the complete function block
program to a SmartX server and test it.

Technical 04-30006-02-en, May 2019


1336
48 Function Block Introduction
48.10 Design Phase

48.10 Design Phase


During the Design phase, you start working in Function Block Editor. You identify
points, name the points, and allocate them. You plan the structure of the function
block program and finally build your function block program in Function Block
Editor.

48.10.1 Point Identification and Allocation


The importance of a good point allocation is often underestimated. There is a
very close relationship between a well-prepared point allocation and the
efficiency that can be achieved later on in the project.
With good point allocation, copying techniques can substantially reduce the
engineering hours needed for the design and manufacturing of electrical
panels. Installation and commissioning work benefits from efficient point
allocation.

48.10.2 Points and Alarms Naming Conventions


The naming of points and signals is an important part of design work. I/O and
signals are best given names that are descriptive and easy to recognize. The
customer or end user has often specific demands on the use of acronyms or
designations. The same applies, even in a higher degree, for alarm texts.

48.10.3 The Function Block Diagram Structure


In a function block diagram (FBD), the function blocks process input signals and
generate a single output signal. During the program execution, the output signal
is forwarded to other blocks by using connections that represent the data flow
from left to right.
For more information, see section 48.8 “Function Block Diagram Structure” on
page 1334.

04-30006-02-en, May 2019 Technical


1337
48 Function Block Introduction
48.11 Operation Modes

48.11 Operation Modes


In Function Block Editor, there are two modes to choose from depending on if
you are programming a function block program or if you are testing a function
block program.

48.11.1 Edit Mode


You use Edit mode when designing the function block program. In Edit mode
you add and edit blocks and connections.
For more information, see section 50.1 “Edit Mode” on page 1375.

48.11.2 Simulation Mode


You use Simulation mode to test and troubleshoot function block programs and
to show the state of the signals. You can run Simulation mode without a
connected SmartX server.
For more information, see section 55.1 “Simulation Mode” on page 1435.

Technical 04-30006-02-en, May 2019


1338
49 Function Block Programs

Topics
Function Block Programs in WorkStation
Function Block Program Printouts
Creating a Function Block Program
Function Block Program Import
Importing Function Block Program Code
Exporting Function Block Program Code
Opening a Function Block Program
Editing a Function Block Program
Binding a Function Block Program to I/Os
Binding Values Using a Binding Template
Saving a Function Block Program
Tasks
Adding a Task to a Program
Program Cycles in EcoStruxure Building Operation Software
Configuring the Execution Precedence for a Program
Finding Cycles in a Task
Module Names
Default Names
Adding and Editing the Module Name
Adding Default Names to Function Blocks
49 Searching for a Text String
Replacing a Text String
Program Conversion
Importing a Xenta 280/300/401 Program
49 Function Block Programs
49.1 Function Block Programs in WorkStation

49.1 Function Block Programs in WorkStation


You create function block programs in WorkStation. In WorkStation, function
block programs are represented by a designated icon. At this stage, the
function block program is empty, that is, it contains no function blocks or source
code of any kind.

Figure: Function Block programs in WorkStation

Function Block Editor starts automatically when you use the Edit command on a
function block program from WorkStation.

04-30006-02-en, May 2019 Technical


1341
49 Function Block Programs
49.2 Function Block Program Printouts

49.2 Function Block Program Printouts


In Function Block Editor, you can print function block programs. You use the
Print dialog box to determine what you want to include in the printout and the
Page Setup dialog box to set up the appearance of the printout. If you make a
selection, only the selected blocks are printed.

Technical 04-30006-02-en, May 2019


1342
49 Function Block Programs
49.3 Creating a Function Block Program

49.3 Creating a Function Block Program


You create a Function Block program to import existing program code or to
program new logic for the EcoStruxure BMS server using Function Block Editor.
For more information, see section 48.1 “Graphical Programming” on page 1321.

To create a function block program


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create the function block program.
2. On the File menu, point to New and then click Program
Program.
3. In the Create Object wizard, in the object type list, select Function Block
Program
Program.
4. In the Name box, type a name for the function block program.
5. In the Description box, type a description for the function block program.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


1343
49 Function Block Programs
49.4 Function Block Program Import

49.4 Function Block Program Import


You can import and reuse a function block program that has been exported from
Function Block Editor and saved at an earlier stage. For more information, see
section 49.5 “Importing Function Block Program Code” on page 1345.

Technical 04-30006-02-en, May 2019


1344
49 Function Block Programs
49.5 Importing Function Block Program Code

49.5 Importing Function Block Program Code


You import function block program code to reuse all or parts of existing code.
Function Block Editor supports import of .aut and .mta files created for Xenta
280/300/400 LonWorks devices in Menta Editor, as well as .aut file previously
created in Function Block Editor.
For more information, see section 48.1 “Graphical Programming” on page 1321.

To import function block program code


1. In WorkStation, in the System Tree pane, select the function block program
you want to import program code to.
2. On the Actions menu, click Edit
Edit.
3. In Function Block Editor, on the File menu, click Import
Import.
4. Select the file you want to import.
5. Click Open
Open.
6. On the File menu, click Save
Save.

NOTICE
• When a Menta file is imported, TSCH blocks and ALARM blocks are
removed, AI/DI blocks are converted to RI/BI blocks, and AO/DO
blocks are converted to RO/BO blocks. As a result of these
conversions, you may need to make adjustments to the imported Menta
code.

04-30006-02-en, May 2019 Technical


1345
49 Function Block Programs
49.6 Exporting Function Block Program Code

49.6 Exporting Function Block Program Code


You export function block program code to an .aut file when you want to save a
copy of the program code, which can be imported into Function Block Editor
and reused for other function block programs.
For more information, see section 48.1 “Graphical Programming” on page 1321.

To export function block program code


1. In Function Block Editor, on the File menu, click Export
Export.
2. In the File name box, type a path and file name for the export file.
3. Click Save
Save.

Technical 04-30006-02-en, May 2019


1346
49 Function Block Programs
49.7 Opening a Function Block Program

49.7 Opening a Function Block Program


You open a function block program to view its properties.
For more information, see section 49.1 “Function Block Programs in
WorkStation” on page 1341.

To open a function block program


1. In WorkStation, in the System Tree pane, click the function block program
you want to open.
2. On the File menu, click Open
Open.

04-30006-02-en, May 2019 Technical


1347
49 Function Block Programs
49.8 Editing a Function Block Program

49.8 Editing a Function Block Program


You edit a function block program in Function Block Editor to modify the function
block program logic.
For more information, see section 48.2 “Function Block Editor Overview” on
page 1323.

NOTICE
Ensure that you have a working and available Function Block Editor license. A
working license is required to start the Function Block Editor software. For
more information, see the Licenses topic on WebHelp.

To edit a function block program


1. In WorkStation, in the System Tree pane, select the function block
program.
2. On the Actions menu, click Edit
Edit.
The function block program opens in Function Block Editor where you can edit it.

Technical 04-30006-02-en, May 2019


1348
49 Function Block Programs
49.9 Binding a Function Block Program to I/Os

49.9 Binding a Function Block Program to


I/Os
You bind a function block program to I/Os to connect the inputs and outputs of a
function block program to variables in SmartX server.
For more information, see the I/O Bus Parts topic on WebHelp.

To bind a function block program to I/Os


1. In WorkStation, in the System Tree pane, select the function block program
to which you want to bind values.
2. On the Actions menu, click Edit bindings
bindings.
3. In the Bindings View, in the Browser
Browser, drag IO Bus values to inputs and
outputs in the binding list to create the bindings.
4. On the toolbar, click Save to save the bindings to the SmartX server.

04-30006-02-en, May 2019 Technical


1349
49 Function Block Programs
49.10 Binding Values Using a Binding Template

49.10 Binding Values Using a Binding


Template
You use binding templates to reduce engineering time when creating bindings.
Binding templates are defined and created for binding patterns that are
frequently reused.
Using binding templates, you create bindings between the EcoStruxure BMS
server program variables, internal values, and I/O points using the following
recommended process:
• First, bind the SmartX server IO Bus to each of the Programs in the SmartX
server that requires data flow with the I/O points.
• Next, bind the Internal Variables to each of the Programs in the SmartX
server that requires data flow with Internal Variables.
• Then, bind each of the individual Programs to all other Programs that
require data flow with other Programs.
• Finally, bind any time schedules and alarms that are required as part of the
programmed control logic.

NOTICE
• When creating bindings, follow the recommended general guidelines: create
bindings between Inputs and Outputs only and do not create bindings to
Public Signals.

For more information, see section 18.1 “Binding Templates” on page 479.

To bind values using a binding template


1. In WorkStation, in the System Tree pane, select the object that you want to
bind values to.
2. On the Actions menu, click Edit bindings
bindings.
Continued on next page

Technical 04-30006-02-en, May 2019


1350
49 Function Block Programs
49.10 Binding Values Using a Binding Template

3. In the binding point browser, drag the object or folder to the binding
template that you want to apply.

4. Select the bindings that you want to create.

5. Click OK
OK.
Continued on next page

04-30006-02-en, May 2019 Technical


1351
49 Function Block Programs
49.10 Binding Values Using a Binding Template

6. Verify that all bindings are correctly bound.

7. On the File menu, click Save


Save.

NOTICE
• To ensure data flow is occurring as intended, use the Watch pane to view
values and monitor changes.

Technical 04-30006-02-en, May 2019


1352
49 Function Block Programs
49.11 Saving a Function Block Program

49.11 Saving a Function Block Program


You save a function block program to make it available for reuse. The Save
process automatically processes the function block program data and creates a
number of subfolders in the System Tree pane.

To save a function block program


1. In Function Block Editor, on the File menu, click Save
Save.
You can now use the function block program, with the blocks and the folders
automatically created in the database.

04-30006-02-en, May 2019 Technical


1353
49 Function Block Programs
49.12 Tasks

49.12 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default.
This means that one program cycle executes in 1000 ms.

Figure: Tasks

The way you schedule programs to execute in Script differs from how you
schedule them to execute in Continuum. For more information, see the Script
and Plain English Program Differences topic on WebHelp.

Table: Task Intervals


Task Interval

Task 1 0.1 seconds

Task 2 0.5 seconds

Task 3 1 seconds

Task 4 5 seconds

Task 5 10 seconds

Technical 04-30006-02-en, May 2019


1354
49 Function Block Programs
49.13 Adding a Task to a Program

49.13 Adding a Task to a Program


To make a Script or Function Block program run, the program must be
connected to a task.
For more information, see section 62.17 “Tasks” on page 1741.

To add a task to a program


1. In WorkStation, in the System Tree pane, select the program you want to
add a task to.
2. On the File menu, click Properties
Properties.
3. In the Task box, enter the task you want to add.
4. Click OK
OK.

04-30006-02-en, May 2019 Technical


1355
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

49.14 Program Cycles in EcoStruxure Building


Operation Software
All programs are executed in the order they are bound in the EcoStruxure
Building Operation software. For example, in programs that are executed in a
straight order or in any similar configuration, Program 4 runs after Program 3 that
runs after Program 2 that runs after Program 1. The first program to be executed
is Program 1.
The illustration that follows shows the execution sequence for a straight order
configuration.

Figure: Execution order of programs

When programs are connected in an algebraic loop, the execution order cannot
be determined and the program that runs first needs to be established. In
EcoStruxure Building Operation software, algebraic loops are called Cycles. In
this case, there is no way to determine the execution order of the programs.
Program 4 runs after Program 3 that runs after Program 2 that runs after Program
1 that runs after Program 4.

Figure: In an algebraic loop the execution order of programs cannot easily be determined.

To resolve a cycle and determine which program runs first in the cycle, you use
the execution precedence function. Programs can have execution precedence
values ranging from 0 to 255 where 0 results in the highest priority and 255
results in the lowest priority. The program with highest execution precedence is
always executed first in the cycle.
Execution Precedence

Values: Integers ranging from 0 to 255

Highest priority value: 0

Lowest priority value: 255

The execution precedence is configured in the properties for the program. The
default value when you create a new program is 100.

Technical 04-30006-02-en, May 2019


1356
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

Figure: Execution precedence

The execution precedence can never override the execution order of programs
based on how they are bound. The execution precedence decides the order in
which the programs are run when they are set up in some form of cycle and the
binding does not give a straight order for which program runs first.
The execution precedence can be used in two different situations:
• To determine the execution order when programs are bound in a cycle.
• As troubleshooting, for example when a there are delays without any known
reason. A long delay might be the result of programs that run in the wrong
order.

49.14.1 Example A
In this example we have four programs that are connected in a cycle. The
execution order cannot be determined from how programs are bound. Program
1 should run before Program 2, Program 2 before Program 3, and Program 4
before Program 1.

04-30006-02-en, May 2019 Technical


1357
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

Figure: Example

However, Program 2 reads from a physical input, Input A, and the information
from this reading is transferred to Program 4, which writes to a physical output,
Output B.

Figure: Example

So, we want to Program 2 to run before Program 4. To do this we use execution


precedence. By configuring the Execution precedence as 99 for Program 2,
Program 2 will be the first program to be executed in the cycle.

Figure: Example

The resulting execution order will be P2, P3, P4 and P1.

Technical 04-30006-02-en, May 2019


1358
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

49.14.2 Example B
All programs use the default execution precedence that is 100. In this example,
it is not possible to determine the execution order of Program 1 and Program 2
and the execution order of Program 3 and Program 4. The only thing we can be
sure of is that the cycle with Program 1 and Program 2 is executed before the
cycle with Program 3 and Program 4 due to the fact that Program 3 awaits input
from Program 2.

Figure: Example

To resolve the order we configure Program 2 and Program 3 to have the


execution precedence of 99. Then Program 2 runs before Program 1 in the first
cycle and Program 3 before Program 4 in the second cycle.

Figure: Example

Now the execution order is Program 2, Program 3, Program 4 and Program 1.

04-30006-02-en, May 2019 Technical


1359
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

49.14.3 Application Scheduler


The Application Scheduler displays the programs execution order and if you
have any cycles in your system. In the System Tree pane, the Application
Scheduler is displayed in the Modules folder. The programs are represented
with an entry under the task they are assigned to.

Figure: Application scheduler

The object called cycle identifies a cycle. In the properties dialog for the task the
property "Conflict" is set to "True" if there is any cycle in the Task. Conflicts do not
mean that the programs will not run at all. The programs will run but the might
run in an execution order that may cause unnecessary delays from input to
output.

Technical 04-30006-02-en, May 2019


1360
49 Function Block Programs
49.14 Program Cycles in EcoStruxure Building Operation Software

Figure: Conflict setting in task 3

Use the List View to see the execution order of the programs.

Figure: Entries in the List View

Entry is the order of execution of the programs for a specific task. In this case
Program 2 executes first followed by Program 4. Program 3 runs last.

04-30006-02-en, May 2019 Technical


1361
49 Function Block Programs
49.15 Configuring the Execution Precedence for a Program

49.15 Configuring the Execution Precedence


for a Program
You configure the highest execution precedence number on the program you
want to be executed first in a cycle.
For more information, see section 62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page 1743.

To configure the execution precedence for a program


1. In WorkStation, in the System tree pane, select the program.
2. On the File menu, click Properties
Properties.
3. In the Execution precedence box, enter a number that is higher than all the
other programs in the cycle.

4. Click OK
OK.

Technical 04-30006-02-en, May 2019


1362
49 Function Block Programs
49.16 Finding Cycles in a Task

49.16 Finding Cycles in a Task


If you encounter unexpected delays in input to output response, the execution
order of the programs in a Task might not optimized.
For more information, see section 62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page 1743.

To find cycles in a task


1. In WorkStation, in the System Tree pane, in the System folder, open the
Modules
Modules, and then ApplicationScheduler foldes.
2. Open a Task.
3. If the Task contains an object called Cycle
Cycle, a cycle is present.

04-30006-02-en, May 2019 Technical


1363
49 Function Block Programs
49.17 Module Names

49.17 Module Names


You can add a module name to the name of a signal to make the signal name
unique. Using modules in the signal name enables you to divide a large function
block program into separate systems, such as multiple heating groups. This
division provides two major advantages:
• You can use the same signal name in multiple systems, and make them
unique using the module name in the signal name. For example,
AHU1\T1_SP and AHU2\T1_SP.
• All public signals in a module are treated as a group and are located
together in the database when they are imported.
You can enter and edit the module name for a single block or a group of blocks.

Figure: Blocks in Modules

Module Signal Names


Use the following syntax for the module name in a signal name:
Module name\Signal
The module part of a signal name can have a maximum of 12 characters.

Technical 04-30006-02-en, May 2019


1364
49 Function Block Programs
49.18 Default Names

49.18 Default Names


You can let the program generate default names for all function blocks. When
you save a function block program, all public blocks without any Identifier get a
default name. For example, a block of type BI (Binary Input) gets the identifier
“BI1”. If more than one block of the same type is used in the function block
program, the blocks are separated with a continuous series of numbers; BI1,
BI2, BI3, and so on.

04-30006-02-en, May 2019 Technical


1365
49 Function Block Programs
49.19 Adding and Editing the Module Name

49.19 Adding and Editing the Module Name


You can add and edit module names in the diagram window.

To add and edit the module name


1. In Function Block Editor, in the diagram window, select the block or group
of blocks you want to name or rename.
2. Right-click the selection and then click Module
Module.
3. In the Module Name box, type the module name.
4. Click OK
OK.
The module name is displayed in each function block in the module. The block
type designation of a block in a module is underlined and purple.

Technical 04-30006-02-en, May 2019


1366
49 Function Block Programs
49.20 Adding Default Names to Function Blocks

49.20 Adding Default Names to Function


Blocks
You can save unnamed function blocks under default names generated by the
program.

To add default names to function blocks


1. In Function Block Editor, on the File menu, click Save to save unnamed
function blocks under default names.
All previously unnamed blocks get an identifier referring to the block type and a
number, for example, BI1 and BI2 for Binary input blocks.

04-30006-02-en, May 2019 Technical


1367
49 Function Block Programs
49.21 Searching for a Text String

49.21 Searching for a Text String


You search for a text string when you want to locate certain signals, constants,
comments, modules, or block types.

To search for a text string


1. In Function Block Editor, on the Edit menu, click Search
Search.
2. In the Search dialog box, in the Search for box, type the text string you
want to search for.
3. Select Signal-/ Constant Names to search for the text string in signal and
constant names.
4. Select Comment Text to search for the text string in comment texts.
5. Select Module Names to search for the text string in module names.
6. In the Block Types list, select the block type to search in.
7. Select Match case to match the letter case in the text string.
8. Select Whole words to only match whole words in the text string.
9. Click Search Next to start the search.
The text is displayed in the Text in Found Block area and the blocks containing
the text are selected.

Technical 04-30006-02-en, May 2019


1368
49 Function Block Programs
49.22 Replacing a Text String

49.22 Replacing a Text String


You search for and replace a text string in a function block program to locate a
certain block or function.

To replace a text string


1. In Function Block Editor, on the Edit menu, click Replace
Replace.
2. In the Replace dialog box, in the Search for box, type the text string to
replace.
3. In the Replace with box, type the text string to replace with.
4. Select Signal-/ Constant Names to search for the text string in signal and
constant names.
5. Select Comment Text to search for the text string in comment texts.
6. Select Module Names to search for the text string in module names.
7. In the Block Types list, select the block type to search.
8. Select Case sensitive to match the letter case in the text string.
9. Select Whole words to match whole words in the text string.
10. Click Search Next to search for the text string.
11. Click Replace to replace the text string.
12. Click Search Next if you want to search for the text string again.

NOTICE
• To replace text strings in all blocks, click Replace All.

04-30006-02-en, May 2019 Technical


1369
49 Function Block Programs
49.23 Program Conversion

49.23 Program Conversion


In Function Block Editor, the programming principles and features are quite
different from the programming principles of Menta Editor. In Function Block
Editor, the functionality is built up by program modules, but in Menta Editor the
functionality is typically built up by logical blocks into a single large program.
It is still possible to import and save Menta programs for Xenta 280/300/401 into
Function Block Editor. When you save the program it is saved as a function
block program, that is, an .AUT file. Some of the blocks that were available for
Xenta 280/300/401 controllers in Menta are automatically converted into new
blocks when you save the program in Function Block Editor. Some of the
converted blocks lose their configuration data but are necessary for non-public
blocks to function properly.
The following conversions are made:
• AI blocks are converted into RI blocks.
• AO blocks are converted into RO blocks.
• ALARM blocks are converted into modified ALARM blocks, with inputs and
outputs but no parameters. The block acts as an input/output between the
function block program and EcoStruxure Building Operation software, but
because of the alarm capabilities in EcoStruxure Building Operation
software, it is often unnecessary to keep the alarm handling in the function
block program. When imported into Function Block Editor, Alarm blocks in
Menta programs generate Change of State alarm objects in EcoStruxure
Building Operation software. You have to configure the alarms from
WorkStation. You can mass create alarms in EcoStruxure Building
Operation software. For more information, see the Alarm Functions topic on
WebHelp.
Because of the improved capabilities in EcoStruxure Building Operation
alarm, it is often possible to remove logic in Menta connected to alarm
handling
• CNT blocks are converted into PI blocks connected to control inputs.
• DI blocks are converted into BI blocks.
• DO blocks are converted into BO blocks.
• DOPU blocks are converted into PO blocks.
• ERR blocks are converted into ERROR blocks.
• TSCH blocks are converted into TSCHI blocks, with inputs only. The block
acts as an input from the time schedule in EcoStruxure Building Operation
software into the function block program.
• Trend logs are lost and have to be manually recreated in EcoStruxure
Building Operation software. You can mass create trend logs in EcoStruxure
Building Operation software. For more information, see the Trend Log
Functions topic on WebHelp.
• The bindings to physical I/Os are lost. You have to create the I/O point list in
EcoStruxure Building Operation software and then recreate the bindings
either manually or by using a binding template. For more information, see
section 49.10 “Binding Values Using a Binding Template” on page 1350.
• SNVTs are converted into RI/RO blocks.
• The .MTA file is converted into an .AUT file. For more information, see
section 48.4 “Function Block Editor File Type” on page 1328.

Technical 04-30006-02-en, May 2019


1370
49 Function Block Programs
49.24 Importing a Xenta 280/300/401 Program

49.24 Importing a Xenta 280/300/401 Program


You import a Xenta 280/300/401 program to Function Block Editor to reuse its
functions in a SmartX server.

To import a Xenta 280/300/401 program


1. In Function Block Editor, on the File menu, click Import
Import.
2. Enter the name of the Menta program you want to import.
3. Click Open
Open.
4. Click Yes
Yes.
The Menta program is now converted into a function block program is now
uploaded and can be edited in Function Block Editor.

04-30006-02-en, May 2019 Technical


1371
50 Function Blocks

Topics
Edit Mode
Changing to Edit Mode
Duplicating a Function Block
Selecting a Function Block
Copying a Selection to the Clipboard
Clearing a Function Block Selection
Printing a Selection
Moving a Function Block
Copying a Function Block
Deleting a Function Block
Naming a Function Block
Selecting a Group
Centering a Group
Moving a Group
Deleting a Group
Copying a Group
Disconnecting a Group
50 Function Blocks
50.1 Edit Mode

50.1 Edit Mode


You use Edit mode when designing the function block program. In Edit mode
you add and edit blocks and connections.

50.1.1 Function Block Programming


You work with graphical elements that contain functionality. You put the
elements together to get a function block program that can be used in a SmartX
server.
For more information, see section 56.1 “Function Block Programming” on page
1461.

50.1.2 Programming Phases


When you program a SmartX server, the work can be divided into three
fundamental phases:
• Function phase: analyze the requirements
• Design phase: program the function block program
• Test phase: simulate the functionality of the function block program
For more information, see section 48.9 “Programming Phases” on page 1336.

04-30006-02-en, May 2019 Technical


1375
50 Function Blocks
50.2 Changing to Edit Mode

50.2 Changing to Edit Mode


You change from Simulation mode to Edit mode to edit your function block
program.
For more information, see section 48.11 “Operation Modes” on page 1338.

To change to Edit mode


1. In Function Block Editor, on the Options menu, click Edit
Edit.

Technical 04-30006-02-en, May 2019


1376
50 Function Blocks
50.3 Duplicating a Function Block

50.3 Duplicating a Function Block


You create an empty function block to get a function block of a certain type but
without any specific parameters. You cannot duplicate Hierarchical Function
Blocks (HFB) using the Duplicate command.

To duplicate a function block


1. In Function Block Editor, in the diagram window, right-click the block you
want to duplicate and then click Duplicate
Duplicate.

2. Move the duplicate block to a suitable position in the diagram window.


3. Clear the function block selection.
You can now edit the name and parameters of the new block.

04-30006-02-en, May 2019 Technical


1377
50 Function Blocks
50.4 Selecting a Function Block

50.4 Selecting a Function Block


You select a function block if you want to move or copy it.

To select a function block


1. In Function Block Editor, in the diagram window, drag the pointer around
the block.
The block is now enclosed in a green rectangle and you can move or copy it.

Technical 04-30006-02-en, May 2019


1378
50 Function Blocks
50.5 Copying a Selection to the Clipboard

50.5 Copying a Selection to the Clipboard


You copy a selection to the clipboard when you want to export it to metafile
formatted function block programs.

To copy a selection to the clipboard


1. In Function Block Editor, in the diagram window, select the group of
function blocks you want to copy.
2. On the Edit menu, click Copy To Clipboard
Clipboard.

04-30006-02-en, May 2019 Technical


1379
50 Function Blocks
50.6 Clearing a Function Block Selection

50.6 Clearing a Function Block Selection


You clear a selection of blocks and connections that you no longer want to move
or copy.

To clear a function block selection


1. In Function Block Editor, in the diagram window, click outside the green
rectangle that encloses the block.
The function block selection is cleared.

Technical 04-30006-02-en, May 2019


1380
50 Function Blocks
50.7 Printing a Selection

50.7 Printing a Selection


You print a selection when you want to print only a part of a function block
program.

To print a selection
1. In Function Block Editor, in the diagram window, select the function block
you want to print.
2. On the File menu, click Print
Print.
3. Under Options
Options, select Scale Output to one page
page.
4. Click Print
Print.

04-30006-02-en, May 2019 Technical


1381
50 Function Blocks
50.8 Moving a Function Block

50.8 Moving a Function Block


You can move a function block to a new position in the diagram window.

To move a function block


1. In Function Block Editor, in the diagram window, select the function block
you want to move.
2. Drag the selected function block to a new position.
3. Click outside the function block to clear the selection.
The block is now moved to its new location.

Technical 04-30006-02-en, May 2019


1382
50 Function Blocks
50.9 Copying a Function Block

50.9 Copying a Function Block


You copy function blocks whose parameters and connections you want to reuse.

To copy a function block


1. In Function Block Editor, in the diagram window, select the function block
you want to copy.
2. On the Edit menu, click Copy
Copy.
3. On the Edit menu, click Paste
Paste.
4. Drag the block from the top left corner to a new position in the diagram
window.
You can now change the block parameters.

04-30006-02-en, May 2019 Technical


1383
50 Function Blocks
50.10 Deleting a Function Block

50.10 Deleting a Function Block


You can delete a function block that you no longer want in the function block
program.

To delete a function block


1. In Function Block Editor, in the diagram window, select the function block
you want to delete.
2. On the Edit menu, click Delete
Delete.

Technical 04-30006-02-en, May 2019


1384
50 Function Blocks
50.11 Naming a Function Block

50.11 Naming a Function Block


You name a function block to make it unique, which is required to avoid conflicts
in the function block program. You can also add a description for the block.
For more information, see section 48.1 “Graphical Programming” on page 1321.

To name a function block


1. In Function Block Editor, in the diagram window, right-click the block you
want to name..
2. On the BLOCK menu, click Edit
Edit.
3. In the Identifier box, type a name for the block.
4. In the Description box, type a description for the block.
5. Click OK
OK.
The block name is displayed at the top of the block in the diagram window.

04-30006-02-en, May 2019 Technical


1385
50 Function Blocks
50.12 Selecting a Group

50.12 Selecting a Group


You select a group of blocks in the diagram window to be able to perform an
action on multiple blocks. A connection is only partially selected if either the
starting point or the end point of the connection is selected. A connection is
completely selected if the starting point and end point are selected.

To select a group
1. In Function Block Editor, in the diagram window, drag the pointer around all
the blocks and connections you want to select.
The group is now selected and you can move, delete or copy it.

Technical 04-30006-02-en, May 2019


1386
50 Function Blocks
50.13 Centering a Group

50.13 Centering a Group


You can center a group to display a selection of blocks and connections in the
center of the diagram window.

To center a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connections you want to center.
2. On the Edit menu, click Center Selection
Selection.

NOTICE
• The selection shifts what is displayed in the center of the diagram
window. It does not move any blocks or connections.
• Selections to the far left or at the top are not centered as well as
selections made at the bottom or to the right in the diagram window.

The program centers the selection as well as possible.

04-30006-02-en, May 2019 Technical


1387
50 Function Blocks
50.14 Moving a Group

50.14 Moving a Group


You can move a group of function blocks in the diagram window.

To move a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connection you want to move.
2. Drag the selected group to a new position.
3. Click outside the selection to clear the selection.

Technical 04-30006-02-en, May 2019


1388
50 Function Blocks
50.15 Deleting a Group

50.15 Deleting a Group


You can delete all function blocks in a group.

To delete a group
1. In Function Block Editor, in the diagram window, select the blocks and
connections you want to delete.
2. On the Edit menu, click Delete
Delete.

04-30006-02-en, May 2019 Technical


1389
50 Function Blocks
50.16 Copying a Group

50.16 Copying a Group


You can copy blocks and connections in a function block program.

To copy a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connections you want to copy.
2. On the Edit menu, click Copy
Copy.
3. On the Edit menu, click Paste
Paste.
The copy is located at the top and to the left in the diagram window. You can
now move it to another position in the function block program and edit the block
parameters.

Technical 04-30006-02-en, May 2019


1390
50 Function Blocks
50.17 Disconnecting a Group

50.17 Disconnecting a Group


You can disconnect all function blocks in a group from blocks outside the group.

To disconnect a group
1. In Function Block Editor, in the diagram window, select the group.
2. Right-click inside the selection.
3. Click Disconnect
Disconnect.
The connections between the blocks inside the group and blocks outside the
group are removed. The connections between the blocks within the group are
kept.

04-30006-02-en, May 2019 Technical


1391
51 Hierarchical Function Blocks

Topics
Hierarchical Function Blocks
Creating an Empty HFB
Adding an HFB I/O Block
Creating an HFB of Existing Function Blocks
Expanding an HFB
Compressing an HFB
Navigating in a Hierarchical Structure of HFBs
Printing an HFB
51 Hierarchical Function Blocks
51.1 Hierarchical Function Blocks

51.1 Hierarchical Function Blocks


In Function Block Editor, you use hierarchical function blocks referred to as
HFBs to get an overview of a function block program. An HFB is a graphical
solution for grouping and structuring function blocks.
You can print or view a function block program with HFBs on the screen. You
can download the function block program to a SmartStrúxure server device as
an ordinary function block program, not as HFBs.
You can create HFBs two ways:
• You can create an empty HFB and then add function blocks and
connections.
• You can create a function block program from a group of existing function
blocks and connections, and then split it into hierarchical function blocks.
You can create one or more HFBs in another HFB.

NOTICE
• If you create or rename a function block program that includes an HFB, the
HFB and all its lower levels are included in this function block program.

HFBs have their own inputs and outputs.


An HFB with at least one public signal has a red dot in the upper right corner of
the HFB symbol. The red dot is also used when the public signal is located in an
embedded HFB.
The figures below show an HFB on the top level, as well as on the expanded
level.

Figure: HFB on top level

04-30006-02-en, May 2019 Technical


1395
51 Hierarchical Function Blocks
51.1 Hierarchical Function Blocks

Figure: HFB on expanded level

You can add and connect blocks for the function block program in the HFB
function block diagram the same way as an ordinary function block diagram.
You use HFB I/O blocks to connect signals from the HFB to other levels in the
hierarchical function block diagram.
You connect the HFB signals to function blocks outside the HFB by using the
HFAI, HFAO, HFDI, and HFDO blocks.

Technical 04-30006-02-en, May 2019


1396
51 Hierarchical Function Blocks
51.2 Creating an Empty HFB

51.2 Creating an Empty HFB


You can create an empty HFB in which you can structure your function block
program in a hierarchy.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To create an empty HFB


1. In Function Block Editor, in the diagram window, right-click and then click
HFB
HFB.
2. In the Edit Hierarchy dialog box, in the Identifier box, type a name for the
hierarchical function block.
3. In the Description box, type a description of the HFB
HFB.
4. Click OK
OK.
The empty HFB is added to the diagram window at the position where you right-
clicked.

04-30006-02-en, May 2019 Technical


1397
51 Hierarchical Function Blocks
51.3 Adding an HFB I/O Block

51.3 Adding an HFB I/O Block


You add HFB I/O blocks to connect the HFB signals to function blocks outside
the HFB.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To add an HFB I/O block


1. In Function Block Editor, in the diagram window, double-click to expand
the HFB.
2. In the diagram window, right-click and then click HFB I/O
I/O.
3. In the Edit Hierarchy dialog box, in the HFB I/O types list, click the type of
input or output you want to create.
4. Click OK
OK.
5. In the Identifier box, type a name for the signal.
6. Click OK
OK.

NOTICE
• The signals within the HFB must have unique names. The input and
output blocks are only displayed when the HFB is expanded and the
signals cannot be made public.

The HFB I/O is added to the HFB in the diagram window.

Technical 04-30006-02-en, May 2019


1398
51 Hierarchical Function Blocks
51.4 Creating an HFB of Existing Function Blocks

51.4 Creating an HFB of Existing Function


Blocks
You create an HFB of existing function blocks to create a hierarchy of function
blocks.

NOTICE
• When an HFB has been created, it cannot be reverted to its original flat
structure.
• When you create an HFB of a group of blocks and connections, the required
input and output block types HFAI, HFAO, HFDI, and HFDO are
automatically created and use the existing signal names.
• Do not change the name of the blocks (HFAI, HFAO, HFDI and HFDO).

For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To create an HFB of existing function blocks


1. In Function Block Editor, in the diagram window, select all function blocks
and connections you want to save as an HFB block.
2. In the Edit Hierarchy dialog box, right-click the selection and then click
Create HFB
HFB.
3. In the Edit Hierarchy dialog box, in the Identifier box, type a name for the
HFB.
4. In the Description box, type a description of the HFB.
5. Click OK
OK.
6. Click Save
Save.

04-30006-02-en, May 2019 Technical


1399
51 Hierarchical Function Blocks
51.5 Expanding an HFB

51.5 Expanding an HFB


You expand an HFB to view the structure of the function blocks in the HFB.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To expand an HFB
1. In Function Block Editor, in the diagram window, right-click the HFB
function block and then click Expand HFB
HFB.
The expanded HFB is displayed and contains the input and output block types
HFAI, HFAO, HFDI, and HFDO.

NOTICE
• The displayed HFB I/Os are only symbols used to show the connections to
the higher level in the function block diagram structure.

Technical 04-30006-02-en, May 2019


1400
51 Hierarchical Function Blocks
51.6 Compressing an HFB

51.6 Compressing an HFB


You compress an HFB to show the HFB on the higher level in the diagram
window.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To compress an HFB
1. In Function Block Editor, in the diagram window, right-click the expanded
HFB and then click Compress HFB HFB.

04-30006-02-en, May 2019 Technical


1401
51 Hierarchical Function Blocks
51.7 Navigating in a Hierarchical Structure of HFBs

51.7 Navigating in a Hierarchical Structure of


HFBs
You can navigate in a hierarchical function block using the HFB Navigation
Tree
Tree.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To navigate in the hierarchical structure of HFBs


1. In Function Block Editor, on the Options menu, click Show HFB Navigation
Tree
Tree.
2. In the HFB Navigation Tree dialog box, click the HFB.

Technical 04-30006-02-en, May 2019


1402
51 Hierarchical Function Blocks
51.8 Printing an HFB

51.8 Printing an HFB


You can print either a single HFB or all levels of a function block diagram.
For more information, see section 51.1 “Hierarchical Function Blocks” on page
1395.

To print an HFB
1. In Function Block Editor, on the File menu, click Print
Print.
2. In the FBD area, select FBD
FBD.
3. Select a level to print: Click Current Level to print only the current level of
the HFB. Click All levels
levels, to print each HFB level on separate pages, with
the name and the page number of the HFB at the bottom of the page.
4. Click Print
Print.

04-30006-02-en, May 2019 Technical


1403
52 Macros

Topics
Function Block Editor Macros
Function Block Editor Macro Commands
Saving a Macro
Loading a Macro
Replacing a String
Adding a Message Box
Adding a Reminder
Adding a Sound
52 Macros
52.1 Function Block Editor Macros

52.1 Function Block Editor Macros


Macros in Function Block Editor, are small function block programs that contain
useful functions you want to reuse.
By saving existing function block programs or parts of them as macros, you can
reduce time when designing a function block program. A number of pre-tested
macros are delivered with Function Block Editor and stored in the following
location:
• Windows 7, Windows 8.1, and Windows 10: \ProgramData\Schneider
Electric EcoStruxure\Building Operation x.y\WorkStation\Function Block
Editor
x.y indicates the EcoStruxure Building Operation software version number.

04-30006-02-en, May 2019 Technical


1407
52 Macros
52.2 Function Block Editor Macro Commands

52.2 Function Block Editor Macro


Commands
Macro commands are texts written in Comments, used to reduce time when
designing a function block program.
You use macro commands to replace generic text strings with site-specific texts,
display messages when you upload macros to Function Block Editor, display
reminders, or play sounds when you open a function block program.
Macro commands are executed as they appear in the Comment, from top to
bottom. For example, the first Replace command replaces the first text string in
all blocks. The second Replace command replaces the second text string, and
so on.

Macro Command Syntax


You create macro commands by entering one or more of the following
commands in a comment:
• $REPLACE$ – text appears once and is replaced by _REPLACE$ when you
have entered a new text.
Syntax example: $REPLACERoofUnit$
• $MESSAGEBOX$ – Message appears once and is replaced by
_MESSAGEBOX$ when it has been displayed once.
Syntax example: $MESSAGEBOXText$
• $REMINDER$ - Reminder appears every time you open the function block
program file.
Syntax example: $REMINDERText$
• $PLAYSOUND$ - is played every time you open the function block program
file.
Syntax example: $PLAYSOUNDC:\MySounds\Soundfilename.wav$

NOTICE
• You can use a macro command in more than one comment.
• You can mix macro commands with ordinary text in comments.

Technical 04-30006-02-en, May 2019


1408
52 Macros
52.3 Saving a Macro

52.3 Saving a Macro


You save a part of a function block program as a macro to make the function
accessible for future use.
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To save a macro
1. In Function Block Editor, in the diagram window, select all function blocks
and connections you want to include when saving the macro.
2. Right-click the selection and on the GROUP menu, click Save to save part
of the function block program.
3. Enter the location where you want to save the macro.
4. In the File nam
name box, type a file name for the macro.
5. Click Save
Save.

04-30006-02-en, May 2019 Technical


1409
52 Macros
52.4 Loading a Macro

52.4 Loading a Macro


You can load a function block macro (part of a function block program) into a
function block program. When you load the function block macro its constants
are automatically added to the constants table.
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To load a macro
1. In Function Block Editor, right-click in the diagram window.
2. On the NEW menu, click Load Macro
Macro.
3. In the File name box, enter the name of the function block program you
want to load.
4. Click Open
Open.
The imported function block program is added to the existing function block
program and selected.

Technical 04-30006-02-en, May 2019


1410
52 Macros
52.5 Replacing a String

52.5 Replacing a String


You can replace text strings in function block names, function block parameters,
and comments, for example, to apply a naming convention on blocks with text
strings. Macro commands replace the command text strings in the comments. If
you save the macro again, it will use the replacement strings.
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To replace a text string


1. In Function Block Editor, in the diagram window, right-click and then click
Comment
Comment.
2. In the Edit comment dialog box, type '$REPLACE', the text string you want
to replace, and then '$'.
3. Click OK
OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit
Edit.
6. In the Macro Replace dialog box, in the With box, type the text string you
want to replace the existing text string with.
7. Click OK
OK.

04-30006-02-en, May 2019 Technical


1411
52 Macros
52.6 Adding a Message Box

52.6 Adding a Message Box


You add a message box to get a text box that opens every time you open the
function block program for editing.
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To add a message box


1. In Function Block Editor, in the diagram window, right-click and then click
Comment
Comment.
2. In the Edit Comment dialog box, type '$MESSAGEBOX$' and then type the
text you want to display in the message box.
3. Click OK
OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit
Edit.
6. Click OK
OK.
The message box opens every time you open the function block program for
editing.

Technical 04-30006-02-en, May 2019


1412
52 Macros
52.7 Adding a Reminder

52.7 Adding a Reminder


You add a reminder box to get a text box that opens every time you open the
function block program for editing.
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To add a reminder
1. In Function Block Editor, in the diagram window, right-click and then click
Comment
Comment.
2. In the Edit Comment dialog box, type '$REMINDER$' and then type the text
you want to display in the reminder box.
3. Click OK
OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit
Edit.
6. Click OK
OK.
The message box for the REMINDER macro command displays the reminder
every time the function block program is opened for editing.

04-30006-02-en, May 2019 Technical


1413
52 Macros
52.8 Adding a Sound

52.8 Adding a Sound


You add a sound to play a sound file every time you open the function block
program for editing. The sound file has to be located in the same folder as the
macro file (.AUT).
For more information, see section 52.2 “Function Block Editor Macro
Commands” on page 1408.

To add a sound
1. In Function Block Editor, in the diagram window, right-click and then click
Comment
Comment.
2. In the Edit Comment dialog box, type '$PLAYSOUND$' and then type the
name of the .wav sound file you want to use.
3. Click OK
OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit
Edit.
6. Click OK
OK.
The sound file is played every time you open the function block program for
editing.

Technical 04-30006-02-en, May 2019


1414
53 Constants

Topics
Constants
Using a Constant
Making a Constant Public
Deleting All Unused Constants
Deleting a Constant
Editing a Constant
Adding a Constant
Changing the Value of a Constant
53 Constants
53.1 Constants

53.1 Constants
Constant names are alphanumerical strings of up to 20 characters. A constant
name must have at least one letter.
You can create constants separately or when you configure parameters in a
function block.
If you create a constant when you configure parameters in a function block, you
select the use of the constant by entering a text string instead of a numerical
value for the parameter in the function block. The text string is the identifier for
the constant.
Constants can be declared as either public or internal. By definition, a constant
cannot be modified by the function block program in which it is declared. When
you declare a constant as public, it can be accessed and modified from other
nodes on the network.

53.1.1 Public Constants


To give better access to parameters in function blocks, you can use public
constants instead of numerical values. The use of a public constant also allows
access to the value from other nodes on the network.
A small circle to the right of the parameter field in a function block indicates that
a public constant is used.

Figure: Public constant

By default, the module name of a public constant is the same as the module
name of the block. The module name of the public constant is not displayed in
the function block program unless it differs from the module name of the block.
Public constants in a function block program are listed in the program
specification and can be of the following types:
• Binary constants (PVB)
• Integer constants (PVI)
• Real constants (PVR)
Depending on whether other nodes are allowed to read and/or modify the
constant value, constants are read-only or read/write. You can change the value
of a public constant only in Simulation mode. Values of internal, that is non-
public, constants can be viewed but not modified. If a value for a public
constant is modified from the Constants Table, the source code for the function
block program is changed. The source code is not changed if the modifications
are made during a simulation in tabular mode.

04-30006-02-en, May 2019 Technical


1417
53 Constants
53.1 Constants

NOTICE
• Public constants can be modified over the network as well during runtime.
• A public constant in Function Block Editor can only be assigned to one
function block parameter.
• An internal constant can be assigned to any number of function block
parameters. Non-public constant names are substituted with the
corresponding numerical values when the FBD is compiled.
• A public constant cannot have the same name as a public signal.
• Public constants are not allowed in expression blocks, or in operators.
• Public constants are not allowed inside the binding parameters of IO blocks.
• A constant used as a parameter in a function block is not removed from the
Constants Table when the function block is deleted.

You should always name blocks containing public constants so that the
constants can retrieve/change module names.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

Technical 04-30006-02-en, May 2019


1418
53 Constants
53.2 Using a Constant

53.2 Using a Constant


You can make parameters in function blocks accessible from the function block
program by using public constants instead of numerical values.

To use a constant
1. In Function Block Editor, in the diagram window, right-click the function
block and then click Edit
Edit.
2. In the Edit block PIDA, in the Parameter box, type a text string (identifier)
instead of a numerical value to use the value of the constant as the
parameter setting.
3. Click OK
OK.

04-30006-02-en, May 2019 Technical


1419
53 Constants
53.3 Making a Constant Public

53.3 Making a Constant Public


You define a constant as public to make it available to other nodes on the
network, and to make it editable from the function block program.
For more information, see section 53.1 “Constants” on page 1417.

To make a constant public


1. In Function Block Editor, in the diagram window, right-click the function
block that contains the constant and then click Edit
Edit.
2. Select Public
Public.

3. Click OK
OK.
The constant is now available to other nodes on the network and can be edited
from the function block program.

Technical 04-30006-02-en, May 2019


1420
53 Constants
53.4 Deleting All Unused Constants

53.4 Deleting All Unused Constants


You can simultaneously delete all unused constants.
For more information, see section 53.1 “Constants” on page 1417.

To delete all unused constants


1. In Function Block Editor, on the Options menu, click Constants Table
Table.
2. Click Delete Unused
Unused.
3. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


1421
53 Constants
53.5 Deleting a Constant

53.5 Deleting a Constant


You delete a constant when it is no longer needed.

To delete a constant
1. In Function Block Editor, on the Options menu, click Constants Table
Table.
2. Select the constant.
3. Click Delete
Delete.
4. Click Exit
Exit.

Technical 04-30006-02-en, May 2019


1422
53 Constants
53.6 Editing a Constant

53.6 Editing a Constant


You edit a constant to change its properties. All properties are editable, with the
exception of the identifier.
For more information, see section 53.1 “Constants” on page 1417.

To edit a constant
1. In Function Block Editor, on the Options menu, click Constants Table
Table.
2. Double-click the constant you want to edit.
3. In the Edit constant dialog box, in the Value box, type the value.
4. Select Public to get a public constant.
5. In the Unit box, select unit for the constant.
6. In the Description box, type a description for the constant.
7. Click OK
OK.
8. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


1423
53 Constants
53.7 Adding a Constant

53.7 Adding a Constant


You add a constant value to a function block program by adding it to the
Constants Table.
For more information, see section 53.1 “Constants” on page 1417.

To add a constant
1. In Function Block Editor, on the Options menu, click Constants Table
Table.
2. Click Add
Add.
3. In the Identifier box, type a name for the constant.
4. In the Value box, type the value of the constant.
5. Select Public to make the constant public.
6. In the Unit box, select a unit for the constant.
7. In the Description box, type a description for the constant.
8. Click OK
OK.
9. Click Exit
Exit.

Technical 04-30006-02-en, May 2019


1424
53 Constants
53.8 Changing the Value of a Constant

53.8 Changing the Value of a Constant


You can change the value of a constant.

NOTICE
• You can only change values for public constants in Simulation mode.
• You can view but not change values for internal constants.
• Values for public constants, modified from the Constants Table, update the
source code for the function block program, except when changes are
made during a simulation in tabular mode.

To change the value of a constant


1. In Function Block Editor, in Simulation mode, on the Options menu, click
Constants Table
Table.
2. In the Constants Table dialog box, double-click the constant.
3. In the Edit Constant dialog box, enter the required value.
4. Click OK
OK.
5. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


1425
54 Signals

Topics
Signals
Signal Names
54 Signals
54.1 Signals

54.1 Signals
The signals in a function block program are variables. These variables are
generated as outputs of function blocks and are transferred to inputs in other
blocks by using connections.
All function blocks in Function Block Editor have one output only. Each function
block generates a unique signal.

54.1.1 Signal Types


Three types of signals are used in Function Block Editor:
• Integer: Signed 16 bit number (range: –32768 to 32767).
• Real: Signed real 32 bit number in the IEEE format with a precision of 6
digits (range: 3.4x10-38 to 3.4x1038).
• Binary: 1 bit to represent binary values (0/1 = FALSE/TRUE).
Normally, you can only connect outputs to inputs of the same type in the function
block program.

54.1.2 Public Signals


By declaring the signals of interest as public signals, you make them readable
and they can be modified outside the function block program. Many signals in a
function block program represent intermediate values. In most function block
programs, only a few of the signals in the function block program are useful to
other nodes on the network.
All public signals in the function block program are compiled in the Public Signal
Table, an automatically compiled part of the program specification.

54.1.3 Accessing Signals


The permissions for a user to view, enter, or modify a block output signal are
defined by the access class for the signal. The following classes are used:
• Read-only (RO): The signal can be read from other nodes on the network,
but not modified.
• Read/write (RW): The signal can be read and modified from other nodes on
the network.
The signals in blocks where the computed output value depends only on the
current value(s) of the input signal(s) are read-only (RO).
If the output of such a block is modified over the network, the modification is
restored by the function block program in the next program cycle. Subsequent
blocks that use the signal can detect and reflect the transitory change.
For other block types, such as integrators and accumulators, you can allow
external write operations on the block outputs. For example, when you modify
the value of a block output and the new value is computed by adding or
subtracting the increment of the previous output value.

04-30006-02-en, May 2019 Technical


1429
54 Signals
54.1 Signals

54.1.4 Signal Names


In Function Block Editor, public signals have alpha numerical string names of up
to 20 characters. In signal names, you can use national character sets.
However, you cannot begin the name with a number and you cannot use any
blank spaces. Public signal names have to be unique. They cannot differ only in
using upper and lowercase characters.
For more information, see section 54.2 “Signal Names” on page 1431.

Technical 04-30006-02-en, May 2019


1430
54 Signals
54.2 Signal Names

54.2 Signal Names


In Function Block Editor, public signals have alpha numerical string names of up
to 20 characters. In signal names, you can use national character sets.
However, you cannot begin the name with a number and you cannot use any
blank spaces. Public signal names have to be unique. They cannot differ only in
using upper and lowercase characters.
The module name does not count in the 20 character limit. For more information,
see section 49.17 “Module Names” on page 1364.

Unsupported characters
The following characters are reserved for use as separators or system object
identifiers in monitoring and supervising systems and cannot be used: comma
( , ), semicolon ( ; ), colon ( : ), hyphen ( - ), period ( . ), dollar ( $ ), and
apostrophe ( ' ).
Double-quotes are not allowed. If you type a name string with double-quotes
("Signal_name", for example), the double-quotes are deleted when the dialog
box is closed.
The space character (white space) is not allowed. Use the underscore character
( _ ) instead.

04-30006-02-en, May 2019 Technical


1431
55 Simulation Mode

Topics
Simulation Mode
Changing to Simulation Mode
Setting Date and Time
Tiling the Simulation Area Vertically and Horizontally
Simulating One Cycle Only
Simulating a Defined Number of Cycles
Starting a Simulation
Setting Analog Simulation Inputs
Setting Digital Simulation Inputs
Changing from Function Diagram View to Table View
Adding a Binary Signal to the Recorder
Removing a Signal from the Recorder
Editing the Range of a Recorded Value
Restarting the Recorder
Resetting the Recorder
Viewing Sampled Values
Scanning Sampled Values
Defining the Sampling Period
Automatically Generated Input Signals
Automatically Generating an Analog Input Signal
55 Automatically Generating a Binary Input Signal
Modifying an Analog Signal
Modifying a Binary Signal
Viewing Parameters in a Function Block
55 Simulation Mode
55.1 Simulation Mode

55.1 Simulation Mode


You use Simulation mode to test and troubleshoot function block programs and
to show the state of the signals. You can run Simulation mode without a
connected SmartX server.
When simulating in Function Block Editor, you can modify the physical inputs in
different ways. One way is to manually alter the input values by using the
buttons. When the value for an input is manually modified, it remains constant
until modified again.
There are buttons for each physical input block in the function block program.
The buttons show the name of the corresponding input block. The buttons are
located on the left side of the diagram window. A scroll bar is displayed if the
number of inputs exceeds the available space.
In Simulation mode, you can start/stop the program execution and alter
values/states, which is useful when troubleshooting a function block program.

04-30006-02-en, May 2019 Technical


1435
55 Simulation Mode
55.2 Changing to Simulation Mode

55.2 Changing to Simulation Mode


You change from Edit mode to Simulation mode to test your function block
program.
For more information, see section 48.11 “Operation Modes” on page 1338.

To change to simulation mode


1. In Function Block Editor, on the Options menu, click Simulate
Simulate.
2. Adjust the size of the diagram window and the trend area by moving the
separation bar between the two panes.

Technical 04-30006-02-en, May 2019


1436
55 Simulation Mode
55.3 Setting Date and Time

55.3 Setting Date and Time


You set date and time values in Simulation mode to simulate, for example, time
schedules.

To set date and time


1. In Function Block Editor, in Simulation mode, on the Options menu, click
Set Date And Time
Time.
2. In the Set Date and Time dialog box, in the Date box, enter the date.
3. In the Time box, enter the time.
4. Click OK
OK.

04-30006-02-en, May 2019 Technical


1437
55 Simulation Mode
55.4 Tiling the Simulation Area Vertically and Horizontally

55.4 Tiling the Simulation Area Vertically and


Horizontally
You tile the simulation area to change the orientation of the user interface
vertically and horizontally.
For more information, see section 48.11 “Operation Modes” on page 1338.

To tile the simulation area vertically and horizontally


1. In Function Block Editor, in Simulation mode, double-click the separation
bar between the diagram window and the trend area.
The simulation areas changes from horizontal to vertical, or vice versa.

Technical 04-30006-02-en, May 2019


1438
55 Simulation Mode
55.5 Simulating One Cycle Only

55.5 Simulating One Cycle Only


You simulate the function block program one step at a time to observe the
changes in the program cycle-by-cycle. The cycle number in the Cycle box
upper right side of the window is incremented.
For more information, see section 55.1 “Simulation Mode” on page 1435.

To simulate one cycle only


1. In Function Block Editor, in Simulation mode, on the Commands menu,
click Step
Step.

04-30006-02-en, May 2019 Technical


1439
55 Simulation Mode
55.6 Simulating a Defined Number of Cycles

55.6 Simulating a Defined Number of Cycles


You define the number of cycles to observe changes, for example, delays.

To simulate a defined number of cycles


1. In Function Block Editor, in Simulation mode, on the Commands menu,
click Execute n Times
Times.
2. In the Number of Cycles box, type the number of cycles.

3. Press ENTER.

Technical 04-30006-02-en, May 2019


1440
55 Simulation Mode
55.7 Starting a Simulation

55.7 Starting a Simulation


You start a simulation of a function block program to observe the changes in the
program.
For more information, see section 55.1 “Simulation Mode” on page 1435.

To start a simulation
1. In Function Block Editor, in Simulation mode, on the Commands menu,
click Execute
Execute.
The simulation toggles between start and stop when you click Execute
Execute.

04-30006-02-en, May 2019 Technical


1441
55 Simulation Mode
55.8 Setting Analog Simulation Inputs

55.8 Setting Analog Simulation Inputs


You simulate the analog inputs of a function block program to ensure that the
function block program behaves as expected.
For more information, see section 55.1 “Simulation Mode” on page 1435.

To set analog simulation inputs


1. In Function Block Editor, in Simulation mode, in the left part of the diagram
window, click the button of the analog input block.

2. In the Value box, type the required value.

NOTICE
• You have to enter values in the engineering unit defined for the analog
input block.

3. Press ENTER.

Technical 04-30006-02-en, May 2019


1442
55 Simulation Mode
55.9 Setting Digital Simulation Inputs

55.9 Setting Digital Simulation Inputs


You simulate the digital inputs of a function block program to ensure that the
function block program behaves as expected.
For more information, see section 55.1 “Simulation Mode” on page 1435.

To set digital simulation inputs


1. In Function Block Editor, in Simulation mode, in the left part of the diagram
window, click the button of the digital input block.

The symbols on digital input buttons toggle between open and closed switches
when you click the buttons.

04-30006-02-en, May 2019 Technical


1443
55 Simulation Mode
55.10 Changing from Function Diagram View to Table View

55.10 Changing from Function Diagram View


to Table View
You can change from graphically viewing the blocks to viewing a table of all
blocks and signals.

To change from function diagram view to table view


1. In Function Block Editor, in Simulation mode, press the F5 function key.

NOTICE
You can toggle between the graphical view and the table view by
pressing F5
F5.

The view shifts from the graphical view to the table view.

Technical 04-30006-02-en, May 2019


1444
55 Simulation Mode
55.11 Adding a Binary Signal to the Recorder

55.11 Adding a Binary Signal to the Recorder


You can record a binary signal in Simulation mode.

To add a binary signal to the recorder


1. In Function Block Editor, in Simulation mode, right-click the function block
with the signal you want to record and then click Record
Record.

NOTICE
• When you record a binary signal, the plot range (scale) for the signal is
always 0 to 1.

One of the six trend channel boxes in the trend logging area shows the name of
the signal you added to the recorder.

04-30006-02-en, May 2019 Technical


1445
55 Simulation Mode
55.12 Removing a Signal from the Recorder

55.12 Removing a Signal from the Recorder


You can remove a signal from the recorder when you no longer want to record it.

To remove a signal from the recorder


1. In Function Block Editor, in Simulation mode, in the trend logging area,
right-click the trend record box and then click Delete
Delete.

Technical 04-30006-02-en, May 2019


1446
55 Simulation Mode
55.13 Editing the Range of a Recorded Value

55.13 Editing the Range of a Recorded Value


You can change the range of a recorded signal during the simulation.

To edit the range of a recorded value


1. In Function Block Editor, in Simulation mode, right-click in the Trend
record box and then click Edit Range.
2. In the Maximum Value box, type the value.
3. In the Minimum Value box, type the value.
4. Press ENTER.

04-30006-02-en, May 2019 Technical


1447
55 Simulation Mode
55.14 Restarting the Recorder

55.14 Restarting the Recorder


You restart the recorder to resume recording when you have paused.

To restart the recorder


1. In Function Block Editor, in Simulation mode, right-click anywhere in the
trend logging area and then click Restart
Restart.

NOTICE
• When you record a binary signal, the plot range (scale) for the signal is
always 0 to 1.

The recorder continues to display the graphs, starting from the left in the trend
logging area. Previously drawn graphs are left unchanged.

Technical 04-30006-02-en, May 2019


1448
55 Simulation Mode
55.15 Resetting the Recorder

55.15 Resetting the Recorder


You reset the recorder to remove all defined log signals. Previously drawn
graphs are unchanged.

To reset the recorder


1. In Function Block Editor, in Simulation mode, right-click anywhere in the
trend logging area and then click Reset
Reset.

04-30006-02-en, May 2019 Technical


1449
55 Simulation Mode
55.16 Viewing Sampled Values

55.16 Viewing Sampled Values


You can view the logged signals values at any point of time in the trend logging
area.

To view sampled values


1. In Function Block Editor, in Simulation mode, in the trend logging area,
click the point of time where you want to view the value.
2. In the Cycle counter, view the cycle for the sampling value.

3. In the trend record box, view the logged values for the sampling.

4. Right-click the trend logging area when finished.

Technical 04-30006-02-en, May 2019


1450
55 Simulation Mode
55.17 Scanning Sampled Values

55.17 Scanning Sampled Values


You scan the graph to view each sampled value and the cycle it was sampled.

To scan sampled values


1. In Function Block Editor, in Simulation mode, in the trend logging area,
click the point of time.
2. Drag the dotted line.

3. In the recorded signal boxes, view the logged values for each sampling.
4. Right-click the trend logging area when finished.

04-30006-02-en, May 2019 Technical


1451
55 Simulation Mode
55.18 Defining the Sampling Period

55.18 Defining the Sampling Period


You can define the number of times a program is executed between each
sampling period.

To define the sampling period


1. In Function Block Editor, in Simulation mode, on the Commands menu,
click Sampling
Sampling.
2. In the Cycles per sample box, type the number of program cycles.
3. Press ENTER.

Technical 04-30006-02-en, May 2019


1452
55 Simulation Mode
55.19 Automatically Generated Input Signals

55.19 Automatically Generated Input Signals


In the Function Block Editor Simulation mode, you can automatically generate
signal variations for physical inputs. You define the conditions for the variations
in the Analog Input or Binary Input dialog box with Automatic mode selected.
The simulated values generated by the input buttons are independent of the IO
configuration parameters for the input. The exception to this is the Time
Constant parameter in the RI block. In the RI block, an automatically generated
signal is filtered using the same filter function as defined by the Time Constant
parameter.

04-30006-02-en, May 2019 Technical


1453
55 Simulation Mode
55.20 Automatically Generating an Analog Input Signal

55.20 Automatically Generating an Analog


Input Signal
You can automatically generate signal variations for physical inputs in II, PI, and
RI blocks.

To automatically generate an analog input signal


1. In Function Block Editor, in Simulation mode, in the left part of the diagram
window, right-click the button for the analog input.
2. In the Analog Input dialog box, click Automatic
Automatic.
3. In the Wave Form box, select the wave form.
4. Select Circular if repeated lapses are required.
5. In the Amplitude box, enter the amplitude.
6. In the Average Value box, enter the value.
7. In the Phase (degrees) box, enter the phase relationship.
8. In the Period (sec) box, enter the period.
9. Click OK
OK.

Technical 04-30006-02-en, May 2019


1454
55 Simulation Mode
55.21 Automatically Generating a Binary Input Signal

55.21 Automatically Generating a Binary Input


Signal
You can automatically generate a binary input signal in a BI block.

To automatically generate a binary input signal


1. In Function Block Editor, in Simulation mode, in the left part of the diagram
window, right-click the button for the digital input.
2. In the Digital Input dialog box, click Automatic
Automatic.
3. Select Circular if repeated lapses are required.
4. In the Sequence box, type the sequence.
5. In the Period box, enter the period.
6. Click OK
OK.

04-30006-02-en, May 2019 Technical


1455
55 Simulation Mode
55.22 Modifying an Analog Signal

55.22 Modifying an Analog Signal


You can modify the value of an analog signal.

To modify an analog signal


1. In Function Block Editor, in Simulation mode, click the block (signal).
2. In the Value box, type the value.
3. Press ENTER.

Technical 04-30006-02-en, May 2019


1456
55 Simulation Mode
55.23 Modifying a Binary Signal

55.23 Modifying a Binary Signal


You can modify the value of a binary signal.

To modify a binary signal


1. In Function Block Editor, in Simulation mode, click the block (signal).
2. In the dialog box, select the State option button to simulate a logical one or
clear the State option button to simulate a logical zero.
3. Press ENTER.

04-30006-02-en, May 2019 Technical


1457
55 Simulation Mode
55.24 Viewing Parameters in a Function Block

55.24 Viewing Parameters in a Function Block


You can view the internal block parameters as they are shown in the View block
dialog box when you simulate a function block program.

To view parameters in a function block


1. In Function Block Editor, in Simulation mode, in the diagram window, right-
click the block and then click View
View.
2. In the View block dialog box, view the available values.
3. Click OK
OK.

NOTICE
• When you use a public constant for a block parameter, you can change
the value by using the constants table.

Technical 04-30006-02-en, May 2019


1458
56 Function Block Programming

Topics
Function Block Programming
Connections
Connecting a Block Output to a Block Input
Creating a Node on a Connection Line
Drawing a Connection Line from a Node
Drawing a Connection Line in the Diagram Window
Disconnecting All Connections
Disconnecting a Connection
Changing a Connection
Deleting a Connection
Detaching a Connection
Changing the Color of a Connection Line
Changing the Orthogonal Connection Setting
56 Function Block Programming
56.1 Function Block Programming

56.1 Function Block Programming


You work with graphical elements that contain functionality. You put the
elements together to get a function block program that can be used in a SmartX
server.

56.1.1 Simple Blocks


Simple blocks are graphical representations of functions in a function block
program.
For more information, see section 58.1 “Simple Blocks” on page 1493.

56.1.2 Operators
An operator is a type of function, which can perform an operation on one or
several operands.
For more information, see section 59.1 “Operators” on page 1609.

56.1.3 Expression Blocks


Expression blocks are blocks with an expression. You give the expression block
its behavior when you type the expression using input variables, constants,
operators or arithmetical functions. You can use several input variables. The
graphic representation of the blocks varies in size, depending on the expression
and the number of inputs.
For more information, see section 57.1 “Expression Blocks” on page 1479.

56.1.4 Connections
Connections in function block programs transport signals (data) between the
function blocks in the function block diagram. The connection is a link between
the output of one block and one or more inputs of other blocks.
For more information, see section 56.2 “Connections” on page 1463.

56.1.5 Signals
The signals in a function block program are variables. These variables are
generated as outputs of function blocks and are transferred to inputs in other
blocks by using connections.
For more information, see section 54.1 “Signals” on page 1429.

04-30006-02-en, May 2019 Technical


1461
56 Function Block Programming
56.1 Function Block Programming

56.1.6 Macros
Macros in Function Block Editor, are small function block programs that contain
useful functions you want to reuse.
For more information, see section 52.1 “Function Block Editor Macros” on page
1407.

56.1.7 Comments
Comments are graphical containers for text. You use Comments when there is a
need to explain what the function block is supposed to do. Comments are plain
text that is displayed in the function block program. Comments are also the
containers where you write macro commands that are to be used in Function
Block Editor.

Technical 04-30006-02-en, May 2019


1462
56 Function Block Programming
56.2 Connections

56.2 Connections
Connections in function block programs transport signals (data) between the
function blocks in the function block diagram. The connection is a link between
the output of one block and one or more inputs of other blocks.
Connections inherit their data types from the connected outputs. Outputs and
inputs can only be connected when they have the same signal data type.
Connections are formed by straight line segments. The points where line
segments join are called nodes. The corners, formed when connection lines
change direction, are also nodes.

Figure: Connection node

In the function block diagram, binary connections end at an input with an unfilled
arrowhead, and analog (real or integer) connections end at an input with a filled
arrowhead.
A node, joining more than two segments, is displayed as a black circle to
differentiate it from connections crossing each other.
A connection normally starts at a block output and ends at a block input but you
can sometimes use incomplete connections. When a connection is connected to
an output only, the unconnected end is displayed as a black circle. When a
connection is connected to an input only, the unconnected end is displayed as a
black square.

NOTICE
• You cannot compile a function block diagram when there are unconnected
inputs.
• Unconnected inputs must be connected before switching to simulation
mode.

In Function Block Editor, you can draw connections from different starting points
in the diagram.
• Starting at a block output
• Starting at a connection line
• Starting at a node
• Starting in the work area
When you click the output of a function block, the cursor changes to an angled
cross.
When you start moving the cursor, a floating connection line is created and
movements are tracked by an elastic, green line.
When it is necessary to change position or direction of the connection line, you
can fixate the current segment end by clicking once. The floating connection
line changes into a fixed segment and a new floating connection line starts at
the break point.
You can repeat this fixation as many times as necessary, creating a connection
made up of various consecutive segments.

04-30006-02-en, May 2019 Technical


1463
56 Function Block Programming
56.2 Connections

When you point to an input where you can connect, the cursor changes to a
square around a small angled cross.

Technical 04-30006-02-en, May 2019


1464
56 Function Block Programming
56.3 Connecting a Block Output to a Block Input

56.3 Connecting a Block Output to a Block


Input
You draw a connection line to connect the output of one function block to the
input of another function block in the diagram window.
For more information, see section 56.2 “Connections” on page 1463.

To connect a block output to a block input


1. In Function Block Editor, in the diagram window, click the output of the
block.
2. Drag the pointer to the input of the block you want to connect to.

NOTICE
When it is necessary to change position or direction of the connection
line, you can fixate the current segment by clicking once. You can repeat
this fixation as many times as needed.

3. Click the input to finish the connection.

04-30006-02-en, May 2019 Technical


1465
56 Function Block Programming
56.4 Creating a Node on a Connection Line

56.4 Creating a Node on a Connection Line


You create a node on a connection line to connect the signal to an additional
function block in the diagram window.
For more information, see section 56.2 “Connections” on page 1463.

To create a node on a connection line


1. In Function Block Editor, in the diagram window, right-click the connection
line at a point where you want to create a node.
2. On the CONNECTION menu, click Create Node
Node.
3. Click where you want to finish the connection.

NOTICE
When it is necessary to change position or direction of the connection
line, you can fixate the current segment by clicking once. You can repeat
this fixation as many times as needed.

A node shaped as a filled, black circle is created on the connection line at the
point where you right-clicked.

Technical 04-30006-02-en, May 2019


1466
56 Function Block Programming
56.5 Drawing a Connection Line from a Node

56.5 Drawing a Connection Line from a Node


You draw a new connection line, starting from a node on an existing connection
line, to make an additional connection.
For more information, see section 56.2 “Connections” on page 1463.

To draw a connection line from a node


1. In Function Block Editor, in the diagram window, click the node.

2. Click where you want the connection line to finish.


A connection line is created on the node.

04-30006-02-en, May 2019 Technical


1467
56 Function Block Programming
56.6 Drawing a Connection Line in the Diagram Window

56.6 Drawing a Connection Line in the


Diagram Window
You can draw a connection at an arbitrary place on the diagram window.
For more information, see section 56.2 “Connections” on page 1463.

To draw a connection line in the diagram window


1. In Function Block Editor, in the diagram window, right-click a location in the
diagram window where you want to start the connection line, point to Node
Node,
and then click the type of connection (Real
Real, Integer
Integer, or Binary
Binary) you want to
use.

2. Double-click where you want to finish the connection line.

Technical 04-30006-02-en, May 2019


1468
56 Function Block Programming
56.7 Disconnecting All Connections

56.7 Disconnecting All Connections


You can remove all connections to a function block with a single command.
For more information, see section 56.2 “Connections” on page 1463.

To disconnect all connections


1. In Function Block Editor, in the diagram window, right-click the block and
then click Disconnect
Disconnect.

04-30006-02-en, May 2019 Technical


1469
56 Function Block Programming
56.8 Disconnecting a Connection

56.8 Disconnecting a Connection


You can remove a connection to an input or an output of a function block with a
single command.
For more information, see section 56.2 “Connections” on page 1463.

To disconnect a connection
1. In Function Block Editor, in the diagram window, right-click the connection
at an input or an output, and then click Disconnect
Disconnect.

Technical 04-30006-02-en, May 2019


1470
56 Function Block Programming
56.9 Changing a Connection

56.9 Changing a Connection


You can change a connection from one input to another or one output to
another. The connection lines are not lost.
For more information, see section 56.2 “Connections” on page 1463.

To change a connection
1. In Function Block Editor, in the diagram window, right-click the connection
you want to change and then click Detach
Detach.
2. Click the input or output to which you want to connect.

04-30006-02-en, May 2019 Technical


1471
56 Function Block Programming
56.10 Deleting a Connection

56.10 Deleting a Connection


You delete a connection or parts of it when you want to disconnect a block or
change the direction of the connection:
• When you right-click the connection close to the output of a block, the whole
connection, including all branches, is deleted.
• When you right-click the connection after a branch, only the part between
the point where you click and the connected input is deleted.
For more information, see section 56.2 “Connections” on page 1463.

To delete a connection
1. In Function Block Editor, in the diagram window, right-click the connection
line you want to delete.
2. On the CONNECTIONS menu, click Delete Node
Node.

Technical 04-30006-02-en, May 2019


1472
56 Function Block Programming
56.11 Detaching a Connection

56.11 Detaching a Connection


You detach a connection to an input or output to move it to another input or
output.
For more information, see section 56.2 “Connections” on page 1463.

To detach a connection
1. In Function Block Editor, in the diagram window, right-click the connection
you want to detach and then click Detach
Detach.

04-30006-02-en, May 2019 Technical


1473
56 Function Block Programming
56.12 Changing the Color of a Connection Line

56.12 Changing the Color of a Connection


Line
You change the color of a connection line to differentiate different lines. For
example, you change the color of a connection to trace signals in a function
block program.
For more information, see section 56.2 “Connections” on page 1463.

To change the color of a connection line


1. In Function Block Editor, in the diagram window, right-click the connection,
point to Mark, and then select color.
The connection is marked with its new color.

Technical 04-30006-02-en, May 2019


1474
56 Function Block Programming
56.13 Changing the Orthogonal Connection Setting

56.13 Changing the Orthogonal Connection


Setting
You change the orthogonal connection setting to draw connection lines in
segments that form 90 degree angles.
For more information, see section 56.2 “Connections” on page 1463.

To change the orthogonal connection setting


1. In Function Block Editor, on the Preferences menu, click Orthogonal
Connections
Connections.

04-30006-02-en, May 2019 Technical


1475
57 Expression Blocks and
Comments

Topics
Expression Blocks
Adding an Expression Block
Expression Block Arithmetical Functions
Expression Block Operators
Function Block Editor Comments
Adding a Comment
Adding a Rectangle
57 Expression Blocks and Comments
57.1 Expression Blocks

57.1 Expression Blocks


Expression blocks are blocks with an expression. You give the expression block
its behavior when you type the expression using input variables, constants,
operators or arithmetical functions. You can use several input variables. The
graphic representation of the blocks varies in size, depending on the expression
and the number of inputs.

Figure: Function Block Editor expression

There is only one output from an expression block. You choose if it should be
binary, integer or real. The name of the block will depend of the type of output
signal.

Table: The Expression Block Characteristics


Name Description

XPB Expression block with a binary output.


If the expression result is any value other
than zero, the output is one.

XPI Expression block with an integer output.


The result of the expression is converted to
a 16 bit signed integer.

XPR Expression block with a real output.


The result of the expression is a real
number.

Expression blocks are always read-only. The memory they occupy when
compiled depends on the complexity of the expression.

57.1.1 Expression Block Input Variables


Input variables are declared in the expression using a single letter. An
uppercase letter represents an analog variable and a lowercase letter
represents a binary variable.
You cannot use the same letter in both upper and lowercase, that is, “A” and “a”
cannot be used in the same expression.
The input variables are sorted in alphabetical order on the left side of the
expression block.

04-30006-02-en, May 2019 Technical


1479
57 Expression Blocks and Comments
57.1 Expression Blocks

57.1.2 Expression Block Constants


Expression blocks can contain two types of constants:
• Numerical, for example, “5”, “–13”, “0.03”
• Alphanumerical, for example, “PI”, “ENERGY”, “1.25E12”
A numerical constant is an integer portion which can be preceded by a symbol:
+ or –. The integer portion cab be followed by a decimal point (.) and a decimal
portion. Finally, an exponential portion can be added: the letters e or E, followed
by an integer with two digits.
Alphanumerical constants are alphanumerical identifiers of 20 significant
characters which must be defined in the Constants Table. The constant name
must be placed between quotation marks if a / (solidus) or : (colon) character is
included in the name.

57.1.3 Expression Block Operators


Expressions have two components: operands and operators. Operands are the
variables, numbers, values, or objects that are being manipulated by operators.
For more information, see section 57.4 “Expression Block Operators” on page
1483.

57.1.4 Expression Block Arithmetical Functions


Arithmetical functions can be used in the expression block to make more
complex calculations.
For more information, see section 57.3 “Expression Block Arithmetical
Functions” on page 1482.

Technical 04-30006-02-en, May 2019


1480
57 Expression Blocks and Comments
57.2 Adding an Expression Block

57.2 Adding an Expression Block


You create a program by adding simple blocks, operators, and expression
blocks.
For more information, see section 57.1 “Expression Blocks” on page 1479.

To add an expression block


1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the expression block.
2. On the NEW menu, click Expression
Expression.
3. In the Edit Expression dialog box, in the Identifier box, type a name for the
expression block.
4. In the Unit box, enter the required engineering unit for the output.
5. In the Description box, type a short description that explains the
expression.
6. Select Public to make the output signal into a public signal.
7. Click the type of expression you want for the output: Real
Real, Integer
Integer, or
Binary
Binary.
8. In the Expression box, type the expression you want to use to calculate the
output.
9. Click OKOK.
10. If the block is enclosed by a red rectangle, move the block to an empty
space.
11. Click outside the green rectangle that encloses the block to clear the
selection.

04-30006-02-en, May 2019 Technical


1481
57 Expression Blocks and Comments
57.3 Expression Block Arithmetical Functions

57.3 Expression Block Arithmetical Functions


Arithmetical functions can be used in the expression block to make more
complex calculations.

Table: Arithmetical Functions in the Expression Blocks


Syntax Description

x**y x raised to the power of y

LN (x) Natural logarithm of x

LOG (x) Base 10 logarithm of x

EXP (x) Exponential e to the power of x

COS (x) Cosine of x (radians), defined for all x

SIN (x) Sine of x (radians), defined for all x

TAN (x) Tangent of x (radians), defined for all x

ACOS (x) Arc cosine of x, where –1 < x < 1, gives a


result between 0 and /2 radians

ASIN (x) Arc sine of x, where –1 < x < 1, gives a


result between –p/2 and p/2 radians

ATAN (x) Arc tangent of x, defined for all x, gives a


result between –/2 and /2 radians

SQRT (x) Square root of x

ABS (x) Absolute value of x

INT (x) Conversion to Integer (truncation)

You can use parentheses in an expression to force an evaluation order to differ


from the precedence order of the operators.
The three types of variables can always be combined with an operator without
problem, since the necessary type conversions are automatically performed
according to the rules described below:
• For the operations +, –, * and /, all values are converted to Real values.
• For the operations %, <<, >>, &, ^ and |, all values are converted to Integer
values (Real values are truncated).
• For the operation !, a Real or Integer value is converted to Binary using the
following rule: if the value is zero, it converts to zero, and if it is non-zero, it
converts to one before logical negation is carried out. A “true” bitwise Not
operation on an integer A can be obtained with the operation A ^ (-1), i.e. A
XOR (-1).
• The operations >, <, >=, <=, =, != convert the operands to Real values,
perform the comparison and return a Binary result.

Technical 04-30006-02-en, May 2019


1482
57 Expression Blocks and Comments
57.4 Expression Block Operators

57.4 Expression Block Operators


Expressions have two components: operands and operators. Operands are the
variables, numbers, values, or objects that are being manipulated.
In a function block program you can find, for example, “-” (change of sign), “*”
(multiplication), “+” (addition), “>>” (right shift), “<” (less than) and “a ? b : c”
(IF-THEN-ELSE statement: “if a then b else c”).
Operators indicate particular actions. For example, if y - 10 is an expression, y
and 10 are the operands and the minus sign (-) is the operator. Each expression
has at least one operand and one or more operators.
The Function Block Editor Expression block operands can be manipulated with
the operators, described in the table in order of precedence.

Table: Operators in Expression Blocks


Operator Description

–,! Change of sign, logical negation

*, /, % Multiplication, division and modulus

+,– Addition, subtraction

<< , >> Left shift, right shift

<,> Less than, greater than

<= , >= Less than or equal to, greater than or equal


to

= , != Equal to, not equal to

& Logical AND (bit wise)

^^ Logical Exclusive OR (bit wise)

| Logical OR (bit wise)

?: IF-THEN-ELSE statement.
“a ? b : c” means “if a then b else c”.

NOTICE
• Operators in Function Block Editor are equivalent to operators that can be
used in expression blocks. The result is equivalent; each single operator is
compiled to a single expression block, exactly as if it had been written in an
expression block.

Miscellaneous Operators
In an expression block, operands of different types can be combined by using
any operator. However, when you use an operator in the Function Block Editor
shortcut menu, you should perform conversions explicitly.

04-30006-02-en, May 2019 Technical


1483
57 Expression Blocks and Comments
57.4 Expression Block Operators

The D/A and A/D operators are simply operators that convert from binary to
analog and vice versa. Those operators are needed because the rest of the
operators have typed inputs. That is, without them you would not, for example,
be able to summarize a binary and an analog signal. In expression blocks,
conversions are done implicitly so you do not need to use these operators in
expressions. The conversion rules are as follows:
• A real or integer value is converted to a binary value giving a logical 0 if the
input is exactly 0, or 1 if it is anything but 0.
• A binary value is converted to an analog value as follows: logical 0 gives the
number 0 and logical 1 gives the number 1.
The multiplexer operators are switches, which select one of two input signals
depending on the binary switch value.
The Conversion AA operator is used when connecting an integer output to a real
input or vice versa. Since operators do not distinguish between real and integer
values, the Conversion AA operator does not carry out an explicit type
conversion with rounding or truncation. Instead, this type conversion is done in
the block using the Conversion AA output value as the input. It is recommended
that you use expression blocks when explicit type conversions with rounding or
truncation are required.

Technical 04-30006-02-en, May 2019


1484
57 Expression Blocks and Comments
57.5 Function Block Editor Comments

57.5 Function Block Editor Comments


Comments are graphical containers for text. You use Comments when there is a
need to explain what the function block is supposed to do. Comments are plain
text that is displayed in the function block program. Comments are also the
containers where you write macro commands that are to be used in Function
Block Editor.

Figure: Function Block Editor comment

04-30006-02-en, May 2019 Technical


1485
57 Expression Blocks and Comments
57.6 Adding a Comment

57.6 Adding a Comment


You add a comment to add a title to a function block program, explain the
reason for adding a certain function, or add information on the changes in a
revised function block program.
For more information, see section 57.5 “Function Block Editor Comments” on
page 1485.

To add a comment
1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the comment.
2. On the NEW menu, click Comment
Comment.
3. In the Edit Comment dialog box, type the text you want to display in the
comment.
4. Click Font
Font.
5. In the Font dialog box, configure the font settings.
6. Click OK
OK.
7. In the Edit comment dialog box, click OK
OK.
8. Click outside the green rectangle that encloses the comment to clear the
selection.

Technical 04-30006-02-en, May 2019


1486
57 Expression Blocks and Comments
57.7 Adding a Rectangle

57.7 Adding a Rectangle


You add a rectangle to make the function block diagram easy to understand, for
example, add a rectangle that encloses function blocks that perform a function
together.

To add a rectangle
1. In Function Block Editor, right-click in the diagram window at the position
where you want the rectangle to begin.
2. On the NEW menu, click Rectangle
Rectangle.
3. Drag the pointer to where you want the rectangle to end.
4. Click where you want the rectangle to end.

04-30006-02-en, May 2019 Technical


1487
58 Function Block Types

Topics
Simple Blocks
Adding a Simple Block
Connection Blocks
BI – Binary Input
BO – Binary Output
II – Integer Input
IO – Integer Output
PI – Pulse-Counter Binary Input
PO – Pulsed Binary Output
RI – Real Input
RO – Real Output
Time Schedule and Alarm Blocks
ALARM – Alarm
TSCHI – Time Schedule
Accumulator Blocks
ACCUM – Accumulator
INTEG – Integrator
RT – Run-Time Measurement
Non-linear Function Blocks
AHYST – Analog Hysteresis
58 HYST – Binary Hysteresis
LIMIT – High/Low Signal Limit
MAX – Maximum Signal Selector
MIN – Minimum Signal Selector
Logical Function Blocks
AND – Logical AND Gate
NOT – NOT Gate
OR – OR Gate
PULSE – Pulse Generator
SR – Set-Reset Flip-Flop
TRIG – Trigger
XOR – Exclusive OR Gate
Transformation Function Blocks
CURVE – Curve Function
ENTH – Enthalpy
POLY – Polynomial Function
PRCNT – Percentage
VECTOR – Vectorial Curve Function
Delay Blocks
DELAY – Delayed On/Off
DELB – Binary Value Delay
DELI – Integer Value Delay
DELR – Real Value Delay
SHB – Sample and Hold Binary Value
SHI – Sample and Hold Integer Value
SHR – Sample and Hold Real Value
System Variable Blocks
DATE – Day
ERROR – System Error
58 Error Codes for the ERROR Function Block
HOUR – Hour
MINUTE – Minute
MONTH – Month
RST – Restart
SECOND – Second
WDAY – Week Day
TCYC – Cycle Time
Controller and Filter Blocks
FILT – First Order Filter
OPT – Optimization
PIDA – PID Controller – Analog Output
PIDI – PID Controller – Incremental Output
PIDP – PID Controller – Analog Output
RAMP – Ramp Filter
SEQ – Sequencer
Signal Source Blocks
NCYC – Program Cycle Counter
OSC – Oscillator
PVB – Parameter Value Binary
PVI – Integer Value Parameter
PVR – Real Value Parameter
Forced Value Indication in Function Block Graphics Viewer
58 Function Block Types
58.1 Simple Blocks

58.1 Simple Blocks


Simple blocks are graphical representations of functions in a function block
program.
Each simple block has a number of inputs and parameters and one simple block
generates a single output signal.
The parameters in a simple block are always a numerical value or a list of
numerical values within a predetermined range for each type of parameter.
There are two ways to specify the numerical value:
• By using a decimal number in exponential format.
• By using an identifier of 20 significant characters which must be defined in
the Constants Table.
In the description of a block the following information is provided:

Table: Block Characteristics and Their Descriptions


Characteristics Description

Identifier Defines the name of the block.

Unit Defines the measurement unit of the block.

Inputs Defines the input types and briefly explains


their function.

Parameters Defines the functional block parameters


and briefly explains their meaning.

Output Types Defines the data type of the block output.


When two blocks are connected, the
output type should coincide with the input
type.

Access Defines whether the signal exported by the


block is read-only (RO) or read/write (R/W).

Description A brief functional description of the block.

Figure: Simple block example

58.1.1 Connection Blocks


You use connection blocks to connect signals to and from a function block
program.
For more information, see section 58.3 “Connection Blocks” on page 1500.

04-30006-02-en, May 2019 Technical


1493
58 Function Block Types
58.1 Simple Blocks

Table: Connection Block Names and Their Descriptions


Name Description

RI Real input connection block

RO Real output connection block

II Integer input connection block

IO Integer output connection block

PI Pulse counting, digital input connection


block

PO Pulse width modulated output connection


block

BI Boolean input connection block

BO Boolean output connection block

58.1.2 Signal Source Blocks


Signal sources are function blocks that can give signals into the function block
program.
For more information, see section 58.66 “Signal Source Blocks” on page 1599.

Table: Signal Source Names and Their Descriptions


Name Description

NCYC Program cycle counter Single source block

OSC Oscillator, gives a pulse train

PVB Binary value parameter

PVI Integer value parameter

PVR Real value parameter

58.1.3 Logical Function Blocks


A Logical function block adds logical operations to a function block program.
For more information, see section 58.25 “Logical Function Blocks” on page
1529.

Table: Logical Function Names and Their Descriptions


Name Description

AND AND function on two binary signals

Technical 04-30006-02-en, May 2019


1494
58 Function Block Types
58.1 Simple Blocks

Continued
Name Description

NOT Inverts a binary signal

OR OR function on two binary signals

PULSE Mono-stable pulse generator (signal)

SR Set/Reset flip-flop

TRIG Trigger, true on input change of state

XOR XOR function on two binary signals

58.1.4 Non-linear Function Blocks


Non-linear function blocks are used for min and max limitations of signals.
For more information, see section 58.19 “Non-linear Function Blocks” on page
1521.

Table: Non-linear Function Names and Their Descriptions


Name Description

AHYST Analog hysteresis

HYST Binary hysteresis (relay function)

LIMIT Max/Min limit

MAX Maximum value of two signals

MIN Minimum value of two signals

58.1.5 Delay Blocks


A Delay block delays a signal in one of a number of ways.
For more information, see section 58.39 “Delay Blocks” on page 1550.

Table: Delay Block Names and Their Descriptions


Name Description

DELAY Delay on or off

DELB Delays a binary value one cycle

DELI Delays an integer value once cycle

DELR Delays a real value one cycle

SHB Maximum vale of two signals

04-30006-02-en, May 2019 Technical


1495
58 Function Block Types
58.1 Simple Blocks

Continued
Name Description

SHI Sample and hold a binary value

SHR Sample and hold a real value

58.1.6 Controller and Filter Blocks


Controller and Filter blocks control and filter signals in a function block program.
For more information, see section 58.58 “Controller and Filter Blocks” on page
1574.

Table: Controller and Filter Names and Their Descriptions


Name Description

FILT First order filter

OPT Start/Stop time optimization

PIDA PID controller (analog output)

PIDI PID controller (increased/decreased


output)

PIDP Improved PID controller (analog output)

RAMP Ramp filter (rate limit)

SEQ Sequencer

58.1.7 Accumulator Blocks


The Accumulator block is used to accumulate the total consumption from an
incremental input (the consumption during one program cycle).
For more information, see section 58.15 “Accumulator Blocks” on page 1514.

Table: Accumulator Names and Their Descriptions


Name Description

ACCUM Real accumulator

INTEG Integrator

RT Running time measurement

Technical 04-30006-02-en, May 2019


1496
58 Function Block Types
58.1 Simple Blocks

58.1.8 System Variable Blocks


The System variable blocks have no inputs. The blocks display values from the
system clock or the system program.
For more information, see section 58.47 “System Variable Blocks” on page 1562.

Table: System Variable Names and Their Descriptions


Name Description

DATE Actual date

ERROR System error

HOUR Actual hour

MINUTE Actual minute

MONTH Actual month

RST Restart. The output is activated the first


execution

SECOND Actual second

TCYC Cycle time for the Function Block Program


module

WDAY Actual day of the week. 1=Monday

58.1.9 Time Schedule and Alarm Blocks


Time Schedules and Alarms blocks define time control and alarm handling in a
function block program. Time schedules and alarms are configured in
WorkStation and executed outside the function block program.
For more information, see section 58.12 “Time Schedule and Alarm Blocks” on
page 1510.

Table: Time Schedule and Alarm Names and Their Descriptions


Name Description

ALARM Initiates alarm message

TSCHI Time schedule block

58.1.10 Transformation Function Blocks


Transformation function blocks include blocks that transform signals in various
ways in a function block program.
For more information, see section 58.33 “Transformation Function Blocks” on
page 1539.

04-30006-02-en, May 2019 Technical


1497
58 Function Block Types
58.1 Simple Blocks

Table: Transformation Functions Names and Their Description


Name Description

CURVE Partially linear curve function

ENTH Enthalpy calculation

POLY Polynomial transformation function

PRCNT Percentages transformation function

VECTOR Vectorial transformation function

Technical 04-30006-02-en, May 2019


1498
58 Function Block Types
58.2 Adding a Simple Block

58.2 Adding a Simple Block


You create a program by adding simple blocks, operators, and expression
blocks.
For more information, see section 58.1 “Simple Blocks” on page 1493.

To add a simple block


1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the simple block.
2. On the NEW menu, click Simple Block
Block.
3. In the Select Simple Block dialog box, in the block type list, select the type
of simple block you want to add.
4. Click OK
OK.
5. If the block is enclosed by a red rectangle, move the block to an empty
space.
6. Click outside the green rectangle that encloses the block to clear the
selection.

04-30006-02-en, May 2019 Technical


1499
58 Function Block Types
58.3 Connection Blocks

58.3 Connection Blocks


You use connection blocks to connect signals to and from a function block
program.

58.3.1 BI
The BI block is a binary input to a function block program.
For more information, see section 58.4 “BI – Binary Input” on page 1502.

58.3.2 BO
The BO block is a binary output from a function block program.
For more information, see section 58.5 “BO – Binary Output ” on page 1503.

58.3.3 II
The II block is an integer input to function block program.
For more information, see section 58.6 “II – Integer Input” on page 1504.

58.3.4 IO
The IO block is an integer output from function block program.
For more information, see section 58.7 “IO – Integer Output ” on page 1505.

58.3.5 PI
The PI function block counts the number of pulses on the input during one
execution of a function block program.
For more information, see section 58.8 “PI – Pulse-Counter Binary Input” on
page 1506.

58.3.6 PO
The PO block is designed to be used together with the PIDI function block.
For more information, see section 58.9 “PO – Pulsed Binary Output” on page
1507.

Technical 04-30006-02-en, May 2019


1500
58 Function Block Types
58.3 Connection Blocks

58.3.7 RI
The RI block represents a real input in a function block program.
For more information, see section 58.10 “RI – Real Input” on page 1508.

58.3.8 RO
The RO block represents a real output in a function block program.
For more information, see section 58.11 “RO – Real Output” on page 1509.

04-30006-02-en, May 2019 Technical


1501
58 Function Block Types
58.4 BI – Binary Input

58.4 BI – Binary Input


The BI block is a binary input to a function block program.

Figure: The binary input block

The block is updated once during each program cycle. Changes to the inputs
with a duration of less than one program cycle are not noted by the function
block program.

NOTICE
• The BI block has no parameters.

Table: The BI Block Input


Data Type Access

BINARY RO

Technical 04-30006-02-en, May 2019


1502
58 Function Block Types
58.5 BO – Binary Output

58.5 BO – Binary Output


The BO block is a binary output from a function block program.

Figure: The binary output block

NOTICE
It is not recommended to make any connection after the BO function blocks.
Due to system infrastructure, bindings to physical outputs are handled outside
the function block program. If you force the value of an output signal, the
forced value is not transferred back to the application program and anything
connected after the BO function block is unaffected by the forced value.

NOTICE
• The BO block has no parameters.

Table: The BO Block Output


Data Type Access

BINARY RO

04-30006-02-en, May 2019 Technical


1503
58 Function Block Types
58.6 II – Integer Input

58.6 II – Integer Input


The II block is an integer input to function block program.

Figure: The integer input block

The value of the integer input connection block is a 16 bit integer value. The
block handles inputs of 32 bit integer values controlled by the Mode parameter
value:
• Value 0.
The block integer value is limited to the range -32768 and 32767. An input
value outside this range generates a system error called integer
underflow/overflow and can be detected by the ERROR block.
• Value 1.
The block integer value is the most significant word (16 bits) of the 32 bits
input value.
• Value 2.
The block integer value is the least significant word (16 bits) of the 32 bits
input value.

NOTICE
The Variables view only displays the input value for the II block. The Graphics
Viewer displays both the input and output value. The output value can be
different for the II block depending on the selected mode.
For more information, see section 19.11 “Variables View Features” on page
559.
For more information, see the How Graphics Work topic on WebHelp.

Table: The II Block Parameter


Parameter Data Type Description

Mode – 16 bit output control

Table: The II Block Input


Data Type Description

INTEGER RO

Technical 04-30006-02-en, May 2019


1504
58 Function Block Types
58.7 IO – Integer Output

58.7 IO – Integer Output


The IO block is an integer output from function block program.

Figure: The integer output block

NOTICE
It is not recommended to make any connection after the IO function blocks.
Due to system infrastructure, bindings to physical outputs are handled outside
the function block program. If you force the value of an output signal, the
forced value is not transferred back to the application program and anything
connected after the IO function block is unaffected by the forced value.

NOTICE
• The IO block has no parameters.

Table: The INTEG Block Output


Data Type Access

INTEGER RO

04-30006-02-en, May 2019 Technical


1505
58 Function Block Types
58.8 PI – Pulse-Counter Binary Input

58.8 PI – Pulse-Counter Binary Input


The PI function block counts the number of pulses on the input during one
execution of a function block program.

Figure: The pulse-counter binary input block

NOTICE
• The ACCUM block can be used to accumulate the number of pulses during
execution.
• The PI block has no parameters.
• The Variables view only displays the input value for the PI block. The
Graphics Viewer displays both the input and output value. The output value
can be different for the PI.
For more information, see section 19.11 “Variables View Features” on page
559.
For more information, see the How Graphics Work topic on WebHelp.

Table: The PI Block Input


Data Type Description

INTEGER –

Table: The PI Block Output


Data Type Access

REAL RO

Technical 04-30006-02-en, May 2019


1506
58 Function Block Types
58.9 PO – Pulsed Binary Output

58.9 PO – Pulsed Binary Output


The PO block is designed to be used together with the PIDI function block.

Figure: The pulsed binary output block

The pulse duration is determined by the block input signal value (in seconds).
Negative values are ignored.
Block input signals with duration shorter than the MinPulse value are
accumulated until the MinPulse value is reached. Short input signals can only be
accumulated to a duration of the program cycle.
Input pulses with durations longer than the program cycle time can create
output pulses longer than the program cycle time.
When the block gets a value equal to or higher than the cycle time of the
function block program, the block automatically adds 10% to avoid a dip in the
output value. That is, if the function block program execution takes 10 seconds
the online viewer shows 10 seconds for the block connected to the PO block
and 11 seconds for the PO block.

NOTICE
It is not recommended to make any connection after the PO function blocks.
Due to system infrastructure, bindings to physical outputs are handled outside
the function block program. If you force the value of an output signal, the
forced value is not transferred back to the application program and anything
connected after the PO function block is unaffected by the forced value.

Table: The PO Block Parameter


Parameter Data Type Description

MinPulse REAL Minimum output pulse


duration (seconds)

Table: The PO Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1507
58 Function Block Types
58.10 RI – Real Input

58.10 RI – Real Input


The RI block represents a real input in a function block program.

Figure: The real input block

The real input block has a discrete time first order software filter for filtering a
sensor reading. The filter time constant is specified in seconds with the
parameter TimeConst.

NOTICE
The Variables view only displays the input value for the RI block. The Graphics
Viewer displays both the input and output value. The output value for the RI
block can be different depending on the selected filter time constant.
For more information, see section 19.11 “Variables View Features” on page
559.
For more information, see the How Graphics Work topic on WebHelp.

Table: The RI Block Parameter


Parameter Data Type Description

TimeConst REAL Filter time constant


(seconds)

Table: The RI Block Input


Data Type Description

REAL RO

Technical 04-30006-02-en, May 2019


1508
58 Function Block Types
58.11 RO – Real Output

58.11 RO – Real Output


The RO block represents a real output in a function block program.

Figure: The real output

NOTICE
It is not recommended to make any connection after the RO function blocks.
Due to system infrastructure, Bindings to physical outputs are handled outside
the function block program. If you force the value of an output signal, the
forced value is not transferred back to the application program and anything
connected after the RO function block is unaffected by the forced value.

NOTICE
• The RO block has no parameters.

Table: The RO Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1509
58 Function Block Types
58.12 Time Schedule and Alarm Blocks

58.12 Time Schedule and Alarm Blocks


Time Schedules and Alarms blocks define time control and alarm handling in a
function block program. Time schedules and alarms are configured in
WorkStation and executed outside the function block program.

58.12.1 ALARM
The ALARM block monitors the state of the binary input signal.
For more information, see section 58.13 “ALARM – Alarm” on page 1511.

58.12.2 TSCHI
The TSCHI block is an integer output indicating the number of minutes until the
next change of state of the time schedule.
For more information, see section 58.14 “TSCHI – Time Schedule” on page
1513.

Technical 04-30006-02-en, May 2019


1510
58 Function Block Types
58.13 ALARM – Alarm

58.13 ALARM – Alarm


The ALARM block monitors the state of the binary input signal.

Figure: The Alarm block

In the alarm block, a rising edge (transition from 0 to 1) starts a timer which
measures how long the input is true (1). If the measured time exceeds the
specified alarm activation (set) delay time, an alarm record containing
information about the status, time, signal name, priority, and an optional alarm
text is generated by the system software.
When an alarm is set, the alarm block waits for the input to become false (0). The
falling edge of the input signal triggers a timer in the same manner as the rising
edge. After the alarm reset delay time has expired, the alarm is reset by the
system software.
The alarm block output signal indicates the current alarm status:
• 1 = alarm set
• 0 = no alarm (reset)
The alarm set and reset delay times are specified in seconds with the DelayOn
and DelayOff parameters, respectively. Please refer to the timing diagram
below, which shows the setting and resetting of an alarm. If a power outage
occurs during the delay, the elapsed delay time is saved if the Backup check
box is selected.
The alarm priority is specified with the Priority parameter.

Figure: The relation between input signal and alarm output signal

NOTICE
• The input signal must be true for a time interval longer than DelayOn in order
to generate a new alarm. The input must also be false for a time interval
longer than DelayOff in order to reset the alarm.

04-30006-02-en, May 2019 Technical


1511
58 Function Block Types
58.13 ALARM – Alarm

Table: The ALARM Block Parameters


Parameter Data Type Description

DelayOn REAL Delay before the alarm is


set (sec)

DelayOff REAL Delay before the alarm is


reset (sec)

Priority INTEGER Alarm priority level

AlarmText STRING Optional alarm text

Table: The ALARM Block Input


Input Data Type Description

Variable BINARY Input signal

Table: The ALARM Block Output


Data Type Access

BINARY RO

Technical 04-30006-02-en, May 2019


1512
58 Function Block Types
58.14 TSCHI – Time Schedule

58.14 TSCHI – Time Schedule


The TSCHI block is an integer output indicating the number of minutes until the
next change of state of the time schedule.

Figure: The time schedule block

The TSCHI block has a signed integer output whose sign indicates the time
schedule status (negative = true, positive = false), and whose value indicates
the time left until the next status change (negative = time in minutes to false,
positive = time in minutes to true).

NOTICE
• The TSCHI block has no parameters.

Table: The TSCHI Block Output


Data Type Access

INTEGER RO

04-30006-02-en, May 2019 Technical


1513
58 Function Block Types
58.15 Accumulator Blocks

58.15 Accumulator Blocks


The Accumulator block is used to accumulate the total consumption from an
incremental input (the consumption during one program cycle).

58.15.1 ACCUM
The ACCUM block is used to accumulate the total consumption from an
incremental input (the consumption during one program cycle).
For more information, see section 58.16 “ACCUM – Accumulator” on page 1515.

58.15.2 INTEG
The INTEG block integrates a rate or flow over time.
For more information, see section 58.17 “INTEG – Integrator” on page 1517.

58.15.3 RT
The RT block is used to calculate the runtime of the RunIndication signal.
For more information, see section 58.18 “RT – Run-Time Measurement” on page
1519.

Technical 04-30006-02-en, May 2019


1514
58 Function Block Types
58.16 ACCUM – Accumulator

58.16 ACCUM – Accumulator


The ACCUM block is used to accumulate the total consumption from an
incremental input (the consumption during one program cycle).
The block calculates the sum of the variable increment over time. The
summation is done using numerical precision to avoid underflow when the
increment is small.

Figure: The accumulator block

NOTICE
• The accumulated value is delayed by one program cycle before it appears
on the output.

The accumulator output is set to InitValue at the initial state. When the Reset
input is activated, the accumulator output is reset to a value specified by the
ResetValue input signal. When the Reset input is deactivated, the accumulation
resumes from the last value of the ResetValue input.
The upper and lower output limits are set by the maximum floating-point number
that can be represented in the controller.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

The ACCUM block has the following characteristics.

Table: The ACCUM Block Parameter


Parameter Data Type Description

InitValue REAL Initial accumulator value

Table: The ACCUM Block Inputs


Input Data Type Description

Increment (i) REAL Amount accumulated in


each program cycle

Reset (rs) BINARY Reset input (1 = reset)

04-30006-02-en, May 2019 Technical


1515
58 Function Block Types
58.16 ACCUM – Accumulator

Continued
Input Data Type Description

ResetValue (rv) REAL Value assigned to the


output when the reset input
is activated

Table: The ACCUM Block Output


Data Type Access

REAL R/W

Technical 04-30006-02-en, May 2019


1516
58 Function Block Types
58.17 INTEG – Integrator

58.17 INTEG – Integrator


The INTEG block integrates a rate or flow over time.

Figure: The integrator block

Table: The INTEG Block Parameter


Parameter Data Type Description

InitValue REAL Initial integrator value

Table: The INTEG Block Inputs


Input Data Type Description

Rate (r) REAL Rate input variable

Reset (rs) BINARY Reset input (1 = reset)

ResetValue (rv) REAL Value assigned to the


output when the reset input
is activated

Table: The INTEG Block Output


Data Type Access

REAL R/W

The integral is computed as the sum of the rate multiplied by the time increment
(program cycle). The summation is done using extended numerical precision to
avoid underflow when the rate is small.
The integrator output is set to InitValue at the initial state. When the Reset input is
activated, the integrator output is reset to a value specified by the ResetValue
input signal. When the Reset input is deactivated, the integration is resumed
starting from the last value of the ResetValue input.
The upper and lower output limits are set by the maximum floating-point number
that can be represented in the controller.

04-30006-02-en, May 2019 Technical


1517
58 Function Block Types
58.17 INTEG – Integrator

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

Technical 04-30006-02-en, May 2019


1518
58 Function Block Types
58.18 RT – Run-Time Measurement

58.18 RT – Run-Time Measurement


The RT block is used to calculate the runtime of the RunIndication signal.

Figure: The run-time measurement block

Table: The RT Block Parameter


Parameter Data Type Description

Unit INTEGER Output time unit


0 = hours
1 = minutes
2 = seconds
Default value = 0

Table: The RT Block Inputs


Input Data Type Description

RunIndication (i) BINARY Running indication to be


measured

Reset (rs) BINARY Reset input


1 = reset

Table: The RT Block Output


Data Type Access

INTEGER R/W

The output time unit (hours, minutes or seconds) is selected using the Unit
parameter. The output and all internal block states are set to zero at the initial
state or when the Reset input is activated. When the Reset input is deactivated,
accumulation resumes.
When the output reaches the maximum Integer limit (32767), accumulation
stops, but the output is not reset to zero.

04-30006-02-en, May 2019 Technical


1519
58 Function Block Types
58.18 RT – Run-Time Measurement

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

Technical 04-30006-02-en, May 2019


1520
58 Function Block Types
58.19 Non-linear Function Blocks

58.19 Non-linear Function Blocks


Non-linear function blocks are used for min and max limitations of signals.

58.19.1 AHYST
The AHYST block implements an analog hysteresis function.
For more information, see section 58.20 “AHYST – Analog Hysteresis” on page
1522.

58.19.2 HYST
The binary HYST block implements a relay function with hysteresis.
For more information, see section 58.21 “HYST – Binary Hysteresis” on page
1524.

58.19.3 LIMIT
The LIMIT block limits the analog signal within a given range.
For more information, see section 58.22 “LIMIT – High/Low Signal Limit” on page
1526.

58.19.4 MAX
The MAX signal selector block selects the highest of two analog signals.
For more information, see section 58.23 “MAX – Maximum Signal Selector” on
page 1527.

58.19.5 MIN
The MIN signal selector block selects the lowest of two analog signals.
For more information, see section 58.24 “MIN – Minimum Signal Selector” on
page 1528.

04-30006-02-en, May 2019 Technical


1521
58 Function Block Types
58.20 AHYST – Analog Hysteresis

58.20 AHYST – Analog Hysteresis


The AHYST block implements an analog hysteresis function.
The output follows the input as long as the input is outside the limits of the
hysteresis loop. When the input variable enters into the hysteresis loop, the
output takes the limiting values of the hysteresis.

Figure: The analog hysteresis block

Figure: Analog hysteresis

If Rise > Fall, the loop is counter-clockwise. If Rise < Fall, the hysteresis loop is
clockwise.
If a complex function containing several hysteresis loops is required, program
the function by using other blocks (POLY, CURVE, VECTOR, and so on) and
append in cascade as many AHYST blocks as there are hysteresis loops in the
desired transfer function.

Table: The AHYST Block Parameters


Parameter Data Type Description

Rise REAL Value of the input signal for


the ascent in the hysteresis
loop

Fall REAL Value of the input signal for


the descent in the
hysteresis loop

Table: The AHYST Block Input


Input Data Type Description

Variable REAL Input signal

Technical 04-30006-02-en, May 2019


1522
58 Function Block Types
58.20 AHYST – Analog Hysteresis

Table: The AHYST Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1523
58 Function Block Types
58.21 HYST – Binary Hysteresis

58.21 HYST – Binary Hysteresis


The binary HYST block implements a relay function with hysteresis.

Figure: The binary hysteresis block

Table: The HYST Block Parameters


Parameter Data Type Description

Activate REAL Threshold value of the input


signal for activation of the
output

Deactivate REAL Threshold value of the input


signal for deactivation of the
output

Table: The HYST Block Input


Input Data Type Description

Variable REAL Input signal

Table: The HYST Block Output


Data Type Access

BINARY RO

When activate is greater than deactivate, the block has the following functions:
• If the output is false (0) and the input signal exceeds the activation
threshold, the output changes to true (1).
• If the output is true (1) and the input signal drops below the deactivation
threshold, the output changes to false (0).
• When the input signal is in the zone between the two thresholds, the output
remains in its previous state.

Figure: Binary hysteresis, when activate is greater than deactivate

Technical 04-30006-02-en, May 2019


1524
58 Function Block Types
58.21 HYST – Binary Hysteresis

When activate is less than deactivate, the block has the following functions:
• If the output is true (1) and the input signal exceeds the deactivation
threshold, the output changes to false (0).
• If the output is false (0) and the input signal drops below the activation
threshold, the output changes to true (1).
• When the input signal is in the zone between the two thresholds, the output
remains in its previous state.

Figure: Binary hysteresis, when activate is less than deactivate

04-30006-02-en, May 2019 Technical


1525
58 Function Block Types
58.22 LIMIT – High/Low Signal Limit

58.22 LIMIT – High/Low Signal Limit


The LIMIT block limits the analog signal within a given range.

Figure: The high/low signal limit block

Table: The LIMIT Block Parameters


Parameter Data Type Description

MinValue REAL Minimum value limit

MaxValue REAL Maximum value limit

Table: The LIMIT Block Input


Data Type Description

REAL Input signal

Table: The LIMIT Block Output


Data Type Access

REAL RO

Technical 04-30006-02-en, May 2019


1526
58 Function Block Types
58.23 MAX – Maximum Signal Selector

58.23 MAX – Maximum Signal Selector


The MAX signal selector block selects the highest of two analog signals.

Figure: The maximum signal selector block

NOTICE
• The MAX block has no parameters.

Table: The MAX Block Inputs


Data Type Description

REAL Input1. First input signal

REAL Input2. Second input signal

Table: The MAX Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1527
58 Function Block Types
58.24 MIN – Minimum Signal Selector

58.24 MIN – Minimum Signal Selector


The MIN signal selector block selects the lowest of two analog signals.

Figure: The minimum signal selector block

NOTICE
• The MIN block has no parameters.

Table: The MIN Block Input


Data Type Description

REAL Input1. First input signal

REAL Input2. Second input signal

Table: The MIN Block Output


Data Type Access

REAL RO

Technical 04-30006-02-en, May 2019


1528
58 Function Block Types
58.25 Logical Function Blocks

58.25 Logical Function Blocks


A Logical function block adds logical operations to a function block program.

58.25.1 AND
The logical AND gate block calculates the boolean AND function of state1 and
state2.
For more information, see section 58.26 “AND – Logical AND Gate” on page
1531.

58.25.2 NOT
The NOT gate block inverts a binary signal.
For more information, see section 58.27 “NOT – NOT Gate” on page 1532.

58.25.3 OR
The OR gate block calculates the boolean OR function.
For more information, see section 58.28 “OR – OR Gate” on page 1533.

58.25.4 PULSE
The PULSE generator block generates a variable width pulse when the control
input is triggered.
For more information, see section 58.29 “PULSE – Pulse Generator” on page
1534.

58.25.5 SR
The SR flip-flop block is a bi-stable block with two inputs: set and reset.
For more information, see section 58.30 “SR – Set-Reset Flip-Flop” on page
1535.

58.25.6 TRIG
The TRIG block is mono-stable and fires when it detects a transition in its input
signal and generates a pulse which is equal to the duration of one program
cycle.
For more information, see section 58.31 “TRIG – Trigger” on page 1537.

04-30006-02-en, May 2019 Technical


1529
58 Function Block Types
58.25 Logical Function Blocks

58.25.7 XOR
The exclusive OR gate block is a logical exclusive OR operator between two
binary values.
For more information, see section 58.32 “XOR – Exclusive OR Gate” on page
1538.

Technical 04-30006-02-en, May 2019


1530
58 Function Block Types
58.26 AND – Logical AND Gate

58.26 AND – Logical AND Gate


The logical AND gate block calculates the boolean AND function of state1 and
state2.

Figure: The logical AND gate

NOTICE
• The AND block has no parameters.

Table: The AND Block Inputs


Data Type Description

BINARY State1

BINARY State2

Table: The AND Block Output


Data Type Access

BINARY RO

Table: Calculation of the Boolean AND Function of state1 and state2 in the
Logical AND Gate Block
state 1 state 2 output

0 0 0

0 1 0

1 0 0

1 1 1

04-30006-02-en, May 2019 Technical


1531
58 Function Block Types
58.27 NOT – NOT Gate

58.27 NOT – NOT Gate


The NOT gate block inverts a binary signal.

Figure: The NOT gate block

NOTICE
• The NOT block has no parameters.

Table: The NOT Block Input


Data Type Description

BINARY Input signal

Table: The NOT Block Output


Data Type Access

BINARY RO

Technical 04-30006-02-en, May 2019


1532
58 Function Block Types
58.28 OR – OR Gate

58.28 OR – OR Gate
The OR gate block calculates the boolean OR function.

Figure: The OR gate block

NOTICE
• The OR block has no parameters.

Table: The OR Block Inputs


Data Type Description

BINARY State1. Input signal 1

BINARY State2. Input signal 2

Table: The OR Block Output


Data Type Access

BINARY RO

Table: Calculation of the Boolean OR Function of state1 and state2 Using the OR
Gate Block
state1 state2 Output

0 0 0

0 1 1

1 0 1

1 1 1

04-30006-02-en, May 2019 Technical


1533
58 Function Block Types
58.29 PULSE – Pulse Generator

58.29 PULSE – Pulse Generator


The PULSE generator block generates a variable width pulse when the control
input is triggered.

Figure: The pulse generator block

NOTICE
• The PULSE block has no parameters.

Table: The PULSE Block Inputs


Input Data Type Description

Trig (t) BINARY Trigger signal

PulseLength (pl) REAL Duration of output pulse


(seconds)

Table: The PULSE Block Output


Data Type Access

BINARY RO

The pulse generator block is a function block with a mono-stable binary output
of variable pulse length (pulse generator). The pulse length (in seconds) is given
by the input signal PulseLength. The PULSE block only has one stable output
state (0). When the input signal Trig switches from 0 to 1, the output switches to
the unstable state (1) and remains in this state for PulseLength seconds, after
which it returns to 0. The output pulse is triggered by the transition of the input
signal, from zero to one, and not on its state. Thus, the output pulse length is
independent of the duration of the trig input pulse length.

Figure: Pulse length

The output pulse length is always a multiple of the program cycle time, for
example, if the PulseLength input is set to 5.2 seconds and the cycle time is 1
second, the output pulse duration is 6 seconds.

Technical 04-30006-02-en, May 2019


1534
58 Function Block Types
58.30 SR – Set-Reset Flip-Flop

58.30 SR – Set-Reset Flip-Flop


The SR flip-flop block is a bi-stable block with two inputs: set and reset.

Figure: The set-reset flip-flop block

Table: The SR Block Parameter


Parameter Data Type Description

InitValue BINARY Initial value of the output


signal

Table: The SR Block Inputs


Input Data Type Description

Set (s) (D) BINARY Activates the output state

Reset (r) BINARY Deactivates the output state

Table: The SR Block Output


Data Type Access

BINARY R/W

Depending on the value of these inputs at any given moment, the output of the
block is given a value during the next program cycle in accordance with the
following transition table:

Table: Set-Reset Flip-Flop Block Transition Table


State (t) Reset (t) Output (t+1)

0 0 output (t)

0 1 0

1 0 1

1 1 inverse (output(t))

04-30006-02-en, May 2019 Technical


1535
58 Function Block Types
58.30 SR – Set-Reset Flip-Flop

Thus, the output at time t+1 is equal to the input at time t if the two inputs are
inactive. If the two inputs are active, the output changes state every program
cycle. If only one of them is active, the output is activated or deactivated
depending on whether the input variable set or reset is active respectively.

Figure: The set-reset flip-flop block function

Technical 04-30006-02-en, May 2019


1536
58 Function Block Types
58.31 TRIG – Trigger

58.31 TRIG – Trigger


The TRIG block is mono-stable and fires when it detects a transition in its input
signal and generates a pulse which is equal to the duration of one program
cycle.

Figure: The trigger block

Table: The TRIG Block Parameter


Parameter Data Type Description

Mode INTEGER Operation modes 1, 2, or 3

Table: The TRIG Block Input


Input Data Type Description

State BINARY Trigger signal

Table: The TRIG Block Output


Data Type Access

BINARY RO

Depending on the mode of operation selected, the trigger can fire:


• Mode 0 and 1: on the low to high transitions
• Mode 2: on the high to low transitions
• Mode 3: on any transition
The mode can be entered as an integer between 0 and 255, but any mode
higher than mode 3 works as mode 3 (the trigger fires on any transition).

04-30006-02-en, May 2019 Technical


1537
58 Function Block Types
58.32 XOR – Exclusive OR Gate

58.32 XOR – Exclusive OR Gate


The exclusive OR gate block is a logical exclusive OR operator between two
binary values.

Figure: The exclusive OR gate block

NOTICE
• The XOR block has no parameters.

Table: The XOR Block Inputs


Data Type Description

BINARY State1

BINARY State2

Table: The XOR Block Output


Data Type Access

BINARY RO

The exclusive OR gate block calculates the boolean exclusive OR function of


state1 and state2, according to the following truth table:

Table: The Exclusive OR Gate Block Calculation Table


State1 State2 Output

0 0 0

0 1 1

1 0 1

1 1 0

Technical 04-30006-02-en, May 2019


1538
58 Function Block Types
58.33 Transformation Function Blocks

58.33 Transformation Function Blocks


Transformation function blocks include blocks that transform signals in various
ways in a function block program.

58.33.1 CURVE
The CURVE function block implements an arbitrary partially linear curve defined
by a number of curve breakpoints (xi, yi), that are the function values y = f(x) for
a set of input x values.
For more information, see section 58.34 “CURVE – Curve Function” on page
1540.

58.33.2 ENTH
The ENTH block is used to calculate moist air at normal atmospheric pressure
as a function of the dry-bulb temperature and the relative humidity.
For more information, see section 58.35 “ENTH – Enthalpy” on page 1542.

58.33.3 POLY
The POLY block calculates the polynomial function.
For more information, see section 58.36 “POLY – Polynomial Function” on page
1545.

58.33.4 PRCNT
The PRCNT block transforms an input signal to a 0–100% output signal.
For more information, see section 58.37 “PRCNT – Percentage” on page 1547.

58.33.5 VECTOR
In the VECTOR block the output value is calculated using a ranged array of input
values.
For more information, see section 58.38 “VECTOR – Vectorial Curve Function”
on page 1548.

04-30006-02-en, May 2019 Technical


1539
58 Function Block Types
58.34 CURVE – Curve Function

58.34 CURVE – Curve Function


The CURVE function block implements an arbitrary partially linear curve defined
by a number of curve breakpoints (xi, yi), that are the function values y = f(x) for
a set of input x values.

Figure: The Curve function block

Table: The CURVE Block Parameters


Parameter Data Type Description

Limit BINARY Selector for limit function


(limit = 1) or linear
extrapolation (limit = 0)

Dimension (Pair list x,y) REAL A list of coordinate pairs x,y


defining the breakpoints of
the curve function

Table: The CURVE Block Input


Data Type Description

REAL Input signal

Table: The CURVE Block Output


Data Type Access

BINARY RO

The number of breakpoints must not exceed 127. The number of specified
breakpoints (N) is indicated as Dimension in the graphical function block
symbol. The breakpoints are entered as a list of Real values x,y separated by
commas, with one coordinate pair on each row. The x values in the list have to
be entered in order, that is xi-1 < xi < xi+1.
The input signal is compared to the x-components of the breakpoints in order.
The first coordinate pair with an x-component greater than the input signal is
chosen as the end point of a line segment starting in the previous point. The
output signal is then calculated by linear interpolation on this line segment.

Technical 04-30006-02-en, May 2019


1540
58 Function Block Types
58.34 CURVE – Curve Function

If the limit function selector is set to 1, the output is set to y1 when the input is
less than x1, and to yN when the input is greater than xN. When the limit selector
is disabled, the output is computed by linear extrapolation whenever the input
signal exceeds the range (x1, xN).
The following is a graphical representation of a “simple” case:

Figure: A simple case of the curve function block

If two coordinates are equal, the curve look like this:

Figure: A case where two coordinates are equal.

At the discontinuity (when the input = x2) the function output is y2.

04-30006-02-en, May 2019 Technical


1541
58 Function Block Types
58.35 ENTH – Enthalpy

58.35 ENTH – Enthalpy


The ENTH block is used to calculate moist air at normal atmospheric pressure
as a function of the dry-bulb temperature and the relative humidity.

Figure: The enthalpy block

NOTICE
• The ENTH block has no parameters.

Table: The ENTH Block Inputs


Input Data Type Description

Temperature (T) REAL Dry-bulb temperature °C


(ºF)

Humidity (H) REAL Relative humidity (%)

Table: The ENTH Block Output


Data Type Access

REAL RO

The enthalpy, kJ/kg (BTU/pound), of moist air at normal atmospheric pressure is


calculated as a function of the dry-bulb temperature °C (ºF) and the relative
humidity (%).
The ENTH block uses the T input (temperature) in SI unit system (metric) or I-P
(inch-pound) unit system, depending on the regional settings of the computer on
which the function block program is generated. The metric setting produces a
block where the T input is in degrees Celsius. A US setting produces a block
where the T input is in degrees Fahrenheit.
The above-mentioned setting also determines the units for the calculated
enthalpy. An SI (metric) setting gives the result in kJ/kg. An I-P (inch-pound)
setting gives a result in BTU/pound. The calculation of enthalpy in each unit
system differs, and cannot be converted from one unit system to another.

Algorithm, SI measurement units


The water vapor saturation pressure over liquid water for the temperature range
0 to 200 °C is approximated by the following function:
pws(T) = exp(c8/T + c9 + c10*T + c11*T² + c12*T³ + c13*ln(T)) (6)

Technical 04-30006-02-en, May 2019


1542
58 Function Block Types
58.35 ENTH – Enthalpy

where
• T = Absolute temperature (K),
• pws = saturation pressure (Pa) and
• c8 = –5.8002206E+03;
• c9 = 1.3914993E+00;
• c10 = –4.8640239E-02;
• c11 = 4.1764768E-05;
• c12 = –1.4452093E-08;
• c13 = 6.5459673+00;
The enthalpy of moist air at normal atmospheric pressure as a function of the
dry-bulb temperature and the relative humidity is then given by the following
equations:
pwsat = pws(t+273.15)
pw =F*pwsat/100)(24)
W = 0.62198*pw/(p-pw)(22)
h = 1.006 *t + W*(2501+1.805*t)(32)
where
• pwsat = water vapor saturation pressure (Pa)
• t = dry-bulb temperature (°C)
• F = relative humidity (%)
• pw = partial pressure of water vapor in moist air (Pa)
• p = ambient pressure (101325 Pa)
• W = humidity ratio, mass of water per unit mass of dry air
• h = enthalpy (kJ/kg)

NOTICE
• Reference: ASHRAE Handbook 2001 – Fundamentals SI System of units.
Chapter 6, Psychrometrics. The equation numbers within parenthesis refer
to the corresponding equations in the ASHRAE Handbook.

Algorithm, I-P measurement units


The water vapor saturation pressure over liquid water for the temperature range
–80 to 300 °F is approximated by the following function:
pws(T) = exp(c8/T + c9 + c10*T + c11*T² + c12*T³ + c13*ln(T)) (6)
where
• T= Absolute temperature (ºR)
• pws = saturation pressure (psia) and
• c8 = –1.0440397E+04;
• c9 = –1.1294650E+01;
• c10 = –2.7022355E-02;
• c11 = 1.2890360E-05;

04-30006-02-en, May 2019 Technical


1543
58 Function Block Types
58.35 ENTH – Enthalpy

• c12 = –2.4780681E-09;
• c13 = 6.5459673;The enthalpy of moist air at normal atmospheric pressure
as a function of the dry-bulb temperature and the relative humidity is then
given by the following equations:
pwsat = pws(t+459.67)
pw = F*pwsat/100)(24)
W = 0.62198*pw/(p-pw)(22)
h = 0.240*t + W*(1061+0.444*t)(32)
where
• pwsat = water vapor saturation pressure (psi)
• t = dry-bulb temperature (°F)
• F = relative humidity (%)
• pw = partial pressure of water vapor in moist air (psi)
• p = ambient pressure (14.696 psi)
• W = humidity ratio, mass of water per unit mass of dry air
• h = enthalpy (BTU/Pound)

NOTICE
• Reference: ASHRAE Handbook 2001 – Fundamentals I-P System of units.
Chapter 6, Psychrometrics. The equation numbers within parenthesis refer
to the corresponding equations in the ASHRAE Handbook.

Technical 04-30006-02-en, May 2019


1544
58 Function Block Types
58.36 POLY – Polynomial Function

58.36 POLY – Polynomial Function


The POLY block calculates the polynomial function.

Figure: The polynomial function block

Table: The POLY Block Parameter


Parameter Data Type Description

Order REAL List of coefficients

Table: The POLY Block Input


Data Type Description

REAL –

Table: The POLY Block Output


Data Type Access

REAL RO

The Polynomial block calculates the polynomial function defined by the


expression:

Figure: Polynomial function

The order of the polynomial (n) is equal to the number of coefficients minus one,
and this is indicated in the graphical function block symbol. The maximum
number of coefficients is 255.
The polynomial value p(x) is calculated using an algorithm known as Horner's
scheme [Reference: Fröberg, Carl-Erik: “Numerical Mathematics – Theory and
Computer Applications”, Addison-Wesley (1985)] to improve the numerical
accuracy and reduce the number of floating point operations. The algorithm can
be described using the following equations, where p(x) = bn:

04-30006-02-en, May 2019 Technical


1545
58 Function Block Types
58.36 POLY – Polynomial Function

Figure: Polynomial value calculated by using the algorithm known as Horner's scheme

Technical 04-30006-02-en, May 2019


1546
58 Function Block Types
58.37 PRCNT – Percentage

58.37 PRCNT – Percentage


The PRCNT block transforms an input signal to a 0–100% output signal.

Figure: The percentage block

Table: The PRCNT Block Parameters


Parameter Data Type Description

Value0% REAL Value of the input variable


for 0% at the output

Value100% REAL Value of the input variable


for 100% at the output

Table: The PRCNT Block Input


Data Type Description

REAL Input signal

Table: The PRCNT Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1547
58 Function Block Types
58.38 VECTOR – Vectorial Curve Function

58.38 VECTOR – Vectorial Curve Function


In the VECTOR block the output value is calculated using a ranged array of input
values.

Figure: The Vectorial curve function block

Table: The VECTOR Block Parameters


Parameter Data Type Description

Xmin REAL Lower limit of the input


range

Xmax REAL Upper limit of the input


range

Dimension(Y(X)) REAL List of function values


(minimum of 2 and
maximum of 255). Each
value in the list is entered on
a separate line.

Table: The VECTOR Block Input


Data Type Description

REAL Input signal

Table: The VECTOR Block Output


Data Type Access

REAL RO

The Vectorial curve function block permits the definition of any piece-wise linear
function for an input signal within the limits Xmax and Xmin. The function is
defined by specifying the output function values y = f(x) for N equally spaced
input (x) values between the two limits. For input values between two points, the
function value is calculated by linear interpolation. If the value of the input signal
is less than Xmin, the value defined at that point is used, and likewise if the input
is greater than Xmax.

Technical 04-30006-02-en, May 2019


1548
58 Function Block Types
58.38 VECTOR – Vectorial Curve Function

NOTICE
• The Vectorial curve function block can act as a ranged array of Real values
for use as a look-up table as in the example below.

Table: The VECTOR Block as a Ranged Array of Real Values


Input Output

5 34.5

6 28.0

7 42.5

8 33.9

To do this, the input must always be an integer between Xmin and Xmax (Xmin =
5, Xmax = 8 in the example), and the number of elements in the list must be
equal to Xmax – Xmin + 1 (8 – 5 + 1 = 4 in the example).

04-30006-02-en, May 2019 Technical


1549
58 Function Block Types
58.39 Delay Blocks

58.39 Delay Blocks


A Delay block delays a signal in one of a number of ways.

58.39.1 DELAY
The DELAY on/off block delays the transitions of an input signal (state) by the
time specified in seconds as defined by the DelayOn (transition 0 to 1) and
DelayOff (transition 1 to 0) parameters.
For more information, see section 58.40 “DELAY – Delayed On/Off” on page
1552.

58.39.2 DELB
The DELB block introduces a delay of one program cycle in the propagation of a
binary signal. For each program cycle, the output value is updated with the input
value from the previous cycle.
For more information, see section 58.41 “DELB – Binary Value Delay” on page
1553.

58.39.3 DELI
The DELI block introduces a delay of one program cycle in the propagation of
an Integer signal. For each program cycle, the value of the output is updated
with the input value from the previous cycle.
For more information, see section 58.42 “DELI – Integer Value Delay” on page
1554.

58.39.4 DELR
The DELR block introduces a delay of one program cycle in the propagation of a
Real signal. For each program cycle, the value of the output is updated with the
input value from the previous cycle.
For more information, see section 58.43 “DELR – Real Value Delay” on page
1555.

58.39.5 SHB
The SHB binary value block copies the input state to the output if the control
signal is active. If the control signal is inactive the output remains in the same
state.
For more information, see section 58.44 “SHB – Sample and Hold Binary Value”
on page 1556.

Technical 04-30006-02-en, May 2019


1550
58 Function Block Types
58.39 Delay Blocks

58.39.6 SHI
The SHI integer value block copies the input state to the output if the control
signal is active. If the control signal is inactive the output remains in the same
state.
For more information, see section 58.45 “SHI – Sample and Hold Integer Value”
on page 1558.

58.39.7 SHR
The SHR real value block copies the input state to the output if the control signal
is active. If the control signal is inactive the output remains in the same state.
For more information, see section 58.46 “SHR – Sample and Hold Real Value” on
page 1560.

04-30006-02-en, May 2019 Technical


1551
58 Function Block Types
58.40 DELAY – Delayed On/Off

58.40 DELAY – Delayed On/Off


The DELAY on/off block delays the transitions of an input signal (state) by the
time specified in seconds as defined by the DelayOn (transition 0 to 1) and
DelayOff (transition 1 to 0) parameters.

Figure: The delayed on/off block

Table: The DELAY Block Parameters


Parameter Data Type Description

DelayOn REAL Activation delay in seconds

DelayOff REAL Deactivation delay in


seconds

Table: The DELAY Block Input


Data Type Description

BINARY State. Input signal

Table: The DELAY Block Output


Data Type Access

BINARY RO

The input signal must be true for a time interval longer than DelayOn in order to
generate a pulse on the block output. The input must also be false for a time
interval longer than DelayOff in order to reset the output to false.

Figure:

If a power outage occurs during the delay, the elapsed delay time is saved if
Backup is selected in the Edit block dialog box.

Technical 04-30006-02-en, May 2019


1552
58 Function Block Types
58.41 DELB – Binary Value Delay

58.41 DELB – Binary Value Delay


The DELB block introduces a delay of one program cycle in the propagation of a
binary signal. For each program cycle, the output value is updated with the input
value from the previous cycle.

Figure: The binary value delay block

Table: The DELB Block Parameter


Parameter Data Type Description

InitValue BINARY Initial value for the output


signal

Table: The DELB Block Input


Input Data Type Description

State BINARY Binary input signal

Table: The DELB Block Output


Data Type Access

BINAY R/W

04-30006-02-en, May 2019 Technical


1553
58 Function Block Types
58.42 DELI – Integer Value Delay

58.42 DELI – Integer Value Delay


The DELI block introduces a delay of one program cycle in the propagation of
an Integer signal. For each program cycle, the value of the output is updated
with the input value from the previous cycle.

Figure: The integer value delay block

Table: The DELI Block Parameter


Parameter Data Type Description

InitValue INTEGER Initial value for the output


signal

Table: The DELI Block Input


Input Data Type Description

Variable INTEGER Input signal

Table: The DELI Block Output


Data Type Access

INTEGER R/W

Technical 04-30006-02-en, May 2019


1554
58 Function Block Types
58.43 DELR – Real Value Delay

58.43 DELR – Real Value Delay


The DELR block introduces a delay of one program cycle in the propagation of a
Real signal. For each program cycle, the value of the output is updated with the
input value from the previous cycle.

Figure: The real value delay block

Table: The DELR Block Parameter


Parameter Data Type Description

InitValue REAL Initial value for the output


signal

Table: The DELR Block Input


Data Type Description

REAL Analog input signal

Table: The DELR Block Output


Data Type Access

REAL R/W

04-30006-02-en, May 2019 Technical


1555
58 Function Block Types
58.44 SHB – Sample and Hold Binary Value

58.44 SHB – Sample and Hold Binary Value


The SHB binary value block copies the input state to the output if the control
signal is active. If the control signal is inactive the output remains in the same
state.

Figure: The sample and hold binary value block

Table: The SHB Block Parameter


Parameter Data Type Description

InitValue BINARY Initial value of the input


signal

Table: The SHB Block Inputs


Input Data Type Description

State (d) BINARY Binary input signal

Control (c) BINARY Control signal

Table: The SHB Block Output


Data Type Access

BINARY R/W

Table: The Sample and Hold Function


state (t) control (t) output (t+1)

0 0 output (t)

0 0 output (t)

0 1 0

1 1 1

Technical 04-30006-02-en, May 2019


1556
58 Function Block Types
58.44 SHB – Sample and Hold Binary Value

Figure: The sample and hold function binary value

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

04-30006-02-en, May 2019 Technical


1557
58 Function Block Types
58.45 SHI – Sample and Hold Integer Value

58.45 SHI – Sample and Hold Integer Value


The SHI integer value block copies the input state to the output if the control
signal is active. If the control signal is inactive the output remains in the same
state.
However, while the control signal remains inactive, the output retains the value
of the input during the last cycle that the control signal was active.

Figure: The sample and hold integer value

Table: The SHI Block Parameter


Parameter Data Type Description

InitValue INTEGER Initial value of the output

Table: The SHI Block Inputs


Input Data Type Description

Variable (D) INTEGER Analog input signal

Control (c) BINARY Control signal

Table: The SHI Block Output


Data Type Access

INTEGER R/W

Technical 04-30006-02-en, May 2019


1558
58 Function Block Types
58.45 SHI – Sample and Hold Integer Value

Figure: The sample and hold integer value function

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

04-30006-02-en, May 2019 Technical


1559
58 Function Block Types
58.46 SHR – Sample and Hold Real Value

58.46 SHR – Sample and Hold Real Value


The SHR real value block copies the input state to the output if the control signal
is active. If the control signal is inactive the output remains in the same state.

Figure: The sample and hold real value block

Table: The SHR Block Parameter


Parameter Data Type Description

InitValue INTEGER Initial value of the output

Table: The SHR Block Inputs


Input Data Type Description

Variable (D) REAL Analog input signal

Control (c) BINARY Control signal

Table: The SHR Block Output


Data Type Access

REAL R/W

Technical 04-30006-02-en, May 2019


1560
58 Function Block Types
58.46 SHR – Sample and Hold Real Value

Figure: The sample and hold real value function

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

04-30006-02-en, May 2019 Technical


1561
58 Function Block Types
58.47 System Variable Blocks

58.47 System Variable Blocks


The System variable blocks have no inputs. The blocks display values from the
system clock or the system program.

58.47.1 DATE
The DATE block provides the date of the month (1–31) according to the internal
system clock.
For more information, see section 58.48 “DATE – Day” on page 1564.

58.47.2 ERROR
The output of the system ERROR block is an integer value where each bit
represents an internal signal or error from the system program.
For more information, see section 58.49 “ERROR – System Error” on page 1565.

58.47.3 HOUR
The HOUR block provides the current hour (0–23) according to the internal
system clock.
For more information, see section 58.51 “HOUR – Hour” on page 1567.

58.47.4 MINUTE
The MINUTE block provides the current minute (0–59), according to the internal
system clock.
For more information, see section 58.52 “MINUTE – Minute” on page 1568.

58.47.5 MONTH
The MONTH block provides the month of the year (1–12) according to the
internal system clock.
For more information, see section 58.53 “MONTH – Month” on page 1569.

58.47.6 RST
The output in the RST block is activated the first program cycle after a warm
start.
For more information, see section 58.54 “RST – Restart” on page 1570.

Technical 04-30006-02-en, May 2019


1562
58 Function Block Types
58.47 System Variable Blocks

58.47.7 SECOND
The SECOND block provides the current second (0–59), according to the
system clock.
For more information, see section 58.55 “SECOND – Second” on page 1571.

58.47.8 TCYC
The TCYC block gives the duration in seconds of the set program cycle.
For more information, see section 58.57 “TCYC – Cycle Time” on page 1573.

58.47.9 WDAY
The WDAY block provides the week according to the system clock. 1 = Monday,
and so on.
For more information, see section 58.56 “WDAY – Week Day” on page 1572.

04-30006-02-en, May 2019 Technical


1563
58 Function Block Types
58.48 DATE – Day

58.48 DATE – Day


The DATE block provides the date of the month (1–31) according to the internal
system clock.

Figure: The day block

NOTICE
• The DATE block has no parameters.

Table: The DATE Block Output


Data Type Access

INTEGER RO

Technical 04-30006-02-en, May 2019


1564
58 Function Block Types
58.49 ERROR – System Error

58.49 ERROR – System Error


The output of the system ERROR block is an integer value where each bit
represents an internal signal or error from the system program.

Figure: The system error block

NOTICE
• The ERROR block has no parameters.

Table: The ERROR Block Output


Data Type Access

INTEGER RO

Each output bit is set as long as the error condition remains. In the case of a
restart after a warm start, during the first program cycle following the restart, the
output value is zero when no error conditions are set.

04-30006-02-en, May 2019 Technical


1565
58 Function Block Types
58.50 Error Codes for the ERROR Function Block

58.50 Error Codes for the ERROR Function


Block
Bit 0, 1, and 3 are used for error codes in the ERROR function block.

Table: Error Codes for the ERROR Function Block


Bit No. Output Value Description

0 1 Set during the first


execution when restarted
after a warm start.

1 2 Integer underflow/overflow
when the II function block is
used in 16 bit mode (Mode
0).

3 8 RT block overflow.

Technical 04-30006-02-en, May 2019


1566
58 Function Block Types
58.51 HOUR – Hour

58.51 HOUR – Hour


The HOUR block provides the current hour (0–23) according to the internal
system clock.

Figure: The hour block

NOTICE
• The HOUR block has no parameters.

Table: The HOUR Block Output


Data Type Access

INTEGER RO

04-30006-02-en, May 2019 Technical


1567
58 Function Block Types
58.52 MINUTE – Minute

58.52 MINUTE – Minute


The MINUTE block provides the current minute (0–59), according to the internal
system clock.

Figure: The minute block

NOTICE
• The MINUTE block has no parameters.

Table: The MINUTE Block Output


Data Type Access

INTEGER RO

Technical 04-30006-02-en, May 2019


1568
58 Function Block Types
58.53 MONTH – Month

58.53 MONTH – Month


The MONTH block provides the month of the year (1–12) according to the
internal system clock.
• Month 1 corresponds to January
• Month 12 corresponds to December

Figure: The month block

NOTICE
• The MONTH block has no parameters.

Table: The MONTH Block Output


Data Type Access

INTEGER RO

04-30006-02-en, May 2019 Technical


1569
58 Function Block Types
58.54 RST – Restart

58.54 RST – Restart


The output in the RST block is activated the first program cycle after a warm
start.

Figure: The restart block

NOTICE
• The RST block has no parameters.

Table: The RST Block Output


Data Type Access

BINARY RO

Technical 04-30006-02-en, May 2019


1570
58 Function Block Types
58.55 SECOND – Second

58.55 SECOND – Second


The SECOND block provides the current second (0–59), according to the
system clock.

Figure: The second block

NOTICE
• The SECOND block has no parameters.

Table: The SECOND Block Output


Data Type Access

INTEGER RO

NOTICE
• The output signal does not change its value during execution of the function
block program module where it is being used. This is important if longer
cycle times than one second are used.

04-30006-02-en, May 2019 Technical


1571
58 Function Block Types
58.56 WDAY – Week Day

58.56 WDAY – Week Day


The WDAY block provides the week according to the system clock. 1 = Monday,
and so on.
The output value 1 corresponds to Monday and 7 to Sunday.
The WDAY block has no parameters.

Figure: The week day block

NOTICE
• If you use both Script and Function Block programming, for example, when
using control sequences, be aware of the following. Script uses Sunday as
the first day of the week and assigns a value of 1 to that day, while Function
Block uses Monday as the first day of the week and assigns Monday a value
of 1.

Table: The WDAY Block Output


Data Type Access

INTEGER RO

Technical 04-30006-02-en, May 2019


1572
58 Function Block Types
58.57 TCYC – Cycle Time

58.57 TCYC – Cycle Time


The TCYC block gives the duration in seconds of the set program cycle.

Figure: The cycle time block

NOTICE
• The TCYC block has no parameters.

Table: The TCYC Block Output


Data Type Access

REAL RO

04-30006-02-en, May 2019 Technical


1573
58 Function Block Types
58.58 Controller and Filter Blocks

58.58 Controller and Filter Blocks


Controller and Filter blocks control and filter signals in a function block program.

58.58.1 FILT
The FILT block is a discrete time first order software filter.
For more information, see section 58.59 “FILT – First Order Filter” on page 1576.

58.58.2 OPT
The OPT block calculates optimum start and stop times according to actual
temperatures.
For more information, see section 58.60 “OPT – Optimization” on page 1578.

58.58.3 PIDA
The PIDA controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a
set point for another control loop (cascade control).
For more information, see section 58.61 “PIDA – PID Controller – Analog Output”
on page 1585.

58.58.4 PIDI
The PIDI controller block is designed to be used together with digital pulse
output (PO) blocks in control loops with increase/decrease actuators.
For more information, see section 58.62 “PIDI – PID Controller – Incremental
Output” on page 1589.

58.58.5 PIDP
The PIDP controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a
set point for another control loop (cascade control).
For more information, see section 58.63 “PIDP – PID Controller – Analog Output”
on page 1592.

58.58.6 RAMP
The RAMP filter block limits the rate of change of the input variable.
For more information, see section 58.64 “RAMP – Ramp Filter” on page 1596.

Technical 04-30006-02-en, May 2019


1574
58 Function Block Types
58.58 Controller and Filter Blocks

58.58.7 SEQ
The SEQ block activates stages in proportion to the input signal.
For more information, see section 58.65 “SEQ – Sequencer” on page 1597.

04-30006-02-en, May 2019 Technical


1575
58 Function Block Types
58.59 FILT – First Order Filter

58.59 FILT – First Order Filter


The FILT block is a discrete time first order software filter.

Figure: The first order filter block

Table: The FILT Block Parameter


Parameter Data Type Description

TimeConst REAL Time constant of the filter


measured in seconds

Table: The FILT Block Input


Data Type Description

REAL Input signal

Table: The FILT Block Output


Data Type Access

REAL R/W

The filter time constant is specified in seconds with the TimeConst parameter.
The initial block output value is zero.
The filter algorithm is:

Figure: Filter algorithm

where y(k) and u(k) are the filtered and unfiltered values at time k, respectively,
h is the sampling interval (that is the function block program cycle time), and T is
the filter time constant. If the time constant is less than or equal to zero, no
filtering is done. To obtain a good filter function, the time constant should be set
significantly greater than the function block program cycle time.
This filter algorithm is based on a straightforward backward difference
approximation of the continuous time derivative operator.

Technical 04-30006-02-en, May 2019


1576
58 Function Block Types
58.59 FILT – First Order Filter

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

04-30006-02-en, May 2019 Technical


1577
58 Function Block Types
58.60 OPT – Optimization

58.60 OPT – Optimization


The OPT block calculates optimum start and stop times according to actual
temperatures.

Figure: The optimization block

Table: The OPT Block Parameters


Parameter Data Type Description

AutoAdjust INTEGER Automatic adjustment


switch
AutoAdjust = 0 => no
adjustment
AutoAdjust = 1 =>
adjustment of curve points
AutoAdjust = 2 =>
adjustment of curve points
and holiday compensation
Default = 2

RoomTempF BINARY Room sensor flag


RoomTempF = 0 => Sensor
not present
RoomTempF = 1 => Sensor
present
Default = 1 sensor present

Technical 04-30006-02-en, May 2019


1578
58 Function Block Types
58.60 OPT – Optimization

Continued
Parameter Data Type Description

OperIndicF BINARY Flag for selecting whether


external operation
indication is present.
OperIndicF = 0 => Not
present
OperIndicF = 1 => Present
Default = 0 not present

StartTimeLo REAL Start-time (minutes) at low


outdoor temperature, -10 °C
(14 ºF), 10 °C (50 ºF).
Default = 105 minutes

StartTimeHi REAL Start-time (minutes) at high


outdoor temperature, 10 °C
(50 ºF), 30 °C (86 ºF).
Default = 45 minutes

HolidayComp REAL Holiday compensation (%)


when the plant has been
shut down > 48 h.
Default = 0 %

MaxStartTi REAL Max start-time (hours).


Default = 12 hours

ETol REAL Temperature error when


switching from optimization
to normal operation.
Default = 0.5 °C (°F)

StopLoTemp REAL Low outdoor temperature


point in stop-time
optimization °C (ºF).
Default = –10 °C (°F)

StopTimeLo REAL Stop-time (minutes) when


outdoor temperature =
StopLoTemp.
Default = 0 minutes

StopHiTemp REAL High outdoor temperature


point in stop-time
optimization °C (ºF).
Default = 10 °C (°F)

StopTimeHi REAL Stop-time (minutes) when


outdoor temperature =
StopHiTemp.
Default = 0 minutes

04-30006-02-en, May 2019 Technical


1579
58 Function Block Types
58.60 OPT – Optimization

Continued
Parameter Data Type Description

StopTimeErr REAL Permissible deviation at the


end of normal optimal
operation. Used for
calculating stop-time.
Default = 0.5 °C (°F)

Table: The OPT Block Inputs


Input Data Type Description

RoT REAL Room temperature ºC (ºF).

SP REAL Set point: the desired room


temperature during day
time ºC (ºF).

OuT REAL Outdoor temperature ºC


(ºF).

OpI BINARY Operation indication: an


external signal that is used
for detecting whether the
controlled equipment is in
operation.
OpI = 0 => not in operation
OpI = 1 => in operation

TmL INTEGER Time left (minutes) until the


plant goes into operation. If
TmL is negative, OPT
interprets the size of TmL as
the time until the plant shuts
down.

Mode INTEGER Switch for media mode and


disabling optimization.
Mode = 0 => heating
Mode = 1 => cooling
Mode = –1 => no
optimization
Anything else is interpreted
as 0, that is, heating.

Table: The OPT Block Output


Data Type Access

INTEGER R/W

Technical 04-30006-02-en, May 2019


1580
58 Function Block Types
58.60 OPT – Optimization

General
You can use the OPT block in heating as well as cooling function block
programs. OPT is executed at the same frequency as the other function blocks
in the same function block program. However, the main part of the algorithm is
only executed once every minute. The purpose of the start-time optimization is to
start the heating/cooling system in advance in order to obtain the correct
temperature at the beginning of normal operation. The purpose of the stop-time
optimization is to shut down the heating/cooling system before the end of normal
operation, without the temperature falling outside the given limits during normal
operation.
You can block the optimization function by setting the parameter Mode = –1.
The output of OPT then follows the time schedule status, (output = 0 when TmL
> 0, and output = 1 when TmL < 0). Curve points and HolidayComp are not be
adjusted when Mode = –1.
The block uses the RoT, SP, and OuT inputs in the SI unit system (metric) or I-P
(inch-pound) unit system, depending on the regional settings of the computer on
which the function block program is generated. Using the metric setting
produces a block where the inputs are in degrees Celsius. A US setting
produces a block where the inputs are in degrees Fahrenheit.
The block parameters StartTimeLo and StartTimeHi define parts of coordinates
for breakpoints which are using fixed temperatures of –10 ºC (14 ºF), 10 ºC (50
ºF), and 30 ºC (86 ºF). Entering values for the start times completes definition of
the coordinates.

Start-Time Optimization
The start-time is calculated once every minute on condition that TmL > 0 and
optimization has not already started. If the calculated start-time is longer than
the time left until the plant goes into normal operation, the output of OPT is set to
2 (optimization state).
When the room temperature has reached the set point (SP) minus an adjustable
tolerance, ETol (default = 0.5 °C), the output of the function block is set to 1
(normal operation) in order to indicate that the start-time optimization is
completed and that normal operation can begin. If the room temperature has not
reached the temperature required for normal operation, which has to be set
before TmL turns negative, the output is set to 1 at this point. During cooling, the
output is instead set to 1 when the room temperature falls below the set point
(SP), plus the same tolerance (ETol).
The start-time is obtained from a curve that defines the relationship between the
outdoor temperature (OuT) and the start-time. If a room sensor is not used, the
start-time is calculated directly from the curve with a possible contribution from
holiday compensation. When a room sensor is connected, the curve instead
yields the start-time per °C of deviation between the room temperature (RoT)
and its set point (SP). For example, the start-time is 120 min if the curve yields
the value 60 min at the outdoor temperature in question and the room
temperature is 2 °C too low.
To obtain a correct start-time after longer shut-down periods, such as after
holidays or weekends, an extra contribution can be added to the start-time.
Holiday compensation is contributed to the start-time when the building has not
been in use for a long period. If the parameter OperIndicF is set to 1, OPT uses
the input OpI to decide whether the plant is in operation. If OperIndicF is set to
0, OPT ignores the input OpI and instead assume that the plant is in operation if
the output of OPT is 1 (normal operation) or 2 (optimization state).
Finally, the start-time is limited to a maximum value (MaxStartTi).

04-30006-02-en, May 2019 Technical


1581
58 Function Block Types
58.60 OPT – Optimization

OPT Output Values


The OPT block output value is used to set the plant's operating mode, as
described in the list:
• Output = 0 => Off
• Output = 1 => Normal operation
• Output = 2 => Optimization state

Curve, Start-Time as a Function of Outdoor Temperature


The curve that describes the relationship between the outdoor temperature and
the start-time, or alternatively the start-time per °C of room deviation if the room
sensor is connected, is defined by two points. The outdoor temperature at these
points is defined by the selection of the Mode (cooling or heating), while the
corresponding start-times (StartTimeLo and StartTimeHi) are freely selectable.
The outdoor temperatures of the curve points are –10 °C and 10 °C during
heating, respectively 10 °C and 30 °C during cooling. The default values for the
start-times are 105 minutes (StartTimeLo) and 45 minutes (StartTimeHi). The
start-times at the curve points can be adjusted automatically.

Figure: Curve, Start-Time as a Function of Outdoor Temperature

Automatic Adjustment of Curve Points


To be able to adjust the curve to the thermal properties of a specific building,
there is a mechanism for automatically adjusting the curve points. If the desired
room temperature has not been reached when the optimization time expires (or,
if it is reached too early), the adjustment mechanism computes an estimate of
the optimization time that should have been used and adjusts the curve points
accordingly. Automatic adjustment of the curve points can only be used in
systems with a room sensor.
Adjustment of the curve points is performed when normal operation begins
following an optimization phase and adjustment is selected (AutoAdjust > 0).
Adjustment of the curve points is not be performed when the plant has been
shut down for more than 20 hours.
You can alter the start-times in the curve points through the Operators Interface.
If this is done while optimization is active, no adjustment of the curve points is
performed when normal operation begins following this optimization phase. After
the next optimization phase, the adjustment mechanism works as normal again.

Holiday Compensation (Monday Effect)


When the building has been shut down for a long period of time, a longer
heating time is required to reach the desired temperature. To compensate for
this, we add an extra percentage of the start-time calculated above when the
plant has been shut down for more than 20 hours. 48 hours after shut down, the
extra contribution is at maximum (HolidayComp), since we then assume that the
building has reached a stationary state (it will not get any colder even if the shut
down lasts longer). The percentage is increased linearly from 0 % at 20 h of shut
down time to HolidayComp % at 48 h of shut down time.

Technical 04-30006-02-en, May 2019


1582
58 Function Block Types
58.60 OPT – Optimization

Figure: Holiday Compensation (Monday Effect)

The influence of holiday compensation is more important in systems without a


room sensor. The reason for this is that systems with a room sensor
automatically start earlier following a longer shut down, since the temperature in
the room in general has fallen more than during a normal shut down.

Automatic Adjustment of Holiday Compensation


The adjustment of holiday compensation is performed when normal operation
begins following an optimization phase, on the condition that the plant has been
shut down for more than 30 h. A necessary precondition is that adjustment has
been selected (AutoAdjust = 2). The curve points and HolidayComp are never
adjusted simultaneously following an optimization phase. The curve points can
only be adjusted if the plant has been shut down for less than 20 hours while
HolidayComp can only be adjusted if the plant has been shut down for more
than 30 hours. This also means that no adjustment is performed if the shut-down
time is between 20 h and 30 h.

Stop-Time Optimization
The reason for using stop-time optimization is to save energy by stopping
heating/cooling before the end of the occupancy time. It is of course important
that the room temperature does not fall outside an acceptable temperature
range during the occupancy time. Since the stop time that can be used without
the temperature falling outside the acceptable temperature range depends on
the room temperature, optimized stop is normally only used in systems with a
room sensor. The stop time is obtained from a curve that describes the
relationship between outdoor temperature and stop time. The curve gives the
stop time per °C of deviation between the room temperature and the lowest
permissible temperature in the room at the end of normal operation, when a
room sensor is used. The lowest permissible temperature is set to the set point
(SP) minus StopTimeErr during heating. StopTimeErr is by default = 0.5 °C.

Figure: Stop-Time Optimization

During cooling, the highest permissible room temperature in the room at the end
of normal operation is set to the set point plus StopTimeErr. If a room sensor is
not used, the optimization function assumes that the room temperature exceeds
the set point by 1 °C in heating operation and is 1 °C below the set point during
cooling, cf. start-time optimization. Both x (StopLoTemp and StopHiTemp) and
y-values (StopTimeLo and StopTimeHi) for both curve points are freely

04-30006-02-en, May 2019 Technical


1583
58 Function Block Types
58.60 OPT – Optimization

selectable. The default values are (-10 °C, 0 min) and (10 °C, 0 min)
respectively. This implies that stop-time optimization does not have any effect
before these parameters are changed. The reason for this is that stop-time
optimization is seldom used.

Technical 04-30006-02-en, May 2019


1584
58 Function Block Types
58.61 PIDA – PID Controller – Analog Output

58.61 PIDA – PID Controller – Analog Output


The PIDA controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a
set point for another control loop (cascade control).

Figure: The PID controller - analog output block

Table: The PIDA Block Parameters


Parameter Data Type Description

ControlInt REAL Control interval (seconds)

UMin REAL Minimum permissible


control signal

UMax REAL Maximum permissible


control signal

StrokeTime REAL Actuator full stroke travel


time (seconds)

Table: The PIDA Block Inputs


Input Data Type Description

MV REAL Measured value

SP REAL Setpoint

Mod INTEGER Controller operating mode

G REAL Proportional gain

Ti REAL Integral time (seconds)

Td REAL Derivative time (seconds)

DZ REAL Dead zone

04-30006-02-en, May 2019 Technical


1585
58 Function Block Types
58.61 PIDA – PID Controller – Analog Output

Continued
Input Data Type Description

TSg REAL Tracking signal (actual


value of the previous control
signal)

Table: The PIDA Block Output


Data Type Access

REAL R/W

Control Algorithm
The PIDA block is designed to be used in control loops where the controller
output is either connected to an analog physical output or used as a setpoint for
another control loop (cascade control). The control algorithm is a discrete time-
incremental PID algorithm, where the change in control signal du(t) is calculated
as:

Figure: Control algorithm

where:
• e = control error
• y = measured value (MV)
• G = controller gain
• Ti = integral time
• Td = derivative time and
• h = control interval (ControlInt), that is, the time between two successive
updates of the controller output signal.
If ControlInt is set to 0, the control interval is automatically set equal to the
program cycle time. Time index t represents the present value of a variable, t-h
represents the value at the previous evaluation of the control algorithm, and so
on.
The PID-module is executed at the interval hx seconds, where hx seconds is the
function block program execution interval, even if the selected control interval is
longer. The control interval, h, must be a multiple of hx. If this is not the case, the
PID algorithm automatically selects the closest multiple smaller than h as the
control interval. By default, the control interval is set equal to 1.
The control error e is defined as e = SP – MV. Thus, if the measured value is
below the setpoint and the gain G is positive, the controller output increases
(heating control). With a negative G value, the controller output decreases
instead (cooling control). When the control error is smaller than the dead zone,
that is, abs(e) < DZ, the change in the control output, du(t), is set to zero. The
dead zone is given in the same units as the measurement value and the
setpoint.
The controller output signal is calculated as:

Technical 04-30006-02-en, May 2019


1586
58 Function Block Types
58.61 PIDA – PID Controller – Analog Output

Figure: Controller output

where:
• u(t) = present control signal and
• u(t–h) = previous value of the control signal
The value of u(t–h) is taken from the input TSg, which represents the actual value
of the previous control signal, taking into account any external limitations and/or
override functions in the function block program. Normally, the TSg input would
be connected directly to the controller output.
The proportional band corresponding to a certain proportional gain value G can
be calculated as:

Figure: Proportional band

P and PD Controller
The algorithm described above is used when the controller has integral action. If
a controller without I- or D-action is desired, Ti or Td respectively is set to 0. In
accordance with this, a PI-controller is obtained by setting Ti > 0 and Td = 0. If
the gain G is set to 0, the program does not fail to execute, but the control signal
is not changed, regardless of the size of the error.
If the incremental control algorithm in the equation (1) is used without integral
action, an arbitrarily large stationary error can be obtained which is not
necessarily decreased if the controller gain is increased. For this reason, we use
a special algorithm for P and PD control, where the control signal is calculated
according to the equation:

Figure: Calculation of control signal

where:
• UMax is the biggest permissible control signal and
• UMin is the smallest permissible control signal.

Limitation of the Control Signal


The maximum rate of change of the controller output during one control interval,
DuMax, depends on the actuator stroke time and can be calculated as:

Figure: Calculation of actuator stroke time

04-30006-02-en, May 2019 Technical


1587
58 Function Block Types
58.61 PIDA – PID Controller – Analog Output

The calculated change in the control output, du(t), is limited to the range
±DuMax before the absolute level of the control signal is calculated. The
calculated new control signal u(t) is limited to the interval (UMin, UMax). The
parameters UMin and UMax should be given in engineering units. Default values
are 0 and 100 (%), respectively.
The parameter StrokeTime is used to define the actual full stroke travel time of
the actuator. StrokeTime can be used to limit the change of the control signal
even if the output is not connected to an actuator. The StrokeTime is then the
minimum permissible time for the control signal to change from UMin to UMax. If
the controller output is used as a setpoint for another controller and there is no
special reason for limiting the change in the control signal, StrokeTime should
be set to 0.

Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped (du = 0)
• Mode = 1 => Normal control
• Mode = 2 => Controller output forced to UMax
• Mode = 3 => Controller output forced to UMin
If Mode = 0, the controller output tracks the signal on the tracking signal (TSg)
input. If Mode < 0 or Mode > 3, the controller operating mode is Off (same as
Mode = 0).

Technical 04-30006-02-en, May 2019


1588
58 Function Block Types
58.62 PIDI – PID Controller – Incremental Output

58.62 PIDI – PID Controller – Incremental


Output
The PIDI controller block is designed to be used together with digital pulse
output (PO) blocks in control loops with increase/decrease actuators.

Figure: The PID controller - incremental output block

Table: The PIDI Block Parameters


Parameter Data Type Description

ControlInt REAL Control interval (seconds)

StrokeTime REAL Actuator full stroke travel


time (seconds)

Table: The PIDI Block Inputs


Input Data Type Description

MV REAL Measured value

SP REAL Setpoint

Mod INTEGER Controller operating mode

G REAL Proportional gain

Ti REAL Integral time (seconds)

Td REAL Derivative time (seconds)

DZ REAL Dead zone

04-30006-02-en, May 2019 Technical


1589
58 Function Block Types
58.62 PIDI – PID Controller – Incremental Output

Table: The PIDI Block Output


Data Type Access

REAL R/W

Control Algorithm
The control algorithm is a discrete time incremental PID algorithm, where the
calculated change (increment) in the control signal is converted to the
corresponding travel time of the actuator. The change in the control signal du(t)
is calculated using the same formula as in the PIDA block (cf. equation (1) in the
PIDA block description).
The calculated change in the control signal, du(t), is converted to the
corresponding actuator travel time dt (in seconds) using the following equation:

Figure: Calculated change of control signal

where: StrokeTime is the full stroke actuator travel time (in seconds). It is
assumed that StrokeTime corresponds to a 100% change in the actuator
position. The PIDI block output is the computed dt value.
If StrokeTime is set to 0, a stroke time of 60 seconds is automatically used.
If ControlInt is set to 0, the control interval is automatically set equal to the
Function Block Program cycle time. However, if the ControlInt is longer than the
cycle time (hx), the PO block cannot be active more than hx seconds before a
new output from the PIDI block is calculated. This means that the output time dt,
calculated in equation (2), has to be propagated in pieces that are not longer
than hx.
Example: If ControlInt = 10 s, hx = 1 s and dt = 5.5 s, the output from the PIDI
block is 1 s for 5 cycles, then 0.5 s during the sixth cycle and finally 0 s during
the following 4 cycles, until it is time to calculate dt again.
The proportional band corresponding to a certain proportional gain value can be
calculated as:

Figure: Calculated proportional band

P- and PD Control
A controller with an incremental output does not work very well without I-action.
Arbitrarily large steady state errors can be obtained, which do not necessarily
decrease when the controller gain is increased. For this reason, a controller with
an incremental output without I-action should not be used. However, if a
controller without I or D-action is desired, Ti or Td respectively is 0. In
accordance with this, a PI-controller is obtained by setting Ti > 0 and Td = 0. If
the gain G is set to 0, the program does execute, but the control signal does not
change regardless of the size of the error.

Limitation of the Control Signal


The calculated travel time is limited to the range ±ControlInt (sec), since that is
the maximum amount of actuator travel time that can be obtained during one
control interval.

Technical 04-30006-02-en, May 2019


1590
58 Function Block Types
58.62 PIDI – PID Controller – Incremental Output

Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped (dt = 0)
• Mode = 1 => Normal control
• Mode = 2 => Actuator forced to max (dt = ControlInt seconds)
• Mode = 3 => Actuator forced to min, (dt = –ControlInt seconds)
Note that when Mode = 2 or 3, the travel time is set to the smallest value that
makes the actuator move constantly in the desired direction. If Mode < 0 or
Mode > 3, the controller operating mode is Off (same as Mode = 0).

04-30006-02-en, May 2019 Technical


1591
58 Function Block Types
58.63 PIDP – PID Controller – Analog Output

58.63 PIDP – PID Controller – Analog Output


The PIDP controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a
set point for another control loop (cascade control).

Figure: The PID controller - analog output - block

Table: The PIDP Block Parameters


Parameter Data Type Description

ControlInt REAL Control interval (seconds)

UMin REAL Minimum permissible


control signal

UMax REAL Maximum permissible


control signal

StrokeTime REAL Actuator full stroke travel


time (seconds)

Table: The PIDP Block Inputs


Input Data Type Description

MV REAL Measured value

SP REAL Setpoint

Mode INTEGER Controller operating mode

G REAL Proportional gain

Ti REAL Integral time (seconds)

Td REAL Derivative time (seconds)

DZ REAL Dead zone

TSg REAL Tracking signal (actual


value of the previous control
signal)

Technical 04-30006-02-en, May 2019


1592
58 Function Block Types
58.63 PIDP – PID Controller – Analog Output

Table: The PIDP Block Output


Data Type Access

REAL R/W

Control Algorithm
The control algorithm is a discrete time positional PID algorithm, where the
output signal U(k) is calculated according to the diagram:

Figure: Figure control algorithm

Here SP is the setpoint value, MV is the measured value, G is the controller gain,
Ti is the integral time, Td is the derivative time and h is the control interval
(ControlInt), that is, the time between two successive updates of the controller
output signal. If ControlInt is set to 0, the control interval is automatically set
equal to the program cycle time.
Time index k represents the present value of a variable, k-1 represents the value
at the previous evaluation of the control algorithm, and so on.

04-30006-02-en, May 2019 Technical


1593
58 Function Block Types
58.63 PIDP – PID Controller – Analog Output

The PID-module is executed at the interval hx seconds, where hx seconds is the


function block program execution interval, even if the selected control interval is
longer. The control interval, h, must be a multiple of hx. If this is not the case, the
PID algorithm automatically selects the closest multiple smaller than h as the
control interval. By default the control interval is set equal to 1.
When the control error is smaller than the dead zone, that is abs(e) < DZ, the
control signal is set to the same value as the previous output, that is, the output
is not changed. The dead zone is given in the same units as the measurement
value and the setpoint.

Other Controller Types


The algorithm described above can be used for all types of controllers. At PI or
PID control the P-part does not depend on the difference between the setpoint
and the measured value, but only on the measured value, MV.
If P or PD control is used, the P-part automatically changes to depend on the
error (SP-MV). When these controllers are used, an offset value is also added to
the output signal:

Figure: Calculation of output signal

where Umax is the biggest permissible control signal and Umin is the smallest
permissible control signal.
If a controller without I- or D-action is desired, Ti or Td respectively is set to 0. In
accordance with this a PI-controller is obtained by setting Ti > 0 and Td = 0. If
the gain G is set to 0, the program does not fail to execute, but the control signal
is not changed regardless of the size of error.
Please note that when any of the G, Ti and Td parameters have been changed,
an automatic internal update of the controller is performed. No measures have to
be taken in the Function Block Program to avoid bumps in the control signal.

Limitation of the Control Signal


The parameter StrokeTime is used to define the actual full stroke travel time of
the actuator. Note that StrokeTime can be used to limit the change of the control
signal even if the output is not connected to an actuator.
If the controller output is used as a setpoint for another controller and there is no
special reason for limiting the change in the control signal, StrokeTime should
be set to 0, which is also the default value.
The maximum rate of change of the controller output during one control interval,
DuMax, depends on the actuator stroke time and can be calculated as:

Technical 04-30006-02-en, May 2019


1594
58 Function Block Types
58.63 PIDP – PID Controller – Analog Output

Figure: Calculated actuator stroke time

This corresponds to the maximum change in two successive output signals from
the PIDP block.
The calculated new control signal u(t) is limited to the interval (Umin , Umax). The
parameters UMin and UMax should be given in engineering units. Default values
are 0 and 100 (%), respectively.

Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped
• Mode = 1 => Normal control
• Mode = 2 => Controller output forced to UMax
• Mode = 3 => Controller output forced to UMin
If Mode = 0, the controller output tracks the signal on the tracking signal (TSg)
input. If Mode = 1, the controller ignores the (TSg input). If Mode < 0 or Mode >
3, the controller operating mode is Off (same as Mode = 0).

04-30006-02-en, May 2019 Technical


1595
58 Function Block Types
58.64 RAMP – Ramp Filter

58.64 RAMP – Ramp Filter


The RAMP filter block limits the rate of change of the input variable.

Figure: The ramp filter block

Table: The RAMP Block Parameter


Parameter Data Type Description

Increment REAL Maximum increment in the


signal per second

Table: The RAMP Block Input


Data Type Description

REAL Input signal

Table: The RAMP Block Output


Data Type Access

REAL R/W

The maximum increment in the output signal per second is given by the
parameter increment. The sign of the increment parameter is ignored and the
absolute value is used as a rate limit.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

Technical 04-30006-02-en, May 2019


1596
58 Function Block Types
58.65 SEQ – Sequencer

58.65 SEQ – Sequencer


The SEQ block activates stages in proportion to the input signal.

Figure: The sequencer block

Table: The SEQ Block Parameters


Parameter Data Type Description

Stages REAL Number of output stages (1


to 16)

Rotation BINARY Defines whether or not there


is rotation of the stages

Period INTEGER Delay of simultaneous


activation of the stages in
milliseconds

Hysteresis REAL Width of the hysteresis (%)

Table: The SEQ Block Input


Data Type Description

REAL Input signal (%)

Table: The SEQ Block Output


Data Type Access

INTEGER RO

The Sequencer block is used to start N of M stages, where M is the total number
of output stages as defined by the Stages parameter (up to a maximum of 16)
and N is the Integer part of the result of the following calculation:

04-30006-02-en, May 2019 Technical


1597
58 Function Block Types
58.65 SEQ – Sequencer

Figure: Sequencer block algorithm

where Input is a value between 0% and 100%. The M stages are represented by
the first M bits of the Integer block output value. The first N of these bits is true
(1) and the rest false (0).
Example: If Stages is 4, and neither Hysteresis nor Rotation is used, stage one
starts (Output = 1; 0001) at 20% Input signal, stage two (Output = 3; 0011) at
40%, stage three (Output = 7; 0111) at 60% and stage four (Output = 15; 1111)
at 80%. Function Block Editor uses a two-complement representation of signed
integers, the output signal for starting 16 stages would be –1
(1111111111111111).
If the Hysteresis parameter is zero, the previous formula gives the number of
activated stages as a function of the input signal. If Hysteresis has a non-zero
value, a hysteresis loop exists to the left or to the right (depending on whether
Hysteresis is a negative or a positive number) of the points calculated in the
previous equation. In this case, the activation values of the stages are displaced
with respect to the deactivation values. For example, if we define a 4 stage
sequencer, the stages started according to the previous formula is one stage at
20%, two stages at 40%, three stages at 60% and four stages at 80%. If a
positive hysteresis is defined, equal to 10, activation of the stages is displaced
to the right by 10%. The stages are activated at 30%, 50%, 70% and 90%, but
deactivation is maintained at the previous values.
On the other hand, if the hysteresis were negative, for example –15%,
deactivation would be displaced to the left and so the stages would activate at
20%, 40%, 60% and 80% and deactivate at 5%, 25%, 45% and 65%.

Figure: Hysteresis in different stages

The Period parameter is used to prevent two or more stages from being
activated simultaneously. If the value is non-zero, the stages is always activated
sequentially with an interval equal to Period (milliseconds), even if the input were
to vary sharply, obliging simultaneous activation of the stages. However, if this
value is zero, the stages can be activated simultaneously.
The Rotation parameter determines whether the active stages should rotate or
not. The difference between Rotation = 1 (with rotation) and Rotation = 0 (without
rotation) is that, in the first case, the stages deactivates in the same order in
which they activated. The stage which has been active longest is always
deactivated first, while in the second case, the deactivation order is the opposite
of the activation order. When the sequencer is defined with rotation, you can
assume that the time during which each stage remains active be approximately
the same for all stages.

Technical 04-30006-02-en, May 2019


1598
58 Function Block Types
58.66 Signal Source Blocks

58.66 Signal Source Blocks


Signal sources are function blocks that can give signals into the function block
program.

58.66.1 NCYC
The NCYC program cycle counter block increments the output value by one unit
each program cycle if InitValue is less than Final, and decreases the output
value if the opposite applies. When the count reaches the final value, the counter
restarts the count at the initial value in the next cycle.
For more information, see section 58.67 “NCYC – Program Cycle Counter” on
page 1600.

58.66.2 OSC
The OSC oscillator block generates a train of pulses of duration PulseTime and a
period of CycleTime.
For more information, see section 58.68 “OSC – Oscillator” on page 1601.

58.66.3 PVB
The PVB block is used to assign a binary value to the input signal of another
block.
For more information, see section 58.69 “PVB – Parameter Value Binary” on
page 1602.

58.66.4 PVI
The PVI block is used to assign an integer value to the input signal of another
block.
For more information, see section 58.70 “PVI – Integer Value Parameter” on
page 1603.

58.66.5 PVR
The PVR block is used to assign a real value to the input signal of another block.
For more information, see section 58.71 “PVR – Real Value Parameter” on page
1604.

04-30006-02-en, May 2019 Technical


1599
58 Function Block Types
58.67 NCYC – Program Cycle Counter

58.67 NCYC – Program Cycle Counter


The NCYC program cycle counter block increments the output value by one unit
each program cycle if InitValue is less than Final, and decreases the output
value if the opposite applies. When the count reaches the final value, the counter
restarts the count at the initial value in the next cycle.

Figure: The program cycle counter block

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor
it does not affect the block.

Table: The NCYC Block Parameters


Parameter Data Type Description

InitValue INTEGER Initial value of the counter

Final INTEGER Final value of the counter

Table: The NCYC block output


Data Type Access

INTEGER R/W

Technical 04-30006-02-en, May 2019


1600
58 Function Block Types
58.68 OSC – Oscillator

58.68 OSC – Oscillator


The OSC oscillator block generates a train of pulses of duration PulseTime and a
period of CycleTime.

Figure: The oscillator block

Table: The OSC Block Parameters


Parameter Data Type Description

CycleTime REAL Oscillation period (seconds)

PulseTime REAL Pulse duration (seconds)

Table: The OSC Block Output


Data Type Access

BINARY RO

The train of pulses is always a multiple of the program cycle time. For example, if
CycleTime is 7.4 seconds and PulseTime is 5.2 seconds and the function block
program cycle time is 1 second, a 6 second pulse fires every eight seconds.

04-30006-02-en, May 2019 Technical


1601
58 Function Block Types
58.69 PVB – Parameter Value Binary

58.69 PVB – Parameter Value Binary


The PVB block is used to assign a binary value to the input signal of another
block.

Figure: The binary value parameter block

Table: The PVB Block Parameter


Parameter Data Type Description

InitValue BINARY Initial output state

Table: The PVB Block Output


Data Type Access

BINARY R/W

The initial state of the output is determined by the InitValue parameter.


If the output signal is not public, this block acts as a constant parameter value
for another block input, since it is never modified during execution of the
function block program.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks and non public PVx blocks: When a program is
edited, this block gets the new value from the editor.

Technical 04-30006-02-en, May 2019


1602
58 Function Block Types
58.70 PVI – Integer Value Parameter

58.70 PVI – Integer Value Parameter


The PVI block is used to assign an integer value to the input signal of another
block.

Figure: The integer value parameter

Table: The PVI Block Parameter


Parameter Data Type Description

InitValue INTEGER Initial value of the output


signal

Table: The PVI Block Output


Data Type Access

INTEGER R/W

The initial value of the output is determined by the InitValue parameter.


If the output signal is not public, this block acts as a constant parameter value
for another block input, since it is never modified during execution of the
function block program.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks and non public PVx blocks: When a program is
edited, this block gets the new value from the editor.

04-30006-02-en, May 2019 Technical


1603
58 Function Block Types
58.71 PVR – Real Value Parameter

58.71 PVR – Real Value Parameter


The PVR block is used to assign a real value to the input signal of another block.

Figure: The real value parameter block

Table: The PVR Block Parameter


Parameter Data Type Description

InitValue REAL Initial value of the output

Table: The PVR Block Output


Data Type Access

REAL R/W

The initial value of the output is determined by the InitValue parameter.


If the output signal is not public, this block acts as a constant parameter value
for another block input, since it is never modified during execution of the
function block program.

NOTICE
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks and non public PVx blocks: When a program is
edited, this block gets the new value from the editor.

Technical 04-30006-02-en, May 2019


1604
58 Function Block Types
58.72 Forced Value Indication in Function Block Graphics Viewer

58.72 Forced Value Indication in Function


Block Graphics Viewer
A forced value is indicated by orange color in Function Block Graphics Viewer.

Figure: A forced value in Function Block Graphics Viewer.

04-30006-02-en, May 2019 Technical


1605
59 Function Block Operators

Topics
Operators
Adding an Operator
Constant Operators
Logical Operators
Math Operators
Comparison Operators
Bit Operators
Bit Operator Examples
Miscellaneous Operators
59 Function Block Operators
59.1 Operators

59.1 Operators
An operator is a type of function, which can perform an operation on one or
several operands.

Figure: An example of an operator

You can connect the analog input of an operator to a real or an integer output.
You can connect the analog output of an operator to both real and integer
inputs. When the analog output of an operator is connected to an integer input,
the operator output is converted to an integer.

NOTICE
• If the same operator output is connected to more than one function block,
these inputs receive an integer signal. An additional conversion might be
needed.

You can only connect binary inputs to other binary outputs.

NOTICE
• Function Block Editor performs Modulo operations on integers.

59.1.1 Constant Operators


Constant operators give a static value to the function block program.

Table: Constant Operators


Name Description

Binary const No input / Binary output

Integer const No input / Integer output

Real const No input / Real output

59.1.2 Logical Operators


Logical operators perform logical operations.

Table: Logical Operators


Name Description

NOT Binary input – Binary output

04-30006-02-en, May 2019 Technical


1609
59 Function Block Operators
59.1 Operators

Continued
Name Description

AND Binary inputs – Binary output

OR Binary inputs – Binary output

XOR Binary inputs – Binary output

59.1.3 Math Operators


Math operators perform mathematical operations.

Table: Math Operators


Name Description

Negate Analog input – Analog output

Addition Analog inputs – Analog output

Subtraction Analog inputs – Analog output

Product Analog inputs – Analog output

Division Analog inputs – Analog output

Module Analog inputs – Analog output

59.1.4 Comparison Operators


Operators used in comparison operations.

Table: Comparison Operators


Name Description

Less than Analog inputs – Binary output

Greater than Analog inputs – Binary output

Equal Analog inputs – Binary output

Not equal Analog inputs – Binary output

Greater or equal Analog inputs – Binary output

Less or equal Analog inputs – Binary output

59.1.5 Bit Operators


Operators used in bit operations.

Technical 04-30006-02-en, May 2019


1610
59 Function Block Operators
59.1 Operators

Table: Bit Operators


Name Description

bit AND Analog inputs – Analog output

bit OR Analog inputs – Analog output

bit XOR Analog inputs – Analog output

Shift right Analog inputs – Analog output

Shift left Analog inputs – Analog output

59.1.6 Other Operators


Miscellaneous uncategorized operators.

Table: Other Operators


Name Description

D/A converter Binary input – Analog output

A/D converter Analog input – Binary output

Analog multiplexer Analog inputs – Analog output

Binary multiplexer Binary inputs – Binary output

Conversion AA Integer signal – Real signal


or
Real signal – Integer signal

04-30006-02-en, May 2019 Technical


1611
59 Function Block Operators
59.2 Adding an Operator

59.2 Adding an Operator


You create a program by adding simple blocks, operators, and expression
blocks.
For more information, see section 59.1 “Operators” on page 1609.

To add an operator
1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the operator.
2. On the NEW menu, click Operator
Operator.
3. In the Select Operator dialog box, in the Operators list, select the operator
you want to add.
4. Click OK
OK.
5. If the operator is enclosed by a red rectangle, move the operator to an
empty space.
6. Click outside the green rectangle that encloses the operator to clear the
selection.

Technical 04-30006-02-en, May 2019


1612
59 Function Block Operators
59.3 Constant Operators

59.3 Constant Operators


Constant operators give a static value to the function block program.

59.3.1 Binary Const


Binary constants give a binary static value to the function block program.

Inputs and Outputs


No input / Binary output

59.3.2 Integer Const


Integer constants give an integer static value to the function block program.

Inputs and Outputs


No input / Integer output

59.3.3 Real Const


Real constants give a real static value to the function block program.

Inputs and Outputs


No input / Real output

04-30006-02-en, May 2019 Technical


1613
59 Function Block Operators
59.4 Logical Operators

59.4 Logical Operators


Logical operators perform logical operations.

59.4.1 NOT operator


Logical NOT operators invert binary signals.

Inputs and Outputs


Binary input / Binary output

59.4.2 AND operator


AND operators perform logical AND operations between two binary signals.

Inputs and Output


Binary inputs / Binary output

59.4.3 OR operator
OR operators perform logical OR operations between two binary signals.

Inputs and Output


Binary inputs / Binary output

59.4.4 XOR operator


XOR operators perform logical XOR operations between two binary signals.

Inputs and Output


Binary inputs / Binary output

Technical 04-30006-02-en, May 2019


1614
59 Function Block Operators
59.5 Math Operators

59.5 Math Operators


Math operators perform mathematical operations.

59.5.1 Negate
Negate operators invert analog signals.

Input and Output


Analog input / Analog output.

59.5.2 Addition
Addition operators add values of analog signals.

Inputs and Output


Analog inputs / Analog output

59.5.3 Subtraction
Subtraction operators subtract one value from another.

Inputs and Output


Analog inputs / Analog output

59.5.4 Product
Product operators multiply two analog signals.

Inputs and Output


Analog inputs / Analog output

59.5.5 Division
Division operators divide two analog signals.

Inputs and Output


Analog inputs / Analog output

59.5.6 Modulo
Modulo operators calculate the remainder of division of one number by another.

04-30006-02-en, May 2019 Technical


1615
59 Function Block Operators
59.5 Math Operators

Inputs and Output


Analog inputs / Analog output

Technical 04-30006-02-en, May 2019


1616
59 Function Block Operators
59.6 Comparison Operators

59.6 Comparison Operators


Operators used in comparison operations.

59.6.1 Less than


Less than operators compare two analog values.

Inputs and Output


Analog inputs / Binary output

59.6.2 Greater than


Greater than operators compare two analog values.

Inputs and Output


Analog inputs / Binary output

59.6.3 Equal
Equal operator compare two analog values.

Inputs and Output


Analog inputs / Binary output

59.6.4 Not Equal


Not equal operators compare two analog values.

Inputs and Output


Analog inputs / Binary output

59.6.5 Greater or Equal


Greater or equal operators compare two analog values.

Inputs and Output


Analog inputs / Binary output

59.6.6 Less or Equal


Less or equal operators compare two analog values.

04-30006-02-en, May 2019 Technical


1617
59 Function Block Operators
59.6 Comparison Operators

Inputs and Output


Analog inputs / Binary output

Technical 04-30006-02-en, May 2019


1618
59 Function Block Operators
59.7 Bit Operators

59.7 Bit Operators


Operators used in bit operations.

59.7.1 bit AND


Bit AND operators compare bitwise AND operations.

Inputs and Output


Integer inputs / Integer output

59.7.2 bit OR
Bit OR operators compare bitwise OR operations.

Inputs and Output


Integer inputs / Integer output

59.7.3 bit XOR


Bit XOR operators compare bitwise XOR operations.

Inputs and Output


Integer inputs / Integer output

59.7.4 Shift Right


Shift right operators right-shift and insert 0 to the left most bit positions. The
second input indicates the number of positions to move.

Inputs and Output


Integer inputs / Integer output

59.7.5 Shift Left


Shift left operators left-shift and insert 0 to the right most bit positions. The
second input indicates the number of positions to move.

Inputs and Output


Integer inputs / Integer output

04-30006-02-en, May 2019 Technical


1619
59 Function Block Operators
59.8 Bit Operator Examples

59.8 Bit Operator Examples


Bit operators operate on bit level and have integers as signals.

Bit operation example

Figure: Operator bit AND – Analog inputs -> Analog output

Figure: Operator bit OR – Analog inputs -> Analog output

Figure: Operator XOR bit – Analog inputs -> Analog output

Figure: Operator << – Analog inputs -> Analog output

Technical 04-30006-02-en, May 2019


1620
59 Function Block Operators
59.8 Bit Operator Examples

Figure: Operator >> – Analog inputs -> Analog output

NOTICE
• All 16 positions are shifted, and 0 is shifted into empty positions. Any shift
count >16 always gives the output value 0.

04-30006-02-en, May 2019 Technical


1621
59 Function Block Operators
59.9 Miscellaneous Operators

59.9 Miscellaneous Operators


Miscellaneous uncategorized operators.

59.9.1 D/A Converter


D/A Converter operators convert binary signals to an analog value. Logical
FALSE gives 0, logical TRUE gives 1.

Inputs and Output


Binary inputs / Analog output

59.9.2 A/D Converter


A/D Converter operators convert analog values to a binary signal. 0 gives logical
FALSE, all other values give logical TRUE.

Inputs and Output


Analog inputs / Binary output

59.9.3 Analog Multiplexer


Analog multiplexer operators select one of two possible analog values
depending on the logical signal.

Inputs and Output


Two analog and one binary input / Analog output

59.9.4 Binary Multiplexer


Binary multiplexer operators select one of two possible binary signals
depending on the logical signal.

Inputs and Output


Three binary inputs / Binary output

59.9.5 Conversion AA
Conversion AA operators convert a real value to an integer value or an integer
value to a real value.

Inputs and Output


Analog input / Analog output

Technical 04-30006-02-en, May 2019


1622
60 Function Block User Interface

Topics
Function Block Editor (Edit Mode)
Function Block Editor File Menu
Function Block Editor Edit Menu
Preferences Menu
Options Menu
Zoom Menu
Commands Menu
Function Block Editor Tools Menu
Function Block Editor Help Menu
Import Dialog Box
Export Dialog Box
Print Dialog Box
Page Setup Dialog Box
Search Dialog Box
Replace Dialog Box
NEW Menu
BLOCK Menu
INPUT Menu
OUTPUT Menu
CONNECTION Menu
60 Select Simple Block Dialog Box
Edit Expression Dialog Box
Edit Block Dialog Box
Select Operator Dialog Box
Edit Operator Dialog Box
Constants Table Dialog Box
New Constant Dialog Box
Public Signal Table
Edit Hierarchy Dialog Box
Edit Comment Dialog Box
Font Dialog Box
Select Hierarchy Connection Dialog Box
HFB Navigation Tree
Function Block Editor (Simulation Mode)
File Menu in Simulation Mode
Preferences Menu in Simulation Mode
Options Menu in Simulation Mode
Set Date and Time (Simulation) Dialog Box
Analog Input Dialog Box
Digital Input Dialog Box
RECORD Menu
Edit Break Limit Dialog Box
TREND Menu
SIGNAL Menu
Function Block Program Properties – Basic Tab
Function Block Program Properties – Inputs Tab
Function Block Program Properties – Public Signals Tab
Function Block Program Properties – Outputs Tab
Function Block Program Properties – References Tab
60 Function Block User Interface
60.1 Function Block Editor (Edit Mode)

60.1 Function Block Editor (Edit Mode)


Use Function Block Editor in Edit mode to program new or edit existing function
block programs. The work area in Edit mode consists of the diagram window.

Figure: Function Block Editor window in Edit mode

Table: Function Block Editor Window in Edit Mode


Number Description

Function Block Editor menu bar

Function Block Editor diagram window

Function block program in diagram


window

Function Block Editor position indicator

04-30006-02-en, May 2019 Technical


1625
60 Function Block User Interface
60.2 Function Block Editor File Menu

60.2 Function Block Editor File Menu


Use the File menu in Edit mode to save, import, export, and print function block
programs.

Figure: Function Block Editor File menu

Component Description

Save Saves the function block program to the


object in the EcoStruxure Building
Operation database.

Import Opens the Import dialog box where you


import a function block program as an .aut
file.

Export Opens the Export dialog box where you


export a function block program as an .aut
file.

Print Opens the Print dialog box.

Technical 04-30006-02-en, May 2019


1626
60 Function Block User Interface
60.3 Function Block Editor Edit Menu

60.3 Function Block Editor Edit Menu


Use the Edit menu to work with objects in the Function Block Editor diagram
window.

Figure: Function Block Editor Edit menu

Table: Edit Menu


Command Description

Undo Undoes the latest command in Function


Block Editor.

Copy To Clipboard Copies a function block to the clipboard.

Copy Copies a function block.

Paste Pastes a function block.

Delete Deletes a function block.

Select All Selects all objects in the Function Block


Editor diagram window.

Search Opens the Search dialog box where you


search for text strings in the function
blocks.

Replace Opens the Replace dialog box where you


replace text strings in the function blocks.

Center Selection Centers a selected group of objects in the


Function Block Editor diagram window.

Add Boundary Ties Adds boundary ties when you prepare a


printout.
• First position: Page number, vertically
continued.
• Second position: page number,
horizontally continued.
• Third position: signal number on
page.

04-30006-02-en, May 2019 Technical


1627
60 Function Block User Interface
60.3 Function Block Editor Edit Menu

Continued
Command Description

Remove Boundary Ties Removes boundary ties from a printout. All


manually moved and deleted cross
reference boxes are restored when you
add boundary ties.

Technical 04-30006-02-en, May 2019


1628
60 Function Block User Interface
60.4 Preferences Menu

60.4 Preferences Menu


Use the Preferences menu to set various page display and print options in Edit
mode.

Figure: Function Block Editor Preferences menu

Table: Preferences Menu


Command Description

Page Setup Opens the Page Setup dialog box where


you customize printout pages from
Function Block Editor.

View Only Public Identifier Displays only the Public Identifier in the
Function Block Editor diagram window.

Show Status Bar Displays the status bar at the bottom of the
diagram window.

Orthogonal Connections Makes all connections in the diagram


window orthogonal, which means that all
segments are done in 90 degree angles.
Orthogonal connections is the default in
Function Block Editor.

Black And White Displays the diagram window and its


contents in black and white.

04-30006-02-en, May 2019 Technical


1629
60 Function Block User Interface
60.5 Options Menu

60.5 Options Menu


Use the Options menu to toggle between Edit mode and Simulation mode, to
access Simulation mode settings, lists, tables, and trees for specific function
block programs.

Figure: Function Block Editor Options menu

Table: Options Menu


Command Description

Simulate Changes to Simulation mode.

Set Date And Time Opens the Set Date and Time dialog box
where you set the date and time in
simulation mode.

Constants Table Opens the Constants Table dialog box


where you can view, add, and delete
constants.

Public Signal Table Opens the Public Signal Table property


sheet with a list of the public signals in the
function block program and their
descriptions.

Show HFB Navigation Tree Opens the Show HFB Navigation Tree.

Technical 04-30006-02-en, May 2019


1630
60 Function Block User Interface
60.6 Zoom Menu

60.6 Zoom Menu


Use the Zoom menu to zoom in and out in a function block program. You can
zoom out in any of the indicated percentages and return to normal view.

Figure: Function Block Editor Zoom menu in Simulation mode

04-30006-02-en, May 2019 Technical


1631
60 Function Block User Interface
60.7 Commands Menu

60.7 Commands Menu


Use the Commands menu to adjust the Function Block Editor simulation in
Simulation mode.

Figure: Function Block Editor Commands menu in Simulation mode

Table: Commands Menu


Command Description

Reset Resets all values in a function block


program simulation.

Step Executes the simulation of a function block


program step-by-step.

Execute Starts the simulation of a function block


program. Click Execute again to stop the
simulation.

Execute n Times Executes a simulation of a function block


program in the number of program cycles
(n) you type in the box. Press Enter to start
the execution.

Sampling Samples the program execution the


number of times you type in the box. Press
Enter to start the sampling.

Technical 04-30006-02-en, May 2019


1632
60 Function Block User Interface
60.8 Function Block Editor Tools Menu

60.8 Function Block Editor Tools Menu


Use the Tools menu to refresh the screen in both Edit and Simulation mode.

Figure: Function Block Editor Tools menu

Table: Tools Menu


Command Description

Redraw Screen Refreshes the screen.

04-30006-02-en, May 2019 Technical


1633
60 Function Block User Interface
60.9 Function Block Editor Help Menu

60.9 Function Block Editor Help Menu


Use the Help menu to get to the online help and information about the Function
Block Editor.

Figure: Function Block Editor Help menu

Table: Function Block Editor Help Menu


Command Description

Online Help Connect to WebHelp.

About Function Block Editor Displays the version number of Function


Block Editor, copyright information, the
license agreement, and technical
information.

Technical 04-30006-02-en, May 2019


1634
60 Function Block User Interface
60.10 Import Dialog Box

60.10 Import Dialog Box


Use the Import dialog box to import a function block program .aut file into
Function Block Editor.
The .aut file is a text file with function block program source code and data
including a graphical block diagram.

Figure: Function Block Editor Import dialog box

04-30006-02-en, May 2019 Technical


1635
60 Function Block User Interface
60.11 Export Dialog Box

60.11 Export Dialog Box


Use the Export dialog box to export a function block program that contains
functionality you want to make available for reuse. The function block program is
exported as an .aut file.
The .aut file is a text file with function block program source code and data
including a graphical block diagram.

Figure: Function Block Editor Export dialog box

Technical 04-30006-02-en, May 2019


1636
60 Function Block User Interface
60.12 Print Dialog Box

60.12 Print Dialog Box


Use the Print dialog box to customize printouts of function block programs in
both Edit and Simulation mode.

Figure: Function Block Editor Print dialog box

Table: Print Dialog Box


Component Description

Public Signals Select to print a list of all public signals in


the function block program. The properties
included in the table are:
• Name
• Type
• Acc (access class)
• Unit
• Description

Alarms Select to include a list of all alarms in the


function block program. The properties
included in the table are:
• Alarm name
• Parameter name
• Alarm Text

04-30006-02-en, May 2019 Technical


1637
60 Function Block User Interface
60.12 Print Dialog Box

Continued
Component Description

Constants Select to print a list of all defined constants


in the function block program. The
properties included in the table are:
• Public
• Name
• Value

Constants Usage Select to print a list of used constants in


the function block program. The properties
included in the table are:
• Constant
• Block where it is used.

Time Schedules Select to print a list of the time schedules in


the function block program. The properties
included in the table are:
• Name
• W (max. number of weekly charts)
• H (max. number of holiday charts)
• Start Date
• Stop Date
• Start Time
• Stop Time
• Weekdays.

Block Parameters Select to print a list of all function block


parameters in the function block program.
The properties included in the table are:
• Type
• Name
• Parameter or Value
• Parameter or Value
The content of the list depends on the
selected All Blocks or Public Blocks
options.

FBD Select to include a graphic presentation of


the function block diagram in the printout.

Page Number Select to number the function block


diagram. The properties are:
• Page number
• Total number of pages

Current Level Click to print only the current level of a


function block diagram when hierarchical
function blocks (HFBs) are used.

Technical 04-30006-02-en, May 2019


1638
60 Function Block User Interface
60.12 Print Dialog Box

Continued
Component Description

All Levels Click to print all levels of a function block


diagram when hierarchical function blocks
(HFBs) are used.

Text File Select to add an optional associated text


file to the function block program printout.

Overview This function is not available in this version


of Function Block Editor.

Detailed This function is not available in this version


of Function Block Editor.

Scale Output to one page Select if you want to print the selection on
one page only.

Color Printout Select to make a color print.

Skip Empty Pages Select to avoid printing empty pages.

Public Blocks Click to print only parameters from public


function blocks.

All Blocks Click to print out all blocks.

Printer Select the printer you want to use from the


list.

04-30006-02-en, May 2019 Technical


1639
60 Function Block User Interface
60.13 Page Setup Dialog Box

60.13 Page Setup Dialog Box


Use the Page Setup dialog box in Edit mode, to customize printouts of a function
block program.

Figure: Function Block Editor Page Setup dialog box

Table: Page Setup Dialog Box


Component Description

Variables Select the variables that are included in the


second line of the page heading of the
printout.
The available list items are:
• #abbrev, #author, #date, and #name
(originating from the program
specification)
• #prdate and #prtime (printout time
and date)
• #tab (tab character)

Left Type the left margin in mm.

Top Type the top margin in mm.

Right Type the right margin in mm.

Bottom Type the bottom margin in mm.

Horizontal Enter the number of horizontal pages used


to print the function block program. You
cannot set the number of pages to a lower
number than what is required to display
the complete function block program when
maximally zoomed out. Changing the
Block size percentage reduces the
minimum number of pages.

Technical 04-30006-02-en, May 2019


1640
60 Function Block User Interface
60.13 Page Setup Dialog Box

Continued
Component Description

Vertical Enter the number of vertical pages used to


print the function block program. You
cannot set the number of pages to lesser
than required to display the complete
function block program when maximally
zoomed out. Changing the Block size
percentage reduces the minimum number
of pages.

Landscape Click to print the pages in landscape


orientation.

Portrait Click to print the pages in portrait


orientation.

Block sizes (%) Enter the size of the blocks in percent.


Smaller block sizes can be used for a
better overview. Larger block sizes make
the printed pages easier to read.
Block sizes ranges from 25 to 500%. The
default value in Function Block Editor is
100%.

Show page breaks Select to display the page breaks in the


diagram window.

Page Header Type a title to use in the second line of the


page header. The first line in the page
header always contains the name of the
function block program. You can enter
either free text or add items from the
Variables list in the Page Header
Header.

04-30006-02-en, May 2019 Technical


1641
60 Function Block User Interface
60.14 Search Dialog Box

60.14 Search Dialog Box


Use the Search dialog box to search for text strings in function block programs.
The text strings can be: signal names, constant names, module names,
comment text, and block types. When the searched text string is found, the item
containing the string is selected and framed in green. Search is available in Edit
mode.

Figure: Function Block Editor Search dialog box

Table: Search Dialog Box


Component Description

Search for Enter the string to search for. When the


Search for box is empty, all blocks of the
marked block type(s) and comments are
searched for.

Signal-/ Constant Names Select to search for the string in signal


names in block identifiers, constant
names, and network addresses.

Comment Text Select to search for the string in comment


texts.

Block Types Select a single block type or all block types


to search in.

Module Names Select to search for the string used as a


Module name in block identifiers, constant
names, and network addresses.

Match case Select to make a case sensitive search for


the string.

Whole words Select to search for whole words.

Search Next Click to continue the search.

Close Click to close the dialog box.

Technical 04-30006-02-en, May 2019


1642
60 Function Block User Interface
60.15 Replace Dialog Box

60.15 Replace Dialog Box


You use the Replace dialog box to search and replace text strings in function
block programs. The text string can be: signal names, constant names, module
names, comment text, and block types. Replace is available in Edit mode.

Figure: Function Block Editor Replace dialog box

Table: Replace Dialog Box


Component Description

Search for Type the string you want to search for. If


the Search for box is empty, all blocks of
the marked block type(s) and comments
are searched for.

Replace with Type the string you want to use instead of


the original text.

Signal- /Constant Names Select to search for the string in signal


names in block identifiers, constant
names, and network addresses.

Comment Text Select to search for the string in comment


texts.

Block Types Select a single block type or all types to


search in.

Module Names Select to search for the string used as a


Module name in block identifiers, constant
names, and network addresses.

Case sensitive Select to make a case sensitive search for


the string.

Whole words Select to search for whole words.

04-30006-02-en, May 2019 Technical


1643
60 Function Block User Interface
60.15 Replace Dialog Box

Continued
Component Description

Replace only first appearance Select to replace only the first match of the
string in a block. Otherwise, all matches in
the block are replaced.

Search Next Click to continue the search.

Replace Click to replace the string.


After replacing text, ensure that the new
name does not exceed the character limit.
• Module Name does not exceed 12
characters.
• Signal or Constant Names do not
exceed 10 characters.

Replace All Click to replace all matches of the string.


After replacing text, ensure that the new
name does not exceed the character limit.
• Module Name does not exceed 12
characters.
• Signal or Constant Names do not
exceed 10 characters.

Close Click to close the dialog box.

Technical 04-30006-02-en, May 2019


1644
60 Function Block User Interface
60.16 NEW Menu

60.16 NEW Menu


Use the NEW menu to create new objects in the Function Block Editor diagram
window in Edit mode.

Figure: Function Block Editor NEW menu

Table: NEW Menu


Command Description

Simple Block Opens the Select Simple Block dialog box


where you select the type of function block
you want to create.

Operator Opens the Select Operator dialog box


where you select the type of operator you
want to create.

Expression Opens the Edit expression dialog box


where you can write and edit a logical
expression.

Node Defines the output signal type as Real,


Integer or Binary.

HFB Opens the Edit Hierarchy dialog box


where you can edit the hierarchy in a
hierarchical function block.

HFB I/O Opens the Select Hierarchy Connection


dialog box. The HFB I/O is only available if
you click inside a hierarchical function
block.

Compress HFB Compresses a hierarchical function block.

Comment Opens the Edit comment dialog box.

Line Click to add a line.

Rectangle Adds a rectangle.

04-30006-02-en, May 2019 Technical


1645
60 Function Block User Interface
60.16 NEW Menu

Continued
Command Description

Paste Pastes a function block from the clipboard.

Load Macro Opens the Load Macro dialog box.

Technical 04-30006-02-en, May 2019


1646
60 Function Block User Interface
60.17 BLOCK Menu

60.17 BLOCK Menu


Use the BLOCK menu to edit a block and its connections in Edit mode.

Figure: Function Block Editor BLOCK menu

Table: BLOCK Menu


Command Description

Edit Opens the Edit block menu.

Duplicate Duplicates a function block.

Disconnect Disconnects a function block.

Delete Deletes a function block.

Expand HFB Expands an HFB.

04-30006-02-en, May 2019 Technical


1647
60 Function Block User Interface
60.18 INPUT Menu

60.18 INPUT Menu


Use the INPUT menu to edit a block input in Function Block Editor in Edit mode.

Figure: Function Block Editor INPUT menu

Table: INPUT Menu


Command Description

Disconnect Disconnects an input.

Detach Detaches an input.

Technical 04-30006-02-en, May 2019


1648
60 Function Block User Interface
60.19 OUTPUT Menu

60.19 OUTPUT Menu


Use the OUTPUT menu to edit a block output in Function Block Editor in Edit
mode.

Figure: Function Block Editor OUTPUT menu

Table: OUTPUT Menu


Command Description

Disconnect Disconnects an output.

Delete Deletes an output.

04-30006-02-en, May 2019 Technical


1649
60 Function Block User Interface
60.20 CONNECTION Menu

60.20 CONNECTION Menu


Use the CONNECTION menu to edit a connection in Function Block Editor in
Edit mode.

Figure: Function Block Editor CONNECTION menu

Table: CONNECTION Menu


Command Description

Move Node Moves a node.

Create Node Creates a node.

Delete Node Deletes a node.

Detach Detaches a node.

Mark Changes the color of the selected


connection.

Unmark Changes the color of the selected


connection to the default color (black).

Unmark all Changes the color of all the connections in


the Diagram window to the default color
(black).

Technical 04-30006-02-en, May 2019


1650
60 Function Block User Interface
60.21 Select Simple Block Dialog Box

60.21 Select Simple Block Dialog Box


Use the Select Simple Block dialog box to create a Function Block Editor simple
block in Edit mode.

Figure: Function Block Editor Select Simple Block dialog box

Table: Select Simple Block Dialog Box


Component Description

Simple Block Type the name of the block type you want
to create, if you know the name.

Description box Displays a short description of the selected


simple block.

List Select a subset of simple blocks to display


in the list.

Block selection list Select the block you want to create.

04-30006-02-en, May 2019 Technical


1651
60 Function Block User Interface
60.22 Edit Expression Dialog Box

60.22 Edit Expression Dialog Box


Use the Edit expression dialog box to create or edit a Function Block Editor
expression block in Edit mode.

Figure: Function Block Editor Edit Expression dialog box

Table: Edit Expression Dialog Box


Component Description

Identifier Type a new name for the expression block.

Unit Type the engineering unit and metric prefix


of a value (or click Select unit
unit).

Select unit Click to open the Select Unit dialog box,


where you define the engineering unit and
metric prefix of a value.

Description Type a description of the block up to 40


characters.

Public Select if the output signal from the block is


a public signal.

Read/Write Select to be able to modify the output


signal from other network nodes during
execution of the function block program,
and manually during offline simulation.
The R/W option cannot be selected for
blocks with RO access.

Access Displays the type of access (RO or RW) for


the output signal from the block.

Technical 04-30006-02-en, May 2019


1652
60 Function Block User Interface
60.22 Edit Expression Dialog Box

Continued
Component Description

Node Click to define the output signal type as


Real, Integer or Binary.

Expression Type the arithmetic or logical expression.


The maximum length of an expression is
500 characters.

04-30006-02-en, May 2019 Technical


1653
60 Function Block User Interface
60.23 Edit Block Dialog Box

60.23 Edit Block Dialog Box


Use the Edit block dialog box to edit a Function Block Editor block in Edit mode.

Figure: Edit block dialog box

Table: Edit Block Dialog Box


Component Description

Identifier Type a new name for the block in the


Identifier box.

Unit Type the engineering unit and metric prefix


of a value (or click Select unit
unit).

Select unit Click to open the Select Unit dialog box,


where you define the engineering unit and
metric prefix of a value.

Description Type a description of the block up to 40


characters.

Public Select if the output signal from the block is


a public signal and included in the Public
Signal Table.

R/W Select to be able to modify the output


signal from other network nodes during
execution of the function block program,
and manually during offline simulation.
The R/W option cannot be selected for
blocks with RO access.

Backup Select to have the current value of the


function block output used when the
devices perform a warm start.

Technical 04-30006-02-en, May 2019


1654
60 Function Block User Interface
60.23 Edit Block Dialog Box

Continued
Component Description

Type Displays the value type: Real, Integer or


Binary.

Access Displays the type of access (Read Only or


Read/Write) for the output signal from the
function block.

Parameters Displays function block parameters. The


set of parameters depend on the function
block type. Some function blocks have no
parameters.

Initial binding Enter an initial binding. For more


information, see section 17.21 “Initial
Bindings in Function Blocks” on page 474.

04-30006-02-en, May 2019 Technical


1655
60 Function Block User Interface
60.24 Select Operator Dialog Box

60.24 Select Operator Dialog Box


Use the Select Operator dialog box to create an operator in Function Block
Editor in Edit mode.

Figure: Function Block Editor Select Operator dialog box

Table: Select Operator Dialog Box


Component Description

Operator Type the name of the operator type you


want to create, if you know the name.

Operators Select the operator you want to create from


the list.

Technical 04-30006-02-en, May 2019


1656
60 Function Block User Interface
60.25 Edit Operator Dialog Box

60.25 Edit Operator Dialog Box


Use the Edit operator dialog box to edit the properties of the operator.

Figure: Edit operator dialog box

Table: Edit Operator Dialog Box


Component Description

Identifier Type a new name for the operator.

Unit Type the engineering unit and metric prefix


of a value (or click Select unit
unit).

Select unit Click to open the Select Unit dialog box,


where you define the engineering unit and
metric prefix of a value.

Description Type a description of the operator.


Maximum 40 characters.

Public Select to make the output signal from the


operator a public signal that is included in
the Public Signal Table.

Mode 2 Select to change the orientation of the


connections.

Type Defines the data type of the operator


output.

Access Defines whether the signal exported by the


operator is read-only (RO) or read/write
(R/W).

Parameters Displays the operator parameters. The set


of parameters depend on the operator
type. Some operators have no parameters.

04-30006-02-en, May 2019 Technical


1657
60 Function Block User Interface
60.26 Constants Table Dialog Box

60.26 Constants Table Dialog Box


Use the Constants Table dialog box to add or delete constants in Function
Block Editor in Edit mode.

Figure: Function Block Editor Constants Table dialog box

Table: Constants Table Dialog Box


Component Description

Public Displays if the constant is public.

Name Displays the name of the constant.

Value Displays the value of the constant.

Unit Displays the unit of the constant.

Description Displays the description of the constant.

Exit Click to exit the dialog box without making


any change.

Delete Click to delete the constant that is marked


in the constant list.

Add Click to add a new constant.

Delete Unused Click to delete all unused constants.

Technical 04-30006-02-en, May 2019


1658
60 Function Block User Interface
60.27 New Constant Dialog Box

60.27 New Constant Dialog Box


Use the New constant dialog box to add a new constant in Edit mode.

Figure: Function Block Editor New constant dialog box

Table: New Constant Dialog Box


Component Description

Identifier Type a name for the constant you want to


create. Blank spaces are not allowed.

Value Type the required constant value.

Public Select to make the constant public, that is,


accessible from outside the block.

Unit Select the engineering unit.

Description Type a description for the constant.

04-30006-02-en, May 2019 Technical


1659
60 Function Block User Interface
60.28 Public Signal Table

60.28 Public Signal Table


Use the Public Signal Table in Edit mode to display all public signals in a
function block program.

Figure: Function Block Editor Public Signal Table dialog box

Table: Public Signal Table Dialog Box


Component Description

Name Displays the name of the public signal.

Description Displays the description of the public


signal.

Technical 04-30006-02-en, May 2019


1660
60 Function Block User Interface
60.29 Edit Hierarchy Dialog Box

60.29 Edit Hierarchy Dialog Box


Use the Edit Hierarchy dialog box to create a new hierarchical function block or
to edit an existing hierarchical function block in Edit mode.

Figure: Function Block Editor Edit Hierarchy dialog box

Table: Edit Hierarchy Dialog Box


Component Description

Identifier Type a name for the hierarchical function


block.

Description Type a description for the hierarchical


function block.

04-30006-02-en, May 2019 Technical


1661
60 Function Block User Interface
60.30 Edit Comment Dialog Box

60.30 Edit Comment Dialog Box


Use the Edit comment dialog box to add or edit a comment in the diagram
window in Edit mode.

Figure: Function Block Editor Edit comment dialog box

Table: Edit Comment Dialog Box


Component Description

Comment Type the comment you want to display in


the function block program.

Font Opens the Font dialog box.

Technical 04-30006-02-en, May 2019


1662
60 Function Block User Interface
60.31 Font Dialog Box

60.31 Font Dialog Box


Use the Font dialog box to change the font, font style, and size of a comment in
Edit mode.

Figure: Function Block Editor Font dialog box

Table: Font Dialog Box


Component Description

Font Select a font.

Font style Select a font style.

Size Select a font size.

Strikeout Select if you want the text to be struck out.

Underline Select if you want the text to be underlined.

Color Select a font color from the list.

Sample Displays the formatted text.

Script Select a script style.

04-30006-02-en, May 2019 Technical


1663
60 Function Block User Interface
60.32 Select Hierarchy Connection Dialog Box

60.32 Select Hierarchy Connection Dialog Box


Use the Select Hierarchy Connection dialog box to add inputs and outputs from
a hierarchical function block in Edit mode.

Figure: Function Block Editor Select Hierarchy Connection dialog box

Table: Select Hierarchy Connection Dialog Box


Component Description

HB I/O types Select the required input or output for the


hierarchical function block.

Technical 04-30006-02-en, May 2019


1664
60 Function Block User Interface
60.33 HFB Navigation Tree

60.33 HFB Navigation Tree


Use the HFB Navigation Tree to navigate inside hierarchical function blocks in
Edit mode.

Figure: Function Block Editor HFB Navigation Tree box

04-30006-02-en, May 2019 Technical


1665
60 Function Block User Interface
60.34 Function Block Editor (Simulation Mode)

60.34 Function Block Editor (Simulation Mode)


Use Function Block Editor in Simulation mode to test function block programs.

Figure: Function Block Editor window in Simulation mode

Table: Function Block Editor Window in Simulation Mode


Number Description

Function Block Editor menu bar

Simulation control buttons

Function block diagram window

Online/Offline status box

Cycle counter

Trend area

Technical 04-30006-02-en, May 2019


1666
60 Function Block User Interface
60.34 Function Block Editor (Simulation Mode)

Continued
Number Description

Input buttons

Function Block Editor Simulation mode has a number of buttons that you use to
control how the Simulation is done.

Table: Tools in Simulation Mode


Button Description

Click to start or stop a simulation.

Click to execute a simulation in steps.

Displays the number of executed program


cycles.

Click to reset the cycle counter.

Right-click to open the Input dialog box.

Click to modify a value during simulation,


or right-click to open the RECORD menu
where you make the required recording
settings.

04-30006-02-en, May 2019 Technical


1667
60 Function Block User Interface
60.35 File Menu in Simulation Mode

60.35 File Menu in Simulation Mode


Use the File menu in Simulation mode to print a simulation or to exit Function
Block Editor.

Figure: Function Block Editor File menu in Simulation mode

Table: File Menu


Command Description

Print Opens the Print dialog box that you use to


print out a function block program.

Exit Exits Function Block Editor.

Technical 04-30006-02-en, May 2019


1668
60 Function Block User Interface
60.36 Preferences Menu in Simulation Mode

60.36 Preferences Menu in Simulation Mode


Use the Preferences menu to set display options in Simulation mode.

Figure: Function Block Editor Preferences menu in Simulation mode

Table: Preferences Menu in Simulation Mode


Command Description

Page Setup Opens the Page Setup dialog box.

View Only Public Identifier Displays only Public Identifier in the


Function Block Editor diagram window.

View Signal Values Displays the signal values in the function


blocks during simulation.

Show Status Bar Displays the status bar at the bottom of the
diagram window.

04-30006-02-en, May 2019 Technical


1669
60 Function Block User Interface
60.37 Options Menu in Simulation Mode

60.37 Options Menu in Simulation Mode


Use the Options menu to toggle between Simulation mode and Edit mode, to set
date and time, and to access tables and a view of hierarchical function blocks in
Simulation mode.

Figure: Function Block Editor Options menu in Simulation mode

Table: Options Menu in Simulation Mode


Command Description

Edit Changes to Edit mode.

Set Date and Time Opens the Set Date and Time dialog box.

Constants Table Opens the Constants Table dialog box.

Public Signal Table Opens the Public Signal Table dialog box.

Show HFB Navigation Tree Opens the HFB Navigation Tree dialog
box.

Technical 04-30006-02-en, May 2019


1670
60 Function Block User Interface
60.38 Set Date and Time (Simulation) Dialog Box

60.38 Set Date and Time (Simulation) Dialog


Box
Use Set Date And Time (Simulation) to set date and time in Edit and Simulation
mode.

Figure: Set Date and Time (Simulation) dialog box

Table: Set Date and Time (Simulation) dialog box


Property Description

Date (yy/mm/dd) Type the date.

Time (hh/mm/ss) Type the time.

04-30006-02-en, May 2019 Technical


1671
60 Function Block User Interface
60.39 Analog Input Dialog Box

60.39 Analog Input Dialog Box


Use the Analog Input dialog box to generate analog signal variations for
physical inputs automatically or manually in Simulation mode.

Figure: Function Block Editor Analog Input dialog box

Table: Analog Input Dialog Box


Component Description

Manual Click to manually control the input values.

Automatic Click to automatically generate input


values.

Wave Form Select the shape of the generated signal


from the list.

Amplitude Type the sequence of wave periods with


different amplitudes separated by a
comma for the generated signal.

Circular Select to repeat the sequence, defined in


the Amplitude box. Clear to revert the input
to manual mode after generating the
sequence once.

Average Value Type the average value that, together with


the amplitude, gives the generated value.

Phase (degrees) Type the time displacement of the


generated signal, in degrees. A complete
period is 360 degrees.

Period (sec.) Type the duration of a complete wave


period in seconds.

Technical 04-30006-02-en, May 2019


1672
60 Function Block User Interface
60.40 Digital Input Dialog Box

60.40 Digital Input Dialog Box


Use the Digital Input dialog box to generate digital signal variations for physical
inputs automatically or manually in Simulation mode.

Figure: Function Block Editor Digital Input dialog box

Table: Digital Input Dialog Box


Component Description

Manual Click to manually control the input values.

Automatic Click to automatically generate input


values.

Sequence Type the sequence you want to test


separated by a comma.

Circular Select to repeat the sequence. Clear to


revert the input to manual mode after
generating one sequence.

Period (ms.) Type the duration of a sequence period in


milliseconds.

04-30006-02-en, May 2019 Technical


1673
60 Function Block User Interface
60.41 RECORD Menu

60.41 RECORD Menu


Use the RECORD menu to define how to record signals in Simulation mode.

Figure: Function Block Editor RECORD menu in Simulation mode

Table: RECORD Menu


Command Description

Modify Modifies a value during simulation.

Edit Range Edits the maximum and minimum value for


the recording.

Stop at Limit Opens the Edit Break Limit dialog box


where you set the break points where the
simulation is stopped.

Delete Deletes the recording of the selected


signal.

Technical 04-30006-02-en, May 2019


1674
60 Function Block User Interface
60.42 Edit Break Limit Dialog Box

60.42 Edit Break Limit Dialog Box


Use the Edit Break Limit dialog box to stop logging and simulation when the
logged values exceed a defined level in Simulation mode.

Figure: Function Block Editor Edit Break Limit dialog box in Simulation mode

Table: Edit Break Limit Dialog Box


Component Description

Break Active Select to stop the simulation when the set


value is reached.

Break when signal Select to stop the simulation when the


value exceeds or is below the limit.

the limit Type the limit for when to break the signal.

04-30006-02-en, May 2019 Technical


1675
60 Function Block User Interface
60.43 TREND Menu

60.43 TREND Menu


Use the TREND menu to clear, restart, and reset the recorder in Simulation
mode. You open the TREND menu by right-clicking on the Trend area in
Function Block Editor.

Figure: Function Block Editor TREND menu in Simulation mode

Table: TREND Menu


Command Description

Clear Clears all trends in the recorder. The


logged signals are not affected.

Restart Restarts the recorder. The previous graph


is not affected but the logging restarts.

Reset Restarts the recorder and removes all


defined logged signals from the recorder.
The previous graph is not affected.

Technical 04-30006-02-en, May 2019


1676
60 Function Block User Interface
60.44 SIGNAL Menu

60.44 SIGNAL Menu


Use the SIGNAL menu to modify the value or state of signals with a RW
(read/write) access in Simulation mode.

Figure: Function Block Editor SIGNAL menu in Simulation mode

Table: SIGNAL Menu


Command Description

Modify Modifies a value.

View Opens the View block property sheet. It


displays the information you can edit in the
Edit Block dialog box in Edit mode.

Record Adds the signal to the recorder.

Delete Deletes the signal from the recorder.

Mark Changes the color of the selected


connection.

Unmark Clears the selected color of a connection


and resets the color to the default color
(black).

Unmark all Resets the color of all connections to the


default color (black).

Expand Expands a hierarchical function block and


display the sub level.

04-30006-02-en, May 2019 Technical


1677
60 Function Block User Interface
60.45 Function Block Program Properties – Basic Tab

60.45 Function Block Program Properties –


Basic Tab
Use the Basic tab to view status and execution information for the function block
program and to make settings that affect the program execution.

Figure: Function Block Program properties - Basic tab

Table: Basic Tab


Component Description

Compilation valid Displays True if the function block program


is complete and able to run on the SmartX
server.

Status Displays the current function block


program status. Displays Running if the
program is currently running. Displays
Unloaded if the program has never been
started. Displays Halted if the program has
been manually halted.

Number of cycles Displays the number of executed program


cycles.

Technical 04-30006-02-en, May 2019


1678
60 Function Block User Interface
60.45 Function Block Program Properties – Basic Tab

Continued
Component Description

Last execution time (ms) Displays the duration of the last function
block program execution.

Minimum execution time (ms) Displays the minimum duration of the last
function block program execution cycle.

Maximum execution time (ms) Displays the maximum duration of the last
function block program execution cycle.

Enabled Select Yes to run the function block


program on the SmartX server.

Task Enter the task to set the function block


program execution frequency. For more
information, see section 62.17 “Tasks” on
page 1741.

Execution precedence Enter a number to set the execution priority


for function blocks with internal, cyclic
dependencies. A function block program
with a lower number is executed before a
function block program with a higher
number. For more information, see section
62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page
1743.

04-30006-02-en, May 2019 Technical


1679
60 Function Block User Interface
60.46 Function Block Program Properties – Inputs Tab

60.46 Function Block Program Properties –


Inputs Tab
Use the Inputs tab to select whether or not to use the input values for the
following function blocks: BI, II, PI and RI.

Figure: Function Block Program properties - Inputs tab

Table: Inputs Tab


Component Description

[Block name
name] Select Force value to use the input value of
the function block in the function block
program. If the input has been bound, the
value is overwritten by the following
program execution cycle.

Technical 04-30006-02-en, May 2019


1680
60 Function Block User Interface
60.47 Function Block Program Properties – Public Signals Tab

60.47 Function Block Program Properties –


Public Signals Tab
Use the Public Signals tab set the values of the public signals in the function
block program.

Figure: Function Block Program properties Public Signals tab

Table: Public Signals Tab


Component Description

[Public Signal name] Enter a value for the public signal.

04-30006-02-en, May 2019 Technical


1681
60 Function Block User Interface
60.48 Function Block Program Properties – Outputs Tab

60.48 Function Block Program Properties –


Outputs Tab
Use the Outputs tab to view the output values for the following function blocks:
BO, IO, PO and RO.

Figure: Function Block Program properties Outputs tab

Table: Outputs Tab


Component Description

[Block name] Select Force value to use the output value


of the function block in the function block
program. If the output has been bound, the
value is overwritten by the following
program execution cycle.

Technical 04-30006-02-en, May 2019


1682
60 Function Block User Interface
60.49 Function Block Program Properties – References Tab

60.49 Function Block Program Properties –


References Tab
Use the References tab to view and access the references of the function block
program.

Figure: References tab

04-30006-02-en, May 2019 Technical


1683
61 Function Block
Troubleshooting

Topics
Function Block Displayed in Red Frame
Unable to Compile or Simulate
Constant Already Defined
Faulty Block Centered and Selected
Illegal Closed Loop Has Been Detected
Redefined Identifier
Undefined Constant
Block Must Have a Name
Public Constant Not Supported in Expression Blocks
Public Constant Used More Than Once
Public Constant Identifier Is in Use Already
Public Constant Not Used
Node Name Too Long
Division by Zero, Numerical Overflow
The maximum number of Alarm blocks is exceeded in the
function block program
Unable to Access the Edit Menu
61 Function Block Troubleshooting
61.1 Function Block Displayed in Red Frame

61.1 Function Block Displayed in Red Frame


The function block is displayed in a red frame in the diagram window. This
occurs when you have placed the block where there is not enough free space.

61.1.1 Solution
Move the block to a free space.

04-30006-02-en, May 2019 Technical


1687
61 Function Block Troubleshooting
61.2 Unable to Compile or Simulate

61.2 Unable to Compile or Simulate


It is not possible to compile or simulate a function block program. You may have
deleted a constant that is used in the function block diagram.
A warning dialog box is displayed when you try to compile the function block
program, and the block with the missing constant is automatically selected.

61.2.1 Solution
Recreate the constant by editing the block.

Technical 04-30006-02-en, May 2019


1688
61 Function Block Troubleshooting
61.3 Constant Already Defined

61.3 Constant Already Defined


When you load a macro to a function block program, new constants – public and
non public – are added to the Constants table. Duplicate constants are not
added to the Constants table. The old value is preserved and the message
“Constant already defined” is displayed. One of the blocks where the constant is
defined is centered and selected.

61.3.1 Solution
Create a module of the first instance of the macro you want to use. You can also
locate and rename one of the duplicate constants.

04-30006-02-en, May 2019 Technical


1689
61 Function Block Troubleshooting
61.4 Faulty Block Centered and Selected

61.4 Faulty Block Centered and Selected


During FBD compilation, that is, when going from Edit mode to Simulation mode
in Function Block Editor, there is a syntax error check. Any faulty block is
selected and centered.

61.4.1 Solution
Correct the faulty function block or connection.

Technical 04-30006-02-en, May 2019


1690
61 Function Block Troubleshooting
61.5 Illegal Closed Loop Has Been Detected

61.5 Illegal Closed Loop Has Been Detected


Error message appears if none of the blocks have an internal status that retains
its value from the previous loop. A selection rectangle is positioned over one of
the blocks in the feedback loop.

61.5.1 Solution
Add at least one block with an internal status that retains its value from the
previous loop.

04-30006-02-en, May 2019 Technical


1691
61 Function Block Troubleshooting
61.6 Redefined Identifier

61.6 Redefined Identifier


The error occurs when two blocks, whose output have been defined as a public
signal, have the same identifier.

61.6.1 Solution
Change the name of one of the blocks.

Technical 04-30006-02-en, May 2019


1692
61 Function Block Troubleshooting
61.7 Undefined Constant

61.7 Undefined Constant


The error occurs when a constant identifier is used in a function block without
having been defined in the Constants table.

61.7.1 Solution
Add the constant identifier to the Constants table.

04-30006-02-en, May 2019 Technical


1693
61 Function Block Troubleshooting
61.8 Block Must Have a Name

61.8 Block Must Have a Name


The error occurs when the output signal of a public function block has not been
given a name (identifier).

61.8.1 Solution
Name the public function block.

Technical 04-30006-02-en, May 2019


1694
61 Function Block Troubleshooting
61.9 Public Constant Not Supported in Expression Blocks

61.9 Public Constant Not Supported in


Expression Blocks
Public constants are not permitted in Expression blocks.

61.9.1 Solution
Convert the constant to an input that you connect to a PVB/PVI/PVR block. You
can also use an internal (non-public) constant.

04-30006-02-en, May 2019 Technical


1695
61 Function Block Troubleshooting
61.10 Public Constant Used More Than Once

61.10 Public Constant Used More Than Once


The error message is displayed when public constants are used in several
function block parameters at the same time.

61.10.1 Solution
Define different constant names for each function block parameter if they need
to be public, or use an internal (non-public) constant.

Technical 04-30006-02-en, May 2019


1696
61 Function Block Troubleshooting
61.11 Public Constant Identifier Is in Use Already

61.11 Public Constant Identifier Is in Use


Already
The error message is displayed when a signal identifier exists simultaneously
with a public constant and a public signal.

61.11.1 Solution
Rename the constant or define it as internal (non-public).

04-30006-02-en, May 2019 Technical


1697
61 Function Block Troubleshooting
61.12 Public Constant Not Used

61.12 Public Constant Not Used


The error message is displayed when you have defined a public constant and
then not used it as a function block parameter.

61.12.1 Solution
Delete the public constant from the Constant table or define it as internal (non-
public).

Technical 04-30006-02-en, May 2019


1698
61 Function Block Troubleshooting
61.13 Node Name Too Long

61.13 Node Name Too Long


The error message is displayed when the name of the node is too long.

61.13.1 Solution
Rename the node with a shorter string.
The maximum number of characters is 20.

04-30006-02-en, May 2019 Technical


1699
61 Function Block Troubleshooting
61.14 Division by Zero, Numerical Overflow

61.14 Division by Zero, Numerical Overflow


Logical function block program error.

61.14.1 Solution
Reconstruct your function block program or change faulty values in the function
blocks.

Technical 04-30006-02-en, May 2019


1700
61 Function Block Troubleshooting
61.15 The maximum number of Alarm blocks is exceeded in the function block program

61.15 The maximum number of Alarm blocks


is exceeded in the function block
program
The function block program contains more than 127 Alarm blocks. The problem
must be solved before the function block program can be generated.

61.15.1 Solution
The function block program cannot contain more than 127 Alarm blocks. If it
does, split the function block program into several with no more than 127 Alarm
blocks in each.

04-30006-02-en, May 2019 Technical


1701
61 Function Block Troubleshooting
61.16 Unable to Access the Edit Menu

61.16 Unable to Access the Edit Menu


You cannot open the Edit menu in Simulation mode.

61.16.1 Solution
Change from Simulation mode to Edit mode.

Technical 04-30006-02-en, May 2019


1702
62 Script Introduction

Topics
Script Overview
Script Workflow
Script Programs
Creating a Script Program
Opening a Script Program or Function
Script Keywords
Script Program Flow
FallThru Program Flow
Looping Program Flow
Script Program Instructions
Lines and Line Numbers
Reserved Words
Script Reserved Words
Bindings and Script Programs
Binding Values in Script Editor Using a Binding Template
Local Variable Declarations
Tasks
Adding a Task to a Program
Program Cycles in EcoStruxure Building Operation Software
Configuring the Execution Precedence for a Program
62 Finding Cycles in a Task
62 Script Introduction
62.1 Script Overview

62.1 Script Overview


Script programs are text-based instructions that tell the EcoStruxure BMS server
to take some kind of action to control a building.
For example, you can tell the EcoStruxure BMS server to take the following
actions:
• OPEN THE DAMPER
• CLOSE THE VALVE
Each instruction is a complete text-command description. Program instructions
are listed in the order in which the controller must perform them.

62.1.1 Script Workflow


The Script workflow allows you to create (and edit) Script programs in the
EcoStruxure Building Operation database.
For more information, see section 62.2 “Script Workflow” on page 1707.

62.1.2 Script Programs


You can store your Script programs like a common document and include them
later in other projects for use in your control system. You can also write
programs that perform very complex control system decisions, such as
controlling lighting, boilers, and air handling units at multiple sites.
For more information, see section 62.3 “Script Programs” on page 1711.

62.1.3 Script Functions


A function is a routine designed to carry out an often repeated task or series of
tasks. Your Script function then becomes a subroutine that can be called
whenever that particular action needs to be performed.
For more information, see section 63.97 “Script Functions” on page 1903.

62.1.4 Script Program Components


Script programs are composed of the following components that allow you to
develop your programs quickly and easily:
• Program constants
• Program operators
• Program statements
• Expressions
• Variables

04-30006-02-en, May 2019 Technical


1705
62 Script Introduction
62.1 Script Overview

For example, you can create program statements with everyday language, so
you do not need to be a programmer to learn how to program with Script.
For more information, see section 63.1 “Script Program Components” on page
1757.

62.1.5 Script Editor Overview


The Script Editor is a text programming tool you use to create Script programs
that control and monitor building automation systems. Script Editor opens when
you create or edit a Script program in WorkStation.
When you open a new program in the Script Editor, you begin by declaring local
variables for the program input and output followed by names for those
variables. The program starts with zero or more of these declarations followed
by one or more lines specifying the operation(s) to perform.
For more information, see section 64.1 “Script Editor Overview” on page 1993.

62.1.6 Script Web Services


Web Services are programmable applications accessible from standard Internet
protocols, like HTTP and XML. Web Services help solve application integration
challenges by allowing applications to communicate with one another
independent of the target, host operating system, object model, or programming
language.
For more information, see section 65.1 “Script Web Services” on page 2045.

Technical 04-30006-02-en, May 2019


1706
62 Script Introduction
62.2 Script Workflow

62.2 Script Workflow


The Script workflow allows you to create (and edit) Script programs in the
EcoStruxure Building Operation database.
The following flowchart describes the basic steps required to create (or edit) a
Script program. Related information can be found in the sections after the
flowchart. If you want to edit an existing Script program, select the program in
the SmartX server and then continue from the second step.

04-30006-02-en, May 2019 Technical


1707
62 Script Introduction
62.2 Script Workflow

Figure: Script Workflow

Create a Script program


In WorkStation, create a Script program under a SmartX server.

Technical 04-30006-02-en, May 2019


1708
62 Script Introduction
62.2 Script Workflow

For more information, see section 62.4 “Creating a Script Program” on page
1713.

Open your program in Script Editor


In WorkStation, select and open your program in Script Editor.
For more information, see section 62.5 “Opening a Script Program or Function”
on page 1714.

Declare local variables


In Script Editor, declare local variables for the program inputs and outputs
followed by names for the variables.
For more information, see section 62.16 “Local Variable Declarations” on page
1737.

Create program lines


In your Script program, create program lines to specify the type of actions you
want the program to perform.
For more information, see section 64.9 “Adding a Line” on page 2011.

Create points or values


In WorkStation, create points or values.
For more information, see section 111.14 “Creating a BACnet Point in an
EcoStruxure BMS Server” on page 3889.
For more information, see section 111.28 “Creating a BACnet Value” on page
3939.

Bind variables to the points or values


In WorkStation, bind the variables to the points or values you created to view the
output.

NOTICE
In Script, you can bind using either the Bindings view in WorkStation, or the
Bindings view in Script Editor. For more information, see section 49.10
“Binding Values Using a Binding Template” on page 1350.

Check and save your program


In Script Editor, check your program for errors and then save the program.
For more information, see section 64.15 “Checking and Saving a Script
Program” on page 2018.

Select the task


In WorkStation, select the task in which you wish to include your Script program.
For more information, see section 62.18 “Adding a Task to a Program” on page
1742.

Execute your Script program


In WorkStation, execute your Script program.

04-30006-02-en, May 2019 Technical


1709
62 Script Introduction
62.2 Script Workflow

For more information, see section 64.16 “Executing a Script Program” on page
2019.

Store and reuse your programs


In WorkStation, store your programs like a common document and import them
later for reuse in other projects.
For more information, see section 64.17 “Importing Script Program Code” on
page 2020.

Technical 04-30006-02-en, May 2019


1710
62 Script Introduction
62.3 Script Programs

62.3 Script Programs


A Script program consists of a set of instructions or statements that direct the
EcoStruxure BMS server to perform one or more operations. Program
statements are written with Script words, known as keywords.

62.3.1 Script Keywords


Script keywords are arranged in a predefined structure with their own syntax.
According to the rules of that syntax, certain parameters and values are allowed
or not allowed to follow a keyword.
For more information, see section 62.6 “Script Keywords” on page 1715.

62.3.2 Script Program Instructions


The Script programming language consists of a set of instructions that tells the
EcoStruxure BMS server what to do. Each instruction is a complete text-
command description that tells the EcoStruxure BMS server to take some type of
specific action to control a building. Program instructions are listed in the order
in which the controller must perform them.
For more information, see section 62.10 “Script Program Instructions” on page
1727.

62.3.3 Script Program Flow


Script programs tell an EcoStruxure BMS server to perform numerous actions,
such as increasing the heat, locking doors, and printing reports. The program
instructions that command these actions are arranged and executed in a certain
order, known as a program flow.
For more information, see section 62.7 “Script Program Flow” on page 1723.

62.3.4 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default.
This means that one program cycle executes in 1000 ms.
For more information, see section 62.17 “Tasks” on page 1741.

04-30006-02-en, May 2019 Technical


1711
62 Script Introduction
62.3 Script Programs

62.3.5 Program Cycles in EcoStruxure Building


Operation Software
All programs are executed in the order they are bound in the EcoStruxure
Building Operation software. For example, in programs that are executed in a
straight order or in any similar configuration, Program 4 runs after Program 3 that
runs after Program 2 that runs after Program 1. The first program to be executed
is Program 1.
For more information, see section 62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page 1743.

62.3.6 Bindings and Script Programs


A binding is an association between a local variable (numeric, string, datetime,
function) within a Script program and a property of an object in the system. The
use of bindings increases the flexibility of the building automation system.
For more information, see section 62.14 “Bindings and Script Programs” on
page 1735.

Technical 04-30006-02-en, May 2019


1712
62 Script Introduction
62.4 Creating a Script Program

62.4 Creating a Script Program


You create a Script program to import existing program code or to program new
logic for an EcoStruxure BMS server using Script Editor.
For more information, see section 62.3 “Script Programs” on page 1711.

To create a Script program


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create the script program.
2. On the File menu, point to New and then click Program
Program.
3. In the Create Object wizard, in the object type list, select Script Program
Program.
4. In the Name box, type a name for the script program.
5. In the Description box, type a description for the script program.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


1713
62 Script Introduction
62.5 Opening a Script Program or Function

62.5 Opening a Script Program or Function


You open a Script program or function in Script Editor to enter program
instructions.
For more information, see section 62.3 “Script Programs” on page 1711.

To open a Script program or function


1. In WorkStation, in the System Tree pane, select the Script program or
function.
2. On the Actions menu, click Edit
Edit.
The Script program or function is now open and ready for input.

Technical 04-30006-02-en, May 2019


1714
62 Script Introduction
62.6 Script Keywords

62.6 Script Keywords


Script keywords are arranged in a predefined structure with their own syntax.
According to the rules of that syntax, certain parameters and values are allowed
or not allowed to follow a keyword.

62.6.1 A-D
This table contains keywords that begin with the lettters A - D.
A B C D

ABS BASEDON...GOTO CEILING DATE


For more For more For more For more
information, see information, see information, see information, see
section 63.118 section 63.48 section 63.132 section 63.81
“ABS” on page “BASEDON...GOTO “CEILING” on page “DATE” on page
1932. ” on page 1838. 1948. 1885.

ACOS BITAND CHR DATETIME


For more For more For more For more
information, see information, see information, see information, see
section 63.158 section 63.16 section 63.145 section 63.41
“ACOS” on page “BITAND” on page “CHR” on page “DATETIME” on
1984. 1785. 1968. page 1823.

AND BITNOT CONTINUE DAYOFMONTH


For more For more For more For more
information, see information, see information, see information, see
section 63.21 “AND” section 63.17 section 63.50 section 63.82
on page 1790. “BITNOT” on page “CONTINUE” on “DAYOFMONTH” on
1786. page 1841. page 1886.

ARG BITOR COS DAYOFYEAR


For more For more For more For more
information, see information, see information, see information, see
section 63.40 “ARG” section 63.18 section 63.162 section 63.83
on page 1822. “BITOR” on page “COS” on page “DAYOFYEAR” on
1787. 1988. page 1887.

ASC BITXOR DIFFTIME


For more For more For more
information, see information, see information, see
section 63.144 section 63.19 section 63.155
“ASC” on page “BITXOR” on page “DIFFTIME” on page
1967. 1788. 1979.

ASIN BREAK DIVIDED BY


For more For more For more
information, see information, see information, see
section 63.159 section 63.49 section 63.27
“ASIN” on page “BREAK” on page “DIVIDED BY” on
1985. 1840. page 1801.

04-30006-02-en, May 2019 Technical


1715
62 Script Introduction
62.6 Script Keywords

Continued
A B C D

ATAN Buffered
For more For more
information, see information, see
section 63.160 section 63.63
“ATAN” on page “Buffered” on page
1986. 1863.

ATAN2
For more
information, see
section 63.161
“ATAN2” on page
1987.

AVERAGE
For more
information, see
section 63.137
“AVERAGE” on
page 1953.

62.6.2 E-H
This table contains keywords that begin with the letters E - H.
E F G H

EQUALS FACTORIAL GetBufferSize HOD


For more For more For more For more
information, see information, see information, see information, see
section 63.22 section 63.120 section 63.111 section 63.84 “HOD”
“EQUALS” on page “FACTORIAL” on “GetBufferSize” on on page 1888.
1793. page 1934. page 1922.

ERRORS FAILURE GetBufferedValue HOUR


For more For more For more For more
information, see information, see information, see information, see
section 63.94 section 63.8 section 63.112 section 63.85
“ERRORS” on page “Failure” on page “GetBufferedValue” “HOUR” on page
1900. 1768. on page 1924. 1889.

EXPONENTIAL FLOOR GOTO


For more For more For more
information, see information, see information, see
section 63.119 section 63.133 section 63.52
“EXPONENTIAL” on “FLOOR” on page “GOTO” on page
page 1933. 1949. 1845.

Technical 04-30006-02-en, May 2019


1716
62 Script Introduction
62.6 Script Keywords

Continued
E F G H

FOR...NEXT
For more
information, see
section 63.51
“FOR...NEXT” on
page 1842.

FREEMEM
For more
information, see
section 63.95
“FREEMEM” on
page 1901.

62.6.3 I-N
This table contains keywords that begin with the letters I -N.
I L M N

IF...THEN...ELSE LEFT MAXIMUM NOT


For more For more For more For more
information, see information, see information, see information, see
section 63.53 section 63.146 section 63.138 section 63.24 “NOT”
“IF...THEN...ELSE” “LEFT” on page “MAXIMUM” on on page 1797.
on page 1848. 1969. page 1955.

INPUT LENGTH MAXITEM NUMERIC


For more For more For more For more
information, see information, see information, see information, see
section 63.62 section 63.147 section 63.139 section 63.43
“INPUT” on page “LENGTH” on page “MAXITEM” on page “NUMERIC” on
1862. 1970. 1957. page 1829.

IS... LINE MID NUMTOSTR


For more For more For more
information, see information, see information, see
section 63.23 “IS...” section 63.148 section 63.114
on page 1794. “MID” on page “NUMTOSTR” on
1971. page 1926.

LN MINIMUM
For more For more
information, see information, see
section 63.121 “LN” section 63.140
on page 1935. “MINIMUM” on page
1959.

04-30006-02-en, May 2019 Technical


1717
62 Script Introduction
62.6 Script Keywords

Continued
I L M N

LOG MINITEM
For more For more
information, see information, see
section 63.122 section 63.141
“LOG” on page “MINITEM” on page
1936. 1961.

MINUS
For more
information, see
section 63.28
“MINUS” on page
1802.

MINUTE
For more
information, see
section 63.86
“MINUTE” on page
1890.

MOD
For more
information, see
section 63.29
“MOD” on page
1803.

MONTH
For more
information, see
section 63.87
“MONTH” on page
1891.

MOVE
For more
information, see
section 63.54
“MOVE” on page
1852.

62.6.4 O-S
This table contains keywords that begin with the letters O - S.

Technical 04-30006-02-en, May 2019


1718
62 Script Introduction
62.6 Script Keywords

Continued
O P R S

OFF P RANDOM SCAN


For more For more For more For more
information, see information, see information, see information, see
section 63.9 “OFF” section 63.35 “P” on section 63.123 section 63.96
on page 1769. page 1810. “RANDOM” on page “SCAN” on page
1937. 1902.

ON PASSED ReadProperty SELECT CASE


For more For more For more For more
information, see information, see information, see information, see
section 63.10 “ON” section 63.130 section 63.127 section 63.57
on page 1770. “PASSED Function” “ReadProperty” on “SELECT CASE” on
on page 1946. page 1942. page 1856.

-ON PLUS Relinquish SECOND


For more For more For more For more
information, see information, see information, see information, see
section 63.11 “-ON” section 63.30 section 63.128 section 63.88
on page 1771. “PLUS” on page “Relinquish” on “SECOND” on page
1804. page 1943. 1893.

OR PRINT Repeat...Until SEARCH


For more For more For more For more
information, see information, see information, see information, see
section 63.25 “OR” section 63.36 section 63.55 section 63.150
on page 1798. “PRINT” on page “Repeat...Until” on “SEARCH” on page
1811. page 1853. 1973.

OUTPUT PUBLIC RETURN SET


For more For more For more For more
information, see information, see information, see information, see
section 63.64 section 63.65 section 63.56 section 63.37 “SET”
“OUTPUT” on page “PUBLIC” on page “RETURN” on page on page 1817.
1864. 1865. 1854.

RIGHT SIN
For more For more
information, see information, see
section 63.149 section 63.163 “SIN”
“RIGHT” on page on page 1989.
1972.

ROUND StandardDeviation
For more For more
information, see information, see
section 63.134 section 63.142
“ROUND” on page “StandardDeviation”
1950. on page 1963.

04-30006-02-en, May 2019 Technical


1719
62 Script Introduction
62.6 Script Keywords

Continued
O P R S

STOP
For more
information, see
section 63.58
“STOP” on page
1858.

STRING
For more
information, see
section 63.44
“STRING” on page
1831.

STRINGFILL
For more
information, see
section 63.152
“STRINGFILL” on
page 1975.

STRTODATE
For more
information, see
section 63.115
“STRTODATE” on
page 1927.

STRTONUM
For more
information, see
section 63.116
“STRTONUM” on
page 1929.

SQRT
For more
information, see
section 63.124
“SQRT” on page
1938.

SUM
For more
information, see
section 63.125
“SUM” on page
1939.

62.6.5 T-Y
This table contains keywords that begin with the letters T - Y.

Technical 04-30006-02-en, May 2019


1720
62 Script Introduction
62.6 Script Keywords

Continued
T W Y

TAB WAIT YEAR


For more information, see For more information, see For more information, see
section 63.153 “TAB” on section 63.59 “WAIT” on section 63.92 “YEAR” on
page 1977. page 1859. page 1898.

TAN WebService
For more information, see For more information, see
section 63.164 “TAN” on section 63.46 “ Webservice”
page 1990. on page 1834.

TIMEPIECE WEEKDAY
For more information, see For more information, see
section 63.156 section 63.91 “WEEKDAY”
“TIMEPIECE” on page on page 1896.
1981.

TOD WHILE
For more information, see For more information, see
section 63.89 “TOD” on section 63.60 “WHILE” on
page 1894. page 1860.

TD WriteProperty
For more information, see For more information, see
section 63.78 “TD” on page section 63.129
1880. “WriteProperty” on page
1944.

TH
For more information, see
section 63.77 “TH” on page
1879.

THE
For more information, see
section 63.45 “THE” on
page 1833.

TIMES
For more information, see
section 63.31 “TIMES” on
page 1805.

TM
For more information, see
section 63.76 “TM” on page
1878.

TS
For more information, see
section 63.75 “TS” on page
1877.

04-30006-02-en, May 2019 Technical


1721
62 Script Introduction
62.6 Script Keywords

Continued
T W Y

TURN
For more information, see
section 63.38 “TURN” on
page 1819.

TRUNCATE
For more information, see
section 63.135
“TRUNCATE” on page
1951.

Technical 04-30006-02-en, May 2019


1722
62 Script Introduction
62.7 Script Program Flow

62.7 Script Program Flow


Script programs tell an EcoStruxure BMS server to perform numerous actions,
such as increasing the heat, locking doors, and printing reports. The program
instructions that command these actions are arranged and executed in a certain
order, known as a program flow.
Script has two types of program flows: FallThru and Looping.

62.7.1 FallThru Program Flow


A FallThru program executes the program lines in the sequential order in which
you list them: from the first line to the last line. Therefore, the program flows, or
“falls thru” the entire sequence of instructions.
For more information, see section 62.8 “FallThru Program Flow” on page 1724..

62.7.2 Looping Program Flow


A Looping program remains on one line until the program is instructed to go to
another line.
For more information, see section 62.9 “Looping Program Flow” on page 1726.

04-30006-02-en, May 2019 Technical


1723
62 Script Introduction
62.8 FallThru Program Flow

62.8 FallThru Program Flow


A FallThru program executes the program lines in the sequential order in which
you list them: from the first line to the last line. Therefore, the program flows, or
“falls thru” the entire sequence of instructions.
In the following FallThru program example, when the controller determines that
the temperature is not less than 70 and not greater than 75, the program flows to
the next consecutive line (labeled “Pumping”).

Figure: Script FallThru Program Example

FallThru programs start when prompted by a specific point or system variable.


Any point or system variable can automatically start a progam when its value
changes. The program is triggered by the action of the point or system variable.
Once you create a point or choose a system variable, the program you want to
run is attached through the trigger.
For example, suppose you write a program to control a circulating fan. You want
the fan to turn on when the room is occupied and turn off when the room is not
occupied. In your program, you could choose to use a point called OCCUPIED
that triggers the following program.

Figure: FallThru Program Trigger

Technical 04-30006-02-en, May 2019


1724
62 Script Introduction
62.8 FallThru Program Flow

You configure the trigger for the OCCUPIED point on the b3 field controller. Note
that you can only configure triggers on the b3 device. For more information, see
section 119.10 “Configuring Script FallThru Program Triggers in a b3 BACnet
Device” on page 4517..

04-30006-02-en, May 2019 Technical


1725
62 Script Introduction
62.9 Looping Program Flow

62.9 Looping Program Flow


A Looping program remains on one line until the program is instructed to go to
another line.
In the following Looping program example, the program continuously scans the
CheckOccupied line to determine if the office is occupied. If so, the program
turns on the office lights and fan. If not, the program turns them off.

Figure: Looping Program Example

Technical 04-30006-02-en, May 2019


1726
62 Script Introduction
62.10 Script Program Instructions

62.10 Script Program Instructions


The Script programming language consists of a set of instructions that tells the
EcoStruxure BMS server what to do. Each instruction is a complete text-
command description that tells the EcoStruxure BMS server to take some type of
specific action to control a building. Program instructions are listed in the order
in which the controller must perform them.
Script has two types of program instructions: conditional and unconditional. A
conditional instruction establishes criteria that have to be met before the
instruction can be executed and the task performed by anEcoStruxure BMS
server:
IF Temp is 78 THEN Turn on Fan
An unconditional instruction directs a specific action without establishing any
criteria before the action can occur:
Turn on Fan
You can use “the” in a Script program instruction to make the statement easier to
read. The following examples show how “the” improves the readability of a
statement:
IF FAN IS ON THEN TURN ON PUMP
IF THE FAN IS ON THEN TURN ON THE PUMP

62.10.1 Lines and Line Numbers


A line acts as the basic execution unit of a Script program. Lines consist of one
or more statements that belong together under one label. The first or only line of
a program does not need to have a label. You can also add a comment here
preceded by a single quote ('), to help explain the operation of the program.
Comments are not acted upon by the program's logic.
For example, you can create a simple program that contains a single declaration
followed by a single program line:
Numeric i ‘Declaration of a local variable of type Numeric
i = 1 ‘Single program line
You can add a label to the line:
Numeric i
Line Setting
i=1
In this example, the line is labeled with the Line keyword or a colon after the line
name (but not both). All of the statements following the “Setting” label are then
part of that line until another Line label is encountered.
For more information, see section 62.11 “Lines and Line Numbers” on page
1729.

04-30006-02-en, May 2019 Technical


1727
62 Script Introduction
62.10 Script Program Instructions

62.10.2 Verb and Verb Elements


To construct a Script program instruction, you must follow these guidelines:
• Use only one verb
• Use one verb element or a list of verb elements after the verb
For example, these Script program instructions are valid:
OPEN THE DAMPER
CLOSE THE VALVE
Open the damper, vent1, vent2, vent3, and vent4
Close the firstvalve, secondvalve, thirdvalve
You cannot use two verbs, such as open and close, in the same instruction.
Therefore, this instruction is invalid:
OPEN THE DAMPER AND CLOSE THE VALVE

62.10.3 Case Sensitivity


Script instructions are not case sensitive. For example, the uppercase letter R
and the lowercase letter r are not treated differently. In Script, the following
names are treated the same:
RoomTemp1
ROOMTEMP1
RoomtemP1

62.10.4 Reserved Words


Reserved words are those words used as system constants, keywords, system
functions, and system variables that are reserved as part of the Script
programming language. Being familiar with these words helps avoid naming
errors. You cannot use reserved words as line label or program variables.
Before importing older programs to your controllers, check the program for
reserved words and remove or replace them. For more information, see section
62.12 “Reserved Words” on page 1730.

Technical 04-30006-02-en, May 2019


1728
62 Script Introduction
62.11 Lines and Line Numbers

62.11 Lines and Line Numbers


A line acts as the basic execution unit of a Script program. Lines consist of one
or more statements that belong together under one label. The first or only line of
a program does not need to have a label. You can also add a comment here
preceded by a single quote ('), to help explain the operation of the program.
Comments are not acted upon by the program's logic.
You label a line with the LINE keyword or a colon after the line name:

Figure: Line Labeling

In the previous example, all of the statements following the “BEGIN” label are
part of that line, until another LINE label is encountered. Line labels are limited to
16 characters, including underscores, periods, and numbers.
Statements in a line are indented to emphasize their relationship to the line label.
Ideally, you should always form lines this way.
You can number the lines in your program window in Script for easy reference
while programming. When you enable this feature, line numbers display in the
left hand side of the Script Editor.

Figure: Line Numbering

04-30006-02-en, May 2019 Technical


1729
62 Script Introduction
62.12 Reserved Words

62.12 Reserved Words


Reserved words are those words used as system constants, keywords, system
functions, and system variables that are reserved as part of the Script
programming language. Being familiar with these words helps avoid naming
errors. You cannot use reserved words as line label or program variables.
Before importing older programs to your controllers, check the program for
reserved words and remove or replace them.

62.12.1 Script Constants


Script constants, including class names, are listed in alphabetical order in the
following tables. You cannot use Script constants as a line label or program
variable.
For more information, see section 63.6 “Script Constants” on page 1765.

62.12.2 Script Reserved Words


Script reserved words are listed in alphabetical order in the following tables. You
cannot use reserved words as a line label or program variable.
For more information, see section 62.13 “Script Reserved Words” on page 1731.

Technical 04-30006-02-en, May 2019


1730
62 Script Introduction
62.13 Script Reserved Words

62.13 Script Reserved Words


Script reserved words are listed in alphabetical order in the following tables. You
cannot use reserved words as a line label or program variable.

Table: Reserved Words A-H


A B C D E F G H

Above Basedon C Date E Fact GetObje Hod


ct

Abs Below Case DateTime Either Factorial Go Hour

AccessL Between CD DayOfMo Else First GoTo HourOfD


og nth ay
DayOfYe
ar

AccessS Bitand Ceiling Del En Floor Greater Hr


erver

AckAlar Bitnot Change DiffTime Enable For


m

Acos Bitor Chr Dis Encrypt From

Adjust Bitxor Cos Disable Encrypte


d

All Break Cosine Div End

Am Breakpoi Curvefit Divided EndIf


nt

And By Does EndSelec


t

Append Dom EndWhe


n

Arcsine Doy EndWhile

Arctange Dt Equal
nt

Arctange Equals
nt2

Arg Erase

Asc Errors
Execute

Asin Exists

Ask Exp

Atan Exponent
ial

04-30006-02-en, May 2019 Technical


1731
62 Script Introduction
62.13 Script Reserved Words

Continued
A B C D E F G H

Atan2

Average

Average
d

Avg

Table: Reserved Words I-S


I L M N O P R S

If Last Max Neither Object P Random Sc

In Left Maximu Next Open Param Return Scan


m

Is Len Maxitem Not Or Passed Right Sd

Length Message Number Output Pid Rnd Search


Window

Less Mid Numeric Plus Run Sec


Second

Let Min NumToSt Pm Select


r

Ln Minimum Pr Print Set

Log Minitem Shut

Lookup Minus Sin

Minute Sine

Mod Site

Modify Sqrt

Month Standard
-
Deviation

Move Start

Mth Status

Mult StatusLin
e

Multiplie Step
d

Technical 04-30006-02-en, May 2019


1732
62 Script Introduction
62.13 Script Reserved Words

Continued
I L M N O P R S

Stop
String

Stringfill

StrToDat
e

StrToNu
m

StrToTim
e

Sum

Table: Reserved Words T-Z


T U V W

Tab Unadvise Val Weekday

Tan UniquePIN Version When

Tangent Until Where

Td Update While

Th UpdateAlarms With

Than UpdateEvents WriteProperty

The UpdateExitLog

Then

Through

Thru

Time

TimeOfDay

Timepiece

Times

TmTo

Tod

Touchedcell

04-30006-02-en, May 2019 Technical


1733
62 Script Introduction
62.13 Script Reserved Words

Continued
T U V W

Trace

Trunc

Truncate

Ts

Turn

Technical 04-30006-02-en, May 2019


1734
62 Script Introduction
62.14 Bindings and Script Programs

62.14 Bindings and Script Programs


A binding is an association between a local variable (numeric, string, datetime,
function) within a Script program and a property of an object in the system. The
use of bindings increases the flexibility of the building automation system. You
can write a program for one application, and use that program for a similar
application by just changing the bindings instead of changing all of the local
variable names in the program to suit the new program.

62.14.1 Local Variable Declarations


In Script, you declare local variables using either the Input, Output, or Public
binding keyword. Then, you bind those variables to the object properties. For
example, you can bind to the value of a point, or have a program's output bound
to an input of another program.

NOTICE
With bindings, you are not limited solely to the properties of points and
programs. You can also use other object types.

For more information, see section 62.16 “Local Variable Declarations” on page
1737.

62.14.2 Binding Attributes


NOTICE
The four binding attributes in a Script program: Forced, Invalid, Offline, and
Overridden are not supported in the EcoStruxure Building Operation software.

04-30006-02-en, May 2019 Technical


1735
62 Script Introduction
62.15 Binding Values in Script Editor Using a Binding Template

62.15 Binding Values in Script Editor Using a


Binding Template
You use binding templates to reduce engineering time when creating bindings
for variables and functions within a Script program. Binding templates are
defined and created for binding patterns that are frequently reused. You can
access the Bindings view without leaving Script Editor.
For more information, see section 18.1 “Binding Templates” on page 479.

To bind values in Script Editor using a binding template


1. In Script Editor, click Bindings to display the Bindings view for the Script
program.
2. In the Bindings View, in the binding point browser, drag the object or folder
to the binding template that you want to apply.

3. In the Confirm Bindings dialog box, select the bindings that you want to
create.
4. Click OK
OK.
5. In the Bindings View, verify that all bindings are correctly bound.
6. On the toolbar, click Save
Save.

Technical 04-30006-02-en, May 2019


1736
62 Script Introduction
62.16 Local Variable Declarations

62.16 Local Variable Declarations


In Script, you declare local variables using either the Input, Output, or Public
binding keyword. Then, you bind those variables to the object properties. For
example, you can bind to the value of a point, or have a program's output bound
to an input of another program.

NOTICE
With bindings, you are not limited solely to the properties of points and
programs. You can also use other object types.

During execution, when the program gets the value of an Input variable, the
program gets the value of the object property (the value of a point). When the
program sets the value of an Output variable, the program sets the value of the
object property (the value of a point).
You can use a binding with the following:
• Input variables
• Output variables
• Public variables
• User-Defined Functions
Any hardware or software input, output device like a fan, motion sensor, or a
Script function is represented as an object in the EcoStruxure Building
Operation database. When you create a local variable in Script, that variable is
generic and can potentially be associated with the object property and the local
variable that property is bound to. The object property and the local variable
must have similar types. For example, you bind a numeric local variable to an
integer, float, digital, and enumeration instead of a string or datetime.

An example of a binding with a Script Program


To access the values of points in the system through bindings, a Script program
must include Input, Output, Public, or Function local variables. The following
figure shows the Bindings view for a Script program.

04-30006-02-en, May 2019 Technical


1737
62 Script Introduction
62.16 Local Variable Declarations

Figure: Bindings View for a Script Program

NOTICE
Corresponding properties tabs are displayed, one for each binding type.
These tabs list each of the local variables that can be bound to other objects in
the system.

In Script, you can bind using either the Bindings view in WorkStation, or the
Bindings view in the Script Editor. For more information, see section 49.10
“Binding Values Using a Binding Template” on page 1350.
Using the Bindings view in Script Editor, you can slide the view, overlay your
Script program, bind the necessary objects, retract the view, and then resume
programming without leaving the Script Editor.

Technical 04-30006-02-en, May 2019


1738
62 Script Introduction
62.16 Local Variable Declarations

Figure: Bindings View - Slider View

You can also undock the Bindings view in Script Editor and include it as a tab
wherever you want in the Editor window. For example, you can position it at the
bottom of the window as shown in the following graphic.

04-30006-02-en, May 2019 Technical


1739
62 Script Introduction
62.16 Local Variable Declarations

Figure: Bindings View - Tabbed View

Public Binding Qualifier


Public is a binding qualifier that identifies a variable as a public variable. You
can modify a public variable from outside a Script program, such as from a
graphic.
Public behaves like an output variable, so you may bind the public variable to
the value of a point, or to the input variable of a Script program as you would
with any output variable. Unlike an output variable, you do not have to use the
force capability to modify Public from the Script property grid, or from a graphic.
You should use the Public binding qualifier when you need to directly modify
that variable from the Script property grid (that is, modify the value the Public
binding variable is bound to). Unlike an output variable, you can manually
change the value of the public variable from a graphic.

Technical 04-30006-02-en, May 2019


1740
62 Script Introduction
62.17 Tasks

62.17 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default.
This means that one program cycle executes in 1000 ms.

Figure: Tasks

The way you schedule programs to execute in Script differs from how you
schedule them to execute in Continuum. For more information, see the Script
and Plain English Program Differences topic on WebHelp.

Table: Task Intervals


Task Interval

Task 1 0.1 seconds

Task 2 0.5 seconds

Task 3 1 seconds

Task 4 5 seconds

Task 5 10 seconds

04-30006-02-en, May 2019 Technical


1741
62 Script Introduction
62.18 Adding a Task to a Program

62.18 Adding a Task to a Program


To make a Script or Function Block program run, the program must be
connected to a task.
For more information, see section 62.17 “Tasks” on page 1741.

To add a task to a program


1. In WorkStation, in the System Tree pane, select the program you want to
add a task to.
2. On the File menu, click Properties
Properties.
3. In the Task box, enter the task you want to add.
4. Click OK
OK.

Technical 04-30006-02-en, May 2019


1742
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

62.19 Program Cycles in EcoStruxure Building


Operation Software
All programs are executed in the order they are bound in the EcoStruxure
Building Operation software. For example, in programs that are executed in a
straight order or in any similar configuration, Program 4 runs after Program 3 that
runs after Program 2 that runs after Program 1. The first program to be executed
is Program 1.
The illustration that follows shows the execution sequence for a straight order
configuration.

Figure: Execution order of programs

When programs are connected in an algebraic loop, the execution order cannot
be determined and the program that runs first needs to be established. In
EcoStruxure Building Operation software, algebraic loops are called Cycles. In
this case, there is no way to determine the execution order of the programs.
Program 4 runs after Program 3 that runs after Program 2 that runs after Program
1 that runs after Program 4.

Figure: In an algebraic loop the execution order of programs cannot easily be determined.

To resolve a cycle and determine which program runs first in the cycle, you use
the execution precedence function. Programs can have execution precedence
values ranging from 0 to 255 where 0 results in the highest priority and 255
results in the lowest priority. The program with highest execution precedence is
always executed first in the cycle.
Execution Precedence

Values: Integers ranging from 0 to 255

Highest priority value: 0

Lowest priority value: 255

The execution precedence is configured in the properties for the program. The
default value when you create a new program is 100.

04-30006-02-en, May 2019 Technical


1743
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

Figure: Execution precedence

The execution precedence can never override the execution order of programs
based on how they are bound. The execution precedence decides the order in
which the programs are run when they are set up in some form of cycle and the
binding does not give a straight order for which program runs first.
The execution precedence can be used in two different situations:
• To determine the execution order when programs are bound in a cycle.
• As troubleshooting, for example when a there are delays without any known
reason. A long delay might be the result of programs that run in the wrong
order.

62.19.1 Example A
In this example we have four programs that are connected in a cycle. The
execution order cannot be determined from how programs are bound. Program
1 should run before Program 2, Program 2 before Program 3, and Program 4
before Program 1.

Technical 04-30006-02-en, May 2019


1744
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

Figure: Example

However, Program 2 reads from a physical input, Input A, and the information
from this reading is transferred to Program 4, which writes to a physical output,
Output B.

Figure: Example

So, we want to Program 2 to run before Program 4. To do this we use execution


precedence. By configuring the Execution precedence as 99 for Program 2,
Program 2 will be the first program to be executed in the cycle.

Figure: Example

The resulting execution order will be P2, P3, P4 and P1.

04-30006-02-en, May 2019 Technical


1745
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

62.19.2 Example B
All programs use the default execution precedence that is 100. In this example,
it is not possible to determine the execution order of Program 1 and Program 2
and the execution order of Program 3 and Program 4. The only thing we can be
sure of is that the cycle with Program 1 and Program 2 is executed before the
cycle with Program 3 and Program 4 due to the fact that Program 3 awaits input
from Program 2.

Figure: Example

To resolve the order we configure Program 2 and Program 3 to have the


execution precedence of 99. Then Program 2 runs before Program 1 in the first
cycle and Program 3 before Program 4 in the second cycle.

Figure: Example

Now the execution order is Program 2, Program 3, Program 4 and Program 1.

Technical 04-30006-02-en, May 2019


1746
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

62.19.3 Application Scheduler


The Application Scheduler displays the programs execution order and if you
have any cycles in your system. In the System Tree pane, the Application
Scheduler is displayed in the Modules folder. The programs are represented
with an entry under the task they are assigned to.

Figure: Application scheduler

The object called cycle identifies a cycle. In the properties dialog for the task the
property "Conflict" is set to "True" if there is any cycle in the Task. Conflicts do not
mean that the programs will not run at all. The programs will run but the might
run in an execution order that may cause unnecessary delays from input to
output.

04-30006-02-en, May 2019 Technical


1747
62 Script Introduction
62.19 Program Cycles in EcoStruxure Building Operation Software

Figure: Conflict setting in task 3

Use the List View to see the execution order of the programs.

Figure: Entries in the List View

Entry is the order of execution of the programs for a specific task. In this case
Program 2 executes first followed by Program 4. Program 3 runs last.

Technical 04-30006-02-en, May 2019


1748
62 Script Introduction
62.20 Configuring the Execution Precedence for a Program

62.20 Configuring the Execution Precedence


for a Program
You configure the highest execution precedence number on the program you
want to be executed first in a cycle.
For more information, see section 62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page 1743.

To configure the execution precedence for a program


1. In WorkStation, in the System tree pane, select the program.
2. On the File menu, click Properties
Properties.
3. In the Execution precedence box, enter a number that is higher than all the
other programs in the cycle.

4. Click OK
OK.

04-30006-02-en, May 2019 Technical


1749
62 Script Introduction
62.21 Finding Cycles in a Task

62.21 Finding Cycles in a Task


If you encounter unexpected delays in input to output response, the execution
order of the programs in a Task might not optimized.
For more information, see section 62.19 “Program Cycles in EcoStruxure
Building Operation Software” on page 1743.

To find cycles in a task


1. In WorkStation, in the System Tree pane, in the System folder, open the
Modules
Modules, and then ApplicationScheduler foldes.
2. Open a Task.
3. If the Task contains an object called Cycle
Cycle, a cycle is present.

Technical 04-30006-02-en, May 2019


1750
63 Script Programming

Topics
Script Program Components
Program Constants
Numeric Constants
String Constants
ASCII Codes
Script Constants
Constant Keywords
Failure
OFF
ON
-ON
Success
Program Operators
Operator Keywords
Bitwise Operators
BITAND
BITNOT
BITOR
BITXOR
Logical Operators
63 AND
EQUALS
IS...
NOT
OR
Mathematical Operators
DIVIDED BY
MINUS
MOD
PLUS
TIMES
Program Statements
Statement Keywords
Action Statements
P
PRINT
SET
TURN
Declaration Statements
ARG
DATETIME
LINE
NUMERIC
STRING
THE
Webservice
Program Control Statements
BASEDON...GOTO
BREAK
63 CONTINUE
FOR...NEXT
GOTO
IF...THEN...ELSE
MOVE
Repeat...Until
RETURN
SELECT CASE
STOP
WAIT
WHILE
Qualifier Statements
INPUT
Buffered
OUTPUT
PUBLIC
Expressions
Variables
Declaring a Variable
Program Variables
Local Program Variables
Variables Pane Types
Program Arrays
System Variables
Script Runtime Variables
TS
TM
TH
TD
63 System Variable Keywords
Date and Time System Variables
DATE
DAYOFMONTH
DAYOFYEAR
HOD
HOUR
MINUTE
MONTH
SECOND
TOD
UTCOffset
WEEKDAY
YEAR
Runtime System Variables
ERRORS
FREEMEM
SCAN
Script Functions
Script Function Workflow
Script Functions without Arguments
Script Functions with Arguments
Script Functions that Return a Value
Script Functions and Programs
Function Declarations and Statements
Declaring and Calling a Script Function
Creating a Script Function
Declaring a Script Function Argument
Checking and Saving a Script Function
63 System Functions
System Function Keywords
Buffered Variable Functions
GetBufferSize
GetBufferedValue
Conversion Functions
NUMTOSTR
STRTODATE
STRTONUM
Mathematical Functions
ABS
EXPONENTIAL
FACTORIAL
LN
LOG
RANDOM
SQRT
SUM
Object Functions
ReadProperty
Relinquish
WriteProperty
PASSED Function
Rounding Functions
CEILING
FLOOR
ROUND
TRUNCATE
Statistical Functions
63 AVERAGE
MAXIMUM
MAXITEM
MINIMUM
MINITEM
StandardDeviation
String Functions
ASC
CHR
LEFT
LENGTH
MID
RIGHT
SEARCH
FIND
STRINGFILL
TAB
Time Functions
DIFFTIME
TIMEPIECE
Trigonometric Functions
ACOS
ASIN
ATAN
ATAN2
COS
SIN
TAN
63 Script Programming
63.1 Script Program Components

63.1 Script Program Components


Script programs are composed of the following components that allow you to
develop your programs quickly and easily:
• Program constants
• Program operators
• Program statements
• Expressions
• Variables
For example, you can create program statements with everyday language, so
you do not need to be a programmer to learn how to program with Script.

63.1.1 Program Constants


Constants are numbers, words, or dates that do not change.
For more information, see section 63.2 “Program Constants” on page 1759.

63.1.2 Program Operators


An operator is the part of an expression that causes a mathematical operation to
occur, such as addition, or tests a condition, such as equality.
For more information, see section 63.13 “Program Operators” on page 1773.

63.1.3 Program Statements


Program statements are written with Script words, known as keywords, that are
arranged in a predefined structure. Each keyword has its own keyword syntax.
According to the rules of that syntax, certain parameters and values are allowed
or not allowed to follow a keyword.
For more information, see section 63.32 “Program Statements” on page 1806.

63.1.4 Expressions
Instructions that consist of mathematical operations are called expressions.
Expressions can also be item names or constants that return a numeric or string
result.
For more information, see section 63.66 “Expressions” on page 1866.

63.1.5 Variables
A variable is a run-time (dynamically changing) property of an object.

04-30006-02-en, May 2019 Technical


1757
63 Script Programming
63.1 Script Program Components

For more information, see section 63.67 “Variables” on page 1867.

Technical 04-30006-02-en, May 2019


1758
63 Script Programming
63.2 Program Constants

63.2 Program Constants


Constants are numbers, words, or dates that do not change.

63.2.1 Numeric Constants


A numeric constant is a number. In Script, only floating point numbers are used.
A floating point number is a number with a decimal.
For more information, see section 63.3 “Numeric Constants” on page 1760.

63.2.2 String Constants


A string constant is a series of ASCII characters, including blanks, surrounded
by quotation marks ("string").
For more information, see section 63.4 “String Constants” on page 1761.

63.2.3 Script Constants


Script constants, including class names, are listed in alphabetical order in the
following tables. You cannot use Script constants as a line label or program
variable.
For more information, see section 63.6 “Script Constants” on page 1765.

63.2.4 Constant Keywords


Script constant keywords represent numbers or values that are used in
expressions.
For more information, see section 63.7 “Constant Keywords” on page 1767.

04-30006-02-en, May 2019 Technical


1759
63 Script Programming
63.3 Numeric Constants

63.3 Numeric Constants


A numeric constant is a number. In Script, only floating point numbers are used.
A floating point number is a number with a decimal.
You can enter a floating point number in one of the following ways:
• Number with up to seven decimal places
• Number in scientific notation
• Positive numbers between 1.40129E-45 and 3.402823E+38
• Negative numbers between -3.402823E+38 and -1.40129E-45
Floating point numbers can display without decimal points, but are still handled
by the system as floating point numbers. The accepted numbers are based on
the Institute of Electrical and Electronics Engineers, IEEE 754 single precision
format.
The following numbers are examples of numeric constants:
• 12
• 74.5
• -.543
• 4E+32
Do not use a comma in the number. For example, 1,000 is an invalid numeric
constant.
Script interprets only the following numbers:
• Greater than 3.402823E+38 as infinity.
• Less than -.402823E+38 as negative infinity.
Script accepts all numbers, but interprets only the following numbers:
• Numbers greater than 3.402823E+38 are interpreted as infinity.
• Less than -.402823E+38 as negative infinity.
• Between 1.40129E-45 and -.40129E-45 as zero.

Technical 04-30006-02-en, May 2019


1760
63 Script Programming
63.4 String Constants

63.4 String Constants


A string constant is a series of ASCII characters, including blanks, surrounded
by quotation marks ("string").
The following are examples of some acceptable strings:
• "Hello world"
• "Access to the building is restricted"
• "123"

63.4.1 Rules for String Constants


Even though a string contains a number, the number cannot be directly used in
mathematical calculations.
In Script, the vertical bar, |, is the control character in a string. Anything you put
after the vertical bar is interpreted as a code or a format for a variable value. For
example, to print a quote enclosed by quotation marks you would use (“)
following the vertical bar. In the statement that follows:
PRINT "The string |" abc|" is included"
The printer outputs: The string "abc" is included.
More information about the vertical bar in strings is included under the PRINT
keyword.

63.4.2 ASCII Codes


Most keyboards have a limited set of characters. There are no characters to
control such actions as feeding the paper, turning on a beep, scrolling the
screen, and so on. For these actions, you use a set of codes called the
American Standard Code for Information Interchange (ASCII).
For more information, see section 63.5 “ASCII Codes” on page 1762.

04-30006-02-en, May 2019 Technical


1761
63 Script Programming
63.5 ASCII Codes

63.5 ASCII Codes


Most keyboards have a limited set of characters. There are no characters to
control such actions as feeding the paper, turning on a beep, scrolling the
screen, and so on. For these actions, you use a set of codes called the
American Standard Code for Information Interchange (ASCII).
You use these codes in a PRINT statement to control your printer or screen. For
more information, see section 63.36 “PRINT” on page 1811.
The following table lists ASCII codes. Examples follow the table.

Table: ASCII Code


Code (in Decimal) Character or Action

0 NUL

1 SOH

2 STX

3 ETX

4 EOT

5 ENQ

6 ACK

7 Beep

8 Backspace

9 TAB forward

10 Line feed

11 Vertical TAB

12 Form feed

13 Carriage return

14 SO

15 SI

16 DLE

17 DC1

18 DC2

19 DC3

20 DC4

21 NAK

Technical 04-30006-02-en, May 2019


1762
63 Script Programming
63.5 ASCII Codes

Continued
Code (in Decimal) Character or Action

22 SYN

23 ETB

24 CAN

25 EM

26 SUB

27 ESC

28 FS

29 GS

30 RS

31 US

127 DEL

NOTICE
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).

Examples
For example, you might use the ASCII code for a character in the STRINGFILL
function. You must give STRINGFILL the code for the character with which you
want to fill the string. For more information, see section 63.152 “STRINGFILL” on
page 1975.
For example, to make the printer beep, you send the beep code a PRINT
statement, like this:
Print "|7" to Printer1
You can also make a terminal beep as follows:
Print "|7" to Screen1
To feed the paper forward one form feed:
Print "|12" to Printer1
To send an ESCAPE to the printer:
Print "|27" to Printer1
More printer control statements can be available for your printer. See the
manufacturer's documentation.
To create a bar in a chart, you might fill a string with asterisks using STRINGFILL
and the ASCII code for asterisk, 42, as follows:
Stringfill (Kilowatts, 42)

04-30006-02-en, May 2019 Technical


1763
63 Script Programming
63.5 ASCII Codes

You could make a similar bar in a chart using pound signs:


Stringfill (Pressure, 35)

Technical 04-30006-02-en, May 2019


1764
63 Script Programming
63.6 Script Constants

63.6 Script Constants


Script constants, including class names, are listed in alphabetical order in the
following tables. You cannot use Script constants as a line label or program
variable.

Table: Script Constants A-M


A B C D E F J M

Apr Binary Char Days Enabled Failed Jan Mar

April Bit Characte Dec EnableDi Failure January March


rSetNotS sable
upported

Aug Bitstring CharTyp Decemb EndRest False Jul Minutes


e er ore

August Closed Delete Equal Fault July MissingR


equiredP
arameter

Average Constant Digital Feb Jun Mon

Average CurrentV Disabled February June Monday


d alue

Active Fri Months

Friday MonthTo
Date

Function MonthTo
Now

Table: Script Constants N-Z


N O P R S T

Nov Object Print Run Sat Thu

November ObjectClass Running Saturday Thursday

NoVTSession ObjectDeleti Sep Today


s-Available onNotPermitt
ed

ObjectID September True

ObjectIdentif Singular Tue


ier-
AlreadyExist
s

ObjectRefere Site_Config Tuesday


nce

04-30006-02-en, May 2019 Technical


1765
63 Script Programming
63.6 Script Constants

Continued
N O P R S T

Oct Site_ConfigB

October Success

Odd Sun

Off Sunday

Offline

On

-On

OneWeekTo
Date

OneWeekTo
Now

OneYearToD
ate

OneYearToN
ow

Online

Opened

Or

Other

OverRange

Overridden

Technical 04-30006-02-en, May 2019


1766
63 Script Programming
63.7 Constant Keywords

63.7 Constant Keywords


Script constant keywords represent numbers or values that are used in
expressions.
There are five different Script constant keywords.

63.7.1 Failure
Failure is used in expressions to indicate a function has failed to complete.
Failure is always numeric and equal to one. Failure can be used to replace
numbers in a comparison expression.
For more information, see section 63.8 “Failure” on page 1768.

63.7.2 OFF
OFF is used in expressions to indicate an item is OFF or set to bottom of scale.
OFF is always numeric and thus, can be compared to numeric values of points
or variables in a comparison expression.
For more information, see section 63.9 “OFF” on page 1769.

63.7.3 ON
ON is used in expressions to indicate an item is ON or set top of scale.
ON is always numeric and can be compared to input, output, and numeric
points or variables in a comparison expression.
For more information, see section 63.10 “ON” on page 1770..

63.7.4 -ON
-ON is used in expressions to indicate a tri-state point is set to -ON.
-ON is always numeric and thus, can be compared to numeric values of points
or variables in a comparison expression.
For more information, see section 63.11 “-ON” on page 1771..

63.7.5 Success
Success is used in expressions to indicate a process or function has completed
successfully.
Sucess is always numeric and equal to zero.
For more information, see section 63.12 “Success” on page 1772..

04-30006-02-en, May 2019 Technical


1767
63 Script Programming
63.8 Failure

63.8 Failure
Failure is used in expressions to indicate a function has failed to complete.
Failure is always numeric and equal to one. Failure can be used to replace
numbers in a comparison expression.

Syntax
Failure

Technical 04-30006-02-en, May 2019


1768
63 Script Programming
63.9 OFF

63.9 OFF
OFF is used in expressions to indicate an item is OFF or set to bottom of scale.
OFF is always numeric and thus, can be compared to numeric values of points
or variables in a comparison expression.

NOTICE
Be aware that you need to use the ON/OFF keywords in Infinet device Script
programs to control digital outputs. While the Inactive/Active and True/False
options will not generate any compile or runtime errors, they will also not
produce the expected ON/OFF behavior.

Syntax
Off

Examples
Example 1
Program File
Turn the Lobby_Light Off
Example 2
Program File
If the Lobby_Light is Off then Turn Off the Heat

04-30006-02-en, May 2019 Technical


1769
63 Script Programming
63.10 ON

63.10 ON
ON is used in expressions to indicate an item is ON or set top of scale.
ON is always numeric and can be compared to input, output, and numeric
points or variables in a comparison expression.

NOTICE
Be aware that you need to use the ON/OFF keywords in Infinet device Script
programs to control digital outputs. While the Inactive/Active and True/False
options will not generate any compile or runtime errors, they will also not
produce the expected ON/OFF behavior.

Syntax
On

Example
Script Program File - Using ON and OFF
If timeofday is between 9 and 17 then
Set the Fan to ON
Else
Set the Fan to OFF
Endif

Technical 04-30006-02-en, May 2019


1770
63 Script Programming
63.11 -ON

63.11 -ON
-ON is used in expressions to indicate a tri-state point is set to -ON.
-ON is always numeric and thus, can be compared to numeric values of points
or variables in a comparison expression.

Syntax
-On

Example
Program File
If the Flow is greater than SetPoint then set the Damper to -On

04-30006-02-en, May 2019 Technical


1771
63 Script Programming
63.12 Success

63.12 Success
Success is used in expressions to indicate a process or function has completed
successfully.
Sucess is always numeric and equal to zero.

Syntax
Success

Examples
Call a user-defined Script function, which returns either Success or Failure.
If MyUpdateFunction (“Zone1”, “Temperature”, TempValue) =
Success then Print "Update Successful"
Else
user1Goto RecordFailure
Endif

Technical 04-30006-02-en, May 2019


1772
63 Script Programming
63.13 Program Operators

63.13 Program Operators


An operator is the part of an expression that causes a mathematical operation to
occur, such as addition, or tests a condition, such as equality.

63.13.1 Operator Precedence


In Script, operators are acted upon in a certain sequence when more than one
operator occurs in an expression. This is known as operator precedence. The
following table lists the order (top to bottom) that is used when working out an
expression.

Table: Operator Precedence


Operator Description Association

() Parentheses Left to Right


[] Array Element Left to Right

Blank or \ Path Name Connector Right to Left

+ Plus Sign on Number Right to Left


- Minus Sign on Number
NOT Logical Negation
BITNOT Bitwise Negation
% Percentage

^^ Exponentiation Left to Right

* Multiplication Left to Right


/ Division
MOD Modulo

+ Addition Left to Right


- Subtraction

< Less Than Left to Right


<= Less Than or Equal
> Greater Than
>= Greater Than or Equal

= Equal Left to Right


<> Not Equal
IS IN Set Inclusion
IS NOT IN Set Exclusion
IS BETWEEN Range
IS THRU Range

04-30006-02-en, May 2019 Technical


1773
63 Script Programming
63.13 Program Operators

Continued
Operator Description Association

BITAND Bitwise Logical And Left to Right


BITOR Bitwise Logical Or
BITXOR Bitwise Exclusive Or

& Logical And Left to Right


! Logical Or

; Joining Operator Left to Right

63.13.2 Plus Sign, Minus Sign, Negation, BITNOT,


and Percentage Operators
The following table identifies and defines the plus sign, minus sign, negation,
BITNOT, and percentage operators.

Table: Plus Sign, Minus Sign, Negation, BITNOT, and Percentage


Operator Definition

+ number Shows that a number is positive, but does


not affect the value.

- number Makes a positive number negative and a


negative number positive. This operator
works only on numeric expressions.

NOT number Negates the number or expression. If the


value of the expression is nonzero, NOT
changes that expression to 0. If the
expression is TRUE, NOT makes that
expression FALSE.

BITNOT integer Changes the 1s to 0s and 0s to 1s in the


binary equivalent of the integer, and then
gives you the decimal integer equivalent of
that binary number.

number % Divides the number by 100 to determine


the percentage.

63.13.3 Fundamental Operators


The following table identifies and defines the fundamental operators.

Technical 04-30006-02-en, May 2019


1774
63 Script Programming
63.13 Program Operators

Table: Fundamental Operators


Operator Example Definition

Addition number + number Adds the numbers. Works


on numbers or datetimes
and the resulting
expression is numeric or
datetime.
Alias: PLUS

Subtraction number - number Works on numbers or


datetimes and the resulting
expression is numeric or
datetime.
Alias: MINUS

Multiplication number * number Multiples the numbers.


Works on numbers and the
resulting expression is
numeric.
Aliases: TIMES, MULT, and
MULTIPLIED BY

Division number / number Divides the first number by


the second. Works on
numbers and the resulting
expression is numeric.
Alias: DIVIDED BY

Modulus number MOD number Finds the amount left over


when dividing the first
number by the second. For
example, 9 MOD 7 gives 2.
Alias: REMAINDER

Exponentiation number ^ number Raises the first number to


the power of the second
number. For example, 2 ^ 3
=8
Alias: EXP

63.13.4 Comparative Operators


A comparative operator compares the number to the left of the keyword with the
number to its right. The results are TRUE (numeric 1) or FALSE (numeric 0) and
are considered numeric.

04-30006-02-en, May 2019 Technical


1775
63 Script Programming
63.13 Program Operators

Table: Comparative Operators


Operator Example Definition

Less Than number < number Determines whether the


value of the left number is
less than the value of the
right number.
Aliases: IS LESS THAN
(THAN is optional) and IS
BELOW

Less Than or Equal number <= number Determines whether the


value of the left number is
less than or equal to the
value of the right number.
Alias: IS LESS THAN OR
EQUAL TO where THAN
and TO are optional

Greater Than number > number Determines whether the


value of the left number is
greater than the value of the
right number.
Alias: IS GREATER THAN
(THAN is optional) and IS
ABOVE

Greater Than or Equal number >= number Determines whether the


value of the left number is
greater than or equal to the
value of the right number.
Alias: IS GREATER THAN
OR EQUAL TO, where
THAN and TO are optional

Equal number = number Determines whether the


value of the left number is
equal to the value of the
right number.
Aliases: EQUALS, IS
EQUAL TO, and IS EQUAL

Not Equal number <> number Determines whether the


value of the left number is
not equal to the value of the
right number.
Aliases: DOES NOT
EQUAL, IS NOT EQUAL TO,
and IS NOT EQUAL

Technical 04-30006-02-en, May 2019


1776
63 Script Programming
63.13 Program Operators

Comparing String Values


You can also use Greater Than, Less Than, or Equal To operators to compare
two string values. The strings are evaluated by ASCII code, using their
numerical ASCII values. For example, "Z" which has an ASCII value of 90 is
greater than "A" which has an ASCII value of 65. Likewise, "9" is greater than "0",
and "A" is greater than "9". Also, "ABC", which is the equivalent to the sum of the
ASCII values of each individual character, is greater than "A". For more
information, see section 63.5 “ASCII Codes” on page 1762..

63.13.5 List and Range Operators


The following table identifies and defines list and range operators.

Table: List and Range Operators


Operator Example Definition

IS IN number IS IN list Determines if the number or


expression on the left is in
Or the listed set. If the number
number IS list on the left-hand side of the
expression is in the list
expression on the right-
hand side, the expression
yields TRUE (numeric 1). If
the expression is not in the
list on the right-hand side,
the expression yields
FALSE (numeric 0).
Alias: IS EITHER

IS NOT IN number is NOT IN list Determines if the number or


expression on the left is
NOT in the listed set. If the
number on the left-hand
side of the expression is
NOT in the list expression
on the right-hand side, the
expression yields TRUE
(numeric 1). If the
expression is in the list on
the right-hand side, the
expression yields FALSE
(numeric 0).
Alias: IS NEITHER

04-30006-02-en, May 2019 Technical


1777
63 Script Programming
63.13 Program Operators

Continued
Operator Example Definition

IS THRU number IS number THRU Designates a range starting


number with the number or
expression on the left-hand
side of THRU and ending
with the number or
expression on the right-
hand side. If the number at
beginning of the expression
is within the inclusive range,
the expression yields TRUE
(numeric 1). If the
expression is not in the
inclusive range, the
expression yields FALSE
(numeric 0).
This statement is
operationally equivalent to
IS BETWEEN.

IS BETWEEN number IS BETWEEN Designates a range starting


number AND number with the number or
expression on the left-hand
side of AND and ending
with the number or
expression on the right-
hand side. If the number at
the beginning of the
expression is within the
inclusive range, the
expression yields TRUE
(numeric 1). If the
expression is not in the
inclusive range, the
expression yields FALSE
(numeric 0).
This statement is
operationally equivalent to
IS THRU.

63.13.6 Bit Operators


The following table identifies and defines the bit operators.

Technical 04-30006-02-en, May 2019


1778
63 Script Programming
63.13 Program Operators

Table: Bit Operators


Operator Example Definition

BITAND integer BITAND integer Compares the binary


equivalents of the two
integers, digit by digit, as if
the 1s were TRUE and the
0s were FALSE.
If both binary numbers
contain a 1 in the same
place, that is TRUE AND
TRUE, which is TRUE If both
numbers contain a 0 in the
same place, that is FALSE
and FALSE, which is
FALSE. If one number
contains a 1 and the other a
0 in the same place, that is
TRUE AND FALSE, which is
also FALSE.
Refer to the Truth Tables
that follow for further
explanation.

BITOR integer BITOR integer Compares the binary


equivalents of the two
integers, digit by digit, as if
the 1s were TRUE and the
0s FALSE.
If both binary numbers
contain a 1 in the same
place, that is TRUE OR
TRUE, which is TRUE. If
both numbers contain a 0 in
the same place, that is
FALSE OR FALSE, which is
FALSE. If one number
contains a 1 and the other a
0 in the same place, that is
TRUE OR FALSE, which is
TRUE.
Refer to the Truth Tables
that follow for further
explanation.

04-30006-02-en, May 2019 Technical


1779
63 Script Programming
63.13 Program Operators

Continued
Operator Example Definition

BITXOR integer BITXOR integer Compares the binary


equivalents of the two
integers, digit by digit, as if
the 1s were TRUE and the
0s FALSE. BITXOR finds
cases where one digit or the
other is TRUE, but not
cases where both digits are
TRUE.
If both binary numbers
contain a 1 in the same
place, that is TRUE XOR
TRUE, which is FALSE
because only one or the
other can be TRUE, not
both. If both numbers
contain a 0 in the same
place, that is FALSE XOR
FALSE, which is FALSE. If
one number contains a 1
and the other a 0 in the
same position, that is TRUE
XOR FALSE, which is TRUE.
Refer to the Truth Tables
that follow for further
explanation.

Truth Tables
The following table is the truth table for the bit operators:

Table: Truth Table


Operator Integer1 Integer2 Result

BITAND TRUE TRUE TRUE


BITAND TRUE FALSE FALSE
BITAND FALSE FALSE FALSE
BITAND FALSE TRUE FALSE

BITOR TRUE TRUE TRUE


BITOR TRUE FALSE TRUE
BITOR FALSE FALSE FALSE
BITOR FALSE TRUE TRUE

BITXOR TRUE TRUE FALSE


BITXOR TRUE FALSE TRUE
BITXOR FALSE FALSE FALSE
BITXOR FALSE TRUE TRUE

Technical 04-30006-02-en, May 2019


1780
63 Script Programming
63.13 Program Operators

63.13.7 AND/OR and String Joining Operators


The following table identifies and defines the AND, OR, and String Joining
Operators.
Operator Example Definition

AND number & number Compares two expressions,


which must be numeric or
converted to numeric, in a
comparison. The statement
returns TRUE (numeric 1) if
both expressions are
nonzero.
Alias: AND

OR number ! number Determines whether a


comparison is true by
making the comparison to
each expression (which
must be numeric or
converted to numeric)
separately, excluding the
others. The statement
returns FALSE (numeric 0) if
both expressions are false,
TRUE (numeric 1) if at least
one is true.
Alias: OR

String Joining string ; string Joins two strings by adding


the second one onto the
end of the first to form a new
string. Both expressions
must be string or convert to
type string (that includes
numeric and datetime
types).
Also known as the
concatenation operator.

63.13.8 Operator Keywords


Operators carry out a mathematical process, such as addition, subtraction, or a
logical TRUE/FALSE comparison.
For more information, see section 63.14 “Operator Keywords” on page 1782.

04-30006-02-en, May 2019 Technical


1781
63 Script Programming
63.14 Operator Keywords

63.14 Operator Keywords


Operators carry out a mathematical process, such as addition, subtraction, or a
logical TRUE/FALSE comparison.
Script uses three different types of operator keywords: bitwise, logical, and
mathematical operators.

63.14.1 Bitwise Operators


Bitwise operators perform logical operations on the binary equivalents of
integers.
Bitwise operators include the following keywords:
• BITAND
• BITNOT
• BITOR
• BITXOR
For more information, see section 63.15 “Bitwise Operators ” on page 1784...

63.14.2 Logical Operators


Logical operators carry out TRUE/FALSE comparisons.
Logical operators include the following keywords:
• AND
• EQUALS
• IS...
• NOT
• OR
For more information, see section 63.20 “Logical Operators ” on page 1789...

63.14.3 Mathematical Operators


Mathematical operators perform mathematical operations, such as addition or
subtraction.
Mathematical operators include the following keywords:
• DIVIDED BY
• MINUS
• MOD
• PLUS
• TIMES

Technical 04-30006-02-en, May 2019


1782
63 Script Programming
63.14 Operator Keywords

For more information, see section 63.26 “Mathematical Operators” on page


1800...

04-30006-02-en, May 2019 Technical


1783
63 Script Programming
63.15 Bitwise Operators

63.15 Bitwise Operators


Bitwise operators perform logical operations on the binary equivalents of
integers.

NOTICE
The Bitwise operators are not valid for Infinet device Script programs.

63.15.1 BITAND
BITAND logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position, where the first number's bit and the second number's bit are both 1,
and sets all other digits to zero. The new binary number is then converted to its
decimal equivalent.
For more information, see section 63.16 “BITAND” on page 1785..

63.15.2 BITNOT
BITNOT switches 1s to 0s and 0s to 1s in the binary equivalent of the integer,
digit by digit. (This is called the one’s complement of the binary number.) This
operator creates a new binary number and then converts that number back to its
decimal equivalent.
For more information, see section 63.17 “BITNOT” on page 1786..

63.15.3 BITOR
BITOR logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position where the first number's bit or the second number's bit is 1 and where
both the first and second number's bits are 1. The operator also sets all other
digits to zero. BITOR converts the new binary number to its decimal equivalent.
For more information, see section 63.18 “BITOR” on page 1787..

63.15.4 BITXOR
BITXOR logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position, where either the first number's bit or the second number's bit is 1, but
gives zeros where both are 1 or both are 0. BITXOR converts the new binary
number to its decimal equivalent.
For more information, see section 63.19 “BITXOR” on page 1788..

Technical 04-30006-02-en, May 2019


1784
63 Script Programming
63.16 BITAND

63.16 BITAND
BITAND logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position, where the first number's bit and the second number's bit are both 1,
and sets all other digits to zero. The new binary number is then converted to its
decimal equivalent.
BITAND carries out comparisons of checksums and similar operations.

Syntax
integer bitand integer

Table: BITAND Parameter


Parameter Description

integer Any number from 0 to 65535.


If you provide a number with a decimal
point, BITAND uses only the integer and
drops everything to the right of the decimal
point.

Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
You would compare them with BITAND as follows:
Program File
Set result = Total1 bitand Total2
The comparison would give 0000000000001001. RESULT would be set to 9.

04-30006-02-en, May 2019 Technical


1785
63 Script Programming
63.17 BITNOT

63.17 BITNOT
BITNOT switches 1s to 0s and 0s to 1s in the binary equivalent of the integer,
digit by digit. (This is called the one’s complement of the binary number.) This
operator creates a new binary number and then converts that number back to its
decimal equivalent.
BITNOT carries out bitmasking and similar operations.

Syntax
bitnot integer

Table: BITNOT Parameter


Parameter Description

integer Any number from 0 to 65535.


If you provide a number with a decimal
point, BITNOT uses only the integer and
drops everything to the right of the decimal
point.

Example
Suppose you want to find the one’s complement of AMOUNT:
Amount = 13 (binary equivalent is 0000000000001101)
You could reverse the number with BITNOT as follows:
Program File
Set result = bitnot AMOUNT
The BITNOT of the amount would be 1111111111110010. The statement would
set RESULT to 65522.

Technical 04-30006-02-en, May 2019


1786
63 Script Programming
63.18 BITOR

63.18 BITOR
BITOR logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position where the first number's bit or the second number's bit is 1 and where
both the first and second number's bits are 1. The operator also sets all other
digits to zero. BITOR converts the new binary number to its decimal equivalent.
BITOR carries out comparisons of checksums and similar operations.

Syntax
integer bitor integer

Table: BITOR Parameter


Parameter Description

integer Any number from 0 to 65535.


If you provide a number with a decimal
point, BITOR uses only the integer and
drops everything to the right of the decimal
point.

Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
You would compare them with BITOR as follows:
Program File
Set result = Total1 bitor Total2
The comparison would give 0000000000001111. RESULT would be set to 15.

04-30006-02-en, May 2019 Technical


1787
63 Script Programming
63.19 BITXOR

63.19 BITXOR
BITXOR logically compares the binary equivalents of the two integers, digit by
digit. This operator creates a new binary number that contains a 1 for each digit
position, where either the first number's bit or the second number's bit is 1, but
gives zeros where both are 1 or both are 0. BITXOR converts the new binary
number to its decimal equivalent.
BITXOR carries out comparisons of checksums and similar operations.

Syntax
integer bitxor integer

Table: BITXOR Parameter


Parameter Description

integer Any number from 0 to 65535.


If you provide a number with a decimal
point, BITXOR uses only the integer and
drops everything to the right of the decimal
point.

Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
Program File
Set result = Total1 bitxor Total2
The comparison would give 0000000000000110. RESULT would be set to 6.

Technical 04-30006-02-en, May 2019


1788
63 Script Programming
63.20 Logical Operators

63.20 Logical Operators


Logical operators carry out TRUE/FALSE comparisons.

63.20.1 AND
The AND keyword can be used in two ways.
For more information, see section 63.21 “AND” on page 1790..

63.20.2 EQUALS
EQUALS is similar to the IS... operator.
For more information, see section 63.22 “EQUALS” on page 1793.

63.20.3 IS...
IS... carries out the logical test you specify.
For more information, see section 63.23 “IS...” on page 1794.

63.20.4 NOT
NOT logically negates or inverts a number or expression, changing 0 (FALSE to
OFF) to 1 (TRUE or ON) or vice versa.
For more information, see section 63.24 “NOT” on page 1797..

63.20.5 OR
The OR keyword can be used to provide the logical OR between two
expressions, or positioned in a list of names beween the last two items.
For more information, see section 63.25 “OR” on page 1798..

04-30006-02-en, May 2019 Technical


1789
63 Script Programming
63.21 AND

63.21 AND
Alias: Ampersand (&) is the alias for the logical AND only.
The AND keyword can be used in two ways.
See Syntax for more details.
The controller carries out all other operations (such as adding and subtracting)
before acting on AND or OR. Because AND and OR are acted on last, you can
form logical statements without using too many parentheses. (See Example 3 for
using AND and OR together.)

Syntax
Syntax 1: number and number
Provides the logical AND between two expressions.
Syntax 2: namelist and final_name
When used in a list of names between the last two items, indicates the end of the
series.

Table: AND Parameters


Parameter Description

number Any number or expression.

namelist One or more names with commas between


them.

final_name A single name at the end of a series of


names.
AND before the last name is optional.

Examples
Example 1
Instead of forming IF..THEN statements to turn the heat on when multiple
conditions exist, you can make one statement using AND:
Program File
If Temp < 70 and TOD > 7:00am then turn On the Heat
or
If Temp < 70 & TOD > 7:00am then turn On the Heat
Example 2
To run a series of programs, instead of using RUN several times, you can list the
program names on the same line, using AND (final comma optional) to indicate
the last item in the list:
Program File
Run the Cooling, Heating and Fan
or using the final comma:
Run the Cooling, Heating, and Fan

Technical 04-30006-02-en, May 2019


1790
63 Script Programming
63.21 AND

You cannot use the ampersand (&) for AND in a series. You can, however, leave
out AND as follows:
Run the Cooling, Heating, Fan
Example 3
If OR occurs before AND, the controller interprets OR first because the controller
works from left to right on AND and OR. For example, take this statement:
Program File
If Wkd = Sat or Wkd = Sun and TOD > 9:00 then...
The above statement is interpreted so that the items in parentheses below are
calculated first:
If (Wkd = Sat or Wkd = Sun) and TOD > 9:00 then...
If AND occurs before OR, the controller interprets AND first:
Program File
If TOD > 9:00 and Wkd = Sat or Wkd = Sun then...
is interpreted as:
If (TOD > 9:00 and Wkd = Sat) or Wkd = Sun then...
Example 4
AND is also used with the operator BETWEEN, as in the following example:
Program File
If TOD is between 8:00am and 6:00pm then...
You cannot use the ampersand (&) for AND when AND is used with BETWEEN.

NOTICE
• Use parentheses to enforce the order of interpretations and resolve potential
ambiguities.

Example 5
To set one or more variables to an expression, such as ON, you can use any of
the following:
Program File
D1, D2 = On
D1 and D2 = On
Set D1,D2 to On
Set D1 and D2 to On
D1, D2, D3, D4 = On
D1, D2, D3 and D4 = On
Set D1, D2, D3, D4 to On
Set D1, D2, D3, and D4 to On
In this example, the following line is used to set the variable D1 to On and D2 to
On (In other words, it includes two set statements on the same line).
D1 = On AND D2 = On

04-30006-02-en, May 2019 Technical


1791
63 Script Programming
63.21 AND

However, the line does not get interpreted as such. Instead, it is interpreted as
follows:
D1 = ((On) and (D2 = On))
This results in one statement that sets D1 to the logical expression on the right
hand side of the first equal operator, and does not set D2 all together.
Be aware of the following here:
• A logical operator, such as AND, works only in expressions and not
statements.
• The language rules of precedence always apply when interpreting
expressions. In this case, the Equal operator (=) has a higher precedence
than the AND operator.

NOTICE
• Be sure to always remember to use parentheses to enforce the order of
interpretations and resolve potential ambiguities. For more information, see
section 63.13 “Program Operators” on page 1773.

Technical 04-30006-02-en, May 2019


1792
63 Script Programming
63.22 EQUALS

63.22 EQUALS
EQUALS is similar to the IS... operator.
For more information, see section 63.23 “IS...” on page 1794..

04-30006-02-en, May 2019 Technical


1793
63 Script Programming
63.23 IS...

63.23 IS...
IS... carries out the logical test you specify.

Syntax
Greater-than-expression:
number > number
number is greater than number
number is above number
Greater-than-or-equal-to-expression:
number >= number
number is greater than or equal to number
Less-than-expression:
number < number
number is less than number
number is below number
Less-than-or-equal-to-expression:
number <= number
number is less than or equal to number
Equal-expression:
number = number
number is number
number is equal to number
number equals number
Not-equal-expression:
number <> number
number is not number
number is not equal to number
number does not equal number
List-inclusion-expression:
number is in list
number is range (see range-expression below)
number is EITHER list
List-exclusion-expression:
number is not in list
number is not range (see range-element below)
number is neither list
Range-expression:
number is between lower_number AND higher_number

Technical 04-30006-02-en, May 2019


1794
63 Script Programming
63.23 IS...

number is not between lower_number AND higher_number


number is lower_number THRU higher_number
number is not lower_number THRU higher_number

Table: IS...Parameters
Parameter Description

number Any number or expression, including a


date and time or name that stands for one.

list Two or more numbers (as defined above)


with commas between them.

range Two numbers (as defined above), each


marking one end of a range with THRU
between them, or two numbers preceded
by BETWEEN with AND between them.

Examples
Example 1
To compare two values, you usually place an IS... statement between IF and
THEN in an IF..THEN statement.

NOTICE
• Because THAN is optional, in the following pairs of statements, each
statement gives the same instructions to the controller.

Program File
If Zone_Temp is greater than 70 then…
If Zone_Temp is greater 70 then…
If Zone_Temp is above 70 then…
If Zone_Temp is less than 70 then…
If Zone_Temp is less 70 then…
If Zone_Temp is below 70 then…
Example 2
The following statements are grouped together and give the same instructions to
the controller, because TO is optional and EQUALS can be used without IS:
Program File
If Zone_Temp is equal to 70 then…
If Zone_Temp is equal 70 then…
If Zone_Temp equals 70 then…
If Zone_Temp is not equal to 70 then…
IF Zone_Temp does not equal 70 then…
Example 3

04-30006-02-en, May 2019 Technical


1795
63 Script Programming
63.23 IS...

With IS IN, IS EITHER, IS NOT IN, or IS NEITHER, the comma in the list means
OR. You can also use the word OR before the last item in the list, for example:
Program File
If Zone_Temp is in Occupied, Warmup then…
If Zone_Temp is either Occupied, Warmup, OR Reset then…
If Zone_Temp is not in Occupied, Warmup then...
If Zone_Temp is neither Occupied, Warmup then...
If Zone_Temp is not 8 through 81 then...
Example 4
With IS BETWEEN and IS NOT BETWEEN, you always use AND. IS BETWEEN
with AND is equivalent to IS with THRU. The following statements are equivalent:
Program File
If Zone_Temp is between 70 and 80 then…
If Zone_Temp is 70 thru 80 then…
With THRU or BETWEEN, do not put parentheses around the two elements
being compared. The following parenthesis are not allowed:
If Zone_Temp is (70 thru 80) then…
If Zone_Temp is between (70 thru 80) then…
Program File
If Zone_Temp is not between 70 and 80 then…
If Zone_Temp is not 70 thru 80 then…
If Zone_Temp is not (ROOMTMP-5) thru (ROOMTMP+5)
If Zone_Temp is not ROOMTMP-5 thru ROOMTMP+5
With THRU or BETWEEN, always put the lower number first. The following
examples are not allowed:
If Zone_Temp is 80 thru 70 then…
If Zone_Temp is between 80 and 70 then…

NOTICE
• Both THRU and BETWEEN are always inclusive, so the following are both
TRUE if the ZONE_TEMP is equal to 70 or 80.

If Zone_Temp is 70 thru 80 then…


If Zone_Temp is between 70 AND 80 then…

Technical 04-30006-02-en, May 2019


1796
63 Script Programming
63.24 NOT

63.24 NOT
NOT logically negates or inverts a number or expression, changing 0 (FALSE to
OFF) to 1 (TRUE or ON) or vice versa.

Syntax
not number

Table: NOT Parameter


Parameter Description

number Any number or expression.

Example
Program File
If not OCCUPIED then..
In this example, assume OCCUPIED can be ON or OFF. When OCCUPIED is
ON, placing NOT in front tests for the opposite condition, OFF.

04-30006-02-en, May 2019 Technical


1797
63 Script Programming
63.25 OR

63.25 OR
The OR keyword can be used to provide the logical OR between two
expressions, or positioned in a list of names beween the last two items.
In this second example, OR indicates the end of the series. OR with the last
name is optional. The system carries out all other operations (such as adding
and subtracting) before acting on OR (or AND).
Operators by Precedence compares the order of operations on which the
system software acts. Because OR (and AND) are acted on last, you can form
logical statements without using too many parentheses. See Example 4 for how
to use AND and OR together.

Syntax
number or number
namelist or final_name

Table: OR Parameters
Parameter Description

number Any number, name that stands for a


number, formula or function that gives a
number.

namelist One or more names with commas between


them.

final_name A single name at the end of a series of


names.

Examples
Example 1
To take an action only if at least one of several conditions exists, you use OR
between the numbers, so if one of them is true, the resulting action occurs:
Program File
If the Heat is On or the Cool is On then...
Note that in the above statement, you can substitute exclamation mark (!) for
OR.
Example 2
To put a list in an IF statement, you can use an OR between the last two names
in the list:
Program File
You cannot use the exclamation mark (!) for OR in a series. You can, however,
leave out OR as follows:
If the Zone is Warming, Occupied, Lowtemp then...
Example 3
You can also combine the logical OR with a name list containing an OR (with or
without the comma before OR) as follows:

Technical 04-30006-02-en, May 2019


1798
63 Script Programming
63.25 OR

Program File
If the Zone is either Warm, Occupied, or Low or Heat is Off then...
The controller always interprets the first OR as the list OR and the second as the
logical OR. If you want to reverse the order of the statement, use parentheses,
as follows:
Program File
If (Heat is Off) or Zone is either Warming, Occupied or Low
then...
Example 4
If OR occurs before AND, the system software interprets OR first because the
software works from left to right on AND and OR. For example, take this
statement:
Program File
If WKD = Sat or Wkd = Sun and TOD > 900 then...
The above statement is interpreted so that the items in parentheses below are
calculated first:
If (Wkd = Sat or Wkd = Sun) and TOD > 900 then...
If AND occurs before OR, the controller interprets AND first:
Program File
If TOD > 900 and Wkd = Sat or Wkd = Sun then...
is interpreted as:
If (TOD > 900 and Wkd = Sat) or Wkd = Sun then...

04-30006-02-en, May 2019 Technical


1799
63 Script Programming
63.26 Mathematical Operators

63.26 Mathematical Operators


Mathematical operators perform mathematical operations, such as addition or
subtraction.
Mathematical operators include the following keywords.

63.26.1 DIVIDED BY
DIVIDED BY divides one number by another. The division operator (/) can be
substituted for DIVIDED BY.
For more information, see section 63.27 “DIVIDED BY” on page 1801..

63.26.2 MINUS
MINUS subtracts number from number.
For more information, see section 63.28 “MINUS” on page 1802..

63.26.3 MOD
MOD returns the remainder of one number divided by another.
For more information, see section 63.29 “MOD” on page 1803..

63.26.4 PLUS
PLUS adds two expressions.
For more information, see section 63.30 “PLUS” on page 1804..

63.26.5 TIMES
TIMES multiplies two numbers.
For more information, see section 63.31 “TIMES” on page 1805..

Technical 04-30006-02-en, May 2019


1800
63 Script Programming
63.27 DIVIDED BY

63.27 DIVIDED BY
Aliases: /, DIV
DIVIDED BY divides one number by another. The division operator (/) can be
substituted for DIVIDED BY.

Syntax
number divided by number

Table: DIVIDED BY Parameters


Parameter Description

number Any number or expression.

Examples
Example 1
Program File
Usage = kwh divided by 24
Example 2
Program File
Usage = kwh/24

04-30006-02-en, May 2019 Technical


1801
63 Script Programming
63.28 MINUS

63.28 MINUS
Alias: -
MINUS subtracts number from number.

Syntax
number minus number

Table: MINUS Parameters


Parameter Description

number Any number or expression.

list Two or more numbers (as defined above)


with commas between them.

range Two numbers (as defined above), each


marking one end of a range with THRU
between them, or two numbers preceded
by BETWEEN with AND between them.

Examples
Example 1
Program File
Kwh_day = Kwh_PM minus Kwh_AM
Example 2
Program File
Kwh_day = Kwh_PM - Kwh_AM

Technical 04-30006-02-en, May 2019


1802
63 Script Programming
63.29 MOD

63.29 MOD
Alias: REMAINDER
MOD returns the remainder of one number divided by another.

Syntax
number mod number

Table: MOD Parameter


Parameter Description

number Any number or expression.

Example
Program File
Extra = 5 mod 2
The equation divides 5 by 2 and gives a remainder of 1, so EXTRA is set to 1.

04-30006-02-en, May 2019 Technical


1803
63 Script Programming
63.30 PLUS

63.30 PLUS
Alias : +
PLUS adds two expressions.

Syntax
number plus number

Table: PLUS Parameter


Parameter Description

number Any number or expression.

Example
Example 1
Program File
TotalKwh = KwhMonth plus KwhDay
Example 2
Program File
TotalKwh = KwhMonth + KwhDay

Technical 04-30006-02-en, May 2019


1804
63 Script Programming
63.31 TIMES

63.31 TIMES
Aliases: MULTIPLIED BY, MULT, *
TIMES multiplies two numbers.

Syntax
number times number

Table: TIMES Parameter


Parameter Description

number Any number or expression.

Example
Example 1
Program File
Energycost = Building1_KW times 1.78
Example 2
Program File
Energycost = Building1_KW * 1.78

04-30006-02-en, May 2019 Technical


1805
63 Script Programming
63.32 Program Statements

63.32 Program Statements


Program statements are written with Script words, known as keywords, that are
arranged in a predefined structure. Each keyword has its own keyword syntax.
According to the rules of that syntax, certain parameters and values are allowed
or not allowed to follow a keyword.

63.32.1 Statement Keywords


Statements define the actions that controllers perform (such as START), or assist
in the structure of a statement (such as THE).
For more information, see section 63.33 “Statement Keywords” on page 1807.

Technical 04-30006-02-en, May 2019


1806
63 Script Programming
63.33 Statement Keywords

63.33 Statement Keywords


Statements define the actions that controllers perform (such as START), or assist
in the structure of a statement (such as THE).
Script uses three different types of statement keywords: action, declaration, and
program control statements.

63.33.1 Action Statements


Action statements define the actions that controllers perform (such as SET).
Action statements include the following keywords:
• P
• PRINT
• SET
• TURN
For more information, see section 63.34 “Action Statements ” on page 1809.

63.33.2 Declaration Statements


Declaration statements assist in defining program variables.
Declaration statements include the following keywords:
• ARG
• DATETIME
• LINE
• NUMERIC
• STRING
• THE
For more information, see section 63.39 “Declaration Statements ” on page
1820.

63.33.3 Program Control Statements


Program Control statements assist in directing program flow.
Program Control statements include the following keywords:
• BASED ON...GOTO
• BREAK
• CONTINUE
• FOR..NEXT
• GOTO
• IF...THEN...ELSE

04-30006-02-en, May 2019 Technical


1807
63 Script Programming
63.33 Statement Keywords

• MOVE
• REPEAT...UNTIL
• RETURN
• SELECT CASE
• STOP
• STOP
• WAIT
• WHILE
For more information, see section 63.47 “Program Control Statements ” on page
1835.

63.33.4 Qualifier Statements


Qualifier statements assist in defining input, output, and public variables.
Qualifier statements include the following keywords:
• INPUT
• OUTPUT
• PUBLIC
For more information, see section 63.61 “Qualifier Statements” on page 1861.

Technical 04-30006-02-en, May 2019


1808
63 Script Programming
63.34 Action Statements

63.34 Action Statements


Action statements define the actions that controllers perform (such as SET).

63.34.1 P
P prints the values of one or more variables, points, constants, or other
expressions representing a value, including strings of characters and datetimes,
each on a separate line.
For more information, see section 63.35 “P” on page 1810..

63.34.2 PRINT
PRINT prints a series of characters (text strings, often simply called strings) to a
string object or attribute, a local variable, a printer, or a communications port.
For more information, see section 63.36 “PRINT” on page 1811..

63.34.3 SET
SET assigns a value to a point or variable.
For more information, see section 63.37 “SET” on page 1817..

63.34.4 TURN
TURN sets the name or names to the top of the defined range for the point if ON
and to the bottom of the range if OFF.
For more information, see section 63.38 “TURN” on page 1819..

04-30006-02-en, May 2019 Technical


1809
63 Script Programming
63.35 P

63.35 P
Alias: PR
P prints the values of one or more variables, points, constants, or other
expressions representing a value, including strings of characters and datetimes,
each on a separate line.
The list can contain different types of items. Prints units with point values.
For points, system variables, and attributes, prints the name of the point (or
variable or attribute), followed by an equal sign, the value of the point, and the
units. Otherwise, only the value prints.
Also, can print to comm ports and string objects (including program string
variables).

Syntax
P list

Table: P Parameter
Parameter Description

list One or more expressions with commas


between them. The list can also include
functions or attributes.

Examples
Example 1
Command Line
P SupplyAir, ReturnAir, BurnerStat, CoilStatus
SupplyAir = 46 degrees F
ReturnAir = 68 degrees F
BurnerStat = on
CoilStatus = off
Notice that the name of the point and the units print for each point.
Example 2
Command Line
P OutsideAir, Avg (Temp), AvgSetpt, OutsideAir_Type, TOD
OutsideAir_Type = 46 degrees F
86
AvgSetpt = 64
OutsideAir Type = Input
TIMEOFDAY = 8:32 pm

Technical 04-30006-02-en, May 2019


1810
63 Script Programming
63.36 PRINT

63.36 PRINT
PRINT prints a series of characters (text strings, often simply called strings) to a
string object or attribute, a local variable, a printer, or a communications port.
You can also print to a string point or local variable to fill that point or variable
with a string of text or numbers. In addition, on WorkStation, you can print to an
ASCII file.

Syntax
Format 1: any_of_formats_above to string_point_or_variable
Prints any value or string, including messages, points, or variables, into a string
point or variable to set the value of that string.
Format 2: Print string
Prints a string value of text to the default comm port of the program or report.
Format 3: Print list
Prints the values of one or more variables, points, constants, or other
expressions representing a value. The list can contain different types of items.
Format 4: Print string_format, list
Prints the variables, points, or other expressions in the list in the format you
specify.

Table: PRINT Parameters


Parameter Description

string A series of characters in quotation marks.

string_format A known character or string of characters


combined with changeable characters to
form one print line.

list A known character or string of characters


combined with changeable characters to
form one print line.

; (Optional) If you end a PRINT statement


without the semicolon, the next line you
print starts on a new line. If you want to
print two strings one after the other on the
same line, you must end the first with a
semicolon.

string_point_or_variable Any defined string point or string variable.

Formatting Characters
You can indicate the layout of the print line using the following special symbols:

04-30006-02-en, May 2019 Technical


1811
63 Script Programming
63.36 PRINT

Table: Special PRINT Line Symbols


Character Description

| Indicates the beginning of a series of


characters that are strictly for formatting
and not to be treated as text. When
followed by a numeric constant, indicates
an ASCII code follows.

|" (A vertical bar immediately before a


quotation mark.) Indicates to print the
quotation mark, rather than interpreting
that mark as the beginning or end of the
string.

| numeric_constant Produces the ASCII code that corresponds


to the numeric constant. For example, |7
would produce a bell or beep if printed on
a terminal. |13 is the carriage return
character. See the ASCII Codes for more
codes.

# Represents one character that is numeric.


The series of characters prints right-
justified, filling with blanks any blank
characters to the left.

$### Displays either ON, -ON, or OFF (as with


tristate Output point).

% Multiplies the point value by 100 and


places a percent sign after that point value
(most useful with scale of 0 to 1, where 1 is
100%).

* Prints the next argument result.

- Prints a leading or trailing minus sign, if


expression is a negative number; prints a
leading or trailing plus sign if expression is
a positive number.

} Removes trailing zeroes (extra decimal


spaces)

, Prints commas every third digit left of the


decimal point.

> Right justifies the number or text within the


format.

< Left justifies the number or text within the


format.

^^ Displays a numeric expression in scientific


notation.

@ Represents one character of any kind,


alphabetic or numeric. A series of
characters prints left justified, filling with
blanks any blank characters to the right.

Technical 04-30006-02-en, May 2019


1812
63 Script Programming
63.36 PRINT

The format must be enclosed in quotation marks. The comma is required after
the format (outside the quotation marks) if an item to insert in the format follows
(see Example 3).

Examples

Table: PRINT Program File and Output Columns


No. Program File Output Explanation

1 Print - Prints the value


"HEAT_SETPT" into the string
to PointName and changes its
setting. You can
set a string
point or variable
this way.

2 Print "WARNING - WARNING-Trouble The string of


Trouble on the on the 4th Floor! characters prints;
4th Floor!" the quotation marks
do not.

3 Print TEMP1, 67 72 77 75 The value of each


TEMP2, TEMP3, variable in the list
TEMP4 prints, with a space
after the value.

4 Print "The The Temperature is The string prints with


temperature is 75.0 at 4:32:05 a value of the first
|###.# at point (or variable) in
|##:##:##", the first format and
~Temp4, Hour, the value of the next
Minute, Second point or variable in
the next format. If
there are more than
two formats, the
subsequent point or
variable values are
printed in the
corresponding
formats in order.

5 Print 1340 Leaves 3 leading


"|#######", spaces before the
Total_Watts value of Total Watts.
The value prints on
the terminal called
TERMINAL.

6 Print WeekDay; Tuesday January 2 Prints all text and


spaces on the same
Print " "; line because each
Print Month; PRINT statement
ends with a
Print " "; semicolon (;).
Print DayOfMonth

04-30006-02-en, May 2019 Technical


1813
63 Script Programming
63.36 PRINT

Continued
No. Program File Output Explanation

7 Print 1,340.00 Leaves one leading


"|##,###.##", space. Adds the
Total_Watts comma after the 1
and has two zeros
after the decimal.

8 Print 1,340 Drops extra decimal


"#,###.##}", places (trailing
Total_Watts zeros).

9 Print "The Fan The Fan Status is Prints ON, -ON, or


Status is ON OFF for a digital or
|$###", tristate point, left-
FanStatus justifying ON in the
format.

10 Print "The The Damper Setting Prints the pulsing


Damper Setting is 20.00 value of the damper
is |##.##", in the format. Here
Damper the damper is ON
for 20 seconds. for -
ON, the value is
negative.

11 Print "| *", Murphy Johnson Outputs any number


Murphy FullName of characters of any
type that are in the
FullName attribute.
The * is particularly
useful when you do
not want to limit the
number of character
in a variable.

12 Print Heater Failed! The message inside


"|@@@@@@@@@@@@@ STRMSG prints left
@", justified in the 14
characters allowed
~ STRMSG to by the @ signs.
Building1
Console

13 Print 21.7 Right justifies and


"|>#######.##}" drops the trailing 0.
, 21.70

14 Print "|-##>##", +88.8 Prints leading minus


88.8 sign if the number is
negative and the
leading plus sign if
the number is
positive. Prints all
trailing zeros.

Technical 04-30006-02-en, May 2019


1814
63 Script Programming
63.36 PRINT

Continued
No. Program File Output Explanation

15 Print "|##.##-", 88.80- Prints trailing minus


-88.80 sign if the number is
negative and the
trailing plus sign if
the number is
positive. Prints all
trailing zeros.

16 Print "|###^## 8,97e03+05 is the Prints the number is


is the "Total." scientific notation.
|"TOTAL.|"", Also prints the
97000 quotation marks
around VALUE,
because a vertical
bar is before each
quotation mark that
should print.

17 Print 8,97e-01 Prints in scientific


"|###^##"", notation with
.8970 negative exponent.

18 Print "|- +1.340e+06 Prints in scientific


##.##^##"", notation with a
1340000 leading plus sign for
a positive number.

19 Print "The The blower's current Prints the text string


blower's current state is ENABLED. left justified in the
state is format and leaves a
|@@@@@@@@.",~ blank for the
Blower State unfulfilled character
at the end.

20 Print "The valve The Valve is set to Prints the value in


is set to |%### 45% open. engineering units as
open.",~Water_V a percentage of the
alue scale for the point.
This format works
best with a scale of
0 to 1, where 0 is
fully closed and 1 is
fully open. So, if the
value is 1, the
statement prints
100%. If the value is
.45, the statement
prints 45%.

04-30006-02-en, May 2019 Technical


1815
63 Script Programming
63.36 PRINT

Continued
No. Program File Output Explanation

21 Print "Date:", Date: December 4, Prints the date.


Month, 2008 Commas must
",~DayOfMonth, separate each
Test Report group of literal text.
",",Year
Notice that the only
Print " " place a space
Print "Test displays is
Report" immediately after
the word Date. You
must specify the
blank space in
quotation marks.
Also prints a blank
line between the
date and the report
title. If you use the
word PRINT,
followed by one
blank in quotation
marks, then the
entire line prints as a
blank line (as long
as you do not put a
semicolon at the
end).

Technical 04-30006-02-en, May 2019


1816
63 Script Programming
63.37 SET

63.37 SET
Alias: ADJUST and CHANGE (Format 1 only), LET (Format 2 only), MODIFY
SET assigns a value to a point or variable.

Syntax
Syntax 1: Set namelist to number
Syntax 2: Set namelist = number

Table: SET Parameters


Parameter Description

namelist Any defined name or list of names. The


name or names can be any of the following
types:
• Point (any type).
• Local variable, either numeric, string,
or datetime.
The type of name must match the type of
number.

number Any number or expression, including a


string or date and time, or a name that
stands for either of those.
A numeric name can accept only the
results of a numeric expression. A string
name can accept only text. A datetime
name can accept only a date and time.

Examples
Example 1
At any time in a program, you can set the value of a variable or array of variables
using SET and the word TO:
Program File
Set area to height times width
You can also use ADJUST, CHANGE, or MODIFY with TO. With ADJUST and
CHANGE, the TO is required:
Program File
Adjust Valve to Open
Program File
Change Space_SP to 72
Program File
Modify Space_SP to 72
You cannot use the equal sign with ADJUST or CHANGE, but you can use the
equal sign with MODIFY.
Example 2

04-30006-02-en, May 2019 Technical


1817
63 Script Programming
63.37 SET

You can set a variable using SET and an equals sign as in the example below:
Program File
Set KwAbg = Average (KW)
Instead of SET, you can use LET with the equals sign, as follows:
Program File
Let KwAvg = Average (KW)
You cannot use the word TO with LET.
Neither the word SET nor the word LET is required with the equals sign, so you
can set the same variable like this:
Program File
KwAvg = Average (KW)
Example 3
You can set a string variable or point to a particular value:
Program File
Set Stat_Message to "Heat active"
Example 4
You can set several points and variables to a particular value:
Program File
Set KwAvg, OATAvg, HWAvg, CHWAvg = 0

Technical 04-30006-02-en, May 2019


1818
63 Script Programming
63.38 TURN

63.38 TURN
TURN sets the name or names to the top of the defined range for the point if ON
and to the bottom of the range if OFF.

Syntax
Format 1: Turn On point_list
TURN OFF point_list
Format 2: Turn point_list On
TURN point_list OFF

Table: TURN Parameter


Parameter Description

point_list One or more defined output or numeric


points; the statement is not designed for
other types of points.

Examples
Example 1
Suppose you want to turn on the fan and the pump. You can turn both on in one
program statement:
Program File
Turn on the Fan and the Pump
Example 2
You can place the word ON or OFF after the name of the point:
Program File
Turn the Pump off
Example 3
You can also place ON or OFF before the name of the point:
Program File
Turn off the Pump

04-30006-02-en, May 2019 Technical


1819
63 Script Programming
63.39 Declaration Statements

63.39 Declaration Statements


Declaration statements assist in defining program variables.

63.39.1 ARG
ARG is a keyword that defines an argument and can be given a name. After you
assign an easy-to-remember name to an argument variable, you can then refer
to that variable by its name so your function is easier to understand.
For more information, see section 63.40 “ARG” on page 1822..

63.39.2 DATETIME
DATETIME creates and defines one or more names as local DATETIME
variables. You define the variables inside a program for use only in that
particular program.
For more information, see section 63.41 “DATETIME” on page 1823..

63.39.3 LINE
LINE labels a particular line in the program so that program control can later
branch or move to that line with the GOTO (or more advanced BASED
ON..GOTO) statement.
For more information, see section 63.42 “LINE” on page 1825..

63.39.4 NUMERIC
NUMERIC creates and defines one or more names as local numeric variables.
You define the variables inside a program for use only in that particular program.
For more information, see section 63.43 “NUMERIC” on page 1829..

63.39.5 STRING
STRING creates and defines one or more names as local string variables. You
define the variables inside a program for use only in that particular program. You
can specify the length of the string of characters with the string_length.
For more information, see section 63.44 “STRING” on page 1831..

63.39.6 THE
THE performs no function, but enhances readability.
For more information, see section 63.45 “THE” on page 1833..

Technical 04-30006-02-en, May 2019


1820
63 Script Programming
63.39 Declaration Statements

63.39.7 Webservice
Webservice delares a Web Service in a Script program.
For more information, see section 63.46 “ Webservice” on page 1834.

04-30006-02-en, May 2019 Technical


1821
63 Script Programming
63.40 ARG

63.40 ARG
Alias: PARAM
ARG is a keyword that defines an argument and can be given a name. After you
assign an easy-to-remember name to an argument variable, you can then refer
to that variable by its name so your function is easier to understand.
ARG can only be used to declare that variable in a function (Syntax 1). ARG
calls the argument variable by the variable’s number (Syntax 2).

Syntax
Syntax 1: ARG integer_constant name
Syntax 2: ARG [ integer_expression ]

Table: ARG Parameters


Parameter Description

integer_constant Any integer between 1 and 15.

name Any name you choose for the argument


including underscore and period, but must
begin with a letter. Not a keyword.

integer_expression Any integer or expression that gives an


integer.

Examples
Example 1
In this example, ARG[5] represents the status of a report. To make that easier to
understand, ARG[5] is named RPTSTATUS. The program refers to RPTSTATUS
for the variable value from then on.
Function File
ARG 5 RptStatus
Example 2
To test to see if the report status equals SUCCESS, you can call on the argument
variable using the easy-to-remember name (from Example 1):
Function File
If RptStatus is Success then…
Example 3
To test to see if the report status equals SUCCESS, you can also call on the
argument variable using ARG[5]:
Function File
If ARG[5] is Success then…

Technical 04-30006-02-en, May 2019


1822
63 Script Programming
63.41 DATETIME

63.41 DATETIME
DATETIME creates and defines one or more names as local DATETIME
variables. You define the variables inside a program for use only in that
particular program.
You define the variables as follows:
• Specify an array by including the array_size_number during the array
definition since each variable can be a single variable or an array.
• Add seconds as if the datetime were a number because the datetime is
stored in seconds.
• Define all local datetime variables at the top of your program.
• Set the datetime variable to the time at a given moment using the DATE
system variable.
• Print the datetime variable. When you do, you receive the date and time
printed in this format:
MONTH DD YYYY hh:mm:ss
The month is spelled out; the day is two digits, the year is four digits. The
hour, minute, and second are in 24-hour time.
Binding Qualifiers
Variables can also be bound to the object property of a point outside of the
program. To do this, you must use a keyword, either Input or Output.

Syntax
Datetime Binding_qualifier namelist [ array_size_number ]

Table: DATETIME Parameters


Parameter Description

namelist The name of a datetime variable you are


defining or a series of datetime variables
separated by commas.

array_size_number A number up to 32,767 that tells the


controller how many positions are in the
array.

Binding_qualifier The keyword Input or Output, which you


can bind to a point.

Examples
Example 1
In this program, the first statement defines the TEMPTIME as a datetime
variable. The next statement sets the variable to the time at a given moment with
the DATE system variable:
Program File
Datetime TempTime
TempTime = date
Example 2

04-30006-02-en, May 2019 Technical


1823
63 Script Programming
63.41 DATETIME

You can define a series of datetime variables in a single statement:


Program File
Datetime TempTime, FirstTime, LastTime
Example 3
You can define more than one array of datetime variables in a single statement:
Program File
Datetime TempTime[40], Timer[30], Watch[15]
Example 4
You can define several arrays of datetime variables and several single variables
in a single statement:
Program File
Datetime TempTime[40], FirstTime, Timer[30], LastTime

Technical 04-30006-02-en, May 2019


1824
63 Script Programming
63.42 LINE

63.42 LINE
LINE labels a particular line in the program so that program control can later
branch or move to that line with the GOTO (or more advanced BASED
ON..GOTO) statement.

NOTICE
• Line names 0, C, and E are reserved for use by WorkStation. LINE 0 is
predefined for stopping the program, so you cannot label a line LINE 0.
However, you can use GOTO line 0 to stop a program. You can label a line
LINE E and the program automatically goes to that line when an error
occurs. LINE C is reserved for future use.

You can label lines to redirect program flow to any part of the program. For
example, you could return program flow to an earlier line, such as the first line.
Or you could send program flow to a later line to branch into a specific set of
actions.

Syntax
Line linename
linename:
Line integer
Integer:

Table: LINE Parameters


Parameter Description

linename Any single character or word that is not a


keyword, except:
• C (reserved)
• E (used for error detection)
You must begin the name with an
alphabetic character. In the GOTO
statement, the label must be spelled
exactly as is in the LINE statement;
however, you can interchange upper- and
lowercase.

integer Any single whole number, except 0.


LINE 0 is predefined for stopping the
program, so you cannot label a line LINE 0.
However, you can use the GOTO line 0 to
stop a program.

Format 2 The linename followed by a colon (:) on its


own line.

Format 4 The integer followed by a colon (:) on its


own line. In this case, the line has a line
number for a name.

04-30006-02-en, May 2019 Technical


1825
63 Script Programming
63.42 LINE

Examples
Example 1
In the following example the first linename is STARTUP, labeled LINE STARTUP.
Follow the program flow to see how the line name directs the control of the
program.
Program File
Line Startup
If Temp > 72 then goto Cooling
If Temp < 70 then goto Heating
Line Heating
Turn on the Heat
...
Goto Startup
Line Cooling
Turn on the Blower
...
Goto Startup
Example 2
This example is the same as the last, only each linename is labeled with the
name followed by a colon:
Program File
Startup:
If Temp > 72 then goto Cooling
If Temp < 70 then goto Heating
Heating:
Turn on the Heat
...
Goto Startup
Turn on the Blower
Cooling:
...
Goto Startup
Example 3
This example shows how to use an integer as a line label:
Program File
LINE 1
Start Fan1
Goto 2
LINE 2
If Fan1_Status is on then goto Shutdown

Technical 04-30006-02-en, May 2019


1826
63 Script Programming
63.42 LINE

LINE Shutdown
If Zone1 temperature is less than 60 then
Stop Fan1
Goto 1
Endif
Example 4
This example shows an integer with a colon as a line label:
Program File
1:
Start Fan1
Goto 2
2:
If Fan1_Status is on then goto 3
3:
If Zone1 temperature is less than 60 then
Stop Fan1
Goto 1
Endif
Example 5
This example shows a program that has a line labeled E. The program
automatically goes to line E when an error occurs. If you do not have a line E, the
software automatically disables the program. When an error occurs, you might
want the program to go to a special line. For example, you might want the
program to go to a special line that closes an open comm port (see OPEN).
The following program goes to line E and closes the comm port when an error
occurs:
Program File
Numeric Result
Line OpenPort3
Result = Open (Comm3)
Line TestingOpen
If result = success then goto PrintMenus
Line PrintMenus
Run MenuDisplay
...
If Comm3_PrintDone = true then goto ClosePort3
Line ClosePort3
Result = Close (Comm3)
Line TestingClose
If result = Success then Stop

04-30006-02-en, May 2019 Technical


1827
63 Script Programming
63.42 LINE

Line E
Result = Close (Comm3)
Print "EMERGENCY EXIT - MENUPROGRAM FAILED."
If you have a line E, when an error occurs, line E displays in the file status
information.

Technical 04-30006-02-en, May 2019


1828
63 Script Programming
63.43 NUMERIC

63.43 NUMERIC
Alias: NUMBER
NUMERIC creates and defines one or more names as local numeric variables.
You define the variables inside a program for use only in that particular program.

NOTICE
A numeric variable is a name that represents a number. Numeric variables are
subject to the same range limitations as numeric constants. Numeric
constants, variables, points, expressions (formulas), or functions can be
compared to other numeric type items or used in mathematical calculations.

Each variable can be a single variable or an array. You specify an array by


including the array_size_number during the array definition.

Binding Qualifiers
Varibles can also be bound to the object property of a point outside of the
program. To do this, you must use a keyword, either Input or Output.

Syntax
Numeric Binding_qualifier namelist [array_size_number]

Table: NUMERIC Parameters


Parameter Description

namelist The name of the numeric variable you are


defining, or a series of numeric variables
separated by commas.

array_size_number A number up to 32,767 that tells the


controller how many positions are in the
array.

Binding_qualifier The keyword Input or Output which you


can bind to a point.

Examples
Example 1
Suppose that you are averaging the values of the ten temperatures. The points
that take the outside air temperature have been defined using menus and
windows, but you define the variable that contains the average using NUMERIC:
Program File
Numeric Avg_Temp
Avg_Temp = Average (Temp)
Print Avg_Temp
Example 2
You can define a series of numeric variables in a single statement:
Program File

04-30006-02-en, May 2019 Technical


1829
63 Script Programming
63.43 NUMERIC

Numeric Ave_OAT, AVE_Temp, Fan_SP


Example 3
You can define an array of numeric variables in a single statement:
Program File
Numeric Fan_SP[20]
Example 4
You can define several arrays of numeric variables and several single variables
in a single statement:
Program File
Numeric Fan_SP[20], Pump_SP, AHU_SP[10], Heat_SP

Technical 04-30006-02-en, May 2019


1830
63 Script Programming
63.44 STRING

63.44 STRING
STRING creates and defines one or more names as local string variables. You
define the variables inside a program for use only in that particular program. You
can specify the length of the string of characters with the string_length.

NOTICE
A string variable is a name that represents a series of alphanumeric
characters. String constants, variables, points, expressions, or functions can
be compared to other string type items. Strings cannot be used in
mathematical calculations unless they are converted to a numeric type.

Each variable can be a single variable or an array. You specify an array by


including the array_size_number during the array definition.
You must define all local string variables at the top of your program.
STRING is used to store textual information in the current program.
If you do not give a string_length, the string is given the default length, which is
16 characters.

NOTICE
For EcoStruxure BMS servers, the maximum string_length is 255 characters.
For b3 BACnet devices, the maximum length is 32 characters. The Script
compiler catches any number that is out of range.

Binding Qualifiers
Varibles can also be bound to the object property of a point outside of the
program. To do this, you must use a keyword, either Input or Output.

Syntax
String Binding_qualifier string_length namelist [array_size_number]

Table: STRING Parameters


Parameter Description

namelist The name of the string (text) variable you


are defining, or a series of string variables
separated by commas.

array_size_number (Optional) Any number up to 32,767 that


tells the controller how many positions are
in the array.

Binding_qualifier The keyword Input or Output which you


can bind to a point.

Examples
Example 1
To set a string variable, you must first define that variable using STRING. To
define a single string variable of the default length, you enter this program line:

04-30006-02-en, May 2019 Technical


1831
63 Script Programming
63.44 STRING

Program File
String VarName
Example 2
To have a program read information from a file containing text, you would create
a series of string variables like those below to contain each piece of text
information. You can create them all in the same program line:
Program File
String 20 LNAME, LOGON, PWORD, ROOM, TERMINAL
The length of each string is 20. To give them different lengths, you must define
(declare) each one separately.
Example 3
To create a string array of variables, you must first define the array. The string
called PUMP below is an eight-character string with 20 variables in the array
(PUMP[1], PUMP[2], PUMP[3], and so on).
Program File
String 8 Pump[20]
Pump[6] = "HeatPump"
Example 4
You can create several arrays of string variables and single string variables all in
one program line:
Program File
String Pump[6], Blower[8], HeaterNM, FanName

Technical 04-30006-02-en, May 2019


1832
63 Script Programming
63.45 THE

63.45 THE
THE performs no function, but enhances readability.

Syntax
the name

Table: THE Parameter


Parameter Description

name Any point, piece of equipment, terminal,


computer, or printer.
THE can precede a name only. THE
cannot precede a keyword that designates
an action (verb).

Examples
Program File
Turn on the Fan

04-30006-02-en, May 2019 Technical


1833
63 Script Programming
63.46 Webservice

63.46 Webservice
Webservice delares a Web Service in a Script program.
For more information, see section 65.1 “Script Web Services” on page 2045.

NOTICE
Webservice is not supported in the MP Series controller.

Syntax
Webservice (service name)

Table: Webservice Parameter


Parameter Description

service name Any Web Service name of your choosing.

NOTICE
The Web Service declaration name does not need to match the Script Web
Service object you intend to bind.

Example
You declare a Web Service here in order to invoke an online calculator service.
Program File
Webservice wsCalculator

Technical 04-30006-02-en, May 2019


1834
63 Script Programming
63.47 Program Control Statements

63.47 Program Control Statements


Program Control statements assist in directing program flow.

63.47.1 BASEDON...GOTO
BASEDON...GOTO branches to a different line for each value the number can
have. You put the line names in the linelist.
For more information, see section 63.48 “BASEDON...GOTO” on page 1838..

63.47.2 BREAK
BREAK halts the smallest enclosing FOR...NEXT, REPEAT...UNTIL, WHILE, or
SELECT CASE statement.
For more information, see section 63.49 “BREAK” on page 1840..

63.47.3 CONTINUE
CONTINUE stops the current iteration of the smallest enclosing FOR...NEXT,
REPEAT...UNTIL, or WHILE statement and starts the next iteration from the top of
the loop. CONTINUE also exits the SELECT CASE statement.
For more information, see section 63.50 “CONTINUE” on page 1841..

63.47.4 FOR...NEXT
FOR...NEXT carries out all statements in a loop a fixed number of times.
For more information, see section 63.51 “FOR...NEXT” on page 1842..

63.47.5 GOTO
GOTO branches to the line labeled linename.
For more information, see section 63.52 “GOTO” on page 1845..

63.47.6 IF...THEN...ELSE
IF...THEN...ELSE carries out a given statement or series of statements if the
expression is TRUE.
IF...THEN...ELSE can also carry out a given statement or series of statements if
the given expression is FALSE.
For more information, see section 63.53 “IF...THEN...ELSE” on page 1848..

04-30006-02-en, May 2019 Technical


1835
63 Script Programming
63.47 Program Control Statements

63.47.7 MOVE
MOVE converts engineering units to electrical units to control the output point,
using the top and bottom of scale for that point.
For more information, see section 63.54 “MOVE” on page 1852..

63.47.8 Repeat...Until
Repeat...Until carries out the statements in the loop until the number is true.
For more information, see section 63.55 “Repeat...Until” on page 1853..

63.47.9 RETURN
In a function, the RETURN keyword controls the calling program, returns and
sends the number to the calling program, and returns the contents of the
variable.
For more information, see section 63.56 “RETURN” on page 1854..

63.47.10 SELECT CASE


SELECT CASE executes one or more statements, depending on the value of a
test_expression.
For more information, see section 63.57 “SELECT CASE” on page 1856..

63.47.11 STOP
With an output point, STOP actually stops the piece of equipment. With an input
point, STOP sets the point to the bottom of the defined scale. With a numeric
point, STOP sets the point to the lowest number in the controller system. You
might STOP an input after using the RUN keyword in order to test whether the
input is active.
For more information, see section 63.58 “STOP” on page 1858..

63.47.12 WAIT
WAIT makes a program's execution wait for a specified number of seconds and
then resume right after the WAIT command statement.
For more information, see section 63.59 “WAIT” on page 1859..

Technical 04-30006-02-en, May 2019


1836
63 Script Programming
63.47 Program Control Statements

63.47.13 WHILE
WHILE carries out the instructions in the statements within the loop over and
over again as long as the given number is TRUE.
For more information, see section 63.60 “WHILE” on page 1860..

04-30006-02-en, May 2019 Technical


1837
63 Script Programming
63.48 BASEDON...GOTO

63.48 BASEDON...GOTO
BASEDON...GOTO branches to a different line for each value the number can
have. You put the line names in the linelist.

Syntax
Syntax 1:
Basedon (number) Goto linelist
or
Basedon (number) Go to linelist
or
Basedon (number) Go to linelist
Syntax 2:
Basedon (number) Goto Line linelist
or
Basedon (number) Go to Line linelist

Table: BASEDON... GOTO Parameters


Parameter Description

number Any number or expression. If less than 1 or


greater than the number of lines in the
linelist, the controller ignores the
BASEDON...GOTO statement and
executes the statement immediately after
BASEDON...GOTO.

linelist One or more defined line labels (see LINE


statement) present in the current program.
The label must be spelled here just as the
label is defined, except you can
interchange upper- and lowercase. The
line label can also be an integer.

Examples
You can have a series of steps (a line) that you want to run every Friday to shut
down equipment not required over the weekend. Then, every Monday you can
restart that equipment.
To run different lines on particular days, you write a program that activates
certain lines based on the day of the week. The lines are labeled with LINE,
telling the line the routine starts on.
Remember that SUN is considered the first day of the week, so in the program
below, the first line listed after GOTO runs on Sunday, the next on Monday, the
next on Tuesday, and so on:
Program File
Basedon Wkd Goto Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1

Line Sun_1

Technical 04-30006-02-en, May 2019


1838
63 Script Programming
63.48 BASEDON...GOTO


Line Mon_1

Line Tue_1

Line Wed_1

Line Thu_1

Line Fri_1

Line Sat_1

NOTICE
• The following variations to the BASEDON statement (above) are acceptable.

You can also include the word LINE in front of the line list:
Basedon Wkd Goto Line Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1,
Sat_1
You can replace GOTO with the word GO:
Basedon Wkd Go Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1
You can separate the word GO from the word TO:
Basedon Wkd Go to Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1
You can include the word LINE after GO and TO:
Basedon Wkd Go to Line Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1,
Sat_1

04-30006-02-en, May 2019 Technical


1839
63 Script Programming
63.49 BREAK

63.49 BREAK
BREAK halts the smallest enclosing FOR...NEXT, REPEAT...UNTIL, WHILE, or
SELECT CASE statement.
After BREAK executes, the next statement the controller carries out is the one
immediately following the end of the loop or block.

Syntax
Break

Examples
To check several stored temperatures to see if any is reading over 75 degrees,
you use a FOR...NEXT loop. Normally, the loop below would end after checking
the 20 temperatures. To exit the loop as soon as you find one over 75 degrees,
you use the BREAK statement.
Program File

Technical 04-30006-02-en, May 2019


1840
63 Script Programming
63.50 CONTINUE

63.50 CONTINUE
CONTINUE stops the current iteration of the smallest enclosing FOR...NEXT,
REPEAT...UNTIL, or WHILE statement and starts the next iteration from the top of
the loop. CONTINUE also exits the SELECT CASE statement.
Each time the loop repeats, the action is an iteration of that loop.

Syntax
Continue

Examples
To check several temperatures stored in an array and print names of those over
75 degrees, you use a FOR...NEXT loop. (See the FOR...NEXT statement.)
Normally, the loop below would print the names of all 20 stored temperatures. To
get the loop to select those over 75, use CONTINUE to break the loop whenever
one is less than or equal to 75, and skip to the next array item.
Program File

In the above program, if the temperature is less than or equal to 75 degrees,


CONTINUE tells the controller to go back to the top of the FOR...NEXT loop to
check the next temperature (and therefore skip any statement between
CONTINUE and the NEXT statement).

04-30006-02-en, May 2019 Technical


1841
63 Script Programming
63.51 FOR...NEXT

63.51 FOR...NEXT
FOR...NEXT carries out all statements in a loop a fixed number of times.

Syntax
Syntax 1:
For numeric_name = begin to end
Statement
Statement
...
Next numeric_name
Syntax 2:
For numeric_name = begin to end step number
Statement
Statement
...
Next numeric_name

Table: FOR...NEXT Parameters


Parameter Description

numeric_name A defined local variable or point that


stands for a number.
The numeric_name after NEXT must be the
same as the one after FOR.

statement Any complete instruction that tells the


program what to do next or what action to
take.

begin An integer expression.

end An integer expression.

number The amount to increase numeric_name by


each time the controller goes through the
loop.

Examples
Example 1
A FOR...NEXT loop looks like this:
Program File
For count = 2 to 10 step 2
Print count, " ", (10 + count)
Next count

Technical 04-30006-02-en, May 2019


1842
63 Script Programming
63.51 FOR...NEXT

The statement sets the value of the numeric_name to the begin value, then
carries out the statements after FOR until reaching NEXT. At NEXT, the program
goes back to FOR and gets the next value of numeric_name by adding number
to begin.
Here, since begin is 2, end is 10, and number is 2, the numeric_name (often
called the counter) counts 2, 4, 6, 8, 10. The first time through the loop
numeric_name is 2, the second time numeric_name is 4, and so on.
As long as numeric_name is less than or equal to end, the statements inside the
loop are carried out. When numeric_name is greater than end the program then
goes to the statement after NEXT.
Here is the output printed by the previous loop:
2 12
4 14
6 16
8 18
10 20
If you do not specify a STEP number, the name automatically increases by one
(increments) each time the loop executes.
The step can also be a negative step, taking the value of the name from a begin
of, for example, 10 to an end of 1 by a number of -1.
The step can also be a negative step, taking the value of the name from a begin
of, for example, 10 to an end of 1 by a number of -1.
Example 2
Before you run functions that use the ARG variables, you can set them all to zero
with one programming statement using FOR...NEXT:
Program File
For count = 1 to 15
Set ARG[count] = 0
Next count
The first time through the loop, ARG[1] is set to 0, the second time ARG[2] is set
to 0, the third time ARG[3] is set to 0, and so on.
Example 3
To set every third value in an array to zero, you can go to the third item, then
sixth, then ninth, and so on, using STEP with FOR...NEXT:
Program File
Number count
For count = 3 to 15 step 3
Set Pump[count] = 0
Next count
Example 4
To find a filtered average, you could set up a function called FILT_TOTAL. The
function, shown below, uses FOR...NEXT to loop from ARG[3] through ARG[15],
and add only the numbers with a value between that of ARG[1] and ARG[2].
Function File

04-30006-02-en, May 2019 Technical


1843
63 Script Programming
63.51 FOR...NEXT

Technical 04-30006-02-en, May 2019


1844
63 Script Programming
63.52 GOTO

63.52 GOTO
GOTO branches to the line labeled linename.

Syntax
Syntax 1: Goto linename
Syntax 2: Goto Line linename
Syntax 3: Go linename
Syntax 4: Go To linename
Syntax 5: Go To Line linename

Table: GOTO Parameter


Parameter Description

linename Any line label created with the LINE


statement. Must be in the same program.

Examples
Example 1
In the following looping program, the GOTO statement with IF..THEN controls
the heating and cooling processes:
Program File
Line Beginning
If Temp is less than 68 then Goto Heating
If Temp is greater than 76 then Goto Cooling
Line Heating
Turn on Heater1
Goto Beginning
Line Cooling
Turn on Cool1
Goto Beginning
Both Heating and Cooling are line labels. When the temperature changes,
GOTO sends control to the appropriate line.
The controller then executes instructions in the labeled line.
Notice that the GOTOs have been strategically placed so the controller executes
some statements and skips others.
Example 2
You can include the word LINE in front of the line name, as follows:
Program File
Line 1
Start Fan1
Goto Line 2

04-30006-02-en, May 2019 Technical


1845
63 Script Programming
63.52 GOTO

Line 2
If Fan1_Status is on then Goto Line Shutdown
Line Shutdown
If Zone1 Temp is less than 60 then
Stop Fan1
Goto Line 1
Endif
Example 3
You can leave out TO and type only GO:
Program File
Line Beginning
If Temp is less than 68 then go Heating
If Temp is greater than 76 then go Cooling
Line Heating
Turn On Heater1
Go Beginning
Line Cooling
Turn On Cool1
Go Beginning
Example 4
You can separate GO and TO, as follows:
Program File
Line Beginning
If Temp is less than 68 then Go to Heating
IF Temp is greater than 76 then Go to Cooling
Line Heating
Turn Heater1
Go to Beginning
Line Cooling
Turn On Cool1
Go to Beginning
Example 5
You can separate GO and TO, and include LINE as well:
Program File
Line Beginning
If Temp is less than 68 then Go to Line Heating
If Temp is greater than 76 then Go to Line Cooling
Line Heating
Turn On Heating1

Technical 04-30006-02-en, May 2019


1846
63 Script Programming
63.52 GOTO

Go to Line Beginning
Line Cooling
Turn On Cool1
Go to Line Beginning

04-30006-02-en, May 2019 Technical


1847
63 Script Programming
63.53 IF...THEN...ELSE

63.53 IF...THEN...ELSE
IF...THEN...ELSE carries out a given statement or series of statements if the
expression is TRUE.
IF...THEN...ELSE can also carry out a given statement or series of statements if
the given expression is FALSE.
For all formats, the following actions take place:
• If the expression is TRUE, the controller carries out the statement or
statements following THEN.
• If the expression is FALSE, the controller skips those statements after THEN
and does either of these actions:
– Carries out the statements after ELSE (if ELSE is used).
– Moves on to the next statement after the IF..THEN block.
Whether the expression is TRUE or FALSE, when the IF..THEN statement is
complete, program flow goes to the statement following the IF..THEN statement
unless the flow is directed to another line using GOTO, BREAK, or CONTINUE.
If you have multiple statements after THEN, they must occur on consecutive
(physical) lines, and the end of the statement must be marked with ENDIF.
Here are some general rules you should follow for all formats:
• IF and THEN must always be on the same physical line.
• THEN can be followed by one statement on the same physical line or many
statements on the physical lines that follow.
• If a multi-line statement, ELSE must always be on a physical line by itself
(Syntax 4).
• ELSE can be followed by one statement on the same physical line or
multiple statements on the physical lines that follow (Syntax 4).
• ENDIF is required to close an IF..THEN block when multiple statements
occur after THEN or when one or more statements occur after ELSE.
• When you use an IF statement after THEN, that statement must be nested
under THEN and end with ENDIF. (See Example of an IF statement after
THEN, below.)

Syntax
Syntax 1:
If expression then statement
Syntax 2:
If expression then
statement
statement
statement
..
ENDIF
Syntax 3:
If expression then statement else statement

Technical 04-30006-02-en, May 2019


1848
63 Script Programming
63.53 IF...THEN...ELSE

Syntax 4:
If expression then
statement
statement
statement
...
Else
statement
statement
statement
...
Endif

Table: IF...THEN...ELSE Parameters


Parameter Description

expression Any number or expression. The expression


can be a TRUE or FALSE comparison.

statement Any complete instruction that tells the


program what to do next or what action to
take.

Examples
Example of Syntax 1
To take a single action if the expression is TRUE, you use Syntax 1, the single-
line IF..THEN statement:
Program File
If TOD >= 1200 then Goto Noon
If the time of day is greater than 12:00 noon, then program flow moves to the
NOON line. Otherwise, the program continues with the next statement.

NOTICE
• If you put THEN on a separate physical line from IF, a syntax error occurs.

Example of Syntax 2
To take several actions if the expression is TRUE, and take no action if the
expression is FALSE, you use Syntax 2:
Program File
If Wkd = Mon and TOD > 800 and TOD < 1600 then
Run the HeaterProg
Run the FanCheckProg
Stop the PumpProg

04-30006-02-en, May 2019 Technical


1849
63 Script Programming
63.53 IF...THEN...ELSE

Endif
If the expression is FALSE, the controller ignores the statements following THEN
and moves to the statement after ENDIF.
Example of Syntax 3
To take a single action if an expression is TRUE and another single action if the
expression is FALSE, you use Syntax 3:
Program File
If TOD > 800 & TOD < 1700 then Run DayPrg else Run NiteProg
Notice that IF, THEN, and ELSE must all be on one line in this format.
Example of Syntax 4
To take several actions if the expression is TRUE or take several others if the
expression is FALSE, you use Syntax 4:
Program File
If Temp < 72 and Pump.Stat is off then
Turn on the Fan
Close the Damper
Else
Turn off the Fan
Open the Damper
Endif
ELSE stands on a line by itself in this format, and the end of the IF.. THEN..ELSE
statement must be marked by ENDIF.
Example of nested IFs
IF statements can be included (nested) within other IF statements.
Program File
If the Wkd is Either Saturday OR Sunday then
Set Occupancy to Off
Stop the DailyProgram
If the Temp is Greater Than 70 then
Turn On the Fan
Open the Damper
Else
Turn OFF the Fan
Open the Damper
Endif
Else
Set Occupancy to On
Start the DailyProgram
Endif

Technical 04-30006-02-en, May 2019


1850
63 Script Programming
63.53 IF...THEN...ELSE

Notice that each IF ends with an ENDIF. The inner (indented) ENDIF goes with
the inner IF and ELSE, the outer ENDIF with the outer IF and ELSE.
The ELSE and ENDIF that belong to the indented IF are aligned under that IF.
Notice that the last IF ends first.
Example of an IF statement after THEN
Take a look at the following statement with an IF after THEN:
Program File
If the Wkd is Sat then if the Hour is 1 then Goto 1 else Goto 2
Which IF does the ELSE belong to? In this case the ELSE belongs to the second
IF. Why? Because ELSE belongs to the closest previous IF on the same physical
line.
An IF..THEN statement that starts right after THEN is always a self-contained
statement that ends on that physical line.
To make the ELSE belong to the first IF, you must form a nested IF arrangement,
as follows:
Program File
If the Wkd is Sat then
If the Hour is 1 then
Goto 1
Endif
Else
Goto 2
Endif
In this nested IF statement, the ELSE belongs with the first IF.
Example of a nonzero value number
Program File
If 10 then start Burner
Here, since 10 is a nonzero value, 10 is interpreted as TRUE and causes the
burner to fire up.

NOTICE
• Be careful when programming with IF..THEN..ELSE statements if the number
is any nonzero value. When this occurs, the number is interpreted as TRUE
and the THEN block is executed.

04-30006-02-en, May 2019 Technical


1851
63 Script Programming
63.54 MOVE

63.54 MOVE
Alias: MODULATE
MOVE converts engineering units to electrical units to control the output point,
using the top and bottom of scale for that point.
Set the point or points in output_point_list to number.
The percent sign is optional.

Syntax
MOVE output_point_list TO number
MOVE output_point_list TO number %

Table: MOVE Parameters


Parameter Description

output_point_list One or more output point names or


variables with commas between them. Top
and bottom of scale must be set for each
point.

number Any number or expression, including a


date and time or name that stands for one.

Products Supported
CX series, BACnet series, CMX series, SCX series, TCX series, LCX series, ACX
series, DCX 250, EcoStruxure BMS servers

Examples
Example 1
If Valve2 has engineering units of 0 to 90 degrees, and the corresponding
electrical units are 0 to 20 mA, when you move the setting of Valve2 to 45, the
electrical unit sets to 10 mA. To have the engineering units automatically
converted to electrical units, you use MOVE as follows:
Program File
MOVE VALVE2 TO 45
Example 2
For this valve, assume engineering units of 0 to 1 where 0 is closed and 1 is
open and corresponding electrical units of 0 to 20 mA. Moving the setting of
Valve2 to 50% gives .5. At .5, the valve is set to the corresponding value of 10
mA.
Program File
MODULATE VALVE2 TO 50%

Technical 04-30006-02-en, May 2019


1852
63 Script Programming
63.55 Repeat...Until

63.55 Repeat...Until
Repeat...Until carries out the statements in the loop until the number is true.

Syntax
Repeat
statement
statement
...
Until number

Table: Repeat...Until Parameters


Parameter Description

statement Any complete instruction that tells the


program what to do next or what action to
take.

number Any number or expression, including a


date and time or name that stands for one.

The statements within the loop always execute at least once before the
expression is evaluated.

Examples
You want to print all the values in an array:
Program File
Numeric Count
Count = 1
Repeat
Print OutsideAir [Count]
Count = Count + 1
Until Count = OutsideAir_Size

04-30006-02-en, May 2019 Technical


1853
63 Script Programming
63.56 RETURN

63.56 RETURN
In a function, the RETURN keyword controls the calling program, returns and
sends the number to the calling program, and returns the contents of the
variable.
If you expect to use the results of a calculation in more than one program, you
set up a function file and put the calculation instructions inside, thus creating a
function. When you need the function in a program, you call the function by
using the function variable as if that function were any other keyword verb.
Later, the RETURN statement tells the function the value to return to the calling
program.
Make sure to return a number or other value when you want to use the returned
value in the calling program.

Syntax
Return
Return number

Table: RETURN Parameter


Parameter Description

number (Optional) Any number or expression,


including a date and time or name that
stands for one.

Examples
Example 1
You use RETURN without an expression to return to the calling program without
passing parameters. You might do that with a function that contains a series of
actions to be carried out, as in the SHUTDOWN function shown below:
Function File
Turn off the Heat
Turn off the Fan
Run Pump, Cooling
Return
In this case, RETURN returns you to the program that called the SHUTDOWN
function, returning a numeric 0 because you supplied no arguments on the
RETURN statement.
The statement that calls SHUTDOWN in the calling program looks like this:
Program File
Shutdown ()
Example 2
To create a function called GetArea that calculates the cross-sectional area of a
circle, name the function file GetArea and enter the following in the function file:
Function File

Technical 04-30006-02-en, May 2019


1854
63 Script Programming
63.56 RETURN

ARG 1 radius
Return (3.14159 * (radius ^ 2))
You pass the radius into the function file from the calling statement in the main
program. Here is a sample calling statement:
Program File
VOL = GetArea(radius) * LEG
This statement calls the GetArea function, giving the radius value, which the
function requires to calculate the area.
Example 3
Create a function that uses a diameter as an argument to calculate and return
the value of the circumference.
Function File
ARG[1] diameter
Numeric Circumf
Circumf = 3.14159 * diameter
Return (Circumf)

04-30006-02-en, May 2019 Technical


1855
63 Script Programming
63.57 SELECT CASE

63.57 SELECT CASE


SELECT CASE executes one or more statements, depending on the value of a
test_expression.

Syntax
Select Case test_expression
Case expression_list
statement_list
Case expression_list
statement_list
...
Case Else
else_statement_list
EndSelect

Table: SELECT CASE Parameters


Parameter Description

test_expression Any numeric, string, or datetime


expression.

expression_list A list of one or more expressions,


separated by commas.

statement_list One or more statements to execute if


test_expression matches any expression in
the corresponding expression_list.

else_statement_list One or more statements to execute if


test_expression matches any expression in
corresponding expression_list.

If test_expression matches any expression in CASE expression_list, then the


statements following that CASE clause are executed up to the next CASE
clause, if any, or up to EndSelect. At least one CASE expression_list clause is
expected.
The CASE ELSE clause is used to execute the statements in else_statement_list
if test_expression does not match any expression in any of the CASE
expression_list clauses. The CASE ELSE clause is not required. However, you
should include the clause anyway to catch unexpected test_expression values.
Once the statements in the statement_list or else_statement_list have been
executed, the statement right after the EndSelect is the one to execute next.
Expressions can be numeric, string, or datetime.

Examples
Example 1
Program File

Technical 04-30006-02-en, May 2019


1856
63 Script Programming
63.57 SELECT CASE

Select Case Weekday


Case Monday, Tuesday
Print "Run Mon_Tue Report"
Case Wednesday thru Friday
Print "Run Wed_Thu_Fri Report"
Case Else
Print "Run Weekend Report"
EndSelect
Example 2
Program File
Numeric ReportId
Select Case ReportId
Case 1
Print "Run First Report"
Case 2, 3, 5 thru 10, 15
Print "Run Special Report"
Case 20
Print "Run Final Report"
Case Else
Print "Invalid Report Id"
EndSelect
Example 3
Program File
Select Case Numeric1 Description
Case Numeric2 Description
Print "Numeric1 and Numeric2 have the same description”
Case “West Building”
Print "Numeric1 is the West Building”
Case Else
Print "Numeric1 is not the West Building”
EndSelect

04-30006-02-en, May 2019 Technical


1857
63 Script Programming
63.58 STOP

63.58 STOP
Aliases: CLOSE, SHUT
With an output point, STOP actually stops the piece of equipment. With an input
point, STOP sets the point to the bottom of the defined scale. With a numeric
point, STOP sets the point to the lowest number in the controller system. You
might STOP an input after using the RUN keyword in order to test whether the
input is active.

Syntax
Stop point_list
Sets the point (or points) to bottom of its defined scale, turns the equipment off,
and controls the equipment through the point. You can use this statement in a
program to turn off a piece of equipment.

Table: STOP Parameters


Parameter Description

point_list Usually any defined Output point or list of


points. The statement is not designed for
other types of points, but you can stop an
input or numeric point.

Examples
You can STOP a program from inside a program in response to a certain set of
conditions. For example, to halt the HEATPROG after 8 PM:
Program File
If TOD > 2000 then stop the HeatProg
If you do not name a program after STOP, the controller assumes you mean the
current program.

Technical 04-30006-02-en, May 2019


1858
63 Script Programming
63.59 WAIT

63.59 WAIT
Alias: Delay
WAIT makes a program's execution wait for a specified number of seconds and
then resume right after the WAIT command statement.

Syntax
WAIT number

Table: WAIT Parameter


Parameter Description

number Any expression that results in a number.


Interpreted as the number of seconds to
wait.

Products Supported
EcoStruxure BMS servers

Examples
Wait 5 'waits for 5 seconds
Wait (3) 'waits for 3 seconds
Delay 10 'waits for 10 seconds

Restrictions
You can only use the WAIT keyword in the following situations:
• At the EcoStruxure BMS server level
• In a Script program and not in a Script function

NOTICE
WAIT is not supported inside a For loop.

04-30006-02-en, May 2019 Technical


1859
63 Script Programming
63.60 WHILE

63.60 WHILE
WHILE carries out the instructions in the statements within the loop over and
over again as long as the given number is TRUE.

Syntax
While number
statement
statement
...
Endwhile

Table: WHILE Parameters


Parameter Description

statement Any complete instruction that tells the


program what to do next or what action to
take.

number Any number, expression, or variable


whose value determines if the WHILE loop
is executed. If the value is TRUE (non-zero)
the WHILE loop is executed. If the value is
FALSE (zero), the WHILE loop is not
executed. If the value is a variable, the
value can be changed inside the WHILE
loop to cause the loop to terminate.

Examples
Initialize a 10 element manual array:
Program File
Numeric Counter
Set Counterto 1
While Counter <= 10
ManualArray[Counter] = Counter*10
Counter = Counter + 1
Endwhile

Technical 04-30006-02-en, May 2019


1860
63 Script Programming
63.61 Qualifier Statements

63.61 Qualifier Statements


Qualifier statements assist in defining input, output, and public variables.

63.61.1 INPUT
INPUT is a binding qualifier that identifies a variable declaration as an input
variable. You can bind an input variable to an object property outside of the
program. The input variable takes on the same value as the property it is bound
to. You cannot set an input variable's value.
For more information, see section 63.62 “INPUT” on page 1862..

63.61.2 Buffered
Buffered is used exclusively as a qualifier for an input variable to indicate that
the variable can hold one or more buffered values. The type of input variable
may be Numeric, String, or DateTime.
For more information, see section 63.63 “Buffered” on page 1863.

63.61.3 OUTPUT
OUTPUT is a binding qualifier that identifies a variable declaration as an output
variable. You can bind an output variable to an object property outside of the
program. When the output variable is set, the bound property value will be set to
the same value.
For more information, see section 63.64 “OUTPUT” on page 1864..

63.61.4 PUBLIC
PUBLIC is a binding qualifier that identifies a variable as a public variable. You
can modify a public variable from outside a Script program, such as from a
graphic.
For more information, see section 63.65 “PUBLIC” on page 1865..

04-30006-02-en, May 2019 Technical


1861
63 Script Programming
63.62 INPUT

63.62 INPUT
INPUT is a binding qualifier that identifies a variable declaration as an input
variable. You can bind an input variable to an object property outside of the
program. The input variable takes on the same value as the property it is bound
to. You cannot set an input variable's value.

Syntax
variable_declaration input namelist

Table: INPUT Parameters


Parameter Description

variable_declaration The keyword Numeric, String, or Datetime


which defines the type of input variable.

namelist The name of the input variable you are


defining, or a series of input variables
separated by commas.

Examples
Program File
If you have a program that controls a fan based on the value of a temperature
input point, you define an input variable to bind to the input's value property.
Numeric_input Temp_DegF
If Temp_DegF is greater than 75 then
Turn Fan On
Endif

Technical 04-30006-02-en, May 2019


1862
63 Script Programming
63.63 Buffered

63.63 Buffered
Buffered is used exclusively as a qualifier for an input variable to indicate that
the variable can hold one or more buffered values. The type of input variable
may be Numeric, String, or DateTime.

NOTICE
The buffering of values is performed on a First-In, First-Out basis (that is, a
queue).

Syntax
type buffered input variable_name

Table: Buffered Parameters


Parameter Description

type The keyword Numeric, String, or DateTime


which defines the type of input variable.

variable_name The name of the input variable you are


defining, or a series of input variables
separated by a comma.

Example
You declare a buffered input variable (BIn1) and a pair of output variables in this
sample program. BIn1 has the same value every time it is used as expected.

NOTICE
Buffered inputs are supported only in EcoStruxure BMS server programs. They
are not supported in functions, or on b3 BACnet, Infinet, or MP Series
controllers.

Program File
Numeric Buffered Input BIn1
Numeric Buffered Input BIn2
Numeric Output Out1
Out1 = BIn1 + BIn2

04-30006-02-en, May 2019 Technical


1863
63 Script Programming
63.64 OUTPUT

63.64 OUTPUT
OUTPUT is a binding qualifier that identifies a variable declaration as an output
variable. You can bind an output variable to an object property outside of the
program. When the output variable is set, the bound property value will be set to
the same value.

Syntax
variable_declaration output namelist

Table: OUTPUT Parameters


Parameter Description

variable_declaration The keyword Numeric, String, or Datetime


which defines the type of output variable.

namelist The name of the output variable you are


defining, or a series of output variables
separated by commas.

Examples
Program File
If you have a program that controls a thermostat temperature, you define an
output variable to bind to the thermostat's temperature property.
Numeric output Thermostat_Temp_DegF
Thermostat_Temp_DegF = 72.5

Technical 04-30006-02-en, May 2019


1864
63 Script Programming
63.65 PUBLIC

63.65 PUBLIC
PUBLIC is a binding qualifier that identifies a variable as a public variable. You
can modify a public variable from outside a Script program, such as from a
graphic.
Public behaves like an output variable, so you may bind the public variable to
the value of a point, or to the input variable of a Script program as you would
with any output variable. Unlike an output variable, you do not have to use the
force capability to modify Public from the Script property grid, or from a graphic.
You should use the Public binding qualifier when you need to directly modify
that variable from the Script property grid (that is, modify the value the Public
binding variable is bound to). Unlike an output variable, you can manually
change the value of the Public variable from a graphic. You can also use Public
to monitor and control user input values from the Script property grid or a
graphic.
The advantage here is that you can use Public quickly without forcing the value
or having to edit and save the Script program. Public holds its value even after a
Script program save, power failure, warm start, cold start, or reboot from the
Device Administrator.

Syntax
variable_declaration public namelist

Table: PUBLIC Parameter


Parameter Description

variable_declaration The keywords Numeric, String, or Datetime


which defines the type of public variable.

namelist The name of the public variable you are


defining, or a series of output variables
separated by commas.

Examples
Program File
Assume you want to set an output in your Script program using the PUBLIC
variable.
Numeric public ReceivedValue
Numeric Output OutputValue
Set OutputValue to ReceivedValue

04-30006-02-en, May 2019 Technical


1865
63 Script Programming
63.66 Expressions

63.66 Expressions
Instructions that consist of mathematical operations are called expressions.
Expressions can also be item names or constants that return a numeric or string
result.

63.66.1 Numeric Expressions


Numeric expressions always result in a number. Numeric constants and
variables are expressions. Expressions can also be mathematical calculations
that result in a number or comparisons that produce a TRUE or FALSE response.
The following expressions are valid numeric expressions:
• 2
• SQRT (9)
• 900 DIVIDED BY 8
• WKD IS GREATER THAN MONDAY

63.66.2 String Expressions


String expressions are textual expressions that always result in a string of
characters enclosed in quotation marks. String constants and string variables
are also expressions. String expressions can be combinations that result in a
string of characters.
The following expressions are valid string expressions:
• “WARNING- HIGH TEMPERATURE”
• LEFT (“TEST”, 1)
• “THE NUMBER OF ERRORS IS”, TOTAL1

Technical 04-30006-02-en, May 2019


1866
63 Script Programming
63.67 Variables

63.67 Variables
A variable is a run-time (dynamically changing) property of an object.
Script supports program, system, and runtime variables.

63.67.1 Program Variables


Variables are names that represent numbers, words, or dates and times. Unlike
a constant, a variable has a value that changes or varies.
For more information, see section 63.69 “Program Variables” on page 1869..

63.67.2 System Variables


System variables are objects that the system sets and updates automatically.
System variables are controlled by the system and cannot be changed by the
user.
For more information, see section 63.73 “System Variables” on page 1875.

63.67.3 System Variable Keywords


Values that change are represented by system variables. The controller
automatically updates the value of these variables.
For more information, see section 63.79 “System Variable Keywords” on page
1881.

63.67.4 Script Runtime Variables


Script runtime variables are read-only properties that display information about
the state of a program.
For more information, see section 63.74 “Script Runtime Variables” on page
1876.

04-30006-02-en, May 2019 Technical


1867
63 Script Programming
63.68 Declaring a Variable

63.68 Declaring a Variable


You declare local program variables at the beginning of the Script program or
function where the variables are used.
For more information, see section 63.70 “Local Program Variables” on page
1870.

To declare a variable
1. In Script Editor, declare the variable you want to use in the program or
function:
• Declare the variable using the type keyword Numeric, String, or
DateTime before the name of the variable.
• Declare the variable using the binding keyword Input, Output, or
Public after the type keyword, and before the name of the variable, to
enable bindings to the variable.
You have now declared the variables in your Script program or function. These
declarations are then followed by one or more program lines or instructions that
specify the operations to perform.

Technical 04-30006-02-en, May 2019


1868
63 Script Programming
63.69 Program Variables

63.69 Program Variables


Variables are names that represent numbers, words, or dates and times. Unlike
a constant, a variable has a value that changes or varies.

63.69.1 Local Program Variables


Local program variables are related to system variables. Unlike system
variables, which are known to all controllers in the system, local program
variables are only known to the program where they are defined. You define
each local variable at the beginning of the program where they are used. For
example, you can bind a local program variable to an EcoStruxure BMS server
variable, an I/O point, or a local program variable of another program in order to
allow them to read or change values in the system.
For more information, see section 63.70 “Local Program Variables” on page
1870.

63.69.2 Program Arrays


A Script array is a group of variables of the same size that shares a single name,
but is broken up into numbered cells, called elements.
For more information, see section 63.72 “Program Arrays” on page 1874.

63.69.3 Variables Pane Types


The types of variables displayed in the Variables Pane include Integer, Float,
Boolean, String, or DateTime, with Float as the Default value. Each of these
types are applicable to numeric variables only.

04-30006-02-en, May 2019 Technical


1869
63 Script Programming
63.70 Local Program Variables

63.70 Local Program Variables


Local program variables are related to system variables. Unlike system
variables, which are known to all controllers in the system, local program
variables are only known to the program where they are defined. You define
each local variable at the beginning of the program where they are used. For
example, you can bind a local program variable to an EcoStruxure BMS server
variable, an I/O point, or a local program variable of another program in order to
allow them to read or change values in the system.

NOTICE
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).

63.70.1 Local Program Variable Declaration


There are two formats available for the Local Program Variable Declaration Line:
Type Local_Variable Name[array_index]
Type Binding_Qualifier Local_Variable Name
In each format, you can use one or more local variables.

NOTICE
• The array index option is not supported for binding variables.

Examples
Numeric A
Datetime D
String S
Numeric Input A1
Numeric Input A2, A3, A4
Numeric Input A2, A3, A4
String Input S1
Datetime Input DT1
Numeric Output B1
String Output outstr1
Datetime Output outdt1
Numeric Fan_SP [20], Temp [20]
You can declare local variable types using the following keyword statements:
• Numeric
• String
• DateTime

Technical 04-30006-02-en, May 2019


1870
63 Script Programming
63.70 Local Program Variables

• Function
• WebService

Numeric keyword
The Numeric keyword assigns the name that follows as a local numeric variable:
Numeric RateOfRise

String Keyword
The String keyword assigns the name that follows as a local string variable:
String DirtyFilterMsg

DateTime Keyword
The DateTime keyword assigns the name that follows as a local variable that
accepts a date and time:
DateTime LocalDateTime

Function Keyword
The Function keyword assigns the name that follows as a local variable, which
you bind to a Script user-defined function.
Function MyFunction

WebService Keyword
The WebService keyword assigns the name that follows as a local variable,
which you bind to a Script Web Service object.
WebService wsCalculator

63.70.2 Local Program Variables and Bindings


To enable a local program variable to bind to the property of an object, you must
include an additional keyword to qualify your declaration. You use the binding
keyword Input, Output, or Public after the type, and before the name of the local
variable.
These binding keywords indicate either the inputs or outputs of the program, or
the public variables that use property bindings outside of the program:
• An Input variable indicates that the program uses the variable to read the
object property that variable is bound to. For this type, the program is not
allowed to set the value of the local variable because the variable is read-
only.
• An Output variable indicates that the program uses the variable to set the
object property that variable is bound to.
• A Public variable indicates that the program makes the variable accessible
to other applications. You can then allow an application to bind its output
variable to that public variable.

04-30006-02-en, May 2019 Technical


1871
63 Script Programming
63.70 Local Program Variables

NOTICE
The Input and Output qualifiers apply only to the Numeric, String, and
DateTime types.

The type of the object property you bind a local variable to must match the type
of the local variable you plan to bind to. For example, you must bind a Numeric
local variable to object property types such as integer, double, float, digital, and
enumeration. Similarly, you must also bind strings to string type properties, and
datetimes to datetime properties.

Technical 04-30006-02-en, May 2019


1872
63 Script Programming
63.71 Variables Pane Types

63.71 Variables Pane Types


The types of variables displayed in the Local or Binding Variables panes
include Integer, Float, Boolean, String, or DateTime, with Float as the Default
value. Integer, Float or Boolean types apply to a numeric variable only.

Table: Types of Variables


Declared Variable Description

Numeric Float Use when binding to a


floating point property, such
as an Analog Value

Int Use when binding to an


integer property, such as a
Multistate Value

Bool Use when binding to a


Boolean (true or false)
property, such as a Digital
Value

String String Use when binding to a


String value.

DateTime DateTime Use when binding to a


DateTime value.

04-30006-02-en, May 2019 Technical


1873
63 Script Programming
63.72 Program Arrays

63.72 Program Arrays


A Script array is a group of variables of the same size that shares a single name,
but is broken up into numbered cells, called elements.
You refer to each element in the array using a number called an index.
For example, if we had an array with 8 elements called CLOCK, you can refer to
its eight possible values as CLOCK[1], CLOCK[2], CLOCK[3], CLOCK[4], and
so on.

Table: Example of an Eight Element Array


Index Value

1 8.00

2 8.51

3 9.00

4 9.62

5 10.00

6 10.75

7 11.00

8 11.25

CLOCK[1] is 8.00, CLOCK[2] is 8.51, CLOCK[3] is 9.00, and so on. Each entry
in an array is referred to as an element. An array can contain up to 32,767
elements.
You can also put a numeric variable in place of the index number, such as
CLOCK[COUNT]. The variable is called an index variable.
When you define an array variable, you must specify a type (numeric, string, or
datetime) and the number of elements. The following statement defines
(declares) a local array called “Temperature” as numeric with 50 elements:
NUMERIC TEMPERATURE[50]

Technical 04-30006-02-en, May 2019


1874
63 Script Programming
63.73 System Variables

63.73 System Variables


System variables are objects that the system sets and updates automatically.
System variables are controlled by the system and cannot be changed by the
user.
Continuum devices, such as a b3 (with unchanged firmware), are the only
exception. The Date and Hour system variables can be changed in a b3 device
with unchanged firmware. For more information, see section 63.79 “System
Variable Keywords” on page 1881.
The following table provides a complete list of the system variables for
EcoStruxure Building Operation software.

Table: System Variables


Name Description

Date Retrieves current system date and time so


that you can then store that date and time
in a variable.

DayofMonth Supplies the current day of the month from


1 to 31.

DayofYear Supplies the current day of the year


between 1 and 366.

Hour Indicates the current hour, from 0 to 23.

HourofDay Indicates the time in decimal form from 0 to


23.99.

Minute Supplies the minute of the current hour,


from 0 to 59.

Month Supplies the current month of the year,


from January to December.

Scan Indicates the controller’s last scan time in


seconds.

Second Supplies the number of seconds of the


current minute, from 0 to 59.

TimeofDay Supplies the time of day with the hour and


minute in the format HHMM where HH is a
number between 0 and 23 and MM is a
number between 0 and 59.

UTCOffset Specifies the current Universal Time


Coordinate (UTC) offset in seconds.

Weekday Supplies the current day of the week, from


SUNDAY through SATURDAY.

Year Supplies the current year.

04-30006-02-en, May 2019 Technical


1875
63 Script Programming
63.74 Script Runtime Variables

63.74 Script Runtime Variables


Script runtime variables are read-only properties that display information about
the state of a program.
Script uses four different runtime variables.

63.74.1 TS
TS is a Script program runtime property that contains the number of seconds
(Time in Seconds) that have elapsed since the program has been on the current
line.
TS stands for Time in Seconds.
For more information, see section 63.75 “TS” on page 1877..

63.74.2 TM
TM is a Script program runtime property that contains the number of minutes
(Time in Minutes) that have elapsed since the program has been on the current
line.
TM stands for Time in Minutes.
For more information, see section 63.76 “TM” on page 1878..

63.74.3 TH
TH is a Script program runtime property that contains the number of hours (Time
in Hours) that have elapsed since the program has been on the current line.
TH stands for Time in Hours.
For more information, see section 63.77 “TH” on page 1879..

63.74.4 TD
TD is a Script program runtime property that contains the number of days (Time
in Days) that have elapsed since the program has been on the current line.
TD stands for Time in Days.
For more information, see section 63.78 “TD” on page 1880..

Technical 04-30006-02-en, May 2019


1876
63 Script Programming
63.75 TS

63.75 TS
TS is a Script program runtime property that contains the number of seconds
(Time in Seconds) that have elapsed since the program has been on the current
line.
TS stands for Time in Seconds.

Syntax
TS

Example
To allow for a 90-second valve stroke time, see if 90 seconds have elapsed
since you opened the valve.
Program File:

The controller measures 90 seconds starting the instant that the program is on
the line making the request for elapsed time.

04-30006-02-en, May 2019 Technical


1877
63 Script Programming
63.76 TM

63.76 TM
TM is a Script program runtime property that contains the number of minutes
(Time in Minutes) that have elapsed since the program has been on the current
line.
TM stands for Time in Minutes.

Syntax
TM

Example
To have a 5-minute warmup of a fan before turning on the pump, you would
check to see if the fan has been running for 5 minutes after activation.
Program File:

The controller measures 5 minutes starting the instant that the program is on the
line making the request for elapsed time.

Technical 04-30006-02-en, May 2019


1878
63 Script Programming
63.77 TH

63.77 TH
TH is a Script program runtime property that contains the number of hours (Time
in Hours) that have elapsed since the program has been on the current line.
TH stands for Time in Hours.

Syntax
TH

Example
To have the lead fan run 1 hour then run the lag fan, you would check to see if
the fan has been running for 1 hour after activation.
Program File:

The controller measures 1 hour starting the instant that the program is on the line
making the request for elapsed time.

04-30006-02-en, May 2019 Technical


1879
63 Script Programming
63.78 TD

63.78 TD
TD is a Script program runtime property that contains the number of days (Time
in Days) that have elapsed since the program has been on the current line.
TD stands for Time in Days.

Syntax
TD

Example
In order to have a lead pump run for 3 days, then turn on the lag pump, you
would check to see if the pump has been running for 3 days after activation.
Program File:

The controller measures 3 days starting the instant that the program is on the
line making the request for elapsed time.

Technical 04-30006-02-en, May 2019


1880
63 Script Programming
63.79 System Variable Keywords

63.79 System Variable Keywords


Values that change are represented by system variables. The controller
automatically updates the value of these variables.
Script uses two different types of system-variable keywords: date and time and
runtime variable keywords.

63.79.1 Date and Time System Variables


Date and Time System variables represent changeable time of day and
calendar values.
Date and Time System variables include the following keywords:
• DATE
• DAYOFMONTH
• DAYOFYEAR
• HOD
• HOUR
• MINUTE
• MONTH
• SECOND
• TOD
• UTCOffset
• WEEKDAY
• YEAR
For more information, see section 63.80 “Date and Time System Variables ” on
page 1882..

63.79.2 Runtime System Variables


Runtime system variables are variables the controller maintains.
Runtime system variables include the following keywords:
• ERRORS
• FREEMEM
• SCAN
For more information, see section 63.93 “Runtime System Variables ” on page
1899..

04-30006-02-en, May 2019 Technical


1881
63 Script Programming
63.80 Date and Time System Variables

63.80 Date and Time System Variables


Date and Time System variables represent changeable time of day and
calendar values.
A datetime variable is a name that represents a date and time. Datetime
constants, variables, points, expressions, or functions can be compared to other
datetime items. You can retrieve the date and time from the STRTODATE
function or from the DATE system variable.

NOTICE
You can print out a datetime variable to see what date and time the variable
contains. However, the date and time that prints out is a predefined format you
cannot change. The date and time prints in this format (in the 24-hour clock):
MONTH DD YYYY hh:mm:ss

63.80.1 DATE
DATE retrieves the current system date and time so that you can then store them
in a variable.
The value for DATE is always the current date.
DATE is designed to be used with DIFFTIME, along with a datetime variable
(defined using the DATETIME statement).
For more information, see section 63.81 “DATE” on page 1885..

63.80.2 DAYOFMONTH
DAYOFMONTH gives the day of month from 1 to 31.
You cannot change the DAYOFMONTH. The EcoStruxure BMS server
automatically updates this value.
For more information, see section 63.82 “DAYOFMONTH” on page 1886..

63.80.3 DAYOFYEAR
DAYOFYEAR gives the number of the day of the year, between 1 and 366.
You cannot change the DAYOFYEAR. The EcoStruxure BMS server
automatically updates this value
For more information, see section 63.83 “DAYOFYEAR” on page 1887..

63.80.4 HOD
HOD gives the time in a decimal form from 0.0 to 23.99.
You cannot change the HOD. The system automatically updates this value.

Technical 04-30006-02-en, May 2019


1882
63 Script Programming
63.80 Date and Time System Variables

For more information, see section 63.84 “HOD” on page 1888..

63.80.5 HOUR
HOUR gives the current hour, from 0 to 23.
If the time is 5:23:02, the hour is 5.
The system automatically updates the HOUR variable.
For more information, see section 63.85 “HOUR” on page 1889..

63.80.6 MINUTE
MINUTE gives the exact minute of the current hour, from 0 to 59.
The minute is the minute on the controller clock, so if the time is 5:23:02, the
minute is 23.
You cannot change the MINUTE. The EcoStruxure BMS server automatically
updates this value.
For more information, see section 63.86 “MINUTE” on page 1890...

63.80.7 MONTH
MONTH gives you the current month of year, from January to December.
You cannot change the MONTH. The EcoStruxure BMS server automatically
updates this value.
For more information, see section 63.87 “MONTH” on page 1891...

63.80.8 SECOND
SECOND gives the exact number of seconds of the current minute, from 0 to 59.
The number of seconds is as indicated by the EcoStruxure BMS server clock. If
the time is 10:02:12, then SECOND equals 12.
For more information, see section 63.88 “SECOND” on page 1893..

63.80.9 TOD
TOD gives the time of the day from 0 (midnight) to 2359, where 2359 is the
equivalent of 23:59 on the 24-hour clock.
The time of day is the time from the controller clock. You cannot change TOD
since the controller automatically updates that setting.
For more information, see section 63.89 “TOD” on page 1894..

04-30006-02-en, May 2019 Technical


1883
63 Script Programming
63.80 Date and Time System Variables

63.80.10 UTCOffset
UTCOffset specifies the current Universal Time Coordinate (UTC) offset in
seconds. It represents the difference in seconds between your local time and
Greenwich Mean Time (GMT) as follows:
• 18000 indicates you are 18000 seconds, or 300 minutes, or 5 hours ahead
of GMT.
• -18000 indicates you are 18000 seconds, or 300 minutes or 5 hours behind
GMT.
For more information, see section 63.90 “UTCOffset” on page 1895.

63.80.11 WEEKDAY
WEEKDAY gives current day of week, from SUNDAY through SATURDAY.
When printed, the weekday is spelled out as Sunday, Monday, Tuesday,
Wednesday, and so on through Saturday.
For more information, see section 63.91 “WEEKDAY” on page 1896..

63.80.12 YEAR
YEAR gives the current year. You cannot change the YEAR. The system
automatically updates the value.
When printed, the four-digit year is given.
For more information, see section 63.92 “YEAR” on page 1898...

Technical 04-30006-02-en, May 2019


1884
63 Script Programming
63.81 DATE

63.81 DATE
Alias: TIME
DATE retrieves the current system date and time so that you can then store them
in a variable.
The value for DATE is always the current date.
DATE is designed to be used with DIFFTIME, along with a datetime variable
(defined using the DATETIME statement).

Syntax
Date

Example
Once you have defined the datetime variable called TEMP_DATE using the
DATETIME statement, you can then set the value of that variable using the DATE
system variable, as follows:
Program file
Datetime Temp_Date
Temp_Date = Date
This way, TEMP_DATE retrieves the exact system date and time at a given
moment.
You can, for example, record the date and time that a point changes. You can
use the variable you have created in subsequent calculations.

04-30006-02-en, May 2019 Technical


1885
63 Script Programming
63.82 DAYOFMONTH

63.82 DAYOFMONTH
Alias: DOM
DAYOFMONTH gives the day of month from 1 to 31.
You cannot change the DAYOFMONTH. The EcoStruxure BMS server
automatically updates this value.

Syntax
DayOfMonth

Example
Example 1
To print out a headline that contains the date, you would use DAYOFMONTH, as
shown below:
Program File
Print "The kwh history for", MONTH, DayofMonth, "," , YEAR
The resulting header would print the actual month, day of the month, and year,
like this:
The kwh History for October 15, 2008
Example 2
To make some events occur only on particular days of each month, you could
set up an IF..THEN statement that would check for the day of the month:
Program File
If DayofMonth is between 7 and 14 then…

Technical 04-30006-02-en, May 2019


1886
63 Script Programming
63.83 DAYOFYEAR

63.83 DAYOFYEAR
Alias: DOY
DAYOFYEAR gives the number of the day of the year, between 1 and 366.
You cannot change the DAYOFYEAR. The EcoStruxure BMS server
automatically updates this value

Syntax
DayOfYear

Example
Suppose on a certain date, you need to switch off the heating and switch on
cooling. You would use DAYOFYEAR to instruct the controller:
Program File
If DayofYear is 152 then
Stop the Heating_Prog
Run the Cooling_prog
Endif

04-30006-02-en, May 2019 Technical


1887
63 Script Programming
63.84 HOD

63.84 HOD
Alias: HOUROFDAY
HOD gives the time in a decimal form from 0.0 to 23.99.
You cannot change the HOD. The system automatically updates this value.

Syntax
HOD

Example
Example 1
You can use the decimal form of the time to see if the time is past 5:30 a.m.:
Program File
If HOD is greater than 5.50 then...
Example 2
A simple way to calculate the StartTime based on OutsideAir could use HOD as
follows:
Program File
If OutsideAir > 70 then Goto CoolStart
Set StartTime = (8.00 - (70-OutsideAir) * RateOfRise)
If HOD = StartTime then Goto StartBldg

Technical 04-30006-02-en, May 2019


1888
63 Script Programming
63.85 HOUR

63.85 HOUR
Alias : HR
HOUR gives the current hour, from 0 to 23.
If the time is 5:23:02, the hour is 5.
The system automatically updates the HOUR variable.

Syntax
Hour

Example
To take action every day at 5:00 a.m., you would check the hour with the
following statement:
Program File
If Hour is equal to 5 then Goto Startup

04-30006-02-en, May 2019 Technical


1889
63 Script Programming
63.86 MINUTE

63.86 MINUTE
Alias: MIN
MINUTE gives the exact minute of the current hour, from 0 to 59.
The minute is the minute on the controller clock, so if the time is 5:23:02, the
minute is 23.
You cannot change the MINUTE. The EcoStruxure BMS server automatically
updates this value.

Syntax
Minute

Example
Suppose you have eight programs to run every hour. To avoid customizing scan
time by running all the programs at once, you could run two programs in each
quarter of any hour:
Program File
If Minute equals 15 then
Run the System_Check
Run the Power_Usage
Endif
If Minute equals 30 then
Run the Temp_Check
Run the Temp_Rept
Endif
If Minute equals 45 then
Run the Fan_Check
Run the Damper_Check
Endif
If Minute equals 0 then
Run the Heater_Check
Run the CO_Check
Endif
The SYSTEM_CHECK and POWER_USAGE programs now run at 15 minutes
after the hour every hour of every day, 24 hours a day and 365 days a year.
The TEMP_CHECK and TEMP_REPT programs now run at 30 minutes after the
hour every hour of every day, 24 hours a day and 365 days a year.
The FAN_CHECK and DAMPER_CHECK programs now run at 45 minutes after
the hour every hour of every day, 24 hours a day and 365 days a year.
The HEATER_CHECK and CO_CHECK programs now run on the hour every
hour of every day, 24 hours a day and 365 days a year.

Technical 04-30006-02-en, May 2019


1890
63 Script Programming
63.87 MONTH

63.87 MONTH
Alias: MTH
MONTH gives you the current month of year, from January to December.
You cannot change the MONTH. The EcoStruxure BMS server automatically
updates this value.
When printed, the month is spelled out as January, February, March, and so on
through December. You can also compare the MONTH to:
• The numbers (1 through 12).
• The abbreviated three-letter names (first three letters).
All values for MONTH are listed below:

Table: MONTH Values


Constant Short Name Long Name

1 JAN JANUARY

2 FEB FEBRUARY

3 MAR MARCH

4 APR APRIL

5 MAY MAY

6 JUN JUNE

7 JUL JULY

8 AUG AUGUST

9 SEP SEPTEMBER

10 OCT OCTOBER

11 NOV NOVEMBER

12 DEC DECEMBER

Syntax
Month

Example
Example 1
You can use the spelled out (long) names for printing or for comparing to an
actual month:
Program File
If Month is December then print Month
Output

04-30006-02-en, May 2019 Technical


1891
63 Script Programming
63.87 MONTH

Saturday
Example 2
You can use the short names for comparing the month:
Program File
If Month is either JUN, JUL, AUG or SEP then…
Example 3
You can use the constants 1 through 12 for comparing the month:
Program File
If Month is 2 then…

Technical 04-30006-02-en, May 2019


1892
63 Script Programming
63.88 SECOND

63.88 SECOND
Alias: SEC
SECOND gives the exact number of seconds of the current minute, from 0 to 59.
The number of seconds is as indicated by the EcoStruxure BMS server clock. If
the time is 10:02:12, then SECOND equals 12.

Syntax
Second

Example
If you want to take action every time 50 seconds of the minute have gone by, you
enter the following program statement:
Program File
If Second is greater than 50 then…

04-30006-02-en, May 2019 Technical


1893
63 Script Programming
63.89 TOD

63.89 TOD
Alias: TIMEOFDAY
TOD gives the time of the day from 0 (midnight) to 2359, where 2359 is the
equivalent of 23:59 on the 24-hour clock.
The time of day is the time from the controller clock. You cannot change TOD
since the controller automatically updates that setting.

Syntax
TOD

Example
Example 1
To check to see if the time of day is past 5:00 AM, you enter the following
program line:
Program File
If TOD is greater than 500 then…
Example 2
When you print out TOD, as in the following example, you always receive the 24-
hour time:
Print TOD
The time displays as follows:
20.000 (that means 8:00:00 PM)

Technical 04-30006-02-en, May 2019


1894
63 Script Programming
63.90 UTCOffset

63.90 UTCOffset
Alias: none
UTCOffset specifies the current Universal Time Coordinate (UTC) offset in
seconds. It represents the difference in seconds between your local time and
Greenwich Mean Time (GMT) as follows:
• 18000 indicates you are 18000 seconds, or 300 minutes, or 5 hours ahead
of GMT.
• -18000 indicates you are 18000 seconds, or 300 minutes or 5 hours behind
GMT.

Syntax
UTCOffset

Example
To adjust the local date by the UTC offset of the local server, you enter the
following:
Program File
Datetime Output MyDate
MyDate = Date + UTCOffset

04-30006-02-en, May 2019 Technical


1895
63 Script Programming
63.91 WEEKDAY

63.91 WEEKDAY
Alias: WKD
WEEKDAY gives current day of week, from SUNDAY through SATURDAY.
When printed, the weekday is spelled out as Sunday, Monday, Tuesday,
Wednesday, and so on through Saturday.
You can also compare the WEEKDAY to:
• The numbers 1 through 7 (1 equal to Sunday).
• The abbreviated three-letter names (first three letters).

NOTICE
• If you use both Script and Function Block programming, for example, when
using control sequences, be aware of the following. Script uses Sunday as
the first day of the week and assigns a value of 1 to that day, while Function
Block uses Monday as the first day of the week and assigns Monday a value
of 1.

All values for the weekday are as follows:

Table: WEEKDAY Values


Constant Short Name Long Name

1 SUN SUNDAY

2 MON MONDAY

3 TUE TUESDAY

4 WED WEDNESDAY

5 THU THURSDAY

6 FRI FRIDAY

7 SAT SATURDAY

Syntax
Weekday

Example
Example 1
You can spell out names for printing or for comparing to an actual day:
Program File
If Weekday is Saturday then Print Weekday
Output
Saturday
Example 2

Technical 04-30006-02-en, May 2019


1896
63 Script Programming
63.91 WEEKDAY

You can use the short name or the constants 1 through 7 for comparing the
weekday in an IF statement:
Program File
If Weekday > Sun OR Weekday < 7 then…

04-30006-02-en, May 2019 Technical


1897
63 Script Programming
63.92 YEAR

63.92 YEAR
Alias: YR
YEAR gives the current year. You cannot change the YEAR. The system
automatically updates the value.
When printed, the four-digit year is given.

Syntax
Year

Example
To take an action in the distant future, such as sending a reminder message to
check certain pieces of equipment, you use the YEAR system variable to test the
year:
Program File
If year is 2010 THEN PRINT "Welcome to the year Two Thousand and
Ten."

Technical 04-30006-02-en, May 2019


1898
63 Script Programming
63.93 Runtime System Variables

63.93 Runtime System Variables


Runtime system variables are variables the controller maintains.

63.93.1 ERRORS
ERRORS, a variable the controller maintains, indicates the number of system
errors pending. The number increments (increases by one) each time a new
error occurs and is cleared when manually reset to zero (0).
For more information, see section 63.94 “ERRORS” on page 1900..

63.93.2 FREEMEM
FREEMEM contains the number of bytes of free memory in the largest single
contiguous memory block on a controller.
For more information, see section 63.95 “FREEMEM” on page 1901..

63.93.3 SCAN
SCAN indicates the length in seconds of the last interpreter scan interval, which
the program updates regularly.
For more information, see section 63.96 “SCAN” on page 1902..

04-30006-02-en, May 2019 Technical


1899
63 Script Programming
63.94 ERRORS

63.94 ERRORS
ERRORS, a variable the controller maintains, indicates the number of system
errors pending. The number increments (increases by one) each time a new
error occurs and is cleared when manually reset to zero (0).
The controller automatically updates ERRORS. You can only reset the controller
to zero.
The controller increments ERRORS when any of the following occurs:
• A Script program error disables a program (which also sets the program
ERROR attribute).
• The controller’s input reference voltage goes out of its normal range, usually
when you apply too much voltage to one or more inputs.
• The controller’s output reference voltage goes out of its normal range,
usually when drawing too much current from one or more inputs.
• The EcoStruxure BMS server has trouble transmitting or receiving data.
• Someone resets a controller.
• Someone turns off the AC power to a controller so that the AC power shuts
down, but the battery retains memory.

Syntax
Errors

Example
Since the ERRORS variable automatically decrements after you acknowledge an
error, the value of the variable should never get very large.
In the sample program below, you set a limit to how many errors can accumulate
and generate a report on all errors if the limit is exceeded:
Program File
If Errors > 10 then
Goto Report_Error

Technical 04-30006-02-en, May 2019


1900
63 Script Programming
63.95 FREEMEM

63.95 FREEMEM
FREEMEM contains the number of bytes of free memory in the largest single
contiguous memory block on a controller.
For system managers only. Primarily designed to be used on the command line
only, not in programs, because the value of FREEMEM does not change
dynamically. Primarily, FREEMEM is used in the programs to slow the controller
scan.

Syntax
Freemem

Example
If you want to know the size of the largest block of free memory available on a
controller, enter the following:
Program File
Print Freemem

04-30006-02-en, May 2019 Technical


1901
63 Script Programming
63.96 SCAN

63.96 SCAN
Alias: SC
SCAN indicates the length in seconds of the last interpreter scan interval, which
the program updates regularly.

Syntax
Scan

Example
To find the average number of seconds per scan, you would run the following
program once every scan after all other programs have been run.
Program File
Numeric Tot_Scan_SCS, Scan_Count, Scan_Avg
Set Tot_Scan_SCS, Scan_Count, Scan_Avg = 0
Line Totaling
Tot_Scan_SCS = Tot_Scan_SCS + Scan
Scan_Count = Scan_Count + 1
If TOD = 2359 then
Scan_Avg = Tot_Scan_SCS/Scan_Count
Print "The average scan for", WKD " is", Scan_Avg, "sec"
Set Scan_Avg = 0
Set Scan_Count = 0
Set Tot_ScSCS = 0
Endif
For each scan the program adds the seconds that scan took to the total
seconds for the day. Also for each scan, the program adds 1 to the scan
counter.
At the end of the day (2359, or 11:59 PM), the program divides the scan total by
the number of scans to get the average length of the scans that day. The
program then prints the average for the day.
The numeric variables used to calculate the average number of scans per day
are all set to zero at the end of each day, so that they start at zero the next day.

Technical 04-30006-02-en, May 2019


1902
63 Script Programming
63.97 Script Functions

63.97 Script Functions


A function is a routine designed to carry out an often repeated task or series of
tasks. Your Script function then becomes a subroutine that can be called
whenever that particular action needs to be performed.
When a function is used to calculate or provide a value, the function “returns”
the value to the program that calls the function. A program can also provide
(“pass”) the function some values (called “arguments”) to use in calculations or
actions the program must take. Arguments (separated by commas) are included
in parentheses following the function name. Function calls require parentheses,
so you should include the parentheses even if the function is empty (that is,
function ()).

NOTICE
Script functions support up to 15 arguments.

63.97.1 Script Function Workflow


In Script, you must declare a local variable of type Function and bind it to a
Script function object within the same EcoStruxure BMS server or field device.
For more information, see section 63.98 “Script Function Workflow” on page
1904.

63.97.2 Script Functions and Programs


You create a function just like you create a program, using standard Script
keywords, and then save that function to a file.
Functions perform specific tasks or calculations that return a resulting value.
They are simple and flexible and can make programs run in a much more
efficient manner by eliminating redundant tasks.
For more information, see section 63.102 “Script Functions and Programs” on
page 1909.

63.97.3 System Functions


System functions carry out a particular set of calculations or actions and can
return one or more specific values, such as Sum, Sqrt, Length, and Avg.
For more information, see section 63.108 “System Functions” on page 1916.

04-30006-02-en, May 2019 Technical


1903
63 Script Programming
63.98 Script Function Workflow

63.98 Script Function Workflow


In Script, you must declare a local variable of type Function and bind it to a
Script function object within the same EcoStruxure BMS server or field device.
You do this as follows:
• Write a Script program and in that program, declare a local variable of the
type, Function. For more information, see section 63.104 “Declaring and
Calling a Script Function” on page 1912.
• Bind the local variable to the Script Function object.
For more information, see section 49.10 “Binding Values Using a Binding
Template” on page 1350.
For more information, see section 62.15 “Binding Values in Script Editor
Using a Binding Template” on page 1736.
• Use the name of that local variable to activate the function
You do so by using the Function keyword, thus enabling the program to refer to
or call the function, through its binding. This is similar to the way in which the
program calls a system function.

NOTICE
You can use the RETURN statement to return a value to the calling program or
function.

There are several different types of Script functions, including:


• Functions without arguments
• Functions with arguments
• Functions that return a value

63.98.1 Script Functions without Arguments


A function need not have arguments.
For more information, see section 63.99 “Script Functions without Arguments” on
page 1906.

63.98.2 Script Functions with Arguments


Functions can have valid Script expressions for arguments, including local
variables from the calling program, or function.
For more information, see section 63.100 “Script Functions with Arguments” on
page 1907.

Technical 04-30006-02-en, May 2019


1904
63 Script Programming
63.98 Script Function Workflow

63.98.3 Script Functions that Return a Value


In addition to returning to the calling program, RETURN can also bring back the
results of a calculation. These results are: a variable, a constant, or an
expression.
For more information, see section 63.101 “Script Functions that Return a Value”
on page 1908.

04-30006-02-en, May 2019 Technical


1905
63 Script Programming
63.99 Script Functions without Arguments

63.99 Script Functions without Arguments


A function need not have arguments. For example, you can define a function
that stops all fans and name that function FANSTOP.
Numeric Output Fan1, Fan2, Fan3, Fan4
Stop Fan1, Fan2, Fan3, AND Fan4
Return
Calling Program:
Function Fanstop
If TOD > 1800 and TOD < 800 then FanStop ( )
FANSTOP knows about the fans because they are points on the controller.

Technical 04-30006-02-en, May 2019


1906
63 Script Programming
63.100 Script Functions with Arguments

63.100 Script Functions with Arguments


Functions can have valid Script expressions for arguments, including local
variables from the calling program, or function.
The following example shows a function that starts and stops two programs.
ARG 1 Program1
ARG 2 Program2
Start Program1
Start Program2
Return
The calling program can send any two arguments to this function that can be
acted on by START or STOP. You can start and stop any object (piece of
equipment) or program.

04-30006-02-en, May 2019 Technical


1907
63 Script Programming
63.101 Script Functions that Return a Value

63.101 Script Functions that Return a Value


In addition to returning to the calling program, RETURN can also bring back the
results of a calculation. These results are: a variable, a constant, or an
expression.
The following example shows a function that returns a value. In this case, the
RETURN statement contains an expression. The function returns the value of
that expression to the program.
ARG 1 Tmp1
ARG 2 Tmp2
ARG 3 Tmp3
ARG 4 Tmp4
Numeric Total_Change
Total_Change = (Tmp1 - Tmp2) + (Tmp2 - Tmp3) + (Tmp3 - Tmp4)
Return (Total_Change/3)
As shown below, you could also give the expression a local variable name.
ARG 1 Tmp1
ARG 2 Tmp2
ARG 3 Tmp3
ARG 4 Tmp4
Numeric Total_Change, Mid_Change
Total_Change = (Tmp1 - Tmp2) + (Tmp2 - Tmp3) + (Tmp3 - Tmp4)
Mid_Change = Total_Change/3
Return Mid_Change

NOTICE
• Use a variable instead of an expression in the RETURN statement because
the name of the variable, when created, should generally describes its
purpose.

Technical 04-30006-02-en, May 2019


1908
63 Script Programming
63.102 Script Functions and Programs

63.102 Script Functions and Programs


You create a function just like you create a program, using standard Script
keywords, and then save that function to a file.
Functions perform specific tasks or calculations that return a resulting value.
They are simple and flexible and can make programs run in a much more
efficient manner by eliminating redundant tasks.
If your system performs complex calculations or processes repeatedly, you can
avoid retyping these programs every time you need them by making them
functions. You can think of these functions as tools you use to build larger
programs. To determine whether you need a function, look at the kinds of
actions you repeat. For example, suppose you repeatedly test for occupancy.
You can create a function that performs the task, then call that function
whenever necessary.
An example of a function is a PID loop. Some PID loops can be very large and
contain cumbersome portions of programming code. Rather than clutter up a
program with the PID code, you can create a function that contains all of the PID
code. When you need to use the PID loop, you call the PID function. As a result,
the main program is much smaller and easier to understand.
You call functions in a Script program or function by declaring a function at the
beginning of the program or function in which you would like to use that function.
A function variable is a name that represents a Script function. Any function call
using the local variable name means a call to the actual function. For more
information, see section 63.103 “Function Declarations and Statements” on
page 1910.
Be sure that any local variable of type Function declared in a program or
function is bound to an actual function object. If the local variable is declared,
but not properly bound, that program does not run.

63.102.1 Function Declarations and Statements


Unlike Script programs, Script functions do not support the concept of lines as
execution units. Instead, Script functions consist of declarations and statements.
For more information, see section 63.103 “Function Declarations and
Statements” on page 1910.

04-30006-02-en, May 2019 Technical


1909
63 Script Programming
63.103 Function Declarations and Statements

63.103 Function Declarations and Statements


Unlike Script programs, Script functions do not support the concept of lines as
execution units. Instead, Script functions consist of declarations and statements.
Declarations specify the arguments that the function takes, followed by the local
variables. Statements specify the actions the function must perform and must be
executed together. Typically, the function returns a value to the calling program.
Argument declarations begin with the ARG keyword. For example, the following
basic Script function, called myaverage, adds 3 variables and then determines
their average.
The optional comment preceded by the single quotation mark (') helps explain
the operation and purpose of the function. You can place comments either at the
beginning or end of the declaration or function as you wish.

Figure: Function Example

Once you finish creating the function, you then add a declaration (1) and a
function call (2) in the designated program to invoke that function.

Technical 04-30006-02-en, May 2019


1910
63 Script Programming
63.103 Function Declarations and Statements

Figure: Function Declaration and Call

04-30006-02-en, May 2019 Technical


1911
63 Script Programming
63.104 Declaring and Calling a Script Function

63.104 Declaring and Calling a Script Function


You can declare and call a Script function in a Script program or another Script
function. For example, you include a function as a subroutine and access it
repeatedly in the same program or any other program.
For more information, see section 63.103 “Function Declarations and
Statements” on page 1910.

To declare and call a Script function


1. In Script Editor, declare the function you want to call by using the keyword
Function before the name of the function.
2. Add the function call.
You have now declared and called a function in a Script program or another
Script function.

Technical 04-30006-02-en, May 2019


1912
63 Script Programming
63.105 Creating a Script Function

63.105 Creating a Script Function


You create Script functions so that you can program code that can be used in
one or several Script programs or functions.
For more information, see section 63.102 “Script Functions and Programs” on
page 1909.

To create a Script function


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create the Script function.
2. On the File menu, point to New and then click Program
Program.
3. In the Create Object wizard, in the object type list, select Script Function
Function.
4. In the Name box, type a name for the Script function.
5. In the Description box, type a description for the Script function.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


1913
63 Script Programming
63.106 Declaring a Script Function Argument

63.106 Declaring a Script Function Argument


You declare arguments at the beginning of the Script function where they are
used. The argument values are provided by the calling Script program or
function.
For more information, see section 63.103 “Function Declarations and
Statements” on page 1910.

To declare a Script function argument


1. In Script Editor, declare the Script function arguments using the ARG
keyword.
You have now declared the arguments in the Script function. You can now add
one or more instructions that specify the operations to perform.

Technical 04-30006-02-en, May 2019


1914
63 Script Programming
63.107 Checking and Saving a Script Function

63.107 Checking and Saving a Script Function


You check your Script function to ensure there are no syntax errors. You perform
a save operation to check and then save your Script function.
For more information, see section 63.102 “Script Functions and Programs” on
page 1909.

To check and save a Script function


1. In Script Editor, click Check
Check.
2. In the Check pane, double-click on an error message to go to the line of
code that contains the error.

3. Click Save to check and save your Script function.


You have now checked and saved your Script function.
The Script Editor displays the Save Successful message, even if the function
contains errors and does not compile successfully.
If you save a function that contains errors, that function will not run. The function
must have a successful check prior to running.

04-30006-02-en, May 2019 Technical


1915
63 Script Programming
63.108 System Functions

63.108 System Functions


System functions carry out a particular set of calculations or actions and can
return one or more specific values, such as Sum, Sqrt, Length, and Avg.
For example, the system function SQRT returns the square root of a given
number:
Result = SQRT (25)
The number on which the function operates (25) is included within the
parentheses. This function returns the value 5.

63.108.1 System Function Keywords


Script uses the following types of system function keywords:
• Buffered variable functions
• Conversion functions
• Mathematical functions
• Object functions
• Passed function
• Rounding functions
• Statistical functions
• String functions
• Time functions
• Trigonometric functions
For more information, see section 63.109 “System Function Keywords” on page
1917.

Technical 04-30006-02-en, May 2019


1916
63 Script Programming
63.109 System Function Keywords

63.109 System Function Keywords


System functions carry out a particular set of calculations or actions and can
return one or more specific values, such as Sum, Sqrt, Length, and Avg.
Script uses the following types of system function keywords:
• Buffered variable functions
• Conversion functions
• Mathematical functions
• Object functions
• Passed function
• Rounding functions
• Statistical functions
• String functions
• Time functions
• Trigonometric functions

63.109.1 Buffered Variable Functions


Buffered variable functions perform input variable-related operations.
For more information, see section 63.110 “Buffered Variable Functions” on page
1921.

63.109.2 Conversion Functions


Conversion functions convert numeric or string variables.
Conversion functions include the following keywords:
• NUMTOSTR
• STRTODATE
• STRTONUM
For more information, see section 63.113 “Conversion Functions” on page
1925...

63.109.3 Mathematical Functions


Mathematical functions perform mathematical operations.
Mathematical functions include the following keywords:
• ABS
• EXPONENTIAL
• FACTORIAL
• LN

04-30006-02-en, May 2019 Technical


1917
63 Script Programming
63.109 System Function Keywords

• LOG
• RANDOM
• SQRT
• SUM
For more information, see section 63.117 “Mathematical Functions” on page
1930...

63.109.4 Object Functions


Object functions perform operations on mathematical objects.
Object functions include the following keywords:
• ReadProperty
• Relinquish
• WriteProperty
For more information, see section 63.126 “Object Functions” on page 1941...

63.109.5 PASSED Function


The PASSED function keyword indicates whether or not the argument with the
arg_number has been passed into the current function. Returns TRUE (numeric
1) if the argument is actually passed and FALSE (numeric 0) if not.
For more information, see section 63.130 “PASSED Function” on page 1946..

63.109.6 Rounding Functions


Rounding functions round numbers to the next integer and then return values.
Rounding functions include the following keywords:
• CEILING
• FLOOR
• ROUND
• TRUNCATE
For more information, see section 63.131 “Rounding Functions” on page 1947...

63.109.7 Statistical Functions


Statistical functions perform statistical operations.
Statistical functions include the following keywords:
• AVERAGE
• MAXIMUM
• MAXITEM

Technical 04-30006-02-en, May 2019


1918
63 Script Programming
63.109 System Function Keywords

• MINIMUM
• MINITEM
• StandardDeviation
For more information, see section 63.136 “Statistical Functions” on page 1952...

63.109.8 String Functions


String functions perform string-related operations.
String functions include the following keywords:
• ASC
• CHR
• LEFT
• LENGTH
• MID
• RIGHT
• SEARCH
• STRINGFILL
• TAB
For more information, see section 63.143 “String Functions” on page 1965...

63.109.9 Time Functions


Time functions perform time-related operations.
Time functions include the following keywords:
• DIFFTIME
• TIMEPIECE
For more information, see section 63.154 “Time Functions” on page 1978.. .

63.109.10 Trigonomentric Functions


Trigonometric functions return arccosine, arctangents, and arcsines of given
numbers.
Trigonometric functions include the following keywords:
• ACOS
• ASIN
• ATAN
• ATAN2
• COS
• SIN

04-30006-02-en, May 2019 Technical


1919
63 Script Programming
63.109 System Function Keywords

• TAN
For more information, see section 63.157 “Trigonometric Functions” on page
1983.. .

Technical 04-30006-02-en, May 2019


1920
63 Script Programming
63.110 Buffered Variable Functions

63.110 Buffered Variable Functions


Buffered variable functions perform input variable-related operations.

63.110.1 GetBufferSize
GetBufferSize returns the current buffer size (that is, the number of buffered
values) of a passed buffered input variable.
For more information, see section 63.111 “GetBufferSize” on page 1922.

63.110.2 GetBufferedValue
GetBufferedValue gets the next available value of the passed buffered input
variable. This function returns Success or Failure.
For more information, see section 63.112 “GetBufferedValue” on page 1924.

04-30006-02-en, May 2019 Technical


1921
63 Script Programming
63.111 GetBufferSize

63.111 GetBufferSize
GetBufferSize returns the current buffer size (that is, the number of buffered
values) of a passed buffered input variable.
GetBufferSize is not supported in the MP Series controller.

NOTICE
A returned value of 0 indicates that the passed argument is not a buffered
input variable, or that there is no buffered input variable value. If two or more
arguments are passed, the program goes to Line E if one exists. When the
program goes to Line E, it indicates that an error has occurred.

Syntax
GetBufferSize (variable_name)

Table: GetBufferSize Parameter


Parameter Description

variable_name The name of the passed input variable


whose buffer size you are querying.

Example
You can use the following program to check the buffer size and if the number of
items in the buffer exceeds 15, empty the buffer.
Program File

Technical 04-30006-02-en, May 2019


1922
63 Script Programming
63.111 GetBufferSize

NOTICE
This program, BufferedVariablesTest.xml, is included in the Sample Import
Files folder in the Code Library. For more information, see section 64.24
“Working with Code Library Sample Import Files” on page 2027.

04-30006-02-en, May 2019 Technical


1923
63 Script Programming
63.112 GetBufferedValue

63.112 GetBufferedValue
GetBufferedValue gets the next available value of the passed buffered input
variable. This function returns Success or Failure.
GetBufferValue is not supported in the MP Series controller.

NOTICE
If the returned value is zero, it is not a buffered input variable. If two or more
arguments are passed, the program is disabled or goes to Line E if one exists.
When the program goes to Line E, it indicates an error has occurred.

Syntax
GetBufferedValue (variable_name)

Table: GetBufferedValue Parameter


Parameter Description

variable_name The name of the passed input variable


whose next available value you wish to
determine.

Example
You declare two buffered input variables (BIn1 and BIn2) and two output
variables in this example. BIn1 has the same value every time it is used as
expected until a call is made to the function GetBufferedValue to obtain the next
buffered value. This example checks to see if there are any buffered values for
BIn1 by calling the GetBufferSize function and making sure that the number of
buffered values is greater than zero. Then, it gets the next available value from
the buffer. BIn1 assumes that newly-obtained value.
Program File
Numeric Buffered Input BIn1
Numeric Buffered Input BIn2
Numeric Output Out1
Numeric Output Out2
Out1 = BIn1 + BIn1
Out2 = 0
While GetBufferSize (BIn2) > 0
if GetBufferedValue (BIn2) = Success then
Out2 = Out2 + Bin2 'add all buffered values
Endif
EndWhile

Technical 04-30006-02-en, May 2019


1924
63 Script Programming
63.113 Conversion Functions

63.113 Conversion Functions


Conversion functions convert numeric or string variables.

63.113.1 NUMTOSTR
NUMTOSTR converts a number in a numeric variable or other numeric form to a
string variable so the number can be used in string operations. NUMTOSTR
returns the converted string value.
For more information, see section 63.114 “NUMTOSTR” on page 1926...

63.113.2 STRTODATE
STRTODATE returns a datetime that corresponds to the particular date and time
you specify in the date_time. The controller has a unique number for each
understandable moment in time.
For more information, see section 63.115 “STRTODATE” on page 1927..

63.113.3 STRTONUM
STRTONUM converts a string that contains a number in a string variable or other
string form to a numeric variable for use in mathematical operations. StrToNum
returns the converted numeric value.
For more information, see section 63.116 “STRTONUM” on page 1929..

04-30006-02-en, May 2019 Technical


1925
63 Script Programming
63.114 NUMTOSTR

63.114 NUMTOSTR
NUMTOSTR converts a number in a numeric variable or other numeric form to a
string variable so the number can be used in string operations. NUMTOSTR
returns the converted string value.

Syntax
NumToStr ( number )

Table: NUMTOSTR Parameter


Parameter Description

number Any number or expression.


A number in a string variable can be used
in string operations..

Examples
The following program translates the number 240 into a string:
Program File
String Trans
Trans = NumToStr (240)
Print TRANS
TRANS is no longer numeric and cannot be used in calculations.

Technical 04-30006-02-en, May 2019


1926
63 Script Programming
63.115 STRTODATE

63.115 STRTODATE
Alias: STRTOTIME
STRTODATE returns a datetime that corresponds to the particular date and time
you specify in the date_time. The controller has a unique number for each
understandable moment in time.
The system uses this date_time to process information about the date and time.
If you print a variable that is equal to a STRTODATE, you receive the date_time.

NOTICE
Be aware that STRTODATE converts a text string to local rather than UTC time.

To receive the date and time from STRTODATE, you must enter both the date
and the time in one continuous input line. You can position the time before the
date on that line, if you prefer.
You can set up the date in any reasonably interpretable format—using all
numbers or spelling the month as either the full word or the three-letter
abbreviation. You can also separate the month, day, and year with spaces,
slashes, dashes, periods, commas, or any combination of these punctuation
characters.
DAY and MONTH If you prefer to put the day first, ensure that the day is
obviously a day. There are two ways that a day cannot be misinterpreted as a
month:
• Spell the month as a word so that the day is the only other number so low.
• Use numbers for both month and day only if the day is greater than 12,
since any number between 1 and 12 could be a month.
The month can be any of the following options:
• JAN[UARY]
• FEB[RUARY]
• MAR[CH]
• APR[IL]
• MAY
• JUN[E]
• JUL[Y]
• AUG[UST]
• SEP[TEMBER]
• OCT[OBER]
• NOV[EMBER]
• DEC[EMBER]
YEAR
You must enter the year as a four-digit year after 2008.
WEEKDAY

04-30006-02-en, May 2019 Technical


1927
63 Script Programming
63.115 STRTODATE

Since the controller already knows the day of the week that corresponds to each
date, you don’t need the day. You can, however, place the day of the week after
the date. The day of week must be either the three-letter abbreviation or the
completely spelled-out name of the day.
The weekday can be any of the following options:
• MON[DAY]
• TUE[SDAY]
• WED[NESDAY]
• THU[RSDAY]
• FRI[DAY]
• SAT[URDAY]
• SUN[DAY]
TIME
You enter the time as the one- or two-digit hour and one- or two-digit minute
separated by a colon. You can type another colon and follow that colon with
seconds.
You can enter the time in 24-hour time or use regular time with AM or PM
following. The controller translates that time into the 24-hour clock. For example,
you can enter 3:00 PM which the controller automatically translates to 15:00:00.
The following formats are acceptable:
• hh:mm:ss [AM/PM]
• hh:mm [AM/PM]
Where AM and PM (upper- or lowercase) are optional and the following are true:
• hh is hours (00 – 23)
• mm is minutes (00 – 59)
• ss is seconds (00 – 59)

Syntax
StrToDate (date_time)

Table: STRTODATE Parameter


Parameter Description

date_time Any actual date and time in a string


(surrounded by quotation marks) or a
name that stands for a date and time.

Examples
Program File
CONV_DATE = StrToDate (‘SEPTEMBER-21-2000 11:00 pm’)

Technical 04-30006-02-en, May 2019


1928
63 Script Programming
63.116 STRTONUM

63.116 STRTONUM
Alias: VAL
STRTONUM converts a string that contains a number in a string variable or other
string form to a numeric variable for use in mathematical operations. StrToNum
returns the converted numeric value.
Once a number is in a numeric variable, the number can be used in
mathematical expressions and operations.

Syntax
StrToNum (string)

Table: STRTONUM Parameter


Parameter Description

string Any number in string form (in quotation


marks) or string expression that stands for
a number in text form.
If string is not a valid numeral or series of
numerals, STRTONUM fails. If STRTONUM
fails, the program either goes to LINE E
(see LINE keyword) or disables.

Examples
If you receive string input from the keyboard, but want the input to be numeric so
you can add another number, you use STRTONUM. The following program adds
the string (in quotation marks) that contains 78.5 to the number 92.8:
Program File
Numeric Trans
Trans = StrToNum ("78.5") + 92.8
Output
171.3

04-30006-02-en, May 2019 Technical


1929
63 Script Programming
63.117 Mathematical Functions

63.117 Mathematical Functions


Mathematical functions perform mathematical operations.

63.117.1 ABS
ABS returns the absolute value of number. The absolute value of any number,
positive or negative, is always the positive number.
For more information, see section 63.118 “ABS” on page 1932..

63.117.2 EXPONENTIAL
EXPONENTIAL returns a value equal to the base e raised to the number power.
For more information, see section 63.119 “EXPONENTIAL” on page 1933..

63.117.3 FACTORIAL
FACTORIAL returns the factorial of integer_expression.
For more information, see section 63.120 “FACTORIAL” on page 1934..

63.117.4 LN
LN returns the natural logarithm of any number_expression.
For more information, see section 63.121 “LN” on page 1935..

63.117.5 LOG
LOG returns the base 10 logarithm of integer_expression.
For more information, see section 63.122 “LOG” on page 1936..

63.117.6 RANDOM
RANDOM returns a random number from 0 to 32,767 using number. Random is
used to simulate real-life values to test programs.
For more information, see section 63.123 “RANDOM” on page 1937..

63.117.7 SQRT
SQRT returns the square root of the number.

Technical 04-30006-02-en, May 2019


1930
63 Script Programming
63.117 Mathematical Functions

For more information, see section 63.124 “SQRT” on page 1938..

63.117.8 SUM
SUM returns the sum of the listed items (Syntax 1), the sum of an array (Syntax
2), or the sum of a numeric log (Syntax 3).
For more information, see section 63.125 “SUM” on page 1939.

04-30006-02-en, May 2019 Technical


1931
63 Script Programming
63.118 ABS

63.118 ABS
ABS returns the absolute value of number. The absolute value of any number,
positive or negative, is always the positive number.

Syntax
ABS (number)

Table: ABS Parameter


Parameter Description

number Any number or expression.

Examples
Example 1
You find the absolute value of -3 as follows:
Program File
Result=ABS(-3)
This statement sets RESULT to 3.
To maintain a setpoint temperature to within plus or minus 3 degrees, when the
temperature changes in either direction, the fan should blow in either the heating
or cooling as required.
In this situation, you should find the absolute value of the change to control the
fan. Whether the change is positive or negative makes no difference.
Example 2
Program File
If ABS(Temp_SP - Temp_2) >= 3 then run Fan_2

Technical 04-30006-02-en, May 2019


1932
63 Script Programming
63.119 EXPONENTIAL

63.119 EXPONENTIAL
Alias: EXP
EXPONENTIAL returns a value equal to the base e raised to the number power.

Syntax
Exponential (number)

Table: EXPONENTIAL Parameter


Parameter Description

number Any number or expression.

Examples
Example 1
Program File
EVAL = Exponential (0)
The result of e to the 0 power is 1. Because the EXPONENTIAL function returns
1, EVAL is set to 1.
Example 2
Program File
R_VAL = Exponential (-1)
The result of e to the -1 power is 0.368, so R_VAL is set to 0.368.

04-30006-02-en, May 2019 Technical


1933
63 Script Programming
63.120 FACTORIAL

63.120 FACTORIAL
Alias: FACT
FACTORIAL returns the factorial of integer_expression.

Syntax
Factorial (integer_expression)

Table: FACTORIAL Parameters


Parameter Description

integer_expression Factorial (integer_expression)

The integer_expression is an integer greater than or equal to zero. The largest


number on which you can use FACTORIAL is 34.

Examples
The following statement sets FVAL to the result of factorial 3:
Program File
FVAL = Factorial (3)
The function returns 6, so FVAL = 6.

Technical 04-30006-02-en, May 2019


1934
63 Script Programming
63.121 LN

63.121 LN
LN returns the natural logarithm of any number_expression.

Syntax
LN (number_expression)

Table: LN Parameter
Parameter Description

integer_expression Any number not equal to zero.

Examples
Program File
LGVAL = LN(3.2)
The natural log is returned and placed in LGVAL.

04-30006-02-en, May 2019 Technical


1935
63 Script Programming
63.122 LOG

63.122 LOG
LOG returns the base 10 logarithm of integer_expression.

Syntax
LOG (number_expression)

Table: LOG Parameter


Parameter Description

integer_expression An integer greater than zero.

Examples
Program File
Result = LOG(10)
This statement sets RESULT equal to 1.

Technical 04-30006-02-en, May 2019


1936
63 Script Programming
63.123 RANDOM

63.123 RANDOM
Alias: RND
RANDOM returns a random number from 0 to 32,767 using number. Random is
used to simulate real-life values to test programs.
You must vary the number to generate different random sequences. If you do
not vary the number, you can see a repetitious pattern of values emerging over
time.

Syntax
Random (number)

Table: RANDOM Parameter


Parameter Description

number Any number or expression.


You can omit number, but the parentheses
are required, as with all functions.

Examples
To simulate fluctuations of temperature between 50 and 70 degrees, you put any
number in the number. To generate a result in the range of 20 possible
temperatures, you divide the random number you generate by 32767, which
gives you a number between 0 and 1. Then multiply the result by 20. Finally, add
50 degrees to set the bottom of the range.
Program File
Random (8)/32767 times 20
Finally you add the bottom of the range you are trying to simulate to the random
number:
Program File
Temp = (Random (8)/32767 times 20) + 50

04-30006-02-en, May 2019 Technical


1937
63 Script Programming
63.124 SQRT

63.124 SQRT
SQRT returns the square root of the number.

Syntax
SQRT (number)

Table: SQRT Parameter


Parameter Description

number Any number or expression.

Examples
Program File
MVAL = SQRT (4)
The SQRT function returns 2 and the statement sets MVAL to 2.

Technical 04-30006-02-en, May 2019


1938
63 Script Programming
63.125 SUM

63.125 SUM
SUM returns the sum of the listed items (Syntax 1), the sum of an array (Syntax
2), or the sum of a numeric log (Syntax 3).
Items in the list must all be either numbers or variables that contains numbers.
If any of the items in the list in Syntax 1 is an array or a log, the controller
retrieves the first item from the array or log and treats that item like any other
single one in the list.

Syntax
Format 1: Sum (numeric_list)
Format 2: Sum (numeric_array)
Format 3: Sum (numeric_log)

Table: SUM Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers, separated by commas.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Examples
Example 1
To sum several timers, you place them directly in the SUM function statement.
You list them in parentheses after SUM, as follows:
Program File
Total_Timers = Sum (Timer1, Timer2. Timer3, Timer4)
Example 2
You have been storing calculated values in an array called PARTTME. You then
use the sum on that array, as follows:
Program File
TotalTime = Sum (PartTime)
Example 3
You have been logging temperatures in a log for several hours. To find the sum
of them, you find the sum of that log, as follows:
Program File
HourlyTot = Sum (TempLog)
Example 4
You find the sum of several temperatures in a list, including the current value of
TEMPLOG, as follows:
Program File
HourlyAvg = Sum (Tmp801, Tmp802, TempLog)

04-30006-02-en, May 2019 Technical


1939
63 Script Programming
63.125 SUM

In this example, TEMPLOG is interpreted as the current value of TEMPLOG.

Technical 04-30006-02-en, May 2019


1940
63 Script Programming
63.126 Object Functions

63.126 Object Functions


Object functions perform operations on mathematical objects.

63.126.1 ReadProperty
ReadProperty retrieves the value of a property of a BACnet object.
For more information, see section 63.127 “ReadProperty” on page 1942...

63.126.2 Relinquish
Relinquish relinquishes a command. (You may also use WriteProperty and pass
no argument for the value).
For more information, see section 63.128 “Relinquish” on page 1943..

63.126.3 WriteProperty
WriteProperty sets the value of a property of a BACnet object. The returned
value is either SUCCESS or FAILURE.
For more information, see section 63.129 “WriteProperty” on page 1944..

04-30006-02-en, May 2019 Technical


1941
63 Script Programming
63.127 ReadProperty

63.127 ReadProperty
ReadProperty retrieves the value of a property of a BACnet object.

Syntax
ReadProperty (object_property)

Table: ReadProperty Parameters


Parameter Description

local var This is bound to the object property.

If an index is passed as a second argument, when attempting to read a value at


some command priority, it is simply ignored.
For EcoStruxure BMS Script programs, you can establish a binding directly to
the desired command priority.
For b3 BACnet device Script programs, you can only establish a binding to the
value property, and any index is always ignored.

Products Supported
b3 series controllers, EcoStruxure BMS servers

Examples
Example 1
Use ReadProperty to get a property value, without designating the property
name:
Numeric Input AV1
Numeric Temp
Temp = ReadProperty (AV1)
Example 2
Use ReadProperty to get the description of an analog point and place it in a
string point:
String Input AV1_Description
String StringPoint
StringPoint = ReadProperty (AV1_Description)

Technical 04-30006-02-en, May 2019


1942
63 Script Programming
63.128 Relinquish

63.128 Relinquish
Relinquish relinquishes a command. (You may also use WriteProperty and pass
no argument for the value).
Either an application program or operator issues a command to write to the
commandable property of a BACnet object, or relinquishes a command issued
at an earlier time.
A relinquish operation is similar to a WriteProperty operation, except that it
places a NULL value in the Priority_Array corresponding to the appropriate
priority. When that occurs, the next lower priority, non-NULL position, takes
control of the property.
If all the priority table array elements are NULL, the commandable property
assumes the one defined in the Relinquish Default property of the object.

NOTICE
• Present Value is the commandable property for the following classes:
Analog Output, Binary Output, Multistate Output, Analog Value, Multistate
value, Binary Value.

Syntax
Relinquish (object_property, priority)

Table: Relinquish Parameters


Parameter Description

local var Bound to object property.

priority Priority number, ranging from 1 (highest) to


16 (lowest).
This applies only to a BACnet
commandable property. For controllers: If
not present, the property value that
matches priority 16, if applicable, is used.

Products Supported
b3 series controllers, EcoStruxure BMS servers

Example
Use Relinquish to relinquish the last command issued with priority 5. This
statement places a NULL in the fifth entry of the priority array (1-biased):
Numeric Output AV1
Relinquish (AV1,5)

04-30006-02-en, May 2019 Technical


1943
63 Script Programming
63.129 WriteProperty

63.129 WriteProperty
WriteProperty sets the value of a property of a BACnet object. The returned
value is either SUCCESS or FAILURE.

Syntax
WriteProperty (object_property, value, priority, index)

Table: WriteProperty Parameters


Parameter Description

local var Bound to an object property.


The object identifier and property identifier
are combined as one argument.

value Actual value to which the property is set.


This is optional. If it is not present, then the
next argument, priority, must be present to
perform a Relinquish command.

priority Priority number, ranging from 1 (highest) to


16 (lowest).
This is optional. It applies only to a BACnet
commandable property.
For controllers: If it is not present, priority
10, if applicable, is used.

index This is optional. It applies only to an array-


type BACnet property. The index is
ignored whenever it is not applicable.

Products Supported
b3 series controllers, EcoStruxure BMS servers

Examples
Example 1
Use WriteProperty to set the analog value of an object to 100.
‘Value property is assumed
Numeric Output AV1
WriteProperty (AV1, 100)
Example 2
Use WriteProperty to set the Present_Value property of an object to 100, using
priority 5:
Numeric Output AV1
WriteProperty (AV1, 100, 5)
Example 3
Use WriteProperty to relinquish a command using priority 5:

Technical 04-30006-02-en, May 2019


1944
63 Script Programming
63.129 WriteProperty

‘Value is not passed; This is equivalent to a relinquish


Numeric Output AV1
WriteProperty (AV1, , 5)

Exceptions
When an EcoStruxure BMS server program uses the WriteProperty keyword to
set the value of a BACnet object (including b3 objects), the value is always
written to priority 16. For example, if you bind the program’s output to an analog
value in $SERVER/BACnet Device/Application and add it to a task, the value is
written to the analog output’s priority 16.
To write to a specific priority in a BACnet object from an EcoStruxure BMS server
program, the program must be bound directly to the priority you wish to write to.
This means that the priority no longer gets passed an argument as shown in the
examples that follow.
‘bound to BACnet analog value AV1 Priority 5
Numeric output x
Numeric a
‘places the value of 100 into AV1 Priority 5 slot
WriteProperty (x, 100)
‘places the value of AV1 Priority 5 into variable a
a = ReadProperty (x)
‘relinquishes the AV1 Priority 5 value
Relinquish (x)
‘relinquishes the AV1 Priority 5 value
‘Value argument is not passed into the WriteProperty
‘function
WriteProperty (x, )
WriteProperty (x)

04-30006-02-en, May 2019 Technical


1945
63 Script Programming
63.130 PASSED Function

63.130 PASSED Function


The PASSED function keyword indicates whether or not the argument with the
arg_number has been passed into the current function. Returns TRUE (numeric
1) if the argument is actually passed and FALSE (numeric 0) if not.

Syntax
Passed (arg_number)

Table: PASSED Parameter


Parameter Description

arg_number Returns TRUE (numeric 1) if the argument


is actually passed and FALSE (numeric 0)
if not.

Examples
You can create a function that takes an argument and checks to see if the
argument is passed. The function below returns the number of the argument that
has the highest value and also returns after finding the first argument that is not
passed. The function called MAXITEM, predefined in the language, is shown as
follows:
Function File
Numeric Count, Lastmax
Lastmax = 1
For Count = 1 TO 15
If not(Passed (Count)) then return (Lastmax)
If ARG[Count] > Lastmax then Lastmax = Count
Next Count

Technical 04-30006-02-en, May 2019


1946
63 Script Programming
63.131 Rounding Functions

63.131 Rounding Functions


Rounding functions round numbers to the next integer and then return values.

63.131.1 CEILING
CEILING rounds a number to the next larger integer on the number line and
returns that integer.
For more information, see section 63.132 “CEILING” on page 1948..

63.131.2 FLOOR
FLOOR returns the next smaller integer on the number line and returns that
integer.
For more information, see section 63.133 “FLOOR” on page 1949..

63.131.3 ROUND
ROUND rounds a number to the nearest integer and returns that value.
For more information, see section 63.134 “ROUND” on page 1950..

63.131.4 TRUNCATE
TRUNCATE drops the fractional part of number and returns the integer.
For more information, see section 63.135 “TRUNCATE” on page 1951..

04-30006-02-en, May 2019 Technical


1947
63 Script Programming
63.132 CEILING

63.132 CEILING
CEILING rounds a number to the next larger integer on the number line and
returns that integer.
See ROUND for a comparison of all rounding functions.

Syntax
Ceiling (number)

Table: CEILING Parameter


Parameter Description

number Any number or expression.

Examples
Example 1
Program File
The following shows how the controller calculates the ceiling of -2.7:
Top = Ceiling(-2.7)
This statement returns -2.
Example 2
Program File
RndVal = Ceiling(4.3)
This statement returns 5.

Technical 04-30006-02-en, May 2019


1948
63 Script Programming
63.133 FLOOR

63.133 FLOOR
FLOOR returns the next smaller integer on the number line and returns that
integer.

Syntax
Floor (number)

Table: FLOOR Parameter


Parameter Description

number Any number or expression. (See ROUND


for a comparison of all rounding functions.)

Examples
Example 1
Program File
TmpVar = Floor (42.7)
This statement returns 42.
Example 2
Program File
Result = Floor(-1.1)
This statement returns -2.

04-30006-02-en, May 2019 Technical


1949
63 Script Programming
63.134 ROUND

63.134 ROUND
ROUND rounds a number to the nearest integer and returns that value.
The number is any number or expression.
ROUND, CEILING, FLOOR, and TRUNCATE are similar, but differ in the
following ways:
• ROUND rounds up if the decimal is .5 or higher and down if the decimal is
below .5. ROUND (-1.7) gives -2 (see figure below).
• CEILING always rounds up. CEILING (-2.7) gives the closest higher number
on the number line, -2. For more information, see section 63.132 “CEILING”
on page 1948.
• FLOOR always rounds down. FLOOR (-3.8) gives the closest lower number
on the number line, -4. For more information, see section 63.133 “FLOOR”
on page 1949.
• TRUNCATE cuts off the decimal value. TRUNCATE (-3.8) gives the integer
without the decimal, -3.
The following table illustrates how the four functions differ:

Table: ROUND Functions


Function 4.2 4.7 -3.1 -3.7

ROUND 4 5 -3 -4

CEILING 5 5 -3 -3

FLOOR 4 4 -4 -4

TRUNCATE 4 4 -3 -3

Syntax
Round (number)
Parameter Description

number Any number or expression.

Examples
Example 1
Program File
Tmpvar = Round (-42.7)
This statement returns -43.
Example 2
Program File
Rndval = Round (4.3)
This statement returns 4.

Technical 04-30006-02-en, May 2019


1950
63 Script Programming
63.135 TRUNCATE

63.135 TRUNCATE
Alias: TRUNC
TRUNCATE drops the fractional part of number and returns the integer.

Syntax
Truncate (number)

Table: TRUNCATE Parameter


Parameter Description

number Any number or expression.

Examples
Example 1
Program File
CHP = Truncate (4.5)
TRUNCATE returns 4 and the program statement sets CHP to 4.
Example 2
Program File
VAL_C = Truncate (-1.7)
TRUNCATE returns -1 and the program statement sets VAL_C to -1.

04-30006-02-en, May 2019 Technical


1951
63 Script Programming
63.136 Statistical Functions

63.136 Statistical Functions


Statistical functions perform statistical operations.

63.136.1 AVERAGE
AVERAGE returns the average of a list of items, the average of the items in an
array you name, or the average of the items in the log you name.
For more information, see section 63.137 “AVERAGE” on page 1953..

63.136.2 MAXIMUM
MAXIMUM finds the maximum number in a list of numeric values, a numeric
array, or a numeric log.
For more information, see section 63.138 “MAXIMUM” on page 1955..

63.136.3 MAXITEM
MAXITEM finds the position of the largest number in a list, an array, or a log. For
example, MAXITEM returns 1 if the largest number is the first one in the list.
For more information, see section 63.139 “MAXITEM” on page 1957..

63.136.4 MINIMUM
MINIMUM finds the minimum number in a list of numeric values, a numeric array,
or a numeric log.
For more information, see section 63.140 “MINIMUM” on page 1959..

63.136.5 MINITEM
MINITEM finds the position of the smallest number in a list, an array, or log. For
example, MINITEM returns 1 if the smallest number is the first one in the list.
For more information, see section 63.141 “MINITEM” on page 1961..

63.136.6 StandardDeviation
StandardDeviation finds the standard deviation of a series of numbers.
For more information, see section 63.142 “StandardDeviation” on page 1963..

Technical 04-30006-02-en, May 2019


1952
63 Script Programming
63.137 AVERAGE

63.137 AVERAGE
Alias: AVG
AVERAGE returns the average of a list of items, the average of the items in an
array you name, or the average of the items in the log you name.

Syntax
Format 1: Average (numeric_list)
Format 2: Average (numeric_array)
Format 3: Average (numeric_log)
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.
• Format 3 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: AVERAGE Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for number, separated by commas.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Items in the list must all be either numbers or variables that contain numbers.
Element numbers are not required. Omitting element numbers averages the
entire array or log.

Examples
Example 1
To average several temperatures, you place them directly in the AVERAGE
function statement. You list them in parentheses after AVERAGE, as follows:
Program File
Flr8_AVG = Average (TMP801, TMP802, TMP803, TMP804)
Example 2

04-30006-02-en, May 2019 Technical


1953
63 Script Programming
63.137 AVERAGE

Since you know a certain temperature varies, you have been storing readings in
an array called OAT. You then use the AVERAGE function on that array, as
follows:
Program File
OAT_AVG = Average (OAT)
Example 3
You have been logging temperatures in a log, called TEMPLOG, for several
hours. To find their average, you use the AVERAGE function as follows:
Program File
HourlyAVG = Average (TEMPLOG)

Technical 04-30006-02-en, May 2019


1954
63 Script Programming
63.138 MAXIMUM

63.138 MAXIMUM
Alias: MAX
MAXIMUM finds the maximum number in a list of numeric values, a numeric
array, or a numeric log.

Syntax
Format 1: Maximum (numeric_list)
Format 2: Maximum (numeric_array)
Format 3: Maximum (numeric_log)
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.
• Format 3 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: MAXIMUM Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers, separated by commas.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Items in the list must all be either numbers or variables that contain numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate
an element number, the controller retrieves the current value of the point and
treats that point like any other single item in the list.

Examples
Example 1
The MAXIMUM function finds the maximum number in a list of variables as
follows:
Program File
TOPNUMBER = Maximum (Zone1, Zone2, Zone3, Zone4)
The TOPNUMBER variable is assigned the maximum value found.

04-30006-02-en, May 2019 Technical


1955
63 Script Programming
63.138 MAXIMUM

Example 2
You can find the maximum number of kilowatts (KW) in the array of variables as
follows:
Program File
TOPNUMBER = Maximum (KW)
Example 3
You find the highest of several temperatures, including the current value of
TEMPLOG, as follows:
Program File
TOPNUMBER = Maximum (TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.

Technical 04-30006-02-en, May 2019


1956
63 Script Programming
63.139 MAXITEM

63.139 MAXITEM
MAXITEM finds the position of the largest number in a list, an array, or a log. For
example, MAXITEM returns 1 if the largest number is the first one in the list.

Syntax
Format 1: Maxitem (numeric_list)
Format 2: Maxitem (numeric_array)
Format 3: Maxitem (numeric_log)
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.
• Format 3 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: MAXITEMS Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers, separated by commas.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

If any of the items in the list in Format 1 is an array or a log, the controller
retrieves the first item from the array or log and treats that item like any other
single item in the list.

Examples
Example 1
To find the position of the largest number in a series of numbers, you enter the
series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67

04-30006-02-en, May 2019 Technical


1957
63 Script Programming
63.139 MAXITEM

Maxitem (Temp1, Temp2, Temp3, Temp4)


The Maxitem statement returns 3, because the third item in the list contains the
largest number.
Example 2
To find the index position of the largest number in an array, you give the array
name in parentheses:
Program File
Maxitem (KW)
Example 3
To find the index position of the largest number in a log, you give the log name in
parentheses:
Program File
Maxitem(Temp)
Example 4
You find the position of the highest of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
Maxindex = Maxitem (TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.

Technical 04-30006-02-en, May 2019


1958
63 Script Programming
63.140 MINIMUM

63.140 MINIMUM
MINIMUM finds the minimum number in a list of numeric values, a numeric array,
or a numeric log.
Items in the list must all be either numbers or variables that contains numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate
an element number, the controller retrieves the current value of the point and
treats that value like any other single item in the list.

Syntax
Format 1: Minimum (numeric_list)
Format 2: Minimum (numeric_array)
Format 3: Minimum (numeric_log)
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.
• Format 3 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: MINIMUM Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Examples
Example 1
The MINIMUM function finds the minimum number in a list of variables as
follows:
Program File
BotNumber = Minimum (Zone1, Zone2, Zone3, Zone4)
The BotNumber variable is assigned the minimum value found.
Example 2

04-30006-02-en, May 2019 Technical


1959
63 Script Programming
63.140 MINIMUM

You can find the minimum number of kilowatts in the array of variables as
follows:
Program File
BottomNumber = Minimum (KW)
Example 3
You find the minimum of several temperatures, including the current value of
TEMPLOG, as follows:
Program File
BottomNumber = Minimum (TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.
Example 4
You have a log called AV_TEMP that holds the average temperature for each of
the last five days. You can use the MINIMUM function to find the minimum
temperature:
Program File
WklyMin = Minimum (AV_TEMP)
If AV_TEMP contains 110, 114, 112, 108, 109, MINIMUM returns 108 and the
program statement sets WKLYMIN to 108.

Technical 04-30006-02-en, May 2019


1960
63 Script Programming
63.141 MINITEM

63.141 MINITEM
MINITEM finds the position of the smallest number in a list, an array, or log. For
example, MINITEM returns 1 if the smallest number is the first one in the list.
If any of the items in the list in Format 1 is an array or a log, the controller
retrieves the first item from the array or log and treats that item like any other
single item in the list.

Syntax
Format 1: Minitem (numeric_list)
Format 2: Minitem (numeric_array)
Format 3: Minitem (numeric_log)
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.
• Format 3 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: MINITEM Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Examples
Example 1
To find the position of the smallest number in a series of numbers, you enter the
series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67
Minitem (Temp1, Temp2, Temp3, Temp4)

04-30006-02-en, May 2019 Technical


1961
63 Script Programming
63.141 MINITEM

The MINITEM statement returns 2, because the second item in the list contains
the smallest number.
Example 2
To find the index position of the smallest number in an array, you give the array
name in parentheses:
Program File
Minindex = Minitem (KW)
Example 3
To find the index position of the smallest number in a log, called TEMPLOG, you
give the log name in parentheses:
Program File
Minindex = Minitem (TEMPLOG)
Example 4
You find the position of the lowest of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
Minindex = Minitem(TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.

Technical 04-30006-02-en, May 2019


1962
63 Script Programming
63.142 StandardDeviation

63.142 StandardDeviation
Alias: SD
StandardDeviation finds the standard deviation of a series of numbers.
The standard deviation is the result of the following steps:

Table: Finding the Standard Deviation


Step Action

1 Find the average of the list.

2 Find the differences between the average


and each number.
If the average is 110 and one of the
numbers is 112 that difference is 2.

3 Square the differences, so 2 becomes 4.

4 Add up the squares and find the average


of them.

5 Take the square root of the average.

Items in the list must all be either numbers or variables that contain numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate
an element number, the controller retrieves the current value of the point and
treats that point like any other single item in the list.

Syntax
Format 1: StandardDeviation (numeric_list)
Returns the standard deviation of the listed items.
Format 2: StandardDeviation (numeric_array)
Returns the standard deviation of the items in the array.
Format 3: StandardDeviation (numeric_log)
Returns the standard deviation of the items in the log.
• Format 1 is supported in a Script program running in an EcoStruxure BMS
server and in field devices, such as b3 BACnet devices.
• Format 2 is supported for local variables declared in a Script program
running in an EcoStruxure BMS server and in field devices, such as b3
BACnet devices.
• Format 2 is not supported in a Script program running in an EcoStruxure
BMS server. This is true for binding variables bound to a numeric, manual,
array external to the program.
• Format 3 is supported in a Script program running in a field device, such as
a b3 BACnet device, that accesses a numeric log.

04-30006-02-en, May 2019 Technical


1963
63 Script Programming
63.142 StandardDeviation

• Format 3 is not supported in a Script program running in an EcoStruxure


BMS server. This is true for binding variables bound to any numeric log in
the EcoStruxure BMS server itself or any other devices, including field
devices such as b3 BACnet devices.

Table: StandardDeviation Parameters


Parameter Description

numeric_list One or more numbers or names that stand


for numbers, separated by commas.

numeric_array Any defined array that contains numbers.

numeric_log Any defined log that contains numbers.

Examples
Example 1
To find the standard deviation of several temperatures, you place them directly
in the STANDARDDEVIATION statement. You list them in parentheses as
follows:
Program File
TempDev = StandardDeviation (70, 72, 74)
The standard deviation returned is 2.
Example 2
Since you know a certain temperature varies, you have been storing readings in
an array called VARTMP. You then use the STANDARDDEVIATION function on
that array, as follows:
Program File
Variation = StandardDeviation (VARTMP)
Example 3
You have been logging temperatures in a log for several hours. You find the
standard deviation of them as follows:
Program File
Deviance = StandardDeviation (TEMPLOG)
Example 4
You find the standard deviation of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
StdDev = StandardDeviation (TMP1, TMP2, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.

Technical 04-30006-02-en, May 2019


1964
63 Script Programming
63.143 String Functions

63.143 String Functions


String functions perform string-related operations.

63.143.1 ASC
ASC returns the ASCII value of the first character of the string.
For more information, see section 63.144 “ASC” on page 1967..

63.143.2 CHR
CHR returns one character whose ASCII code is number. CHR can be used to
send non-printing characters to a terminal, computer, or printer to initiate action.
For more information, see section 63.145 “CHR” on page 1968..

63.143.3 LEFT
LEFT returns a string consisting of the leftmost characters of string with a length
specified by integer.
For more information, see section 63.146 “LEFT” on page 1969..

63.143.4 LENGTH
LENGTH returns the number of characters in the string.
For more information, see section 63.147 “LENGTH” on page 1970..

63.143.5 MID
MID returns a string number character extracted from the string starting at
offset.
For more information, see section 63.148 “MID” on page 1971..

63.143.6 RIGHT
RIGHT returns the number of requested characters (the integer) from the text
string starting from the right side (end) and counting left.
For more information, see section 63.149 “RIGHT” on page 1972..

04-30006-02-en, May 2019 Technical


1965
63 Script Programming
63.143 String Functions

63.143.7 SEARCH
SEARCH returns the position of the given search_string within string or 0 if the
controller can’t find the search_string.
For more information, see section 63.150 “SEARCH” on page 1973..

63.143.8 FIND
FIND performs a case sensitive or insensitive string search.
For more information, see section 63.151 “FIND” on page 1974.

63.143.9 STRINGFILL
STRINGFILL returns a string of number length containing a particular character
that you specify with the ASCII character code named by character code.
For more information, see section 63.152 “STRINGFILL” on page 1975..

63.143.10 TAB
TAB returns a series of continuous blank spaces. The number of blank spaces is
number.
For more information, see section 63.153 “TAB” on page 1977..

Technical 04-30006-02-en, May 2019


1966
63 Script Programming
63.144 ASC

63.144 ASC
ASC returns the ASCII value of the first character of the string.

Syntax
ASC (string)

Table: ASC Parameter


Parameter Description

string Any text (word or words) or text expression

Examples
This statement returns 83, which is the ASCII value of the character S:
Program File
ASC ("S")

04-30006-02-en, May 2019 Technical


1967
63 Script Programming
63.145 CHR

63.145 CHR
CHR returns one character whose ASCII code is number. CHR can be used to
send non-printing characters to a terminal, computer, or printer to initiate action.

Syntax
CHR (number)

Table: CHR Parameter


Parameter Description

number Any number or expression.

Examples
Example 1
After several pages of messages print, you then want to send a report to that
printer.
You make sure the report starts on a clean sheet of paper by sending an
instruction telling the printer to bring the paper to the top of a new page. This
action is called a formfeed. The code to generate a formfeed is 12. You write the
formfeed as follows:
Program File
‘Generate a formfeed and report title
Print CHR(12); "Weekly Energy Report"
Example 2
Another way to use the CHR function is to send a bell to a terminal, computer, or
printer to warn that the ERRORS variable has reached a critically high value. The
ASCII code to generate a bell sound is 7. You write the errors variable
notification as follows:
Program File
‘Decides if too many errors are not acknowledged and generates a
bell
If errors > 15 then print CHR(7)

Technical 04-30006-02-en, May 2019


1968
63 Script Programming
63.146 LEFT

63.146 LEFT
Alias: FIRST
LEFT returns a string consisting of the leftmost characters of string with a length
specified by integer.

Syntax
Left (string, integer)

Table: LEFT Parameters


Parameter Description

string Any text (word or words) or text


expression.

integer Any integer or integer expression up to the


length of the string that tells how many
characters you want from the string.
If integer is greater than the length of the
string then the controller returns the entire
string.

Examples
Example 1
Program File
LVAL = Left("ABCDEF", 2)
This statement returns AB.
Example 2
Suppose that the TEXT variable contains ROOM808; the following statement
retrieves the word ROOM by carrying out the LEFT function:
Program File
LVAL = Left(TEXT, 4)
This statement returns ROOM.

04-30006-02-en, May 2019 Technical


1969
63 Script Programming
63.147 LENGTH

63.147 LENGTH
Alias: LEN
LENGTH returns the number of characters in the string.

Syntax
Length (string)

Table: LENGTH Parameter


Parameter Description

string Any text (word or words) or text


expression.

Examples
Example 1
Program File
Result = Length ("ABCDE")
The LENGTH function returns 5 and the statement sets RESULT to 5.
Example 2
Program File
Result = Length ("")
The LENGTH function returns 0 and the statement sets RESULT to 0.

Technical 04-30006-02-en, May 2019


1970
63 Script Programming
63.148 MID

63.148 MID
MID returns a string number character extracted from the string starting at
offset.

Syntax
MID (string, offset, number)

Table: MID Parameters


Parameter Description

string Any text (word or words) or text


expression.

offset The number (or a variable that contains the


number) of the position where you want the
controller to start extracting the string of
characters.
If offset is greater than the length of the
string expression, then MID returns the
empty string, " ".

number Any number or expression. Tells how many


characters you want extracted from the
text string.

Examples
Example 1
Program File
MIDSTR = MID("ABCDE", 2, 3)
MID returns BCD and the statement sets MIDSTR to BCD.
Example 2
Program File
PARTSTR = MID (ABCDE, 9, 2) returns " ".

04-30006-02-en, May 2019 Technical


1971
63 Script Programming
63.149 RIGHT

63.149 RIGHT
Alias: LAST
RIGHT returns the number of requested characters (the integer) from the text
string starting from the right side (end) and counting left.

Syntax
Right ( string, integer )

Table: RIGHT Parameters


Parameter Description

string Any text (word or words) or text


expression.

integer Any integer or integer expression up to the


length of the string that tells how many
characters you want from the string.
If integer is greater than the length of the
string, then the controller returns the entire
string.

Example
Program File
RGTVAL = Right ("ABCDE", 3)
This statement returns CDE.

Technical 04-30006-02-en, May 2019


1972
63 Script Programming
63.150 SEARCH

63.150 SEARCH
SEARCH returns the position of the given search_string within string or 0 if the
controller can’t find the search_string.

NOTICE
SEARCH is case sensitive. If you would like to perform a case insensitive string
search, use the FIND keyword instead. For more information, see section
63.151 “FIND” on page 1974.

Syntax
Search (string, search_string)

Table: SEARCH Parameters


Parameter Description

string Any text (word or words) or text


expression.

search_string Any text (word or words) that you want to


search for in the string.

Examples
Example 1
Program File
NSTR = Search ("ABCDE", "BC")
The search returns 2 and sets NSTR to 2, the position BC starts at in the string.
Example 2
Program File
NSTR = Search ("ABCDE", "CB")
The search returns 0 and sets NSTR to 0 because CB is not in the string.

04-30006-02-en, May 2019 Technical


1973
63 Script Programming
63.151 FIND

63.151 FIND
FIND performs a case sensitive or insensitive string search.

Syntax
Find (string, search_string, [0 or 1])

Table: FIND Parameters


Parameter Description

string Any text (word or words) or text


expression.

search_string Any text (word or words) that you want to


search for in the string.

0 Performs a case sensitive search on the


string.
1
Performs a case insensitive search on the
string.
If no argument is present, a case
insensitive search is performed.

Examples
Example 1
Program File
NSTR = Find ("ABCDE", "bc")
The find returns 2 and sets NSTR to 2, the position bc starts at in the string.
Example 2
Program File
NSTR = Find ("ABCDE", "CB")
The find returns 0 and sets NSTR to 0 because CB is not in the string.
Example 3
Program File
NSTR = Find ("ABCDE", "bc", 0)
The find returns 0 and sets NSTR to 0 because the search string is case
sensitive and the lowercase bc is not present in the string.
Example 4
Program File
NSTR = Find ("ABCDE", "bc", 1)
The find returns 2 and sets NSTR to 2 because the search is case insensitive
and 2 is the position bc starts at in the string.

Technical 04-30006-02-en, May 2019


1974
63 Script Programming
63.152 STRINGFILL

63.152 STRINGFILL
STRINGFILL returns a string of number length containing a particular character
that you specify with the ASCII character code named by character code.

Syntax
Stringfill (number, charactercode)

Table: STRINGFILL Parameters


Parameter Description

number Any number or expression. Gives the


length of the string.

charactercode The ASCII character code of the character


you want to fill the string.

Examples
Example 1
Suppose you want to print a series of 60 asterisks across the top of a report. You
use STRINGFILL to print the asterisks by providing the number 60 for the
number of asterisks, and the number 42 as the ASCII code for the asterisk, as
follows:
Print Stringfill(60, 42)
Example 2
You can draw dashed horizontal lines in a report using STRINGFILL by
providing the number of spaces you want the line to print across (60) and the
ASCII code for a dash (45):
Report File
Print Stringfill(60, 45)
Example 3
Suppose you want to design a graph to show the peak kilowatt demand for each
day in the last week. You can create a bar graph by filling the appropriate
number of spaces with, for example, asterisks. The following program sets up
such a graph:
Program File
Numeric ShortDays, DayX
Print "Peak KW Demand for Week"
Print " "
For DayX = 1 TO 7
Print ST(ShortDays, DayX);" | "; ~
Stringfill (KWD[DayX]/100, 42)
Next DayX
Print " +----+----+----+----+----+"
Print " 0 500 1000 1500 2000 2500 "

04-30006-02-en, May 2019 Technical


1975
63 Script Programming
63.152 STRINGFILL

The program prints the title and proceeds to a FOR...NEXT loop.


Inside the FOR...NEXT loop, the program first prints the short name of the
weekday, based on the number for the day (1 for SUN) using a customized
function called ST. Next, the program prints a plus sign after the name.
STRINGFILL then uses two values to print the kilowatt demand for that day:
Kilowatt demand for the day from the KWD array (KWD[1] = Sunday’s kilowatt
demand, KWD[2] = Monday’s kilowatt demand, and KWD[3] = Tuesday’s
kilowatt demand, and so on.
ASCII code for the asterisk (42).
To see how STRINGFILL uses these two values, take a look at Sunday in the
graph the program produces:
Program File Output
PEAK KWDEMAND FOR WEEK
SUN +******
MON +**********
TUE +********
WED +*********
THU +*******
FRI +********
SAT +***
+---+-----+-----+-----+-----+
0 500 1000 1500 2000 2500
First the program retrieves Sunday’s kilowatt demand from the KWD array.
Sunday’s kilowatt demand is 600 Kw. The program divides the demand by 100,
giving 6. So STRINGFILL prints six asterisks for Sunday.
The program then retrieves Monday’s kilowatt demand from the KWD array.
Monday’s kilowatt demand is 1000 Kw. The program divides the demand by
100, giving 10. So STRINGFILL prints 10 asterisks for Monday.
The program continues to carry out the same process for each day of the week.
After printing Saturday’s kilowatt demand, the program prints the scale for the
graph, which displays 0 to 2500 Kw.

Technical 04-30006-02-en, May 2019


1976
63 Script Programming
63.153 TAB

63.153 TAB
TAB returns a series of continuous blank spaces. The number of blank spaces is
number.

Syntax
Tab (number)

Table: TAB Parameter


Parameter Description

number Any number or expression.


The number represents the number of
spaces you want to push the printed text to
the right, as on a typewriter. Must be less
than 132.

Examples
Program File
Print Tab (10); "This is a Title"
Output
This is a Title
The text is moved ten spaces to the right.

04-30006-02-en, May 2019 Technical


1977
63 Script Programming
63.154 Time Functions

63.154 Time Functions


Time functions perform time-related operations.

63.154.1 DIFFTIME
DIFFTIME calculates the difference in whole seconds, minutes, hours, or days
between two dates and times, date_time1 and date_time2. (Subtracts
date_time1 from date_time2.)
For more information, see section 63.155 “DIFFTIME” on page 1979..

63.154.2 TIMEPIECE
TIMEPIECE retrieves the piece of time (hour, minute, second) or the piece of the
date (weekday, month, day of the month, year, day of the year) from a variable
or point.
For more information, see section 63.156 “TIMEPIECE” on page 1981..

Technical 04-30006-02-en, May 2019


1978
63 Script Programming
63.155 DIFFTIME

63.155 DIFFTIME
DIFFTIME calculates the difference in whole seconds, minutes, hours, or days
between two dates and times, date_time1 and date_time2. (Subtracts
date_time1 from date_time2.)

Syntax
Syntax 1: Difftime ( SECOND, date_time1, date_time2 )
Calculates the difference in whole seconds between two dates and times,
date_time1 and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 2: Difftime ( MINUTE, date_time1, date_time2 )
Calculates the different in whole minutes between two dates and times,
date_time1 and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 3: Difftime ( HOUR, date_time1, date_time2 )
Calculates the different in whole hours between two dates ad times, date_time1
and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 4: Difftime ( WKD, date_time1, date_time2 )
Calculates and returns the different in whole days between two times and dates,
date_time1 and date_time2. (Subtracts date_time1 from date_time2.)

Table: DIFFTIME Parameters


Parameter Description

date_time1 Any actual date and time or a datetime


variable.
DIFFTIME always subtracts the first
datetime from the second one.
With SECOND, any time beyond a
complete second is not counted. So, 2 1/2
seconds becomes 2 seconds.
With MINUTE, any time beyond a complete
minute is not counted. So, 2 minutes and
15 seconds becomes 2 minutes.
With HOUR, any time beyond a complete
hour is not counted. So, 2 hours and 15
minutes becomes 2 hours.
With WKD, any time beyond a complete
day is not counted. So, two days and 15
hours becomes two days.

date_time2 If date_time1 is later than date_time2,


DIFFTIME returns a negative number.

Examples
Example 1
You can use DIFFTIME with SECOND to determine how many seconds have
passed. The sample program below calculates the difference between two
readings of the datetime variable TIMER.
Program File

04-30006-02-en, May 2019 Technical


1979
63 Script Programming
63.155 DIFFTIME

Datetime Timer[2]
If Difftime (second, Timer[1], Timer[2]) > 30 then Run Test
The statement determines the result of TIMER[2] - TIMER[1]. If the difference is
greater than 30 seconds, TEST runs.
You would substitute MINUTE or HOUR in the above example to get time
difference in minutes or hours.
Example 2
You can use DIFFTIME with WKD to determine how many days have passed.
The sample program that follows calculates the difference between the old date
(stored in the OLDDATE variable) and the current date (in the DATE system
variable).
Program File
Datetime Timer[2]
Result = Difftime (WKD, OLDTIME, DATE)
The statement sets RESULT to the number of days that DATE - OLDDATE gives.

Technical 04-30006-02-en, May 2019


1980
63 Script Programming
63.156 TIMEPIECE

63.156 TIMEPIECE
TIMEPIECE retrieves the piece of time (hour, minute, second) or the piece of the
date (weekday, month, day of the month, year, day of the year) from a variable
or point.

NOTICE
Be aware that the days of the week correspond to the following digits:
• Sunday = 1
• Monday = 2
• Tuesday = 3
• Wednesday = 4
• Thursday = 5
• Friday = 6
• Saturday = 7

Syntax
Timepiece (datetime_system_variable, datetime_name)

Table: TIMEPIECE Parameters


Parameter Description

datetime_system_variable One of the date or time system variables:


HOUR, MINUTE, SECOND, HOD, TOD,
WEEKDAY, MONTH, DAYOFMONTH,
YEAR, DAYOFYEAR.

datetime_name Any name that stands for a date and time,


including datetime variables and points
and the DATE system variable.

Examples
Example 1
Program File
Datetime Date1
Numeric CurrentMin
Date1 = StrToDate ("5-25-98 11:13:23")
CurrentMin = Timepiece (Minute, Date1)
In this program, the TIMEPIECE function retrieves the minute from DATE1 and
returns 13.
Example 2
Program File
Numeric TodayMonth
TodayMonth = Timepiece (Month, Date)

04-30006-02-en, May 2019 Technical


1981
63 Script Programming
63.156 TIMEPIECE

In this program, the TIMEPIECE function retrieves the month from the DATE
system variable. If the date is June 20, 2005, TODAYMONTH is set to JUNE.

Technical 04-30006-02-en, May 2019


1982
63 Script Programming
63.157 Trigonometric Functions

63.157 Trigonometric Functions


Trigonometric functions return arccosine, arctangents, and arcsines of given
numbers.

63.157.1 ACOS
ACOS returns the arccosine of the given number.
For more information, see section 63.158 “ACOS” on page 1984..

63.157.2 ASIN
ASIN returns the arcsine of the number.
For more information, see section 63.159 “ASIN” on page 1985..

63.157.3 ATAN
ATAN returns the arctangent of number.
For more information, see section 63.160 “ATAN” on page 1986..

63.157.4 ATAN2
ATAN2 returns an angle with a sine of sin and a cosine of cos.
For more information, see section 63.161 “ATAN2” on page 1987..

63.157.5 COS
COS returns the cosine of number.
For more information, see section 63.162 “COS” on page 1988..

63.157.6 SIN
SIN returns the sine of the angle you specify.
For more information, see section 63.163 “SIN” on page 1989..

63.157.7 TAN
TAN returns the tangent of number.
For more information, see section 63.164 “TAN” on page 1990..

04-30006-02-en, May 2019 Technical


1983
63 Script Programming
63.158 ACOS

63.158 ACOS
Alias: ARCCOSINE
ACOS returns the arccosine of the given number.

Syntax
ACOS (number)

Table: ACOS Parameter


Parameter Description

number Any number or expression that gives a


result between -1 and 1 inclusive.

The value returned is between 0 and pi (3.14159) radians.


Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
AN_VALUE = ACOS(.7071)

Technical 04-30006-02-en, May 2019


1984
63 Script Programming
63.159 ASIN

63.159 ASIN
Alias: ARCSINE
ASIN returns the arcsine of the number.

Syntax
ASIN (number)

Table: ASIN Parameter


Parameter Description

number Any number or expression that gives a


result between -1 and 1 inclusive, or
expression that gives a result in that range.

Returns the arcsine of number as an angle between -3.14159/2 and 3.14159/2.


Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
Result = ASIN(1)

04-30006-02-en, May 2019 Technical


1985
63 Script Programming
63.160 ATAN

63.160 ATAN
Alias: ARCTANGENT
ATAN returns the arctangent of number.

Syntax
ATAN (number)

Table: ATAN Parameter


Parameter Description

number Any number or expression.

Returns an angle value between -3.14159/2 and 3.14159/2.


Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
Val_ARC = ATAN(0)

Technical 04-30006-02-en, May 2019


1986
63 Script Programming
63.161 ATAN2

63.161 ATAN2
Alias: ARCTANGENT2
ATAN2 returns an angle with a sine of sin and a cosine of cos.

Syntax
ATAN2 (sin, cos)

Table: ATAN2 Parameter


Parameter Description

sin A number that is the sine of an angle.

cos A number that is the cosine of an angle.

The angle returned is between -3.14159 and 3.14159 radians.


Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
Ang_Damper = ATAN2(0.0, 1.0)

04-30006-02-en, May 2019 Technical


1987
63 Script Programming
63.162 COS

63.162 COS
Alias: COSINE
COS returns the cosine of number.

Syntax
COS (number)

Table: COS Parameter


Parameter Description

number Any number or expression that represents


an angle measured in radians, between
-65536 and 65536.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Example 1
Program File
My_COS = COS(3.14159/2)
Example 2
Program File
My_COS = COS(angle)

Technical 04-30006-02-en, May 2019


1988
63 Script Programming
63.163 SIN

63.163 SIN
Alias: SINE
SIN returns the sine of the angle you specify.

Syntax
SIN (number)

Table: SIN Parameter


Parameter Description

number Any number or expression. The number


represents an angle in radians, between
-65536 and 65536.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
Result = SIN (1)

04-30006-02-en, May 2019 Technical


1989
63 Script Programming
63.164 TAN

63.164 TAN
Alias: TANGENT
TAN returns the tangent of number.

Syntax
TAN (number)

Table: TAN Parameter


Parameter Description

number Any number or expression.


The number represents an angle
measured in radians.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Examples
Program File
Position = TAN (3.14159/180)

Technical 04-30006-02-en, May 2019


1990
64 Script Editor

Topics
Script Editor Overview
Script Editor Program Creation
Script Compiler Errors
Script Runtime Errors
Script Editor Features
Script Editor Program Elements and Colors
Keyboard Shortcuts for Script Editor
Collapsible Code Segments
Adding a Line
Script Auto-Completion
Using Script Auto-Completion
Script Editor Initial Binding Variable Values
Comments in Script Programs
Adding a Comment
Checking and Saving a Script Program
Executing a Script Program
Importing Script Program Code
Exporting a Script Program
Converting a Plain English File
Customizing the Script Editor
64 Using a Collapsible Script Code Block
Adding an Entry to the Code Library
Working with Code Library Folders
Working with Code Library Sample Import Files
Working with Code Library Items
Inserting a Code Library Item in a Script Program or
Function
Referencing the Code Library File
Finding Text in Script Editor
Using Undo and Redo in Script Editor
Script Debugger
Script Debugger Function Keys
Debugging a Script Program
Controlling the Trace Operation in the Script Debugger
Changing Values in the Script Debugger Local or Binding
Variables Pane
BACnet Priority Level Access
Configuring BACnet Priority Level Access
Configuring BACnet Priority Level Access for a b3 BACnet
Device
64 Script Editor
64.1 Script Editor Overview

64.1 Script Editor Overview


Script Editor is a text programming tool you use to create Script programs that
control and monitor building automation systems. Script Editor opens when you
edit a Script program in WorkStation.

64.1.1 Script Editor Program Creation


Script Editor is a text programming tool you use to create Script programs that
control and monitor building automation systems. For example, in WorkStation,
you can create a basic program, called OfficeLights, to control lighting and
ventilation in a room based on occupancy.
For more information, see section 64.2 “Script Editor Program Creation” on page
1994.

64.1.2 Script Editor Features


There are a number of features in Script Editor that allow you to improve the
readability and efficiency of your Script programs. These include:
• Program elements and colors
• Keystrokes
• Collapsible code segments
• Comments
• Auto-completion
For more information, see section 64.5 “Script Editor Features” on page 2004.

64.1.3 Script Compiler Errors


Script compiler errors identify problems that may occur in Script programming.
For more information, see section 64.3 “Script Compiler Errors” on page 1999.

64.1.4 Script Runtime Errors


Script runtime errors identify problems that may occur in Script programming.
For more information, see section 64.4 “Script Runtime Errors” on page 2002.

04-30006-02-en, May 2019 Technical


1993
64 Script Editor
64.2 Script Editor Program Creation

64.2 Script Editor Program Creation


Script Editor is a text programming tool you use to create Script programs that
control and monitor building automation systems. For example, in WorkStation,
you can create a basic program, called OfficeLights, to control lighting and
ventilation in a room based on occupancy.

NOTICE
Ensure that you have a working and available Script license. A working license
is required to start Script. For more information, see the Licenses topic on
WebHelp.

Figure: OfficeLights Program in the List View

When you open your new OfficeLights program in Script Editor, you begin by
declaring local variables for the program input and output followed by names for
the variables. For more information, see section 62.16 “Local Variable
Declarations” on page 1737.

Technical 04-30006-02-en, May 2019


1994
64 Script Editor
64.2 Script Editor Program Creation

Figure: Variable Declarations

Once you have declared and referenced these variables, you then create the
program lines to specify the type of action you wish the program to perform.
Script programs are composed of everyday language statements, called
instructions, so you do not need to be a programmer to learn how to program
with the Script Editor.
After you finish writing the instructions in your program, you create points in
WorkStation.

04-30006-02-en, May 2019 Technical


1995
64 Script Editor
64.2 Script Editor Program Creation

Figure: WorkStation Points

You then bind the variables to those points to view the output.

Figure: Script Program Bindings

Technical 04-30006-02-en, May 2019


1996
64 Script Editor
64.2 Script Editor Program Creation

By using bindings, you can increase the flexibility of your building automation
system. For example, you can use your OfficeLights program to control lighting
and ventilation in one room and then use that program for another room by
changing the bindings. You do not need to change all of the local variable
names to suit the new program. When you are finished, you use Script Editor to
check the program for errors and save the program.

Figure: Script Program Check and Save Process

In WorkStation, in the Properties pane, you select the task in which you wish to
include your program. You then execute your Script program.

04-30006-02-en, May 2019 Technical


1997
64 Script Editor
64.2 Script Editor Program Creation

Figure: Script Program Execution

You can store your Script programs like a common document and include them
later in other projects for use in your control system. You can also write
programs that perform very complex control system decisions, such as
controlling lighting, boilers, and air handling units at multiple sites.
A single program file controls one piece of equipment, which makes programs
easier to maintain and debug. The capability to control one piece of equipment
also eliminates the possibility of a conflict occurring between the instructions in
two different programs. For example, a program that locks and unlocks a door
prevents the likelihood of an accidental door locking and unlocking.

Technical 04-30006-02-en, May 2019


1998
64 Script Editor
64.3 Script Compiler Errors

64.3 Script Compiler Errors


Script compiler errors identify problems that may occur in Script programming.

Table: Script Compiler Error Messages (1001...1102)


Error Error Text

1001

1002 Identifier <name> is too long.

1025 String <name> is too long.

1026 Comment exceeds maximum number of


characters.

1027 Syntax error, unexpected character


<character>.

1029 Syntax error, unexpected token <token>.

1030 Array size <number> is not an integer


between 1 and 36,767.

1031 FOR loop variable and NEXT variable are


different.

1032 GOTO statement is not allowed inside a


loop.

1033 Not enough free memory.

1034 Line <label> is redefined.

1035 Line <label> is not defined.

1036 Local variable <name> is redeclared.

1037 Variable <name> is not declared.

1038 Cannot define any more local variables.

1039 BREAK or CONTINUE is outside a loop or


block.

1040 Argument <name> is redeclared.

1041 Unsupported operational code.

1042 <number> is not a valid number.

1043 Number cannot be longer than 132 digits.

1044 Internal error: Invalid Stack Address.

1045 Internal error: Illegal stack pop operation.

1046 No function with that name exists.

04-30006-02-en, May 2019 Technical


1999
64 Script Editor
64.3 Script Compiler Errors

Continued
Error Error Text

1047 Variable is not an attribute.

1048 No quotation marks at end of string.

1054 Path name is too long.

1055 Attribute <name> does not apply to object


<name>.

1056 <name> defines an argument that cannot


be a local variable.

1057 Incorrect array entry type.

1058 Alarm expression is too large.

1059 Cannot set this variable. Make sure the


variable is not an input or function variable.

1060 Cannot set this attribute.

1061 Illegal rotate identifier type.

1062 Cannot enable or disable that object.

1064 Internal error: Stack overflow.

1065 Illegal use of a FOR loop variable. You


must use a local numeric variable.

1067 Cannot set a system variable.

1068 Statement is too long.

1069 System reserved label.

1070 Unsupported feature.

1071 Non integer number.

1072 Passed too many arguments to a function.


Be aware that Script functions support up
to 15 arguments.

1073 Argument outside of index range.

1074 No character is allowed after continuation


symbol.

1075 Cannot Run or Stop program.

1076 Cannot compile report.

1077 Illegal command option.

Technical 04-30006-02-en, May 2019


2000
64 Script Editor
64.3 Script Compiler Errors

Continued
Error Error Text

1080 Command is valid only in a program or


function.

1081 Illegal name in alarm expression.

1083 Operation is not available.

1084 Total number of errors: <number>

1086 Syntax error, unexpected keyword


<keyword>

1087 Syntax error, unexpected symbol


<symbol>

1088 Syntax error, unexpected symbol.

1089 Syntax error, unexpected comment.

1090 Local variable <name> is not an array.

1091 Syntax error, unexpected end of line.

1092 Syntax error, unexpected end of file.

1093 File not saved - You have not made any


changes.

1095 No Errors.

1096 Total number of characters used in line


labels exceeded maximum.

1097 Object <name> and the program are not in


the same network.

1098 Cannot use custom attribute in Program


and Function.

1099 Exceeded number of displayable lines.

1100 Unknown identifier.

1101 Unknown file type.

1102 End of file.

04-30006-02-en, May 2019 Technical


2001
64 Script Editor
64.4 Script Runtime Errors

64.4 Script Runtime Errors


Script runtime errors identify problems that may occur in Script programming.

Table: Script Runtime Error Messages


Error Text

Illegal type of assignment left-hand identifier

Set type mismatch

Local variable does not exist

Illegal expression type

Illegal hour value

String has more than 255 characters

Operation not supported

Stack Overflow

Illegal argument

Invalid destination

Illegal identifier type

Illegal variable type

Tried to divide a value by zero

Index out of range

Illegal array index

Illegal argument count

Invalid DateTime value

Executed too many statements on one line

Loop variable is not numeric

Error stopping current program

Illegal import ID

Bad path name

Illegal attribute usage

Exit User Function

Invalid set value

Preparse failed

Technical 04-30006-02-en, May 2019


2002
64 Script Editor
64.4 Script Runtime Errors

Continued
Error Text

Could not read from text file

Could not write to text file

Execution failed

Text file open failed

Comm failed

Cannot set attribute

Recursion not supported

04-30006-02-en, May 2019 Technical


2003
64 Script Editor
64.5 Script Editor Features

64.5 Script Editor Features


There are a number of features in Script Editor that allow you to improve the
readability and efficiency of your Script programs. These include:
• Program elements and colors
• Keystrokes
• Collapsible code segments
• Comments
• Auto-completion
• Initial binding variable values

64.5.1 Script Editor Program Elements and Colors


Within the Script Editor, each program element is displayed in a different color to
differentiate it from other program elements.
For more information, see section 64.6 “Script Editor Program Elements and
Colors” on page 2006.

64.5.2 Keyboard Shortcuts for Script Editor


You use keystrokes to change, move, find, cut, and paste text in the Script
Editor.
For more information, see section 64.7 “Keyboard Shortcuts for Script Editor” on
page 2007.

64.5.3 Collapsible Code Segments


You can improve the readability of your programs by using collapsible code
segments within the Script Editor.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

64.5.4 Comments in Script Programs


Comments are optional sentences you use to help document the operation and
purpose of your Script programs for the reader.
For more information, see section 64.13 “Comments in Script Programs” on
page 2016.

Technical 04-30006-02-en, May 2019


2004
64 Script Editor
64.5 Script Editor Features

64.5.5 Script Auto-Completion


You can use auto-completion to fill in predictive text based on the possible
matches to the text that you type. Intellisense™ is an auto-completion tool that the
EcoStruxure Building Operation software uses to store a collection of keywords,
function names, and constants that you can use in Script programming.
For more information, see section 64.10 “Script Auto-Completion” on page 2012.

64.5.6 Script Editor Initial Binding Variable Values


In the Script Editor, you have two different ways of setting the initial binding
variable values:
• You can write statements in your Script program
• You can use the Start Value field in the Variables pane
For more information, see section 64.12 “Script Editor Initial Binding Variable
Values” on page 2014.

04-30006-02-en, May 2019 Technical


2005
64 Script Editor
64.6 Script Editor Program Elements and Colors

64.6 Script Editor Program Elements and


Colors
Within the Script Editor, each program element is displayed in a different color to
differentiate it from other program elements.

Table: Program Elements and Default Colors


Program Element Default Color

Text Black

Keyword Blue

Function Dodger Blue

Value Maroon

String Red

Number Navy

Operator Teal

Comment Green

Technical 04-30006-02-en, May 2019


2006
64 Script Editor
64.7 Keyboard Shortcuts for Script Editor

64.7 Keyboard Shortcuts for Script Editor


You use keystrokes to change, move, find, cut, and paste text in the Script
Editor.

Table: Changing and Moving Text


Keystroke Action

Backspace Deletes any selected text, or deletes one


character to the left of the cursor.

CTRL + F Opens the Find dialog box.

Ctrl + Insert or CTRL + C Copies selected text and stores that text in
the clipboard.

Shift + Insert Inserts text wherever you wish.

Delete Deletes selected text or deletes one


character to the right of the cursor. If the
cursor is at the end of a line, connects the
line to the next one.

Enter Ends a line and starts a new one.

Insert Toggles between two modes:


• Insert – Inserting text into current text
• Overwrite – Typing over current text
The current mode is shown on the Status
bar on the bottom of the Script Editor
screen.

Shift + Delete or CTRL + X Cuts the selected text and stores that text
in the clipboard.

Shift + Insert or CTRL + V Pastes the text you last cut or copied at the
current cursor position in your program.

04-30006-02-en, May 2019 Technical


2007
64 Script Editor
64.8 Collapsible Code Segments

64.8 Collapsible Code Segments


You can improve the readability of your programs by using collapsible code
segments within the Script Editor.
You can expand or collapse code for the following types of code segments:
• For...Next
• While...Endwhile
• Repeat...Until
• Select Case...Endselect
Collapsed code segments display as text within the program next to a Maximize
button indicating the keyword/collapser name in place of the full code lines.

64.8.1 Clipboard
You use the Clipboard pane as the area to store copied and cut items while
programming. You can paste items from the Clipboard into any of the program
editor panes that are being used. For example, by double-clicking on an item in
the clipboard pane, you can insert that text into the program where the cursor is
currently located.
You access the cut, copy, and paste commands in one of two ways:
• By using the toolbar buttons
• Through the use of keyboard shortcuts

64.8.2 Code Library


Within Script Editor, the Code Library is a helpful programming tool that allows
you to create multiple folders to save, organize, and recall frequently used text.
You store folders on your PC and these folders appear alphabetically in the
Code Library pane.

Technical 04-30006-02-en, May 2019


2008
64 Script Editor
64.8 Collapsible Code Segments

Figure: Folders

A code library folder is made up of frequently used units of text called entries.
These entries can be single words, a full code line, a function, or even an entire
Script program. You can decide how much and what kind of text is stored as an
item according to your programming preferences.
You can also give entries meaningful names to help you identify and use them
easily. You can reference the code library file from anywhere on the PC that you
use to run WorkStation.

System-Provided Programs, Functions, and Sample Import Files


The Script Editor Code Library contains a series of system-provided programs,
functions, and sample import files that can help you solve common problems.
For example, the sample import files help to implement and utilize Script
program features such as simulation and calculation programs. The Code
Library contains the entire set of objects, such as programs, functions, and
values necessary for the application to function.
You can use these system-provided programs, functions, and sample import
files as-is or as samples when developing your own Script programs. They are
located in the designated folders in the Code Library.

04-30006-02-en, May 2019 Technical


2009
64 Script Editor
64.8 Collapsible Code Segments

Figure: System-Provided Code Library Programs, Functions, and Import Files

Technical 04-30006-02-en, May 2019


2010
64 Script Editor
64.9 Adding a Line

64.9 Adding a Line


You add lines to specify the type of action you want your Script program to
perform. A line is an instruction or series of instructions that belong together
under one line label.
For more information, see section 62.11 “Lines and Line Numbers” on page
1729.

To add a line
1. In Script Editor, type a line label that is preceded by the Line keyword or
followed by a colon, and then add the instructions that belong to the line
label.

You have now added line labels and instructions in your program.

04-30006-02-en, May 2019 Technical


2011
64 Script Editor
64.10 Script Auto-Completion

64.10 Script Auto-Completion


You can use auto-completion to fill in predictive text based on the possible
matches to the text that you type. Intellisense™ is an auto-completion tool that the
EcoStruxure Building Operation software uses to store a collection of keywords,
function names, and constants that you can use in Script programming.
These matches display for Script keywords, functions, and constants. The list of
words displays in a box to the right side of the cursor when you start typing a
new word.

Figure: Auto-completion

As more characters are typed, the list shrinks as the possible matches
decrease. If there are no matches, the box closes automatically.
ToolTips display next to the text options with information about each, such as
function description, keyword name, and function parameters. You can use
ToolTips to auto-complete the text by selecting any of the options listed.

Technical 04-30006-02-en, May 2019


2012
64 Script Editor
64.11 Using Script Auto-Completion

64.11 Using Script Auto-Completion


To save time, you use auto-completion to fill in predictive text based on possible
matches to the text you enter in your Script programs or functions.
For more information, see section 64.10 “Script Auto-Completion” on page 2012.

To Use Script auto-completion


1. In Script Editor, start typing and notice the predictive text that displays for
Script keywords, functions, and constants.
2. In the list, double-click the text you want to use.

04-30006-02-en, May 2019 Technical


2013
64 Script Editor
64.12 Script Editor Initial Binding Variable Values

64.12 Script Editor Initial Binding Variable


Values
In the Script Editor, you have two different ways of setting the initial binding
variable values:
• You can write statements in your Script program
• You can use the Start Value field in the Variables pane

64.12.1 Statements in Script Programs


You can write statements directly in your Script program using an initialization
line, with one or more statements typically setting the output variables.
Initializing:
Set Output1 to 1
Set Output2 to 2
...
E:
'Some Error occurred, Restart Execution
GoTo Initializing

NOTICE
With this method, you can issue a GoTo statement to the initialization line
anywhere in the program. This GoTo statement directs the program to re-
execute the initialization statements and start over (based on program
execution logic).

64.12.2 Script Editor Variables Pane Initial Value


Field
You can configure initial binding variables values using the Initial Value field in
Script Editor's Variables pane.

Technical 04-30006-02-en, May 2019


2014
64 Script Editor
64.12 Script Editor Initial Binding Variable Values

Figure: Script Editor Variables Pane

When you configure the initial binding variable values in the Variables pane, the
program uses those values. However, when those variables are bound to object
properties, the program uses the variable values of the objects when it runs,
instead of the starting ones from the Variables pane.
The table that follows explains how to configure a start value for each variable
type.

Table: Start Value Variable Types


Variable Expected Value Configuration object

Float Numeric Text box

Integer Numeric Text box

Boolean Numeric Dropdown

String String Text box

DateTime DateTime Date and time picker

04-30006-02-en, May 2019 Technical


2015
64 Script Editor
64.13 Comments in Script Programs

64.13 Comments in Script Programs


Comments are optional sentences you use to help document the operation and
purpose of your Script programs for the reader.
Comments are not operated upon. Instead, you enter comments as single lines
preceded by a single quotation mark (‘).

NOTICE
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).

Figure: Comments in Script Program

You can add as many comments as necessary, but each is restricted to one
physical (132 characters) line.
You can also add a comment after a statement on the same physical line, such
as the following:
TURN THE FAN ON ‘start cooling

Technical 04-30006-02-en, May 2019


2016
64 Script Editor
64.14 Adding a Comment

64.14 Adding a Comment


You use optional comments to help document the operation and purpose of a
Script program or function.
For more information, see section 64.13 “Comments in Script Programs” on
page 2016.

To add a comment
1. In Script Editor, type a single quotation mark (') and then type a comment.

You can add a comment at the beginning of the program or function to explain
its purpose. You can also add comments at the end of any statement in a Script
program or function.

04-30006-02-en, May 2019 Technical


2017
64 Script Editor
64.15 Checking and Saving a Script Program

64.15 Checking and Saving a Script Program


You check your Script program to ensure there are no syntax errors. You
perform a save operation to check and then save your Script program.

NOTICE
If you save a program that contains errors, that program will not run. The
progam must have a successful check before running.

For more information, see section 62.3 “Script Programs” on page 1711.

To check and save a Script program


1. In Script Editor, click Check
Check.
2. In the Check pane, double-click on an error message to go to the line of
code that contains the error.
3. Click Save to check and save your Script program.
When you save a program that contains Input, Output, Public, Function and
WebService variables, the entries are automatically added to the
corresponding binding tabs in the Properties pane.
The Script Editor displays a Save Successful message, even if the program
contains errors and does not compile successfully.
You have now checked and saved your Script program.

Technical 04-30006-02-en, May 2019


2018
64 Script Editor
64.16 Executing a Script Program

64.16 Executing a Script Program


You execute a Script program in order to tell the EcoStruxure BMS server to take
a specific action to control a building.
For more information, see section 62.17 “Tasks” on page 1741.

To execute a Script program


1. In WorkStation, in the List View
View, select the Script program.
2. On the File menu, click Properties
Properties.
3. Click the Basic tab.
4. In the Task box, enter the task you want to add to the program.
5. Click OK
OK.
6. In the List View
View, select the program you want to execute.
7. On the Actions menu, click Restart.
8. In the Script Program Properties Basic tab, observe that the Runtime
fields, such as TS, TM, and TH, update as the program executes.

04-30006-02-en, May 2019 Technical


2019
64 Script Editor
64.17 Importing Script Program Code

64.17 Importing Script Program Code


You import Script program code to reuse all or parts of existing code. Script
Editor supports import of .txt files created using the Plain English tool, as well as
previously created Script program files.
For more information, see section 62.10 “Script Program Instructions” on page
1727.

To import Script program code


1. In WorkStation, in the System Tree pane, select the Script program or
function you want to import program code to.
2. On the Actions menu, click Edit
Edit.
3. In Script Editor, position the insertion point in the program or function where
you want to import program code.

4. Click the Script menu button .


5. Point to Import and click Text or Plain English
English.
6. Select the file you want to import.
7. Click Open
Open.
8. Click Save
Save.

NOTICE
• When a Plain English .txt file is imported, you have to load the file and
complete a conversion process. As a result of these conversions, you
may need to make adjustments to the imported script program code.

Technical 04-30006-02-en, May 2019


2020
64 Script Editor
64.18 Exporting a Script Program

64.18 Exporting a Script Program


You can export the contents of any program file to a .txt file in the Script Editor.
This lets you export programs and modify them in a text editor application
separate from WorkStation, or write them to a text file for use in another location.

NOTICE
• To import text into a new program, create the program in a text editor first
and then import the .txt file.

For more information, see section 62.3 “Script Programs” on page 1711.

To export a Script program


1. In WorkStation, in the List View
View, select the Script program or function you
want to open.
2. On the Actions menu, click Edit
Edit.
3. In Script Editor, select the text in the program that you want to export.

4. Click the Script menu button .


5. Click Export.
6. Select the location where you want to save the exported text.
7. In the File name box, enter a name for the .txt file.
8. Click Save
Save.

04-30006-02-en, May 2019 Technical


2021
64 Script Editor
64.19 Converting a Plain English File

64.19 Converting a Plain English File


You convert Plain English files to Script to reuse all or parts of existing Plain
English code.

To convert a Plain English file


1. In WorkStation, in the System Tree pane, select the Script program or
function you want to convert Plain English code to.
2. On the Actions menu, click Edit
Edit.
3. In Script Editor, position the insertion point in the program or function where
you want to import the Plain English code.

4. Click the Script menu icon , point to Import and then click Plain
English
English.
5. In the Import Plain English dialog box, click Load file to load an entire PE
file, or paste the text you want from your PE program or function into the
Plain English Editor pane.
6. Select the .txt file you want to convert.
7. Click Open
Open.
8. Convert all or part of the file:
• Click Convert all to convert the entire PE file to a Script program.
• Select the lines you want to convert and then click Convert selected to
convert the selected lines to the Script program or function.
9. Correct any errors that occur during the conversion.
10. Click Close
Close.
11. In Script Editor
Editor, click Save
Save.

Technical 04-30006-02-en, May 2019


2022
64 Script Editor
64.20 Customizing the Script Editor

64.20 Customizing the Script Editor


You can customize the Script Editor and choose the preferred layout, line
numbers, or colors you want to use. You can also customize the appearance of
programming elements for easy identification, or select a path for use with code
libraries and the import/export tool.
For more information, see section 64.5 “Script Editor Features” on page 2004.

To customize the Script Editor


1. In Script Editor, click Options
Options.
2. In the Options dialog box, click the General tab.
3. Select Tabbed documents to display your programs and functions as
tabbed documents in the Script Editor.
4. Select Multiple documents to display your programs and functions as
multiple documents in the Script Editor.
5. Select Enable IntelliSense to auto-complete keywords, function names,
and constants as you create programs in the Script Editor.
For more information, see section 64.10 “Script Auto-Completion” on page
2012.
6. Select Enable outlining to show the code segments eligible for collapse.
7. Select Show line numbers to display line numbers in the program window.
8. Click Restore default settings to restore the settings to their default values.
9. Click the Fonts and Colors tab.
10. In the Font box, click the drop-down menu to select the font you want to
use.
11. In the Size box, select the font size.
12. In the Display items list, select the Script programming language element
you want to locate and highlight in your program.
For example, specify that a string in your Script program is highlighted in
red.
13. Click Apply
Apply. The string in your Script program is now highlighted.
14. Click the Paths tab.
15. For Code library path
path, enter a path:
• Click Browse to locate and select a path.
Click Restore to specify the default path.
16. For Import / export path
path, enter a path:
• Click Browse to locate and select a path.
• Click Restore to specify the default path.
17. Click OK
OK.

04-30006-02-en, May 2019 Technical


2023
64 Script Editor
64.21 Using a Collapsible Script Code Block

64.21 Using a Collapsible Script Code Block


You improve the readability of your Script programs and functions by using
collapsible code blocks within Script Editor. Code blocks are elements that
Script Editor automatically adds for certain types of program statements, such
as For...Next, Repeat...Until, Select Case...Endselect, and While...Endwhile.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To use a collapsible Script code block


1. In Script Editor, create a code block that determines squares using the
For...Next, Repeat...Until, Select Case...Endselect, or While...Endwhile
statements.
2. Expand or collapse the code in the code block by clicking + (Maximize), or
- (Minimize).
Collapsed code blocks appear as text within the program next to a +
button that indicates the keyword/collapser name in place of the full code
lines.
You have now utilized a collapsible code block.

Technical 04-30006-02-en, May 2019


2024
64 Script Editor
64.22 Adding an Entry to the Code Library

64.22 Adding an Entry to the Code Library


You can add entries to the code library in Script Editor. Entries can be single
words, a full code line, a function, or a Script program.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To add an entry to the code library


1. In Script Editor, select the text that you want to save.
2. Right-click and select Add to library
library.
3. In the Add to Code Library dialog box, in the Entry name box, type an
entry name.
4. In the Create in box, select a code library folder:
• Select a folder from the list to add the entry to an existing folder.
• Click New folder to add the entry to a new folder.
5. Click Add
Add.

04-30006-02-en, May 2019 Technical


2025
64 Script Editor
64.23 Working with Code Library Folders

64.23 Working with Code Library Folders


You can add, delete, and rename code library folders on your PC using Script
Editor. A code library is composed of frequently used units of text called entries.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To work with code library folders


1. In Script Editor, click Library
Library.
2. In the Library pane, click a folder.
3. To add a new folder, right-click and click New folder
folder. Then, enter a name
for the folder and click OK
OK.
4. To change a folder name, right-click and click Rename folder
folder. Then, enter
a new name for the folder and click OK
OK.
5. To delete a folder and its contents, right-click and click Delete folder
folder. Then,
click Yes
Yes.

Technical 04-30006-02-en, May 2019


2026
64 Script Editor
64.24 Working with Code Library Sample Import Files

64.24 Working with Code Library Sample


Import Files
You use the system-provided sample import files in the Script Editor Code
Library to develop your own Script programs that utilize Web Services. In this
procedure, the sample import file provides you with weather data, such as
temperature and humidity, for a given US city.
For more information, see section 65.1 “Script Web Services” on page 2045.

To work with code library sample import files


1. In Script Editor, click Library
Library.
2. In the Library pane, click Sample Import Files
Files.
3. Double-click the sample import file you want, such as WebService Restful
GET US City Weather.xml file.

NOTICE
By default, the path for the import is the Server. You cannot change the
path.

4. Click Import
Import.
All of the objects contained in the import sample file are created in the
EcoStruxure BMS server.
5. In the List View, click the City variable.
6. On the File menu, click Properties
Properties.
7. In the Basic tab, enter the city name.
8. Click OK
OK.
9. Drag these City values to the Watch pane and observe the functioning
program as it obtains the temperature and weather conditions for Boston.
10. In the List View, click the Get US City Weather by ZIP program.
11. On the Actions menu, click Edit
Edit.
12. View and edit the program as needed.
13. Click Save to execute the updated Get US City Weather by Zip program.

04-30006-02-en, May 2019 Technical


2027
64 Script Editor
64.25 Working with Code Library Items

64.25 Working with Code Library Items


You use items such as programs and functions in the code library when
developing your own Script programs and functions.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To work with code library items


1. In Script Editor, click Library
Library.
2. In the Library pane, click the folder that contains the item.
3. Right-click the item and then click Rename item
item.
4. Enter a new name in the highlighted area.
5. To delete a code library item, click Delete item and then click Yes when
prompted.
6. To move a code library item, click Move to folder and then select the code
library location from the list.

Technical 04-30006-02-en, May 2019


2028
64 Script Editor
64.26 Inserting a Code Library Item in a Script Program or Function

64.26 Inserting a Code Library Item in a Script


Program or Function
You insert a code library item in a Script program or function to add a frequently
used unit of text such as a single word, a program instruction, a program line or
set of instructions, or a complete function or program.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To insert a code library item in a Script program or function


1. In Script Editor, position the insertion point in the program or function where
you want to insert the item.
2. Click Library
Library.
3. In the Library pane, click the folder that contains the item.
4. Right-click the item and click Insert in editor
editor.
The item appears at your insertion point in the Script program or function.

04-30006-02-en, May 2019 Technical


2029
64 Script Editor
64.27 Referencing the Code Library File

64.27 Referencing the Code Library File


You reference the code library file from anywhere on the PC you choose to run
Script.
For more information, see section 64.8 “Collapsible Code Segments” on page
2008.

To reference the code library file


1. In Script Editor, click Options
Options.
2. Click the Paths tab.
3. For Code library path
path, enter a path:
• Click Browse to locate and select a path.
• Click Restore to specify the default path.
4. Click OK
OK.

Technical 04-30006-02-en, May 2019


2030
64 Script Editor
64.28 Finding Text in Script Editor

64.28 Finding Text in Script Editor


You can find text in a Script program or function using the Script Editor toolbar
Find field.

NOTICE
• Use this method when you want to search only the current program.

For more information, see section 64.5 “Script Editor Features” on page 2004.

To find text in Script Editor


1. In Script Editor, position the insertion point where you want to begin
searching in the program or function.
2. In the Find box, type the text or string you want to find in the program or
function.

3. Click the Find button .


4. In the Find and replace dialog box, click Find
Find.
5. In the current program or function, view the highlighted results.
6. Click Enter to find the next instance of the queried text.

04-30006-02-en, May 2019 Technical


2031
64 Script Editor
64.29 Using Undo and Redo in Script Editor

64.29 Using Undo and Redo in Script Editor


You use the Undo button on the Quick access toolbar in Script Editor to undo
the last keystroke or action. You use the Redo button to repeat the last keystroke
or action that you previously undid.
For more information, see section 64.5 “Script Editor Features” on page 2004.

To use Undo and Redo in Script Editor

1. In Script Editor, click the Undo button to undo the last keystroke or
action.

2. Click the Redo button to repeat the last keystroke or action that you
previously undid.

NOTICE
• The limit of Undo and Redo actions is forward or backwards by 24
instances.

Technical 04-30006-02-en, May 2019


2032
64 Script Editor
64.30 Script Debugger

64.30 Script Debugger


In order to solve complex problems, Script programs have become more and
more sophisticated. With this increased sophistication, finding and fixing issues
in the program's logic has become even more difficult. The Script Debugger is
designed to address such issues.
For example, in the Script Debugger, you can single step through your Script
programs and proceed to the next executing line. You can visually trace your
program's operation as it highlights every executing statement, potentially
uncovering any problems in the program's logic.
You can also set a breakpoint in order to do the following:
• Establish a line where you want your program execution to stop.
• Examine or change variable values.
• Resume execution from that point.
When setting a breakpoint, you may discover the statement at that line is never
reached, uncovering a potential problem. The ability to identify problems in your
Script programs is one of the major advantages of the Script Debugger. Using
its in-session editing capabilities, you can then edit and fix any of the issues that
you identify.

64.30.1 Debug Mode Editing


In the Script Debugger, you can utilize debug mode editing features that allow
you to skip over troublesome areas in your Script programs and then resolve
their problems later. For example, you can use the following features
• Line E ignores error conditions and continues executing your Script
programs. You can then go back later and clear the error condition by
correcting the program's logic.
• Set next statement places the cursor at any executable statement or line in
your Script program. That line then gets highlighted and when you click Go
or single Step
Step, gets executed. Execution resumes or starts from that newly-
selected statement, thus letting you skip over troublesome program issues.
• Comments selected lets you comment out one or more selected statements
in your Script program. By doing so, you direct Script program execution to
ignore commented statements in the Debugger until you identify and fix the
problems. You may also uncomment one or more selected statements and
direct your program to execute them. This is particularly useful for
debugging large Script programs with a number of loops.

64.30.2 Debug b3 BACnet Script Programs


Directly troubleshooting b3 BACnet device Script programs is not supported in
the Script Debugger. However, you can create a SmartX server Script program
that contains similar logic. You can then use this SmartX server Script program
to access b3 BACnet device points and debug that program. Be aware,
however, that not every syntax permitted in the b3 BACnet device is available in
a SmartX server.

04-30006-02-en, May 2019 Technical


2033
64 Script Editor
64.30 Script Debugger

NOTICE
Nested function calls are also not supported in the Script Debugger.

Technical 04-30006-02-en, May 2019


2034
64 Script Editor
64.31 Script Debugger Function Keys

64.31 Script Debugger Function Keys


You can use function keys in the Script Debugger to go to the next executing
line in your Script program, set or remove a breakpoint, or continuously execute
your program until a breakpoint is reached.
Function Key Action Acts like...

F5 Continuously executes a Clicking Go in the Script


Script program until a toolbar
breakpoint is reached or
execution ends.

F9 Sets or removes a Selecting the Insert


breakpoint in your Script breakpoint menu item
program.

F10 Goes to the next executing Clicking Step in the Script


line in the Script program. toolbar

04-30006-02-en, May 2019 Technical


2035
64 Script Editor
64.32 Debugging a Script Program

64.32 Debugging a Script Program


You use the Script Debugger to troubleshoot the Script programs you create.
For more information, see section 64.30 “Script Debugger ” on page 2033.

To debug a Script program


1. In WorkStation, in the List View
View, select the Script program you want to
debug.
2. On the Actions menu, click Edit
Edit.
3. In the Script Editor toolbar, click Start to initiate a Script debugging
session.
4. Debug your Script program.
5. Click Trace On to initate a continuous single step operation. This saves you
from having to constantly press Step
Step.

NOTICE
The icon beside the program name changes to indicate the Script Editor
is now in Debug mode. Be aware that you can only debug one program
at a time.

6. Control the Trace operation.


For more information, see section 64.33 “Controlling the Trace Operation in
the Script Debugger ” on page 2037.
7. Click Step to go to the next executing line in your Script program.
8. Click Go to continuously execute a Script program until a breakpoint is
reached, or execution ends
9. Right click and select Insert breakpoint to toggle a breakpoint in your
Script program.
Programs execute until they reach a programmed breakpoint.
10. Place the cursor at any executable statement or line in your Script
program.
11. Right click and select Set next statement from the Script Editor context
menu.
That line in the program gets highlighted.
12. Click Go or single Step to execute that statement.
Program execution resumes or starts from that newly-selected statement.
13. When finished, click Stop to terminate your Script debugging session.

Technical 04-30006-02-en, May 2019


2036
64 Script Editor
64.33 Controlling the Trace Operation in the Script Debugger

64.33 Controlling the Trace Operation in the


Script Debugger
You can control the Trace operation in the Script Debugger by setting a
breakpoint stop or specifying the timing trace.
For more information, see section 64.30 “Script Debugger ” on page 2033.

To control the trace operation in the Script Debugger


1. In WorkStation, in the List View
View, select the Script program you want to
debug.
2. On the Actions menu, click Edit
Edit.
3. In the Script Editor toolbar, click Options
Options.
4. In the Options dialog box, click Debugger
Debugger.
5. Control the Trace operation by clicking the Stop in breakpoint while
tracing check box.
6. In the Trace timer (ms) field, enter a value that specifies the timing of the
Trace operation.
Optionally, you may adjust the frequency of program statement execution,
such as .25, or .50 of a second.
7. Click Apply
Apply.
8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2037
64 Script Editor
64.34 Changing Values in the Script Debugger Local or Binding Variables Pane

64.34 Changing Values in the Script


Debugger Local or Binding Variables
Pane
While in the Script Debugger, you can use the Local or Binding Variables pane
to re-calculate your Script program values.
For more information, see section 64.30 “Script Debugger ” on page 2033.

To change values in the Script Debugger local or binding


variables pane
1. In WorkStation, in the List View
View, select the Script program you want to
debug.
2. On the Actions menu, click Edit
Edit.
3. Click Start to enter the Script Debugger.
4. In the Script Debugger, click the Value field in the Local or Binding
Variables pane.
5. Type the new value and press Enter.
6. Click Stop to exit the Script Debugger.

Technical 04-30006-02-en, May 2019


2038
64 Script Editor
64.35 BACnet Priority Level Access

64.35 BACnet Priority Level Access


Depending on whether you are configuring BACnet priority level acces in
EcoStruxure Building Operation and MP Series Controller or b3 BACnet device
Script programs, there are several different methods of configuring that access.
When configuring BACnet priority level access in EcoStruxure Building
Operation and MP Series controllers Script programs, you must declare a
program binding variable and bind it to a specific priority level property. You
cannot use the full path name of an object directly.
For more information, see section 64.36 “Configuring BACnet Priority Level
Access” on page 2040.
When configuring BACnet priority level access in b3 BACnet device Script
programs, you use the legacy configuration method because the b3 is a legacy
BACnet device. As a result, you explicitly state the priority level by creating a
binding variable in the b3 Script program. You then bind that variable to the
present value of the commandable object using the WriteProperty or Relinquish
function. Otherwise, the default priority level is assumed.
For more information, see section 64.37 “Configuring BACnet Priority Level
Access for a b3 BACnet Device” on page 2041.

04-30006-02-en, May 2019 Technical


2039
64 Script Editor
64.36 Configuring BACnet Priority Level Access

64.36 Configuring BACnet Priority Level


Access
You must declare a program binding variable and bind it to a specific priority
level property when configuring BACnet priority level access in EcoStruxure
Building Operation and MP Series controller Script programs.
For more information, see section 64.35 “BACnet Priority Level Access ” on
page 2039.

To configure BACnet priority level access


1. In WorkStation, in the List View
View, select a Script program.
2. Right-click and click Edit
Edit.
3. In the Script Editor, do not use the full path name of an object directly.
4. Declare a binding variable in the program and bind it to a specific priority
level property (1 through 16) of a commandable object.
5. Then, use the variable name to set the priority level value or relinquish the
value without having to specify the priority level itself in the statement.

NOTICE
• The ReadProperty and WriteProperty keywords are available in Script,
but the priority level argument is not needed in the statement. It is
assumed based on the binding information.

6. Save your Script program.


7. Click Exit
Exit.

Technical 04-30006-02-en, May 2019


2040
64 Script Editor
64.37 Configuring BACnet Priority Level Access for a b3 BACnet Device

64.37 Configuring BACnet Priority Level


Access for a b3 BACnet Device
You explicitly configure BACnet priority level access in b3 BACnet device Script
programs by creating a binding variable in the b3 Script program and then
binding that variable to the present value of the commandable object.
For more information, see section 64.35 “BACnet Priority Level Access ” on
page 2039.

To configure BACnet Priority Level Access for a b3 BACnet


device
1. In WorkStation
WorkStation, in the List View
View, select a Script program.
2. Right-click and click Edit
Edit.
3. In the Script Editor, create a binding variable in a b3 Script program.
4. Bind that binding variable to the present value of the commandable object
(that is, not a specific priority level).
5. Use the ReadProperty, WriteProperty or Relinquish keywords.
Be sure to use the binding variable name instead of the full path name of
the object.
6. Specify the priority level as needed.

7. Save your Script program.


8. Click Exit
Exit.

04-30006-02-en, May 2019 Technical


2041
65 Script Web Services

Topics
Script Web Services
Script Web Services Workflow
Creating a Script Web Service Interface
Configuring a Script Web Service Interface
Configuring a Script Program to use Web Services
Script SOAP Web Services Data Type
Script RESTful Web Services
Using Script to Send a Request to a RESTful Web Service
Using Script to Obtain a Secure Web Page from a RESTful
Web Service
65 Script Web Services
65.1 Script Web Services

65.1 Script Web Services


Web Services are programmable applications accessible from standard Internet
protocols, like HTTP and XML. Web Services help solve application integration
challenges by allowing applications to communicate with one another
independent of the target, host operating system, object model, or programming
language.

Figure: Web Services Overview

Web Services are designed to support interoperable, machine-to-machine


interaction over a network. As a result, it makes perfect sense to use a Web
Service from a programming language, like Script. Because the Web Service is
an application delivered and utilized with regular Internet standards, the Web
Service operates as a URL by programmatically returning information for clients
to employ.
The URL acts as a URI that specifies the location, identifies the available
resource, and provides a mechanism for retrieving it. For example, the following
URLs identify available online calculator and weather services:
• http://www.cs.fsu.edu/~engelen/calc.wsdl?wsdl
• http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl
To interact with Web Services, Script uses the Web Services Description
Language (WSDL) file to extract information about functions, parameters, and
return types. WSDL is an XML-based language that provides a model for
describing Web Services. For more information, see section 201.2 “Web
Services ” on page 7742.

65.1.1 Script Web Services Workflow


You create and configure a Script Web Service by following these four basic
steps:
• Create the Web Service interface

04-30006-02-en, May 2019 Technical


2045
65 Script Web Services
65.1 Script Web Services

• Configure the Web Service interface


• Create a Script program
• Configure the Script Program to use Web Services
For more information, see section 65.2 “Script Web Services Workflow” on page
2047.

65.1.2 Script SOAP Web Services Data Type


The Simple Object Access Protocol (SOAP) is a protocol for exchanging
structured information when implementing Web Services in computer networks.
The Web Service data type supports the interaction between a SOAP-based
Web Service and Script.
For more information, see section 65.6 “Script SOAP Web Services Data Type”
on page 2052.

65.1.3 Script RESTFul Web Services


REST (Representational State Transfer) is a style of software architecture for
distributed hypermedia systems, such as the World Wide Web. REST has
emerged as a predominant Web Service design model since it is lighter and
simpler to use than SOAP.
For more information, see section 65.7 “Script RESTful Web Services” on page
2056.

Technical 04-30006-02-en, May 2019


2046
65 Script Web Services
65.2 Script Web Services Workflow

65.2 Script Web Services Workflow


You create and configure a Script Web Service by following these four basic
steps:
• Create the Web Service interface
• Configure the Web Service interface
• Create a Script program
• Configure the Script Program to use Web Services
For example, you can use the online calculator service at Florida State University
to add 2 numerics and calculate the result. In WorkStation, you create a Script
Web Service interface called Calculator and configure this interface by entering
the location of the service you wish to target. In this example, you enter the URL
of a WSDL file located at http://www.cs.fsu.edu/~calc.wsdl?wsdl.

You then create a Script program named Calculator Program and configure this
Script program to use Web Services. In this example, you use the Webservice
keyword to declare the Web Service in the program.

04-30006-02-en, May 2019 Technical


2047
65 Script Web Services
65.2 Script Web Services Workflow

Technical 04-30006-02-en, May 2019


2048
65 Script Web Services
65.3 Creating a Script Web Service Interface

65.3 Creating a Script Web Service Interface


You create a Script Web Service to identify and deliver with standard Internet
protocols an application that you can utilize as a service.
For more information, see section 65.1 “Script Web Services” on page 2045.

To create a Script Web Service interface


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create a Web Service interface.
2. On the File menu, point to New and click Interface
Interface.
3. In the Create Object wizard, in the object type list, expand Web Service
and then click Script Web Service
Service.
4. In the Name box
box, type the name of the Web Service interface.
5. In the Description box, type a description of the Web Service interface.
6. Click Create
Create.

04-30006-02-en, May 2019 Technical


2049
65 Script Web Services
65.4 Configuring a Script Web Service Interface

65.4 Configuring a Script Web Service


Interface
You configure a Script Web Service interface by entering the URL or WSDL file
location and then specifying the service you wish to target.
For more information, see section 65.2 “Script Web Services Workflow” on page
2047.

To configure a Script Web Service interface


1. In WorkStation, in the System Tree pane, select the Web Service interface.
2. On the File menu, click Properties
Properties.
3. Click the Basic tab.
4. In the Wsdl Url box, type the URL or a WSDL file located on a local PC or
on the Internet.
5. In the Service box, enter the name of the service you want to target.

NOTICE
• When you create a Web Service, you should ensure that your PC can
connect to the target service.

6. In the EndPoint box, type the URL of the machine where the Web Service
calls are processed.

NOTICE
• Typically, the WSDL file defines the EndPoint, in which case, this box is
completed automatically. In some circumstances, you may still need to
enter an EndPoint, however.

7. Click OK
OK.

Technical 04-30006-02-en, May 2019


2050
65 Script Web Services
65.5 Configuring a Script Program to use Web Services

65.5 Configuring a Script Program to use


Web Services
You select a Script program and then configure that program to use Web
Services.
For more information, see section 65.2 “Script Web Services Workflow” on page
2047.

To configure a Script program to use Web Services


1. In WorkStation, in the System Tree pane, select the Script program that
you want to use Web Services.
2. On the Actions menu, click Edit.
3. In Script Editor, use the Webservice keyword to declare the Web Service in
the program.
4. In the Script Editor toolbar, click Save
Save.
5. In the Properties pane, click the Web Services tab.
6. Enter the path to the Script Web Service interface.
7. In the Script Editor toolbar, click Save
Save.
8. Continue building your Script program.
9. In the Script Editor toolbar, click Save
Save.
10. In the Variables pane, view the results of the Web Service program.

04-30006-02-en, May 2019 Technical


2051
65 Script Web Services
65.6 Script SOAP Web Services Data Type

65.6 Script SOAP Web Services Data Type


The Simple Object Access Protocol (SOAP) is a protocol for exchanging
structured information when implementing Web Services in computer networks.
The Web Service data type supports the interaction between a SOAP-based
Web Service and Script.
SOAP relies on XML for its message format, and usually relies on other
application protocols for message negotiation and transmission. SOAP can form
the foundation layer for Web Services and also provide a basic messaging
framework upon which Web Services are built.
You bind the Script Web Services object to a corresponding Script program.
Once you do so, Script extracts all of the necessary material, including the
methods, data type for the arguments, and return values and their types.

Figure: Web Services Object Model

The Script Editor then displays Web Services methods using Intellisense.
Intellisense is an auto-completion tool that you use to fill in predictive text based
on possible matches to the text you type. For more information, see section
64.10 “Script Auto-Completion” on page 2012.

Technical 04-30006-02-en, May 2019


2052
65 Script Web Services
65.6 Script SOAP Web Services Data Type

65.6.1 Supported Data Types


Only simple data types are supported for both Web Service methods and return
values including:
• String
• Numerics
• DateTime

NOTICE
Web Service method calls need their own execution lines within Script
programs.

65.6.2 Web Service Declarations


You declare a Web Service the same way you declare a function. You do so
using the keyword Webservice followed by a local variable name at the
beginning of your Script program. Then, you bind a Web Service object to the
Script program using the binding generated by this Web Service declaration as
shown:

Figure: Web Services Declarations

04-30006-02-en, May 2019 Technical


2053
65 Script Web Services
65.6 Script SOAP Web Services Data Type

65.6.3 Web Service Method Calling


In Script Editor, you use the .(dot) syntax to select the Web Service execution
method as shown here.

Figure: Web Services .(Dot) Notation

NOTICE
Script programs do not support compression in EcoBuilding Building
Operation software. When a Script program attempts to call a Web Service
method that employs compression, it fails and the program does not execute
as expected.

65.6.4 Web Service Selection and EndPoints


You select the Web Service you want to target by entering the Wsdl Url in the
Basic tab. In this case, the URL identifies an online calculator service. The
Service field is populated when you enter a valid Web Service URL. A WSDL file
can contain one or more services.

Technical 04-30006-02-en, May 2019


2054
65 Script Web Services
65.6 Script SOAP Web Services Data Type

Figure: Web Service Selection

NOTICE
When you create a Web Service, be sure that your PC can connect to the
target service.

The EndPoint is a reference to an entity, processor, machine, or resource for


target Web Service messages and calls. It represents the URL of the machine
where the Web Service calls are processed. Typically, information about
EndPoints is embedded inside the WSDL files. In those cases, the box is
completed automatically. In some circumstances, you may still have to enter an
EndPoint, however.

04-30006-02-en, May 2019 Technical


2055
65 Script Web Services
65.7 Script RESTful Web Services

65.7 Script RESTful Web Services


REST (Representational State Transfer) is a style of software architecture for
distributed hypermedia systems, such as the World Wide Web. REST has
emerged as a predominant Web Service design model since it is lighter and
simpler to use than SOAP.
REST defines a set of architectural principles you can use to connect to Web
Services that focus on a system's resources. This includes how resource states
are addressed and transferred over Hypertext Transfer Protocol (HTTP) by a
wide range of clients written in different languages. For more information, see
section 65.6 “Script SOAP Web Services Data Type” on page 2052.
Script supports the generic use of REST Web Services through new Application
Programming Interfaces (APIs).

65.7.1 SendWebRequest
The SendWebRequest system function sends a request to a Uniform Resource
Locator (URL). Requests are sent from the running program in Script to a
particular Universal Resource Identifier (URI) following standard HTTP
protocols.

NOTICE
SendWebRequest is not supported in the MP Series controller.

The syntax for SendWebRequest is as follows:


SendWebRequest(BaseUrl,Method,ContentType,Headers,Message)
where:
• BaseUrl – A string with the location of the base URL to request data.
• Method – A string that contains the method type to access the URL. It can
take the following values:
– "POST"
– "GET"
• Headers – The headers for the HTTP message. Header fields are colon-
separated name-value pairs that can be concatenated with semi-colons (for
example, "IsMobileApp:TRUE;IsAndroidClient:TRUE")
• ContentType – A string that contains the content type. It is usually defined
by the target URL itself.
• Message – A string that contains the message sent to the URL. It is usually
in query-string values.
The return value is a string, usually in XML, that contains the response from the
Web Service.

Technical 04-30006-02-en, May 2019


2056
65 Script Web Services
65.7 Script RESTful Web Services

65.7.2 UrlEncode
The UrlEncode system function encodes the entire URL, including the message
with its query-string values. If characters, such as blanks, punctuation marks,
and arithmetic are passed directly to the HTTP stream, they may be
misinterpreted and result in the return of incorrect results. This function converts
characters that are not allowed in a URL into their equivalents.

NOTICE
UrlEncode is not supported in the MP Series controller.

The syntax for UrlEncode is as follows:


UrlEncode(Message)
where:
Message is a string that needs Url encoding.
The return value is a string with valid characters the HTTP stream transmits.

04-30006-02-en, May 2019 Technical


2057
65 Script Web Services
65.8 Using Script to Send a Request to a RESTful Web Service

65.8 Using Script to Send a Request to a


RESTful Web Service
You can use the SendWebRequest system function to send a request to a
RESTful Web Service. In this procedure, you use SendWebRequest to request
US city weather data.
For more information, see section 65.7 “Script RESTful Web Services” on page
2056.

To use Script to send a request to a RESTful Web Service


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create a Script program.
2. On the File menu, point to New and then click Program
Program.
3. In the Create Object wizard, in the Name box, enter the name of your new
Script program, such as Get US City Weather by ZIP.
4. In the Description box, type a description of the program.
5. Click Create
Create.
6. In the List View, click the new Weather by ZIP Script program.
7. Click Edit
Edit.
8. Develop a Script program using the SendWebRequest system function and
the following parameters:
• BaseUrl – http://wsf.cdyne.com
• Method – GET
• ContentType – txt/xml
• Headers – ""
• Message –
/WeatherWS/Weather.asmx/GetCityWeatherbyZIP?ZIP=02109
9. In the Script Editor toolbar, click Save
Save.
10. Close the Script Editor.
11. In the List View, click the Get US City Weather by ZIP Script program.
12. In the Actions menu, click Restart to start the Script program.
13. On the File menu, click File and then Properties
Properties.
14. Click the Outputs tab and observe the resultXMLString output for zip code
02109.
The current weather for Boston is as follows:
• Description – Cloudy
• Temperature – 34°F
• Relative Humidity – 72%
• Wind - North at 13 MPH
• Barometric Pressure – 30.45 Steady

Technical 04-30006-02-en, May 2019


2058
65 Script Web Services
65.9 Using Script to Obtain a Secure Web Page from a RESTful Web Service

65.9 Using Script to Obtain a Secure Web


Page from a RESTful Web Service
You can use the SendWebRequest system function to obtain a secure web page
from a RESTful Web Service. In this procedure, you obtain a secure SSL
certificate authority page.
For more information, see section 65.7 “Script RESTful Web Services” on page
2056.

To use Script to obtain a secure web page from a RESTful Web


Service
1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server or folder where you want to create a Script program.
2. On the File menu, click New and Program
Program.
3. In the Create Object wizard, in the Name box, type the name of your new
Script program, such as Get Secure Web Page.
4. In the Description box, enter a description of the program.
5. Click Create
Create.
6. In the List View, click the new Get Secure Web Page program.
7. Click Edit
Edit.
8. Develop a Script program using the SendWebRequest system function and
the following parameters:
• BaseUrl – https://ssl.trustwave.com
• Method – GET
• ContentType – txt/xml
• Headers – ""
• Message – None
9. In the Script Editor toolbar, click Save
Save.
10. Close the Script Editor.
11. In the List View, click the Get Secure Web Page Script program.
12. In the Actions menu, click Restart to start the Script program.
13. On the File menu, click File and then Properties
Properties.
14. Click the Outputs tab and observe the webPageString output.

04-30006-02-en, May 2019 Technical


2059
66 Script User Interface

Topics
Script Editor
Script Editor Toolbars
Script Editor – Binding Variables Pane
Script Editor – Local Variables Pane
Script Editor Context Menu
Import Plain English Dialog Box
Script Editor Code Library
Script Program Properties – Basic Tab
Script Program Properties – Advanced Tab
Script Program Properties – Inputs Tab
Script Program Properties – Outputs Tab
Script Program Properties – Publics Tab
Script Program Properties – Functions Tab
Script Program Properties – Web Services Tab
Script Function Properties – Basic Tab
Script Function Properties – Inputs Tab
Script Function Properties – Outputs Tab
Script Function Properties – Publics Tab
Script Function Properties – Functions Tab
Script Web Service – Basic Tab
66 Script Web Service – Methods Tab
66 Script User Interface
66.1 Script Editor

66.1 Script Editor


Use the Script Editor to develop Script programs.

Figure:

Table: Script Editor


Number Description

Script Editor Toolbars


Use the toolbars to perform a variety of
functions, including opening, closing,
saving, printing, importing, and exporting
Script programs.

Clipboard pane
Use this pane to store copied and cut
items to use in Script programming. By
double-clicking on an item in the clipboard
pane, you can insert that text into the
program where the cursor is currently
located.

04-30006-02-en, May 2019 Technical


2063
66 Script User Interface
66.1 Script Editor

Continued
Number Description

Status bar
Use this pane to review the path of the
active Script program or function. You can
view the line and column where the cursor
is positioned within the current editor pane.
The status bar also identifies the input
method, Insert or Overwrite, currently
being used in the editor.

Code Library pane


Use this pane to create and display the
folders and entries contained within your
code library. You can use the Code Library
to create multiple folders to save, organize,
and recall frequently used text. You can
also use the system-provided programs
and functions available in the Code Library
when developing your Script programs
and functions.

Properties pane
Use this pane to view and change general,
configuration, and runtime information
about your Script programs and fuctions
and their inputs and outputs tabs.

Local Variables pane


Binding Variables pane
Use these panes to view and edit
properties of the local or binding variables
in the Script Editor.
For more information, see section 66.4
“Script Editor – Local Variables Pane” on
page 2070.
For more information, see section 66.3
“Script Editor – Binding Variables Pane” on
page 2069.

Check pane
Use this pane to review the results of your
program compilation, including any syntax
errors. If the Script Editor checks a
program and finds no errors, a Check
Successful message displays. If errors
occur, they display with the error message
number, line and column location within
the program, and text or keywords
involved.

Technical 04-30006-02-en, May 2019


2064
66 Script User Interface
66.1 Script Editor

Continued
Number Description

Find pane
Use this pane to locate and display
queried text. The Find pane displays the
queried text in quotes on the first line of the
pane, the open program the instance is
located in, the line number within the
program where the text can be found, and
the context in which the queried text is
found.

Bindings view
Click to display the Bindings view for a
Script program. You can access the
Bindings view without leaving the Script
Editor. For more information, see section
62.16 “Local Variable Declarations” on
page 1737.

04-30006-02-en, May 2019 Technical


2065
66 Script User Interface
66.2 Script Editor Toolbars

66.2 Script Editor Toolbars


Use the Script Editor toolbar to perform a variety of different tasks within the
application.

Figure: Script Editor toolbars

Table: Script Editor Toolbars


Button Description

Open
Click to open an existing Script or b3
program or function.

Save
Click to save the currently active program.

Save All
Click to save all open programs.

Print
Click to print the current program.

Cut
Click to cut the selected text.

Copy
Click to copy the selected text.

Paste
Click to paste text.

Window
Click to open a pane or activate a
minimized pane.

Options
Click to configure program editor options
such as fonts, colors, layout, and code
library path.

Refresh
Click to refresh the focus window in the
Script Editor.

Technical 04-30006-02-en, May 2019


2066
66 Script User Interface
66.2 Script Editor Toolbars

Continued
Button Description

Script Bindings
Click to display the read-only Script
Binding View which shows the path for the
local bindings variables in your Script
programs.

Check
Click to check a program file for syntax
errors.

Check All
Click to check all open program files for
syntax errors.

Start
Initiates a Script Debugger session. As the
debugger proceeds, it highlights the
current executing line in the Script
program.
Stop
Terminates a Script Debugger session.

Trace On
Initiates a continuous single step operation
without the need to keep pressing the Step
icon.
Trace Off
Terminates the continuous single step
operation.

Go
Continuously executes a Script program
until a breakpoint is reached or execution
ends.

Step
Goes to the next executing line in the
Script program.

Find
Click to find a specific word in the current
program.

Replace
Click to replace a specific word in the
current program.

04-30006-02-en, May 2019 Technical


2067
66 Script User Interface
66.2 Script Editor Toolbars

Continued
Button Description

Help
Click to view help topics for Script
programming.

Script menu button


Click to open the Script menu.

Script menu
Click to open, save, import, export, print, or
close a program. Export exports the
current Script object to a text file. Import
imports text from a text file, or opens the
Import Plain English dialog box which
allows you to import Plain English text for
conversion. For more information, see
section 66.6 “Import Plain English Dialog
Box” on page 2073.

Save
Click to save a Script program or function.

Undo
Click to undo or revert back one keystroke
or action in the Script Editor to the last
state of the text.

Redo
Click to redo or move ahead one keystroke
or action in the Script Editor to the state of
the text which was previously undone.

Customize quick access toolbar


Click to access the Customize quick
access toolbar dialog box where you can
add or remove additional buttons from the
Quick access toolbar.

Technical 04-30006-02-en, May 2019


2068
66 Script User Interface
66.3 Script Editor – Binding Variables Pane

66.3 Script Editor – Binding Variables Pane


Use the Binding Variables pane to view and edit the properties of the binding
variables in Script Editor. The Script programs that run in the SmartX server poll
by default, while you need to manually start and stop polling in the programs
that run in b3 BACnet and Infinet field devices.

Figure: Script Editor- binding variables pane

Table: Binding Variables Pane


Component Description

Click Start Update to display the current


value in the Binding Variables pane.
Click Stop Update to improve system
performance if real-time updates are not
required. For more information, see section
187.23 “Best Practices for Infinet Devices”
on page 7444.

Name Displays the variable name.

Value Displays the variable value.

Type Displays the variable type. For more


information, see section 63.71 “Variables
Pane Types” on page 1873.

Unit Displays the variable unit. Property values


bound to the program are automatically
converted to this unit.

Start Value Provides a text box, dropdown, or date


and time picker you can use to configure
the initial binding variable values in your
Script program. For more information, see
section 64.12 “Script Editor Initial Binding
Variable Values” on page 2014.

04-30006-02-en, May 2019 Technical


2069
66 Script User Interface
66.4 Script Editor – Local Variables Pane

66.4 Script Editor – Local Variables Pane


Use the Local Variables pane to view and edit the properties of the local
variables in the Script Editor, including arrays. The display limit is the first 1,000
elements of an array.

Figure: Script Editor – local variables pane

Table: Local Variables Pane


Component Description

Name Displays the variable name.

Value Displays the variable value.

Type Displays the variable type. For more


information, see section 63.71 “Variables
Pane Types” on page 1873.

Technical 04-30006-02-en, May 2019


2070
66 Script User Interface
66.5 Script Editor Context Menu

66.5 Script Editor Context Menu


Use the Script Editor context menu to write or edit Script programs and
functions.

Figure: Script Editor context menu

Table: Script Editor Context Menu


Command Description

Go to definition Positions the cursor at the definition line for


an item within the current Script program. If
the item is a function variable that is
already bound to a function object, the
cursor is positioned at the object definition
the function is bound to (the Script function
opens in the Script Editor).

Go to declaration Positions the cursor at the declaration line


for an item within the current Script
program. If the item is a function variable
that is already bound to a function, the
cursor is positioned at the line declaring
the function variable.

Add to library Opens the Add to Code Library dialog box


where you can save code library entries.

Collapse all Collapses all the collapsible code


segments.

Expand all Expands all the collapsible code


segments.

04-30006-02-en, May 2019 Technical


2071
66 Script User Interface
66.5 Script Editor Context Menu

Continued
Command Description

Comment selected Creates comments from the selected


Script program lines.

Uncomment selected Uncomments the selected Script program


lines.

Toggle breakpoint Inserts and removes a breakpoint at the


selected program line in the Script
Debugger.

Set Next Statement Highlights the next program statement in


the Script Debugger.

Find Opens the Find tab in the Find and


Replace dialog box where you can find a
specific word in the current program.

Replace Opens the Replace tab in the Find and


Replace dialog box. You can then replace
a specific word in the current program.

Goto Opens the Goto dialog box. You can then


enter a program line to jump to.

Technical 04-30006-02-en, May 2019


2072
66 Script User Interface
66.6 Import Plain English Dialog Box

66.6 Import Plain English Dialog Box


Use the Import Plain English dialog box to import Plain English programs and
functions into Script.

Figure: Import Plain English dialog box

Table: Import Plain English Dialog Box


Component Description

Load file Click to locate and load the Plain English


file that you want to add to your current
Script Editor program or function.

Display pane Use this pane to view and edit the PE


program or function that you want to load
in the Script Editor.

Editor pane Use this pane to review the results of your


Plain English program or function
conversion. If the Script Editor conversion
tool checks a program and finds no errors,
a Converting and then Conversion
Successful message displays. If errors
occur, they display with the error message
number, line and column location within
the program, and text or keywords
involved.

04-30006-02-en, May 2019 Technical


2073
66 Script User Interface
66.6 Import Plain English Dialog Box

Continued
Component Description

Convert all Use this button to convert all of the text in


the Plain English program or function to
Script.

Convert selected Use this button to convert the selected text


in the Plain English program or function to
Script.

Close Use this button to close the Import Plain


English dialog box.

Technical 04-30006-02-en, May 2019


2074
66 Script User Interface
66.7 Script Editor Code Library

66.7 Script Editor Code Library


Use the Script Editor Code Library and its system-provided programs, functions,
and sample import files to help solve common problems.

Figure: Script Editor code library

Table: Script Editor Code Library


Component Description

Programs Folder Contains a series of system-provided


Script programs to assist in solving
common problems. You can use these
items as-is or as samples when developing
your own Script programs.

Sample Import Files Folder Contains a group of system-provided


import files. You can use these items as-is
or as samples when developing your own
Script programs.

04-30006-02-en, May 2019 Technical


2075
66 Script User Interface
66.8 Script Program Properties – Basic Tab

66.8 Script Program Properties – Basic Tab


Use the Basic tab to view and change general, configuration, runtime, and
status information about your Script programs.

Figure: Script program properties - basic tab

Table: Basic Tab


Component Description

Compilation valid Displays whether the program compiled


successfully.

Compiler version Displays the Script compiler version.

Status Displays the program status.

Current line Displays the program's current line.

Line start time Displays the program's line start time.

TS Displays the number of seconds that have


elapsed since the program has been on
the current line.

Technical 04-30006-02-en, May 2019


2076
66 Script User Interface
66.8 Script Program Properties – Basic Tab

Continued
Component Description

TM Displays the number of minutes that have


elapsed since the program has been on
the current line.

TH Displays the number of hours that have


elapsed since the program has been on
the current line.

TD Displays the number of days that have


elapsed since the program has been on
the current line.

Scan Specifies the length in seconds of the last


interpreter interval.

Error Indicates whether the program ran


successfully or encountered an error.

Enabled Displays whether or not the program is


enabled.

Task Enter the task you wish to execute. For


more information, see section 62.17
“Tasks” on page 1741.

Execution precedence Select the order in which two programs are


run when the two programs are in the same
task. Applies when there is a loop
connection between them such that the
input of one program is actually the output
of another. For more information, see
section 62.19 “Program Cycles in
EcoStruxure Building Operation Software”
on page 1743.

Flow type Select the Looping or FallThru flow type to


order the way Script program instructions
are arranged and executed.

Apply start value Select Yes to apply the starting values of


the binding variables. The default No does
not apply the values, thus ensuring, for
example, that an output point does not
reset every time a program that binds to
one of its own output variables is saved.

Debug mode Displays either On or Off to indicate


visually whether the Script Editor is in
Debug mode. This is a read-only setting.

04-30006-02-en, May 2019 Technical


2077
66 Script User Interface
66.9 Script Program Properties – Advanced Tab

66.9 Script Program Properties – Advanced


Tab
Use the Advanced tab to add or remove object properties that trigger the Script
program currently being edited.

Figure: Script program properties - advanced tab

Table: Advanced Tab


Component Description

Triggers Adds or removes object properties that


trigger the Script program currently being
edited. Any object property value change
triggers or executes the Script program.
Click Add to browse and select the desired
object property, or Edit to modify a
selected item in the Triggers list. Uncheck
the box preceding the object property to
remove that item from the list.

Technical 04-30006-02-en, May 2019


2078
66 Script User Interface
66.10 Script Program Properties – Inputs Tab

66.10 Script Program Properties – Inputs Tab


Use the Inputs tab to display the input bindings associated with the Script
program.

Figure: Script program properties - inputs tab

Table: Inputs Tab


Component Description

[Property Name] Select the value of the bound property.


Use the up and down arrow keys to
increment the value up or down by .5 of a
point. Click the Configure Settings icon

to open the [Property name] dialog


and its Configuration and Operation tabs.

04-30006-02-en, May 2019 Technical


2079
66 Script User Interface
66.11 Script Program Properties – Outputs Tab

66.11 Script Program Properties – Outputs


Tab
Use the Outputs tab to display output bindings associated with the Script
program.

Figure: Script program properties - outputs tab

Table: Outputs Tab


Component Description

[Property Name] Select the value of the bound property.


Use the up and down arrow keys to
increment the value up or down by .5 of a
point. Click the Configure Settings icon

to open the [Property name] dialog


and its Configuration and Operation tabs.

Technical 04-30006-02-en, May 2019


2080
66 Script User Interface
66.12 Script Program Properties – Publics Tab

66.12 Script Program Properties – Publics Tab


Use the Publics tab to display public bindings associated with your Script
programs.

Figure: Script program properties - publics tab

Table: Publics Tab


Component Description

[Property Name] Select the value of the bound property.


Use the up and down arrow keys to
increment the value up or down by .5 of a
point. Click the Configure Settings icon

to open the [Property name] dialog


and its Configuration and Operation tabs.

04-30006-02-en, May 2019 Technical


2081
66 Script User Interface
66.13 Script Program Properties – Functions Tab

66.13 Script Program Properties – Functions


Tab
Use the Functions tab to display output bindings associated with the Script
function.

Figure: Script program properties - functions tab

Table: Functions Tab


Component Description

[Function Name] Select the value of the bound property.


Use the up and down arrow keys to
increment the value up or down by .5 of a
point. Click the Configure Settings icon

to open the [Property name] dialog


and its Configuration and Operation tabs.

Technical 04-30006-02-en, May 2019


2082
66 Script User Interface
66.14 Script Program Properties – Web Services Tab

66.14 Script Program Properties – Web


Services Tab
Use the Web Services tab to select and bind the displayed service to the Web
Service interface you created.

Figure: Script program properties - Web Services tab

Table: Web Services Tab


Component Description

[service name] Displays the Web Service name. Select


and bind this service to the Web Service
interface you created. For more
information, see section 65.3 “Creating a
Script Web Service Interface” on page
2049.

04-30006-02-en, May 2019 Technical


2083
66 Script User Interface
66.15 Script Function Properties – Basic Tab

66.15 Script Function Properties – Basic Tab


Use the Basic tab to view and change general and configuration information
about your Script functions.

Figure: Script function properties - basic tab

Table: Basic Tab


Component Description

Compilation valid Displays whether the program compiled


successfully.

Technical 04-30006-02-en, May 2019


2084
66 Script User Interface
66.16 Script Function Properties – Inputs Tab

66.16 Script Function Properties – Inputs Tab


Use the Inputs tab to display the input bindings associated with the Script
function.

Figure: Script function properties - inputs tab

Table: Inputs Tab


Component Description

[Property Name] Set the value of the bound property. Use


the up and down arrow keys to increment
the value up or down by .5 of a point. Click

the Configure Settings icon to open


the [Property name] dialog and its
Operation tab.

04-30006-02-en, May 2019 Technical


2085
66 Script User Interface
66.17 Script Function Properties – Outputs Tab

66.17 Script Function Properties – Outputs


Tab
Use the Outputs tab to display output bindings associated with the Script
function.

Figure: Script function properties - outputs tab

Table: Outputs Tab


Component Description

[Property name] Set the value of the bound property. Use


the up and down arrow keys to increment
the value up or down by .5 of a point. Click

the Configure Settings icon to open


the [Property name] dialog and its
Operation tab.

Technical 04-30006-02-en, May 2019


2086
66 Script User Interface
66.18 Script Function Properties – Publics Tab

66.18 Script Function Properties – Publics Tab


Use the Publics tab to display public bindings associated with the Script
function.

Figure: Script function properties - publics tab

Table: Publics Tab


Component Description

[Property Name] Set the value of the bound property. Use


the up and down arrow keys to increment
the value up or down by .5 of a point. Click

the Configure Settings icon to open


the [Property name] dialog and its
Operation tab.

04-30006-02-en, May 2019 Technical


2087
66 Script User Interface
66.19 Script Function Properties – Functions Tab

66.19 Script Function Properties – Functions


Tab
Use the Functions tab to display function bindings associated with the Script
function.

Figure: Script function properties - functions tab

Table: Functions Tab


Component Description

[Function name] Set the value of the bound property. Use


the up and down arrow keys to increment
the value up or down by .5 of a point. Click

the Configure Settings icon to open


the [Property name] dialog and its
Operation tab.

Technical 04-30006-02-en, May 2019


2088
66 Script User Interface
66.20 Script Web Service – Basic Tab

66.20 Script Web Service – Basic Tab


Use the Basic tab to specify the location, identify the Web Service, and provide
a mechanism for retrieving it.

Figure: Script Web Service - basic tab

Table: Basic Tab


Component Description

Wsdl Url Type the URL for the WSDL file. The URL
must end with ?wsdl. SOAP 1.1 and 1.2
files are supported here.

Service Select the Web Service you want to target.


For more information, see section 65.6
“Script SOAP Web Services Data Type” on
page 2052.

EndPoint Type the Web Service endpoint. For more


information, see section 65.6 “Script SOAP
Web Services Data Type” on page 2052.

04-30006-02-en, May 2019 Technical


2089
66 Script User Interface
66.21 Script Web Service – Methods Tab

66.21 Script Web Service – Methods Tab


Use the Methods tab to view a list of the methods supported by Web Services.

Figure: Sript Web Services - methods tab

Table: Methods Tab


Component Description

Methods Displays the list of methods supported by


the Web Service. Methods are the
functions that a Web Service can execute.
SOAP 1.1 and 1.2 are supported here.

Technical 04-30006-02-en, May 2019


2090
67 Script Troubleshooting

Topics
Compiler error contains no error text
Runtime error contains no error number
67 Script Troubleshooting
67.1 Compiler error contains no error text

67.1 Compiler error contains no error text


The compiler error number displayed in the Check pane has no accompanying
error text.

67.1.1 Solution
Use the error number in the compiler error table to find the appropriate error
text.
For more information, see section 64.3 “Script Compiler Errors” on page 1999.

04-30006-02-en, May 2019 Technical


2093
67 Script Troubleshooting
67.2 Runtime error contains no error number

67.2 Runtime error contains no error number


The runtime error displayed in the Check pane has no error number.

67.2.1 Solution
Use the error text in the runtime error table to troubleshoot the problem.
For more information, see section 64.4 “Script Runtime Errors” on page 2002.

Technical 04-30006-02-en, May 2019


2094
68 SmartX IP Controller Open and
IT Standards

Topics
SmartX IP Controller - MP Series Overview
SmartX IP Controller Open and IT Standards
SmartX IP Controller IT Network Standards
Ethernet Ports and IP Addressing
Flat and Layered Network Architectures
SmartX IP Controller Networking Term Definitions
IP Address Assignment for SmartX IP Controllers
DHCP Server Options
SmartX IP Controller Network Topologies
Configuring RSTP on a Managed Switch for SmartX IP
Controllers
IP Address Settings for IP Communications
Configuring SmartX IP Controller IP Network Settings
Discarding SmartX IP Controller IP Network Settings
Changes
Configure a Private IP Network on a SmartX AS-B or AS-P
Server Workflow
SmartX IP Controller Commissioning Scenarios
Windows DHCP Server IP Addresses
68 Assigning DHCP Addresses to a SmartX IP Controller
Network Using Windows Server
68 SmartX IP Controller Open and IT Standards
68.1 SmartX IP Controller - MP Series Overview

68.1 SmartX IP Controller - MP Series


Overview
The SmartX IP Controller - MP Series is an IP-enabled, native BACnet field
controller from Schneider Electric. It is a highly flexible, open protocol device
that is fully programmable through the EcoStruxure Building Operation software
for control and supervision of equipment typically used in HVAC applications. Its
mix of universal I/O and intelligent SmartX sensor support allows for a wide-
range of control solutions.

68.1.1 SmartX IP Controller Open and IT Standards


The SmartX IP controller embraces open and IT standards, such as Ethernet,
TCP/IP, and DHCP servers. Support for IT standards enables network
configuration efficiency, IP address management, and directory services by
using the device configuration and monitoring capabilities of common IT tools.
For more information, see section 85.2 “SmartX IP Controller Open and IT
Standards” on page 2793.

68.1.2 SmartX IP Controller - MP Series Models


The SmartX IP Controller - MP Series includes two overall model types, the MP-C
with its onboard I/O and the MP-V with its onboard I/O, an airflow sensor and a
damper actuator. Both model types are native BACnet/IP. As such, you can
utilize them as either standalone field controllers, or as part of an EcoStruxure
BMS.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.

68.1.3 SmartX IP Controller - MP Series


Management and Communication
As a BACnet device, you can manage the SmartX IP controller - MP Series using
a BACnet client that conforms to one of the BACnet Operator device profiles.
For more information, see section 70.1 “SmartX IP Controller - MP Series
Management and Communication” on page 2191.

68.1.4 MP Series Controller I/O Points


MP Series controllers offer a versatile mix of I/O point types that match the
majority of application types. Most I/O points are onboard and highly flexible, so
you can configure them as inputs or outputs including Form A relays, high
current relays, triac and analog outputs. The SmartX sensor bus allows for
additional remote I/O and human interfaces such as a SmartX sensor with
options that include a touchscreen display.

04-30006-02-en, May 2019 Technical


2097
68 SmartX IP Controller Open and IT Standards
68.1 SmartX IP Controller - MP Series Overview

For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.

68.1.5 SmartX IP Controller Value Objects


You create one of the following values in a SmartX IP controller:
• BACnet analog value
• BACnet datetime value
• BACnet digital value
• BACnet string value
• BACnet multistate value
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

68.1.6 Programming Languages for MP Series


Controllers
Unique to the industry, the MP-C provides both Script and Function Block
programming options. This flexibility assures that you have the best
programming method available for your application.
For more information, see section 73.1 “Programming Languages for MP Series
Controllers” on page 2341.

68.1.7 Schedules, Alarms, and Trend Logs for MP


Series Controllers
The MP Series controllers support local BACnet schedules, alarms, and trend
logs resulting in higher reliability, and greater engineering efficiency and
performance than field controllers relying on a supervising controller for
schedules, alarms, and trend logs.
For more information, see section 100.1 “Schedules for SmartX IP Controllers”
on page 3435.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.
For more information, see section 100.11 “Trend Logs for SmartX IP Controllers”
on page 3451.

68.1.8 SmartX Sensors


SmartX Sensors are a family of living space sensors designed for MP Series
controllers using the EcoStruxure Building Operation user interface. These
sensors use an RJ-45 sensor bus that provides communication and power from
the MP Series controller.

Technical 04-30006-02-en, May 2019


2098
68 SmartX IP Controller Open and IT Standards
68.1 SmartX IP Controller - MP Series Overview

For more information, see section 104.1 “SmartX Sensors” on page 3513.

68.1.9 eCommission SmartX Controllers Mobile


Application
The eCommission SmartX Controllers mobile application is a mobile
commissioning tool for SmartX IP controllers that is supported across all major
OS platforms. It is designed for the configuration, maintenance, and
commissioning of local SmartX IP controllers or daisy chained SmartX IP
controllers.
For more information, see section 103.1 “eCommission SmartX Controllers
Mobile Application” on page 3503.

68.1.10 VAV Support and the MP Series Controller -


MP-V
The MP-V is a multi-purpose, fully programmable, IP based field controller
dedicated to supporting Variable Air Volume (VAV) Data applications. A VAV
terminal box provides a supply air stream at a constant temperature with a
modulated amount of air in order to serve a specified space.
For more information, see section 80.1 “Variable Air Volume Data Support and
the MP-V” on page 2471.

04-30006-02-en, May 2019 Technical


2099
68 SmartX IP Controller Open and IT Standards
68.2 SmartX IP Controller Open and IT Standards

68.2 SmartX IP Controller Open and IT


Standards
The SmartX IP controller embraces open and IT standards, such as Ethernet,
TCP/IP, and DHCP servers. Support for IT standards enables network
configuration efficiency, IP address management, and directory services by
using the device configuration and monitoring capabilities of common IT tools.

68.2.1 SmartX IP Controller IT Network Standards


SmartX IP controllers leverage IT network standards. This makes IP address
assignment and management easy, and provides monitoring capabilities that
are compatible with standard network management tools.
For more information, see section 94.3 “SmartX IP Controller IT Network
Standards” on page 3187.

68.2.2 Ethernet Ports and IP Addressing


SmartX IP controllers and SmartX AS-P and AS-B servers contain an embedded,
2-port Ethernet switch.
For more information, see section 94.4 “Ethernet Ports and IP Addressing” on
page 3189.

68.2.3 Flat and Layered Network Architectures


With a flat architecture, all SmartX IP controllers are located directly on the site
IP network, while others access the IP network using the SmartX AS-P or SmartX
AS-B server port 2 configured in switch mode.
For more information, see section 94.5 “Flat and Layered Network Architectures”
on page 3191.

68.2.4 SmartX IP Controller Networking Term


Definitions
There are a number of terms related to the SmartX IP controller networking
concepts and implementation that you may wish to familiarize yourself with.
For more information, see section 94.6 “SmartX IP Controller Networking Term
Definitions” on page 3192.

Technical 04-30006-02-en, May 2019


2100
68 SmartX IP Controller Open and IT Standards
68.2 SmartX IP Controller Open and IT Standards

68.2.5 IP Address Assignment for SmartX IP


Controllers
When the SmartX IP controller is powered up, it undergoes a process to
determine the IP address settings it needs for IP communication. This helps
minimize the time required for the module to fully boot to normal operation.
For more information, see section 94.7 “ IP Address Assignment for SmartX IP
Controllers” on page 3195.

68.2.6 DHCP Server Options


You can use several DHCP server options with SmartX IP controllers. First, you
should ensure that the DHCP server is able to receive DCHP broadcasts from
the modules. Then, you should establish that the DHCP server resides on the
same network segment.
For more information, see section 94.8 “DHCP Server Options ” on page 3196.

68.2.7 SmartX IP Controller Network Topologies


SmartX IP controllers provide a variety of topology options to design your
network for optimal cost and performance balance:
• Star
• Daisy chain
• RSTP Ring
• Hybrid
For more information, see section 94.9 “SmartX IP Controller Network
Topologies” on page 3199.

68.2.8 IP Address Settings for IP Communications


in an RP Series Controller
When the RP Series controller is powered up, it undergoes a process to
determine the IP address settings it needs for IP communication. This helps
minimize the time required for the module to fully boot to normal operation.
For more information, see section 94.11 “IP Address Settings for IP
Communications in an RP Series Controller” on page 3207.

68.2.9 Configure a Private IP Network on a SmartX


AS-B or AS-P Server Workflow
Use this workflow to configure the SmartX AS-B or AS-P server, so it functions as
a private IP network. Configuring the private network to use DHCP allows the
SmartX server to easily host a local network of SmartX IP controllers.

04-30006-02-en, May 2019 Technical


2101
68 SmartX IP Controller Open and IT Standards
68.2 SmartX IP Controller Open and IT Standards

For more information, see section 94.14 “Configure a Private IP Network on a


SmartX AS-B or AS-P Server Workflow” on page 3212.

68.2.10 SmartX IP Controller Commissioning


Scenarios
You commission physical SmartX IP controllers to make them operational. The
process enables the devices to communicate on the controller network.
For more information, see section 94.15 “SmartX IP Controller Commissioning
Scenarios” on page 3214.

68.2.11 Windows DHCP Server IP Addresses


When you use Windows Server to assign DHCP addresses to a network of
SmartX IP controllers, the unique identifier for each controller is a combination of
the device MAC address and a server-assigned string of numbers.
For more information, see section 94.16 “Windows DHCP Server IP Addresses”
on page 3219.

Technical 04-30006-02-en, May 2019


2102
68 SmartX IP Controller Open and IT Standards
68.3 SmartX IP Controller IT Network Standards

68.3 SmartX IP Controller IT Network


Standards
SmartX IP controllers leverage IT network standards. This makes IP address
assignment and management easy, and provides monitoring capabilities that
are compatible with standard network management tools.
At the same time, the controllers also provides native BACnet support that
enables interoperability with other BACnet devices.

Figure: TCP/IP layers, BACnet/IP and SmartX IP controller topologies

68.3.1 BACnet Open Protocol


When used with other EcoStruxure Building Operation components, such as
EcoStruxure BMS servers and SmartX IP controllers, the BACnet open protocol
handles all primary messaging for data exchange, device configuration, object
creation and deletion, property editing and firmware updates. Many of these
BACnet functions are also available to third-party BACnet clients.

NOTICE
The SmartX IP controller supports BACnet/IP version 1 and protocol revision
12. For more information, see the applicable device Protocol
Implementation Conformance Statement (PICS).

04-30006-02-en, May 2019 Technical


2103
68 SmartX IP Controller Open and IT Standards
68.3 SmartX IP Controller IT Network Standards

68.3.2 Communication Technology Support


SmartX IP controllers support the following communication technologies:
• IP addressing:
– DHCP for rapid deployment
– Static when required by customer's IT department
– Auto-IP (Link-Local) for ease of commissioning
• RSTP Ethernet redundancy for SmartX IP controller loops
• 10/100-megabit UTP Ethernet

Technical 04-30006-02-en, May 2019


2104
68 SmartX IP Controller Open and IT Standards
68.4 Ethernet Ports and IP Addressing

68.4 Ethernet Ports and IP Addressing


SmartX IP controllers and SmartX AS-P and AS-B servers contain an embedded,
2-port Ethernet switch.
You can configure this switch as follows.

Figure: Ethernet ports and IP addressing

Number Description

Single porta mode:


• One port
• Port 2 disabled
• One IP address
• No Ethernet switching

Switch modea:
• Two ports
• One IP address
• Ethernet switching between ports
• Default mode

Dual IP modeb:
• Two ports
• Two IP addresses
• No Ethernet switching

04-30006-02-en, May 2019 Technical


2105
68 SmartX IP Controller Open and IT Standards
68.4 Ethernet Ports and IP Addressing

Continued
Number Description
a
Single port and switch modes apply to both the SmartX IP controller and SmartX AS-P
and AS-B servers.
b
Dual IP mode only applies to the SmartX AS-P and AS-B servers.

SmartX AS-P and AS-B servers and SmartX IP controllers obtain and configure
IP addresses in different ways.
Device Obtaining IP address Configuring IP address

SmartX AS-P servera Static Optional port 2


SmartX AS-B server DHCP client DHCP server

MP Series controller Auto-IPb Not applicable


DHCP client
Static
a
The SmartX AS-P server requires hardware version 0.62 or higher to support 2
addresses.
b
Auto-IP is a fall-back mode for either DHCP mode with no DHCP server present or
Static mode and collision detection. For more information, see section 85.12 “IP
Address Settings for IP Communications” on page 2818.

Technical 04-30006-02-en, May 2019


2106
68 SmartX IP Controller Open and IT Standards
68.5 Flat and Layered Network Architectures

68.5 Flat and Layered Network Architectures


With a flat architecture, all SmartX IP controllers are located directly on the site
IP network, while others access the IP network using the SmartX AS-P or SmartX
AS-B server port 2 configured in switch mode.
With a layered architecture, the SmartX AS-P or SmartX AS-B server port 2 is
configured as a private IP network for SmartX IP controllers. Finally, with a hybrid
architecture, some SmartX IP controllers are located on the IP network, while
others are on a private IP network.

Figure: Flat and layered network architectures

04-30006-02-en, May 2019 Technical


2107
68 SmartX IP Controller Open and IT Standards
68.6 SmartX IP Controller Networking Term Definitions

68.6 SmartX IP Controller Networking Term


Definitions
There are a number of terms related to the SmartX IP controller networking
concepts and implementation that you may wish to familiarize yourself with.
Term Description

Auto-IP (Link-Local) When a networked device is configured to


use Auto-IP, it makes a request to a DHCP
server for an address. If the device does
not receive an IP address, the device
assigns itself an address. Typically, the
device does not receive an address when
there is no DHCP server on the network or
when the DHCP server is not responding.
Auto-IP addresses always follow this
pattern: 169.254.x.y
169.254.x.y, where x and y are
any two numbers between 0 and 255.
Unlike DHCP, Auto-IP does not require a
router or a separate server to assign an IP
address

BACnet protocol A data communication protocol, or set of


communication rules, that ASHRAE
created to standardize communication
between building automation system
components.
BACnet allows systems from various
vendors, such as HVAC, lighting, security
and fire systems, to communicate with
each other by providing standardized
methods for presenting, requesting,
interpreting, and transporting information.
For more information, see the
ANSI/ASHRAE Standard 135-2016 for
BACnet.

Flat IP architecture All SmartX IP controllers are located


directly on the site IP network, while
optionally, others access the IP network
using the SmartX AS-P or AS-B server port
2 configured in switch mode.

Hybrid IP architecture Some SmartX IP controllers are located on


the site IP network, while others are
located on a private IP network.

IP address conflict Occurs when two devices on the same


network segment (physical or wireless)
claim to have the same address.

Layered architecture Two separate IP networks exist in a layered


architecture. The SmartX AS-P or SmartX
AS-B server port 2 is configured as a
private IP network for SmartX IP controllers,
while the SmartX AS-P or SmartX AS-B
server port 2 is configured on the site IP
network.

Technical 04-30006-02-en, May 2019


2108
68 SmartX IP Controller Open and IT Standards
68.6 SmartX IP Controller Networking Term Definitions

Continued
Term Description

MSTP Provides both, simple and full, connectivity


assigned to any given VLAN throughout a
bridged Local Area Network. Multiple
Spanning Tree Protocol (MSTP) uses
bridged protocol data units to exchange
information between spanning-tree
compatible devices to prevent network
loops. As of 2014, the specification for
MSTP is IEEE 802.1Q-2014 which
incorporates RSTP Ring, MSTP, and
VLANs.
Do not confuse Multiple Spanning Tree
Protocol (MSTP) with BACnet Master Slave
Token Passing (MS/TP) which is an RS-485
bus to BACnet field controllers.

Private IP network A private IP network is a network that uses


the private IP address space defined by
RFC standards (RFC 1918 IPv4). You can
use these addresses without approval from
a regional Internet registry. Devices with
private IP addresses cannot transmit IP
packets through the public Internet without
a network address translator (NAT)
gateway or proxy server and are therefore
limited to a single network segment (link). It
is possible for you to configure some
DHCP servers to assign a private IP
addresses to a private IP network.

RSTP Ring Includes most of the Cisco proprietary


enhancements to the 802.1D version of the
spanning tree protocol, such as
BackboneFast, UplinkFast, and PortFast.
Rapid Spanning Tree Protocol (RSTP)
achieves much faster convergence in a
properly configured network. As of 2004,
the specification for RSTP Ring is IEEE
802.1D – 2004.
Cisco Proprietary VLAN-RSTP
Interoperability includes PVST and PVST+.
PVST maintains a spanning tree instance
for each VLAN configured in the network.

STP Spanning Tree Protocol (STP) builds a


loop-free logical topology for Ethernet
networks. Its basic function is to prevent
bridge loops and the broadcast radiation
that they produce. Spanning tree also
allows a network with backup links to
provide fault tolerance if an active link fails.
As of 1990, the specification for STP is
IEEE 802.1D.

04-30006-02-en, May 2019 Technical


2109
68 SmartX IP Controller Open and IT Standards
68.6 SmartX IP Controller Networking Term Definitions

Continued
Term Description

Switching or bridge loop This type of loop occurs in computer


networks when there is more than one
Layer 2 OSI model path between two
endpoints (that is, multiple connections
between two network switches or two ports
on the same switch connected to each
other). The loop creates broadcast storms
when broadcasts and multicasts are
forwarded by switches from every port.
The switch or switches repeatedly
rebroadcast the broadcast messages
flooding the network. Since the Layer 2
header does not support a time to live
(TTL) value, if a frame is sent into a looped
topology, it can loop forever.
While a physical topology with switching or
bridge loops may be attractive for
redundancy reasons, you must ensure that
a switched network does not contain loops.
The solution here is to allow physical loops,
but create a loop-free logical topology
using rapid spanning tree protocols
(RSTP) on the network switches.

VLAN VLANs define broadcast domains in a


Layer 2 network. A broadcast domain
includes all of the devices that receive
broadcast frames originating from any
device within the domain. Typically,
broadcast domains are bounded by
routers because routers do not forward
broadcast frames.
Layer 2 switches create broadcast
domains based on the configuration of the
switch. Switches are multiport bridges that
allow you to create multiple broadcast
domains. Each broadcast domain is like a
distinct virtual bridge within a switch. The
current IEEE 802.1 specification for a
Virtual LAN (VLAN) is 802.1Q-2014.

WAP A wireless access point, or access point


(AP) as it is more generally known is a
device that allows a WiFi device to connect
to a wired network. Typically, the AP
connects to a router (via a wired network)
as a standalone device. It can also be an
integral component of the router itself,
however.

Technical 04-30006-02-en, May 2019


2110
68 SmartX IP Controller Open and IT Standards
68.7 IP Address Assignment for SmartX IP Controllers

68.7 IP Address Assignment for SmartX IP


Controllers
When the SmartX IP controller is powered up, it undergoes a process to
determine the IP address settings it needs for IP communication. This helps
minimize the time required for the module to fully boot to normal operation.
For more information, see section 85.12 “IP Address Settings for IP
Communications” on page 2818.
There are two different methods for assigning IP addresses:
• Dynamic: automatically assigned
• Static: manually assigned
Static IP addresses are persistent, while dynamic IP addresses can change
automatically without manual intervention.

NOTICE
When running SmartX controllers in an RSTP ring topology with a static IP
assignment, it is recommended you use a high performance RSTP switch with
proven fast convergence time as the RSTP root. Using a lower performing
RSTP switches to facilitate RSTP ring topologies for SmartX IP controllers may
produce longer convergence times for BACnet I-Am messages and restart
notifications. For more information, see section 93.10 “No Broadcast
Messages and Restart Notifications in SmartX IP Controllers” on page 3176.

68.7.1 Dynamic IP Addressing


To avoid IP address conflicts on the network, the IP assignment defaults to
dynamic in the SmartX IP controller. When a SmartX IP controller is configured
for dynamic IP addressing, the IP address is assigned centrally (and
automatically) by a DHCP server on the same network or locally by the controller
in a Link-Local address range by Auto-IP.
IP addresses assigned using the dynamic IP process are managed and
changed automatically based on network conditions, server settings, or by
manual administrative actions. For more information, see section 85.12 “IP
Address Settings for IP Communications” on page 2818.

68.7.2 Static IP Addressing


With static IP addressing, you manually assign IP addresses to the SmartX IP
controller in either of two ways:
• Using the IP Network Settings object
For more information, see section 94.12 “Configuring SmartX IP Controller IP
Network Settings” on page 3209.
• Using the eCommission SmartX Controllers tool
For more information, see section 103.1 “eCommission SmartX Controllers
Mobile Application” on page 3503.

04-30006-02-en, May 2019 Technical


2111
68 SmartX IP Controller Open and IT Standards
68.8 DHCP Server Options

68.8 DHCP Server Options


You can use several DHCP server options with SmartX IP controllers. First, you
should ensure that the DHCP server is able to receive DCHP broadcasts from
the modules. Then, you should establish that the DHCP server resides on the
same network segment.
The following DHCP server options are supported with SmartX IP controllers:
• SmartX AS-P server or SmartX AS-B server with DHCP on a private IP
network
• Router or switch with DHCP on a private IP network
• Computer with DHCP on a site IP network

NOTICE
These options are topology independent. A router or switch or a computer on
a local network are similar since both involve a local network connection. Be
sure to locate only one of these configurations on a network segment at the
same time, however. From a network management view, it is not desirable to
have more than 1 DHCP server assigning addresses and responding to
requests.

68.8.1 SmartX AS-P Server or SmartX AS-B Server


with DHCP on a Private IP Network
A SmartX AS-P server or SmartX AS-B server can function as a basic DHCP
Server. The built-in DHCP server assigns routable IP addresses within the range
of addresses from 10.110.210.2 to 10.110.210.254. This DHCP server only
manages DHCP clients connected to Ethernet port 2. As a result, you should
ensure Ethernet port 2 is configured as a separate network (not as switch) in
order to enable the DHCP server. For more information, see section 96.3
“Creating a BACnet Interface with an IP Network on the SmartX Server” on page
3282.

NOTICE
The SmartX server DHCP server always assigns the 10.110.210.1 address to
Ethernet port 2.

Technical 04-30006-02-en, May 2019


2112
68 SmartX IP Controller Open and IT Standards
68.8 DHCP Server Options

Figure: SmartX AS-P server or SmartX AS-B server with DHCP

68.8.2 Router or Switch with DHCP on a Local


Network
Some network switches and router have built-in DHCP server functions you can
enable to provide standard management capabilities.

Figure: Router or switch with DHCP

04-30006-02-en, May 2019 Technical


2113
68 SmartX IP Controller Open and IT Standards
68.8 DHCP Server Options

68.8.3 Computer with DHCP on a Local Network


An Enterprise Server or a Microsoft Windows server, for example, includes a
DHCP service you can enable to offer a standard set of management
capabilities.

Figure: Computer with DHCP

Technical 04-30006-02-en, May 2019


2114
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

68.9 SmartX IP Controller Network


Topologies
SmartX IP controllers provide a variety of topology options to design your
network for optimal cost and performance balance:
• Star
• Daisy chain
• RSTP Ring
• Hybrid
The following topology diagrams are representative and do not necessarily
reflect actual numbers and device layouts. Ultimately, all included devices are
hosted by a server.

68.9.1 Star
A star topology connects all nodes such as controllers, servers, and clients to a
central hub or switch. Star is the most reliable topology because any network
cable or device can fail without impacting communication with the other
devices. However, star can often require longer lengths of cable and more
network equipment like switches that produce additional costs.
In the example, SmartX IP controllers and the parent SmartX server are
connected to a network switch to create a star topology.

Figure: Star topology

04-30006-02-en, May 2019 Technical


2115
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

68.9.2 Daisy Chain


A daisy chain topology connects all nodes such as controllers, servers, and
clients in a linear series. Daisy chain is often the easiest and most cost effective
topology to deploy since it may require less cable and no additional networking
components. A daisy chain network is not as reliable as a star or an RSTP ring
network because any cable or device failure causes all devices downstream
from the failure to lose communication to all upstream devices.
The first example shows a daisy chain topology with no exernal switches, while
the second shows multiple daisy chains with unmanaged switches. Installation
time and cost are reduced by daisy-chaining multiple SmartX IP controllers
together and connecting them to the second Ethernet port of the SmartX server
using only SmartX IP controllers and servers.

Figure: Daisy chain topology

Figure: Multiple daisy chains topology with unmanaged switches

Technical 04-30006-02-en, May 2019


2116
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

68.9.3 RSTP Ring


A Rapid Spanning Tree Protocol (RSTP) ring topology connects all nodes such
as controllers, servers, and clients in a ring with each node in series. The
maximum number of SmartX IP controllers in an RSTP ring is 39 with a managed
switch configured as the root switch to manage the system.
RSTP ring offers similar ease of deployment and cost-effectiveness as the daisy
chain topology. However, it has the added benefit of being able to survive a
single point of failure due to a SmartX IP controller power failure or Ethernet
cable break without losing communication with any node.
Multiple failures result in a group of offline devices between the first and last
failure points within the ring. If greater availability is required during multiple
failure conditions for critical devices, consider using a star topology for those
devices.
While RSTP ring can require less cabling than a star topology, it does require a
managed switch with RSTP ring support. As a result, deploying RSTP ring
networks can be more expensive than deploying daisy chain networks. For more
information, see section 94.10 “Configuring RSTP on a Managed Switch for
SmartX IP Controllers” on page 3205.
In the example, a daisy chain deployment is enhanced by adding a RSTP ring
capable switch to the network and wiring the daisy chain back to the switch to
create a ring. To minimize the amount of cabling required, you can route your
cables as shown so that the Ethernet cable segments go to every other device in
the series.

NOTICE
RSTP supports other architectures beside simple rings.

04-30006-02-en, May 2019 Technical


2117
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

Figure: RSTP ring topology with multiple rings

NOTICE
RSTP functionality as specified in IEEE Std 802.1DTM – 2004 (IEEE Standard for
Local and metropolitan area networks Media Access Control (MAC) Bridges)
is supported in the SmartX IP controller.

The RSTP IEEE 802.1D-2004 firmware includes a 39 node RSTP ring which is
effectively 2 daisy chains. Removing a cable in the ring produces a broken
RSTP ring with Ethernet port 2 blocking.

NOTICE
Do not connect both ends of a SmartX IP controller ring to a managed switch
until RSTP has been enabled on all controllers and the managed switch has
been configured to support RSTP. Otherwise, a traffic loop may overwhelm the
switch. For more information, see section 94.6 “SmartX IP Controller
Networking Term Definitions” on page 3192.

Technical 04-30006-02-en, May 2019


2118
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

Figure: Before and after cable removal

Number Description

Before fault

Daisy chain 1 includes 20 SmartX IP


controllers.

Daisy chain 2 including 19 SmartX IP


controllers.
Daisy chain 1 and 2 represent an
operational 39 SmartX IP controller RSTP
ring.

Ethernet port 2 blocking (sample BACnet


device ID = 1220).

After fault

Daisy chain 1 includes 22 SmartX IP


controllers.

Daisy chain 2 includes 17 SmartX IP


controllers.
Daisy chain 1 and 2 represent a broken 39
node RSTP ring.

Ethernet port 2 blocking (sample BACnet


device ID = 1222).

04-30006-02-en, May 2019 Technical


2119
68 SmartX IP Controller Open and IT Standards
68.9 SmartX IP Controller Network Topologies

68.9.4 Hybrid
A Hybrid topology combines two or more of the supported topologies like star,
daisy chain or RSTP ring in the network design. Network designs can be more
flexible and optimized by combining topologies to achieve these goals:
• Help meet specified cost and reliability targets
• Overcome challenges with the physical routing of the cable
• Leverage existing infrastructure
Examples of hybrid topologies include two or more interconnected star networks
or a daisy chain network with a switch in the middle starring out to other nodes.

Figure: Hybrid topology

Technical 04-30006-02-en, May 2019


2120
68 SmartX IP Controller Open and IT Standards
68.10 Configuring RSTP on a Managed Switch for SmartX IP Controllers

68.10 Configuring RSTP on a Managed Switch


for SmartX IP Controllers
You must configure several key RSTP parameters on a managed switch when
connecting a ring of SmartX IP controllers. You do so in order to make the
managed switch the root of the loop. Typically, you configure RSTP parameters
through a web browser.
For more information, see section 94.9 “SmartX IP Controller Network
Topologies” on page 3199.

To configure RSTP on a managed switch for SmartX IP


controllers
1. In the interface of the managed switch, access the RSTP parameters.

NOTICE
You may have to check the managed switch to determine how to
configure the port parameters. If necessary, you may need to enable STP
here since STP is an earlier version of the RSTP protocol.

2. Edit the following parameters:


Property Description

Bridge priority Sets the bridge priority value. After


exchanging Bridge Protocol Data Units
(BPDUs), the device with the lowest
priority becomes the Root Bridge. When
all bridges use
the same priority, their MAC addresses
determine the Root Bridge. You enter
the bridge priority value in increments of
4096 such as 4096, 8192, 12288, and
so on.
Here, you should set the priority to 4096
4096.
This is the highest possible priority
since a lower number results in a higher
priority.
To prevent SmartX IP controllers
from operating as a root switch in a
network, they are hard-coded with a
priority of 32768.

Hello Time Enter the interval (in seconds) that a


Root Bridge waits between
configuration messages. The default
value is 2. It is recommended
that you accept the default.

Continued on next page

04-30006-02-en, May 2019 Technical


2121
68 SmartX IP Controller Open and IT Standards
68.10 Configuring RSTP on a Managed Switch for SmartX IP Controllers

Continued
Property Description

Max Age Enter the interval (in seconds) that the


device can wait without receiving a
configuration message before
attempting to redefine its own
configuration.
Here, you should enter 40 since it is the
required value for a managed switch
to set a
maximum of 39 switches in a ring.

Forward Delay Enter


the interval (in seconds) that a bridge
remains ina learning state before
forwarding packets. Enter 21 here since
this value relates to Max Age
Age. You
must change this value from the default
of 15.

3. Click Submit or Update Setting to update these parameters.


4. Cycle power in the managed switch to ensure these
parameter changes take effect.

Technical 04-30006-02-en, May 2019


2122
68 SmartX IP Controller Open and IT Standards
68.11 IP Address Settings for IP Communications

68.11 IP Address Settings for IP


Communications
When the SmartX IP controller is powered up, it undergoes a process to
determine the IP address settings it needs for IP communication. This helps
minimize the time required for the module to fully boot to normal operation.

NOTICE
For convenience during engineering and initial commissioning, you can
directly connect the SmartX IP controller to a laptop computer.

Figure: Initial IP address assignment for SmartX IP controllers

The IP address setting process depends on whether the controller has


previously been configured with a static IP address, subnet (and gateway if
required). If so, IP communication attempts to use these settings. Typically,
SmartX AS-P and AS-B server static IP addresses are provided by the
customer's IT department.
If there is a conflict, such as another device on the network attempting to use the
same IP address, the SmartX IP controller fails over to an address in the Auto-IP
range and maintains this address until the controller is rebooted and the conflict
is resolved.

04-30006-02-en, May 2019 Technical


2123
68 SmartX IP Controller Open and IT Standards
68.11 IP Address Settings for IP Communications

If no static address has been configured, the SmartX IP controller initially takes
an address in the Auto-IP range before attempting to discover a DHCP server.
The Auto-IP Link-Local address range is 169.254.0.0/16 which is approximately
65,024 addresses. Subsequently, the controller negotiates a lease for DHCP
assigned IP settings. Typically, the DHCP Client gets the IP address from the
DHCP server on the site IT Network or SmartX AS-P and AS-B server port 2 used
to create a private IP network.
If a DHCP offer is made from a DHCP server, the controller reconfigures the
previous Auto-IP and begins to the use the assigned DHCP assigned IP
settings. For more information, see section 94.8 “DHCP Server Options ” on
page 3196.
If no offer is received from a DHCP server, the controller continues to use the
Auto-IP address and continues its attempt to discover a DHCP server. The
controller then takes a DHCP assigned IP at such time as it is offered (for
example, if a DHCP server is introduced to the network after the controller is
operational).
On all subsequent restarts of the controller, this process is repeated. Because of
the way in which the server manages DHCP leases, the SmartX IP controller is
assigned the same DHCP assigned address it held prior to the restart.

68.11.1 Failover and IP Address Reassignment


If the SmartX IP controller detects an IP conflict while assigned a static IP
address, it fails over to Auto-IP. This failover allows you to rediscover the
controller and reassign an appropriate static IP address.
You do so by using any of the following methods:
• Temporarily reconfigure the IP network of the host server to an IP in the
Auto-IP range to discover and correct the IP address
• Connect an additional Enterprise server to the network with a BACnet IP
network configured in the Auto-IP range to discover and correct the
controller's IP address
• Connect eCommission SmartX Controllers mobile application to the network
using an IP address configured in the Auto-IP range to discover and correct
the controller's IP address
• Connect eCommission SmartX Controllers tool to the SmartX IP controller
using the eCommission Bluetooth Adapter on any SmartX Sensor
connected directly to the controller to discover and correct the controller's
IP address

68.11.2 IP Address Device Display


The add-on display module consisting of an LCD display and keys that enable
manual override control of analog and digital outputs. Typically, it shows the
current IP settings used by the SmartX IP controller at runtime including IP
Address, Subnet Mask, Default Router, and indicates whether the IP address is
Static, Auto-IP, or from a DHCP Server.

Technical 04-30006-02-en, May 2019


2124
68 SmartX IP Controller Open and IT Standards
68.11 IP Address Settings for IP Communications

Figure: Add-on display

NOTICE
With the add-on display module, you can manually override the outputs for
testing, commissioning, and maintenance of equipment. The override
configuration is readable through user interfaces, such as EcoStruxure
Building Operation WorkStation, enabling more precise monitoring and
control. For more information, see the Output Override Function topic on
WebHelp.

04-30006-02-en, May 2019 Technical


2125
68 SmartX IP Controller Open and IT Standards
68.12 Configuring SmartX IP Controller IP Network Settings

68.12 Configuring SmartX IP Controller IP


Network Settings
You use the IP network settings to configure or re-configure the TCP/IP, BACnet
IP or Foreign Device settings in your SmartX IP controller.

NOTICE
Changes do not become effective until you click Activate changes in the IP
commands menu. Activating changes causes the SmartX IP controller to apply
the changes and then automatically perform a warm start.

For more information, see section 85.12 “IP Address Settings for IP
Communications” on page 2818.
For more information, see section 94.11 “IP Address Settings for IP
Communications in an RP Series Controller” on page 3207.

To configure SmartX IP controller IP network settings


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, click IP Network Setting
Settings.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Reliability Specifies whether the IP and connected


network are reliable as far as the
BACnet device can determine and, if
not, why. This is a read-only property.

Changes pending Specifies whether the configuration


settings in the IP network map to the
current configuration settings. A value
of False indicates that the configuration
settings reflect the current port
configuration information, while a value
of True indicates that changes have not
been applied. This is a read-only
property.

Command status Requests that the IP network perform


various actions including:
• Idle
• Discard changes
• Renew foreign device registration
• Renew DHCP port lease
This is a read-only property.

Technical 04-30006-02-en, May 2019


2126
68 SmartX IP Controller Open and IT Standards
68.12 Configuring SmartX IP Controller IP Network Settings

Continued
Property Description

IP assignment Select either Static or Dyamic to specify


the method you wish to use to assign
the IP address to the SmartX IP
controller. For more information, see
section 94.7 “ IP Address Assignment
for SmartX IP Controllers” on page
3195.

IP address Type the IP address of this IP network.

Subnet mask Enter the subnet mask for this network.

Default gateway Type the IP address of the default


gateway for this network.

IP port number Enter an IP port number, or accept the


default setting of 47,808 which is the
default for all SmartX IP controllers.

IP mode Displays the BACnet IP mode of this IP


network including:
• Normal: The device is not
operating as a foreign device over
this IP network.
• Foreign: The device is operating as
a foreign device over this IP
network.

BBMD address Type the BBMD address the device


should use to register as a foreign
device when IP mode is specified as
Foreign.

Subscription lifetime Enter the number of seconds the device


waits before renewing its subscription
with the BBMD.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2127
68 SmartX IP Controller Open and IT Standards
68.13 Discarding SmartX IP Controller IP Network Settings Changes

68.13 Discarding SmartX IP Controller IP


Network Settings Changes
You can discard any IP network settings changes you make in your SmartX IP
controller before they become effective.

NOTICE
Changes do not become effective until you click Activate changes in the IP
commands menu. Activating changes causes the SmartX IP controller to apply
the changes and then automatically perform a warm start.

For more information, see section 85.12 “IP Address Settings for IP
Communications” on page 2818.
For more information, see section 94.11 “IP Address Settings for IP
Communications in an RP Series Controller” on page 3207.

To discard SmartX IP controller IP network settings changes


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, click IP Network Settings
Settings.
3. In the Actions menu, point to IP commands and then click Discard
Changes
Changes.

Technical 04-30006-02-en, May 2019


2128
68 SmartX IP Controller Open and IT Standards
68.14 Configure a Private IP Network on a SmartX AS-B or AS-P Server Workflow

68.14 Configure a Private IP Network on a


SmartX AS-B or AS-P Server Workflow
Use this workflow to configure the SmartX AS-B or AS-P server, so it functions as
a private IP network. Configuring the private network to use DHCP allows the
SmartX server to easily host a local network of SmartX IP controllers.
Related information can be found in the sections following this workflow.

Figure: Configure isolated SmartX IP controller network workflow

Connect to the SmartX Server


In Device Administrator, connect to the SmartX server using either the USB port
or the Ethernet port 1.
For more information, see section 7.8 “Connecting to a SmartX Server Using the
USB Device Port” on page 249.
For more information, see section 7.9 “Connecting to a SmartX Server Using the
IP Network” on page 250.

Configure Ethernet port 2 for DHCP Server mode


Configure Ethernet port 2 on the SmartX server for DHCP Server mode.
In this mode, the SmartX server DHCP server automatically assigns IP
addresses in the range 10.110.210.2 to 10.110.210.254 to SmartX IP controllers.
For more information, see section 96.5 “ Configuring Ethernet Port 2 as a DHCP
Server on the SmartX Server” on page 3285.

04-30006-02-en, May 2019 Technical


2129
68 SmartX IP Controller Open and IT Standards
68.14 Configure a Private IP Network on a SmartX AS-B or AS-P Server Workflow

Log on to the SmartX Server


In WorkStation, log on to the SmartX server using an account that has authorized
engineering privileges.
For more information, see the Logging on to WorkStation as an EcoStruxure
Building Operation User topic on WebHelp.

Create the BACnet interface with an IP network


Create the IP network in a BACnet Interface for the SmartX server using the IP
address of Ethernet port 2.
For more information, see section 96.3 “Creating a BACnet Interface with an IP
Network on the SmartX Server” on page 3282.

NOTICE
When you connect new SmartX IP controllers to the SmartX server Ethernet 2
port, they will automatically be assigned unique IP addresses.

Discover the controllers with BACnet IP


You can discover SmartX IP controllers with the Device Discovery view of the
server.
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

Technical 04-30006-02-en, May 2019


2130
68 SmartX IP Controller Open and IT Standards
68.15 SmartX IP Controller Commissioning Scenarios

68.15 SmartX IP Controller Commissioning


Scenarios
You commission physical SmartX IP controllers to make them operational. The
process enables the devices to communicate on the controller network.
Three scenarios are included here to assist with the commissioning process.

68.15.1 Auto-IP Link-Local Addresssing


Factory-fresh SmartX IP controllers power up with link-local addresses and allow
you to perform these tasks:
• Switch between default Ethernet ports to configure quick and easy daisy
chain topologies
• Cycle power to clear previous IP address assignments and leases
Using a laptop with link-local addresses, you can initialize SmartX IP controller
BACnet device IDs through WorkStation and the Enterprise Server. Before doing
so, be aware that Microsoft Windows Automatic Private IP Address (APIPA) is
equivalent to Auto-IP. Also, you may need to enable and disable the Ethernet
port to clear any previous IP Address assignments and leases.
With Auto-IP,you can use a dynamicIP configuration address without having to
choose a specific address. The IP address is automatically selected in the Auto-
IP v4 address range between 169.254.1.0 and 169.254.254.255, which equals
65,024 addresses. For more information, see section 94.7 “ IP Address
Assignment for SmartX IP Controllers” on page 3195.

Figure: SmartX IP controller commissioning with Auto-IP link-local addressing

Number Description

Windows laptop PC (APIPA: IP address


169.254.113.222a)

04-30006-02-en, May 2019 Technical


2131
68 SmartX IP Controller Open and IT Standards
68.15 SmartX IP Controller Commissioning Scenarios

Continued
Number Description

SmartX IP controllers (Up to 50 in a Daisy


Chain)
IP addresses (from left to right):
• 169.254.154.231a
• 169.254.222.184a
• 169.254.198.158a
a
The IP addresses listed here are typical given the example address range that follows.

In your computer’s network connection settings, access the Internet Protocol


Version 4 (TCP/IPv4) properties tab and configure these Auto-IP properties:
• Address range: 169.254.0.0/16
• Subnet mask: 255.255.0.0
• Default gateway: 0.0.0.0

Figure: TCP/IP v4 properties tab

68.15.2 SmartX IP controllers with DHCP IP


Addressing from Router
You can commission SmartX IP controllers with DHCP IP addressing from a
router. The typical wireless router is wired using a LAN port, with the DHCP
server enabled.

Technical 04-30006-02-en, May 2019


2132
68 SmartX IP Controller Open and IT Standards
68.15 SmartX IP Controller Commissioning Scenarios

The SmartX IP controller, laptop, and eCommission SmartX Controllers mobile


application acquire IP addresses from the DHCP server on the router. As a
result, you may first have to perform these tasks:
• Disable or enable the laptop Ethernet and WiFi port adapters to clear
previous IP Address assignments/leases
• Cycle SmartX IP controller power, perform a warm restart, or reset network
settings to clear previous IP address assignments

Figure: SmartX IP controller with DHCP addressing from router

Number Description

Windows laptop PC with IP address of


192.168.8.133a

SmartX IP controllers (Up to 50 in a Daisy


Chain)
IP addresses (from left to right):
• 192.168.8.158a
• 192.168.8.160a
• 192.168.8.226a

Router with DHCP server enabled with IP


address of 192.168.8.1a

Android tablet with IP address of


192.168.8.223a
a
The IP addresses listed here are typical given the example range that follows.

It is recommended that you configure the typical router DHCP server with these
settings:
• Address range: 192.168.8.0/24
• Subnet mask: 255.255.255.0
• Default gateway: 0.0.0.0

04-30006-02-en, May 2019 Technical


2133
68 SmartX IP Controller Open and IT Standards
68.15 SmartX IP Controller Commissioning Scenarios

68.15.3 SmartX IP controllers with IP Addressing


from SmartX AS-P or SmartX AS-B DHCP
Servers
When commissioning SmartX IP controllers with IP addressing from a SmartX
AS-P or SmartX AS-B server, be sure to perform the following tasks:
• Enable the SmartX AS-P or SmartX AS-B DHCP server on port 2 from the
Device Administrator.
• Configure the optional wireless router as a WAP wired via WAN port, with
the DHCP server disabled
The SmartX IP controller, laptop, router, and eCommission SmartX Controllers
mobile application acquire IP Addresses from the DHCP server on the SmartX
AS-P server or SmartX AS-B server. As a result, you may first have to perform
these tasks:
• Disable or enable laptop Ethernet and WiFi port adapters to clear previous
IP address assignments/leases
• Cycle SmartX IP controller power, perform a warm restart, or reset network
settings to clear previous IP address assignments

Figure: SmartX IP controller commissioning with IP addressing from SmartX AS-P or AS-B
servers

Number Description

Windows laptop PC with IP address of


10.110.210.251a

Optional router as WAP with DHCP server


disabled.
Connected to WAN port
(IP address: 10.110.210.250a)

SmartX IP controllers (Up to 50 in a Daisy


Chain) IP addresses (from left to right)
include the following:
• 10.110.210.158a
• 10.110.210.160a
• 10.110.210.226a

Technical 04-30006-02-en, May 2019


2134
68 SmartX IP Controller Open and IT Standards
68.15 SmartX IP Controller Commissioning Scenarios

Continued
Number Description

SmartX AS-P or SmartX AS-B server with IP


address of 10.110.210.1a

Android tablet with IP address of


10.110.210.223a
a
The IP addresses listed here are typical given the example range that follows.

It is recommended that you configure the SmartX AS-P or AS-B server on port 2
with the following settings:
• Address range: 10.110.210.0/24
• Subnet mask: 255.255.255.0
• Default gateway: 0.0.0.0

04-30006-02-en, May 2019 Technical


2135
68 SmartX IP Controller Open and IT Standards
68.16 Windows DHCP Server IP Addresses

68.16 Windows DHCP Server IP Addresses


When you use Windows Server to assign DHCP addresses to a network of
SmartX IP controllers, the unique identifier for each controller is a combination of
the device MAC address and a server-assigned string of numbers.
In order for the devices to use a reserved IP address, you must manually include
the server-assigned string of numbers along with the device MAC address when
generating the reservations.
To view the server-assigned numbers that correspond to the MAC address of
each device, allow the device to lease an IP address from the available pool of
addresses. Windows uses the combination of server-assigned numbers and the
MAC address of each device to generate the unique identifier (Unique
Unique ID
ID). For
more information, see section 94.17 “Assigning DHCP Addresses to a SmartX IP
Controller Network Using Windows Server” on page 3220.

Figure: Server-assigned numbers and Unique IDs

Technical 04-30006-02-en, May 2019


2136
68 SmartX IP Controller Open and IT Standards
68.17 Assigning DHCP Addresses to a SmartX IP Controller Network Using Windows Server

68.17 Assigning DHCP Addresses to a


SmartX IP Controller Network Using
Windows Server
When you use Windows Server to assign DHCP addresses to a network of
SmartX IP controllers, you must identify and then manually include the unique
identifier (Unique
Unique ID
ID) address.
For more information, see section 94.16 “Windows DHCP Server IP Addresses”
on page 3219.

To assign DHCP addresses to a SmartX IP controller using


Windows server
1. In the Windows DHCP server System Tree pane, select the DHCP server
name.
2. Click the IP of your specific device (for example, IPv4)
3. Expand Scope and expand Address Leases to identify the range of the
available IP addresses.
Each device leases an IP address from the available pool of addresses.
4. Note the additional string of numbers assigned to each device's MAC
address.
These numbers are used when generating the unique identifier (Unique
Unique
ID
ID).
5. In the reservation creation dialog box, type the set of additional numbers at
the end of each device's MAC address field.

Continued on next page

04-30006-02-en, May 2019 Technical


2137
68 SmartX IP Controller Open and IT Standards
68.17 Assigning DHCP Addresses to a SmartX IP Controller Network Using Windows Server

6. Repeat step 5 for each reservation you manually create.


7. If a dialog box displays indicating that the unique identifier you entered
may not be correct, click Yes to use it anyway.
You can safely ignore this validation error because Windows server will still
accept and work with this value to ensure DHCP addresses are served.

Technical 04-30006-02-en, May 2019


2138
69 SmartX IP Controller - MP
Series Models

Topics
SmartX IP Controller - MP Series Models
Creating a SmartX IP Controller Device
Deleting a SmartX IP Controller Device
Renewing DHCP
Performing a Field Deploy for a SmartX IP Controller
Application
Adding an IP Address to the White List in a SmartX IP
Controller
Resetting SmartX IP Controller Type Information
MP Series Controller Models
SmartX IP Controller Device Memory
MP Series Controller Reset Modes
Image File Deployment in a SmartX IP Controller
MP Series Controller Security Features
MP Series Controller Onboard I/O Module
Configuring Terminals on the I/O Module
Association Selection Workflow
Provide Field Information to the Application Engineer
Workflow
69 Assign and Distribute the BACnet Instance ID Workflow
Configure an Online SmartX IP Controller Workflow
Configure an Offline SmartX IP Controller Workflow
SmartX IP Controller Standard Objects
SmartX IP Controller Device Replacement Workflow
Configure the Replacement SmartX IP Controller Device
Workflow
Change the SmartX IP Controller Device Serial Number in
WorkStation Workflow
Replace a SmartX IP Controller in an RSTP Ring Network
Workflow
SmartX IP Controller Device Object Description Property
Free Object System Memory Utilization in SmartX IP
Controllers
69 SmartX IP Controller - MP Series Models
69.1 SmartX IP Controller - MP Series Models

69.1 SmartX IP Controller - MP Series Models


The SmartX IP Controller - MP Series includes two overall model types, the MP-C
with its onboard I/O and the MP-V with its onboard I/O, an airflow sensor and a
damper actuator. Both model types are native BACnet/IP. As such, you can
utilize them as either standalone field controllers, or as part of an EcoStruxure
BMS.

69.1.1 MP Series Controller Models


There are five MP-C models offering a flexible mix of I/O point types to suit a
wide range of HVAC applications. By contrast, there are two MP-V models that
integrate a controller, a damper actuator, and an airflow sensor in a single
package dedicated for VAV applications.
For more information, see section 69.8 “MP Series Controller Models” on page
2150.

69.1.2 SmartX IP Controller Device Memory


SmartX IP Controller devices have three types of memory:
• Flash memory: for boot loader, operating system, application software, and
configuration storage
• RAM: for runtime operation
• FRAM non-volatile memory: for data retention in the case of power outage
For more information, see section 95.9 “SmartX IP Controller Device Memory” on
page 3236.

69.1.3 MP Series Controller Reset Modes


You can reset and restart the MP Series controllers in different ways depending
on how long you press the reset button. The resets and restarts can affect the
retention of values after restart based on the retain levels configured for the
variables.
For more information, see section 69.10 “MP Series Controller Reset Modes” on
page 2153.

69.1.4 Image File Deployment in a SmartX IP


Controller
The image file that you compile from the objects in a SmartX IP controller
application contains a format that can be read and understood by other SmartX
IP controllers. It is used primarily to facilitate I/O checkout and commissioning
before the network infrastructure and servers are in place.
For more information, see section 95.11 “Image File Deployment in a SmartX IP
Controller” on page 3240.

04-30006-02-en, May 2019 Technical


2141
69 SmartX IP Controller - MP Series Models
69.1 SmartX IP Controller - MP Series Models

69.1.5 MP Series Controller Security Features


With no recognized standard in place for securing the BACnet protocol and the
ever-increasing security concerns about building control, the MP Series
controllers provide a series of useful features to help you mitigate potential
security issues.
For more information, see section 69.12 “MP Series Controller Security Features”
on page 2158.

69.1.6 MP Series Controller Onboard I/O Module


The MP Series controller features both onboard I/O and a built-in power supply
designed to accommodate 24 VAC (MP-C and MP-V) or 24-30 VDC (MP-C)
input power. The power supply is based on a half-wave rectified, non-isolated
design, complemented by electronic protection components for transient and
overload protection and EMC compliance.
For more information, see section 69.13 “MP Series Controller Onboard I/O
Module” on page 2163.

69.1.7 Association Selection Workflow


The association selection workflow enables you to choose a workflow that you
can use to associate a SmartX IP controller with its corresponding controller
object in the EcoStruxure BMS database.
For more information, see section 95.15 “Association Selection Workflow” on
page 3249.

69.1.8 Configure an Online SmartX IP Controller


Workflow
After you physically install the SmartX IP controller, you use WorkStation to fully
configure and program the online device.
For more information, see section 95.18 “Configure an Online SmartX IP
Controller Workflow” on page 3254.

69.1.9 Configure an Offline SmartX IP Controller


Workflow
Should you wish, you can configure an offline version of your SmartX IP
controller.
For more information, see section 95.19 “Configure an Offline SmartX IP
Controller Workflow” on page 3257.

Technical 04-30006-02-en, May 2019


2142
69 SmartX IP Controller - MP Series Models
69.1 SmartX IP Controller - MP Series Models

69.1.10 MP Series Controller Standard Objects


Standard objects are collections of objects that are stored and executed on the
server, rather than the controller. You may find them useful in expanding the
logical control application with supporting server objects that do not reside or
execute in the controller. For example, you may add graphics and trend charts
to help visualize the zone control application of an MP Series controller.
For more information, see section 95.20 “SmartX IP Controller Standard Objects”
on page 3259.

69.1.11 SmartX IP Controller Device Replacement


Workflow
The controller replacement workflow allows you to choose a workflow that you
can use to physically replace a faulty SmartX IP Controller device and connect a
new one.
For more information, see section 95.21 “SmartX IP Controller Device
Replacement Workflow” on page 3261.

69.1.12 Replace a SmartX IP Controller in an RSTP


Ring Network
When replacing a SmartX IP controller in an established RSTP ring network, it is
recommended that you enable RSTP in the module prior to reconnecting both
Ethernet ports.
For more information, see section 95.24 “Replace a SmartX IP Controller in an
RSTP Ring Network Workflow” on page 3268.

69.1.13 SmartX IP Controller Device Object


Description Property
The maximum byte size you can enter for the Description property in a SmartX
IP Controller device object has been increased from 32 to 255 bytes.
For more information, see section 95.25 “SmartX IP Controller Device Object
Description Property ” on page 3270.

69.1.14 Free Object System Memory Utilization in


SmartX IP Controllers
Free object system memory is shared between objects and data according to
your application. There are no specific limits on the number of objects and trend
logs that you can create.
For more information, see section 95.28 “Free Object System Memory Utilization
in SmartX IP Controllers” on page 3273.

04-30006-02-en, May 2019 Technical


2143
69 SmartX IP Controller - MP Series Models
69.2 Creating a SmartX IP Controller Device

69.2 Creating a SmartX IP Controller Device


You create a SmartX IP Controller device when you want to create a new device
on the network.
For more information, see section 69 “SmartX IP Controller - MP Series Models”
on page 2139.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 94.1 “SmartX IP Controller - RP Series
Overview” on page 3181.

To create a SmartX IP Controller device


1. In WorkStation, in the System Tree pane, expand the BACnet Interface and
then select the IP network where you want to create a SmartX IP Controller
device.
2. On the File menu, point to New and then click the SmartX IP model you
want to create.
3. In the Create Object wizard, in the Name box, type a name for the SmartX
IP Controller device.
4. In the Description box, type a description for the SmartX IP Controller
device.
5. Click Next
Next.
6. In the BACnet basic settings page, click Download to BACnet device
device.
Enter an Instance ID if you know it, or leave this blank if you want to
associate the ID with the physical device after the object has been created.
Use the Associate with device command to perform this association. When
you do so, you type the BACnet instance number of the external BACnet
device that you want to associate with the device. After you complete the
procedure, the device is then associated with the external BACnet device.
For more information, see section 110.5 “Associating a BACnet Instance
Number with a Device ” on page 3814.
7. In the BACnet name box, type a BACnet name for the device. Do not type
a name if you want a name to be assigned for you.
8. Select Upload from BACnet device to upload the properties of an object in
the BACnet device.
9. Click Create
Create.

Technical 04-30006-02-en, May 2019


2144
69 SmartX IP Controller - MP Series Models
69.3 Deleting a SmartX IP Controller Device

69.3 Deleting a SmartX IP Controller Device


You remove a SmartX IP Controller device from the software environment by
selecting and deleting that device.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To delete a SmartX IP Controller device


1. In WorkStation, in the System Tree pane, expand the BACnet Interface and
then select the IP network.
2. Select the SmartX IP Controller device.
3. On the Edit menu, click Delete
Delete.
4. In the Confirm Delete dialog box, click Yes
Yes.

NOTICE
When you delete a SmartX IP Controller device, its bindings are also
deleted.

04-30006-02-en, May 2019 Technical


2145
69 SmartX IP Controller - MP Series Models
69.4 Renewing DHCP

69.4 Renewing DHCP


You renew DHCP in order to force the SmartX IP controller to renew its DHCP
lease with the DHCP server.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To renew DHCP in the SmartX IP controller


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, click IP Network Settings
Settings.
3. In the Actions menu, point to IP commands and then click Renew DHCP
DHCP.

NOTICE
Renewing DHCP does not become effective until you click Activate
changes in the IP commands menu. Activating changes causes the
SmartX IP controller to apply the changes and then automatically perform
a warm start.

Technical 04-30006-02-en, May 2019


2146
69 SmartX IP Controller - MP Series Models
69.5 Performing a Field Deploy for a SmartX IP Controller Application

69.5 Performing a Field Deploy for a SmartX


IP Controller Application
You field deploy a SmartX IP controller to facilitate I/O checkout and device
commissioning. You can compile the objects in a SmartX IP controller
application in an image file that you can upload and deploy to controllers using
the eCommission SmartX Controllers mobile application.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To perform a field deploy for a SmartX IP controller application


1. In WorkStation
WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, point to Device and then click Generate image
image.
3. In the Generate image dialog box, select the type of image file to generate.
For more information, see section 106.4 “Generate Image Dialog Box” on
page 3566.
4. Click OK
OK.
5. In the Save as dialog, select a location for the image file.
6. In the File name box, enter a file name.
7. Click Save
Save.
You can now use the eCommission SmartX Controllers mobile application to
upload and deploy the saved image file to other SmartX IP controllers. For more
information, see section 95.11 “Image File Deployment in a SmartX IP Controller”
on page 3240.

NOTICE
If a field deployed image contains settings designed to change the IP address
or IP assignment following deployment, be sure to perform a software warm
start (from EcoStruxure Building Operation or the eCommision SmartX
Controllers mobile application) to activate these IP network settings changes.
This commanded warm start is in addition to the hardware restart triggered by
the image deployment itself. If you fail to perform this additional warm start, the
SmartX IP controller will continue to communicate using its previous IP network
settings. For more information, see section 110.40 “Warm Starting a BACnet
Device” on page 3858.

04-30006-02-en, May 2019 Technical


2147
69 SmartX IP Controller - MP Series Models
69.6 Adding an IP Address to the White List in a SmartX IP Controller

69.6 Adding an IP Address to the White List


in a SmartX IP Controller
You add IP addresses to the white list in order to designate those devices that
are allowed authorized access by the SmartX IP controller. For Cybersecurity
purposes, only the IP addresses you enter here are granted TCP/IP
communication access.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To add an IP address to the white list in a SmartX IP controller


1. In WorkStation, in the System Tree pane, expand the BACnet Interface and
then select the IP network.
2. Select the SmartX IP controller.
3. Expand the device folder and click System
System.
4. In the List view
view, click Settings.
5. In the File menu, click Properties
Properties.

6. In the Allowed IP addresses box, click .


7. In the Create Object:IP Address Naming the object page, enter the name
of the new IP address and click Create
Create.
8. In the IP Address list, double-click in the new, blank field.
9. In the Properties - IPAddress Dialog Box, enter the new IP address. For
more information, see section 106.10 “Properties - IPAddress Dialog Box”
on page 3575.
10. Click OK
OK.

Technical 04-30006-02-en, May 2019


2148
69 SmartX IP Controller - MP Series Models
69.7 Resetting SmartX IP Controller Type Information

69.7 Resetting SmartX IP Controller Type


Information
You reset SmartX IP controller type information to resolve unexpected type
information issues.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To reset SmartX IP controller type information


1. In WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, select Device
Device, Advanced
Advanced, and then click Repair
Hosting
Hosting.
3. In the System Tree pane, select the device again.
4. In the Actions menu, select Device and then click Download all objects
objects.

04-30006-02-en, May 2019 Technical


2149
69 SmartX IP Controller - MP Series Models
69.8 MP Series Controller Models

69.8 MP Series Controller Models


There are five MP-C models offering a flexible mix of I/O point types to suit a
wide range of HVAC applications. By contrast, there are two MP-V models that
integrate a controller, a damper actuator, and an airflow sensor in a single
package dedicated for VAV applications.

Figure: MP-C and MP-V devices

Both the MP-C and MP-V include varying inputs, outputs, and other features.

Table: MP-C and MP-V Features


Model Inputs Outputs

MP-C-15A 8 Universal I/O Ub type 6 Triac 1 High power relay

MP-C-18A 10 Universal I/O Ub type 4 Triac 3 Relay 1 High


power relay

MP-C-18B 10 Universal I/O Ub type 8 Triac

MP-C-24A 16 Universal I/O Ub type 4 Relay outputs


4 Universal I/O Uc type

MP-C-36A 20 Universal I/O Ub type 8 Relay outputs


8 Universal I/O Uc type

MP-V-7A 3 Universal 3 Triac


2 Analog

Technical 04-30006-02-en, May 2019


2150
69 SmartX IP Controller - MP Series Models
69.8 MP Series Controller Models

Continued
Model Inputs Outputs

MP-V-9A 4 Universal 3 Triac


2 Analog

Other features in the MP-C and MP-V include the following ports:
• Two 10/100 Ethernet
• One USB host port (not used)
• One USB device port (not used)
• One SmartX sensor port
A sensor bus that uses RS-485 proprietary communications with a 24VDC
SmartX sensor power supply (2W) supporting up to 4 sensors

04-30006-02-en, May 2019 Technical


2151
69 SmartX IP Controller - MP Series Models
69.9 SmartX IP Controller Device Memory

69.9 SmartX IP Controller Device Memory


SmartX IP Controller devices have three types of memory:
• Flash memory: for boot loader, operating system, application software, and
configuration storage
• RAM: for runtime operation
• FRAM non-volatile memory: for data retention in the case of power outage
You can manually back up or restore SmartX IP Controller devices to a storage
location on a PC or network. For more information, see section 110.42 “BACnet
Backup and Restore” on page 3860.
When SmartX IP Controller devices are part of an EcoStruxure BMS, the
configuration data automatically resides in the parent EcoStruxure BMS server.
The EcoStruxure Building Operation database and the SmartX IP Controller
device database are synchronized to help ensure there is always one backup
available that can be used to restore the SmartX IP Controller device memory.
Scheduled backups can provide additional protection against application and
data loss. In addition, device-specific values (for example, AHU or heat pump
data) are duplicated in the parent server to facilitate device replacement
scenarios.

Technical 04-30006-02-en, May 2019


2152
69 SmartX IP Controller - MP Series Models
69.10 MP Series Controller Reset Modes

69.10 MP Series Controller Reset Modes


You can reset and restart the MP Series controllers in different ways depending
on how long you press the reset button. The resets and restarts can affect the
retention of values after restart based on the retain levels configured for the
variables.

Figure: Location of the reset button on different MP Series controller models

You can use a straightened segment of a paper clip or a similar tool to press the
reset button.

Table: Reset Modes


Mode Description

Warm start Press and release the reset button in less


than 5 seconds.
Performing a power cycle in a SmartX IP
controller is analogous to a hardware warm
start.

Cold start Press and hold the reset button for more
than 5 seconds but less than 9 seconds.

Network reset Press and hold the reset button for 10 to 19


seconds.
Perform a network reset in WorkStation in
order to reset the IP address settings to
DHCP with a failover to Auto-IP.

Factory reset Press and hold the reset button for 20 to 29


seconds.
Consult the following Factory Reset
subsection for more details.

04-30006-02-en, May 2019 Technical


2153
69 SmartX IP Controller - MP Series Models
69.10 MP Series Controller Reset Modes

Continued
Mode Description

Erase database Press and hold the reset button for 30 to 39


seconds.

Cancel reset action Press and hold the reset button for more
than 40 seconds and then release the
button.
Performing this action cancels the reset
request that would be initiated by any of
the shorter button press durations.

NOTICE
If the MP-C is equipped with the MP-C Display add-on module, a count-up
timer and progress bar are displayed to assist in reset selection. There is also
a reset mode indicator that lets you know which reset occurs if you release at
that time.

69.10.1 Factory Reset


In WorkStation, if your SmartX IP controller device seems completely
unresponsive, perform a factory reset to restore the device to a state where it
can be successfully commissioned. After you release the reset button, a factory
reset may take up to 30 seconds to process. All diagnostic logs and the
database are erased during a factory reset. By contrast, controller firmware
does not revert and remains at the same active level.

69.10.2 Retain Levels for Variables


Variables have a configurable retain level, which controls if the value of the
variable is retained after a restart of the MP Series controller. There are three
retain levels:
• No
• Warm start
• Cold start
The following table lists what is retained after a warm start or cold start based on
the configured retain level.

Technical 04-30006-02-en, May 2019


2154
69 SmartX IP Controller - MP Series Models
69.10 MP Series Controller Reset Modes

Table: Retained Variable Values Depending on Restart Mode and Retain Level
Restart mode Retain level: Retain level: Retain level:
No Warm start Cold start

Warm start Default valuea Variable retains last Variable retains last
value configured by value configured by
Values configured a user. a user.
by a user or
application are lost. Values configured Values configured
by an application by an application
are retained. are retained.

Cold start Default valuea Variable loses last Variable retains last
value configured by value configured by
Values configured a user. a user.
by a user or
application are lost. Values configured Values configured
by an application by an application
are lost. are retained.

a
Default value is the value the variable gets when it is created.
For more information, see the Retain Level topic on WebHelp.

NOTICE
Although variable values in SmartX IP controllers are retained in accordance
with this matrix, SmartX server retention behaves differently. As a result,
variable values retained in the server that are not retained in the controller may
be restored to the controller during a download command. For more
information, see the Retain Level topic on WebHelp.

69.10.3 Value Retention on Restarts Using


Command Priority Levels
When you configure the restart retain level for an object with command priority
levels, it is recommended that you base retention exclusively on either of the
following:

• The value property configured by using the Configure button for that
property in the Basic tab of the object.

• The command priorities configured by the Configure button for the


appropriate command priority levels in the Command tab of the object.
Do not configure retention for both the value property on the Basic tab and the
command priorities of the object because doing so may result in unexpected
behavior following a controller restart. For example, if the value property is
configured to retain during a restart, then that value is written to priority 16
following the restart, regardless of the retain level of priority 16.
For more information, see section 98.15 “Binding Value and Priority Properties in
a SmartX IP Controller” on page 3416.

04-30006-02-en, May 2019 Technical


2155
69 SmartX IP Controller - MP Series Models
69.11 Image File Deployment in a SmartX IP Controller

69.11 Image File Deployment in a SmartX IP


Controller
The image file that you compile from the objects in a SmartX IP controller
application contains a format that can be read and understood by other SmartX
IP controllers. It is used primarily to facilitate I/O checkout and commissioning
before the network infrastructure and servers are in place.

NOTICE
The image file may not contain the complete collection of objects visible in the
Application folder of the SmartX IP controller on the EcoStruxure BMS server.
Also, if the image file is created from a SmartX IP controller represented as a
custom type, the type information is stored in that image file. This allows the
EcoStruxure BMS server to associate the SmartX IP controller with the custom
type.

69.11.1 Field Deploying Controller Applications


When you deploy applications directly to SmartX IP controllers, a full-site
infrastructure is not required for IO checkout, application commissioning, and
VAV air-balance activities. Instead, you can field deploy applications in
EcoStruxure BMS by generating controller level images.
When creating images for field deployment, it is essential you understand how to
engineer the SmartX IP controllers prior to creating the image. By doing so, the
created image holds only the information it needs to populate the controller and
correctly sync to the host server or wider system. For example, by selecting
Generate image during a SmartX IP controller field deploy, you can generate
either an image file specific to the device, or a generic application image file that
can be deployed to any device of the same model.

Specific Image
Create a specific image when the application pertains to a single specific
controller within the system. In this scenario, it is likely that the entire server
database, with all controller proxies and application objects is delivered to the
site and matched up with the field-deployed controller application, once the full
infrastructure is in place. As such, all information about the controller
configuration, including BACnet ID, network settings and other device setting is
preserved in the image along with the application. In addition, any references
that extend beyond the controller, including external bindings to and from other
controllers or the server, are also preserved.

NOTICE
If the specific image is deployed to more than one controller in a system, the
controller may display as duplicate devices.

Technical 04-30006-02-en, May 2019


2156
69 SmartX IP Controller - MP Series Models
69.11 Image File Deployment in a SmartX IP Controller

Generic Image
Create a generic image when an application pertains to multiple controllers
within a system (for example, all MP-V VAV controllers have the same controller
application). In this scenario, you can use a single instance from a custom type
to generate a generic image. Subsequently, once the full system infrastructure is
in place, the server database may automatically populate with multiple
controllers from type information contained within the image, provided the
originating custom type is present within the host server for each controller
receiving the image.
When generating the generic image, device specific information such as
BACnet ID and some network settings (for example, the static IP address) is
filtered out to prevent duplicate controllers with duplicate IDs or duplicate IP
addresses within the system. Any references that extend beyond the controller
may be preserved, depending on whether they are valid at image generation.
When preparing a custom type for use as a generic image, you need to decide
which references to include. Specifically, you may want to include references
that point to a common system source value, such as Outside Air Temperature,
when multiple controllers share this same information. At the same time, you
may not want to include relative references that need to be different for each
controller, for example, when an application is distributed between a controller
and a partner IP-IO module. In such cases, you may find it more efficient to use
a specific image.

NOTICE
Unresolved and invalid references are removed from the image at the time of
generation for both specific and generic images.

For more information, see section 101.16 “Performing a Field Deploy for a
SmartX IP Controller Application” on page 3475.

69.11.2 Download Image Files


The Download image command operates in a similar fashion to the image field
deploy in that it does the following:
• Populates the database where none exists in the controller
• Completely replaces the database if one already exists in the controller

NOTICE
In those cases where a complete replacement of the database occurs, there is
an increased probability of energizing and de-energizing outputs. Be sure to
consider this before selecting and utilizing the Download image command.

04-30006-02-en, May 2019 Technical


2157
69 SmartX IP Controller - MP Series Models
69.12 MP Series Controller Security Features

69.12 MP Series Controller Security Features


With no recognized standard in place for securing the BACnet protocol and the
ever-increasing security concerns about building control, the MP Series
controllers provide a series of useful features to help you mitigate potential
security issues.
These features are grouped into three major product categories, EcoStruxure
BMS server, SmartX Sensor, and MP Series controller.
• Under the EcoStruxure BMS server, you can perform these security
mitigation tasks:
– Utilizing a private field bus under SmartX AS-P and AS-B servers
– Employing a DHCP server lock
• Under the SmartX Sensor, you can perform these security mitigation tasks:
– Disabling Bluetooth access using the SmartX Sensor
– Disabling the sensor bus
• Under the MP Series controller, you can accomplish these security
mitigation tasks:
– Enabling whitelisting restrictions
– Implementing display restrictions
– Disabling a hardware I/O override
– Disabling Ethernet port 2
– Automatically implementing B-OWS restrictions
– Changing security restrictions based on project and runtime lifecycles

69.12.1 Private Field Bus Under SmartX AS-P and


AS-B Servers
Both the SmartX AS-P and SmartX AS-B servers contain a second Ethernet port
that you can isolate from the primary port by setting Ethernet 2 mode to Dual IP
IP.
As a result, communication is not routed between Ethernet ports 1 and 2. The
exception here is that you can still configure BACnet routing (even in Dual IP
mode), so that only BACnet traffic is routed between Ethernet ports 1 and 2.
By physically hosting all MP Series controllers on Ethernet port 2, the network
essentially becomes a private field bus inaccessible from the wider network
connected to Ethernet port 1. For more information, see section 96.5 “
Configuring Ethernet Port 2 as a DHCP Server on the SmartX Server” on page
3285.

NOTICE
SmartX AS-P server hardware version 0.61 does not support a private field
bus. As a result, you should use hardware version 0.62 and higher when
configuring Ethernet port 2 in any non-switch mode. There are no hardware
version restrictions with the SmartX AS-B server related to supporting private
field buses.

Technical 04-30006-02-en, May 2019


2158
69 SmartX IP Controller - MP Series Models
69.12 MP Series Controller Security Features

69.12.2 DHCP Server Lock


When you utilize the host EcoStruxure BMS server as a DHCP server for a
network of MP Series controllers, you may lock the assignment of additional IP
addresses with the Private DHCP network property. In this way, you can
prevent additional nodes from joining the network by ensuring no further IP
addresses are issued.

Figure: DHCP server lock

NOTICE
When replacing an MP Series controller on the private field bus of a SmartX
AS-P or AS-B server, determine first whether the server is acting as a DHCP
server for the private field bus. Do so by checking to see if the Private DHCP
Network property of that server is configured as Locked
Locked. If it is, temporarily
disable the lock to allow the server to assign a DHCP address to the
replacement controller. Once the IP address has been assigned, you can
reinstate the lock. If you fail to follow these instructions, the replacement
controller will never receive an assigned DHCP address.

69.12.3 Bluetooth Access Using the SmartX Sensor


Using a wireless Bluetooth adapter, you can access the MP Series controller
from the eCommission SmartX Controller Tool using the SmartX Sensor. To do
so, you must connect the wireless Bluetooth adapter to the SmartX Sensor using
a proprietary plug or socket interface. You can further limit access using the
Commissioning tool enable property in the SmartX Sensor. This property
enables or disables the adapter. By default, this property is On in order to
facilitate early installation and commissioning activities. Be aware, however, that
it is disabled in the EcoStruxure BMS database, so if you are performing off-line
configuration, be sure to explicitly turn it On to enable the adapter. For more
information, see section 78.12 “Enabling and Disabling eCommission SmartX
Controllers Bluetooth Access” on page 2449.

04-30006-02-en, May 2019 Technical


2159
69 SmartX IP Controller - MP Series Models
69.12 MP Series Controller Security Features

To prevent the Commissioning tool enable property from being inadvertently or


maliciously turned on, you can configure a SmartX IP controller BACnet Change
of state alarm using the property as the monitored variable. This will send an
alarm message to the controller. For more information, see section 100.6
“Configuring a SmartX IP Controller BACnet Alarm” on page 3441.

69.12.4 Sensor Bus


You can disable the MP Series controller Sensor bus property on the Settings
object if no SmartX Sensors are connected to the bus, thus preventing any
communications using that port. For more information, see section 92.8 “SmartX
IP Controller Settings Properties – Basic Tab” on page 3049.

NOTICE
By default, this property is enabled to facilitate early commissioning activities.

69.12.5 Whitelist Restrictions


An IP-based whitelist restricts communications to only the IP addresses
specified in the whitelist. The default for this property is Off to facilitate early
commissioning activities. Once you add or host the MP Series controller in the
EcoStruxure BMS server, the server address is automatically added to the
whitelist and the whitelist may be enabled. You can add more whitelist entries,
but only from a server or client already specified in the whitelist. For more
information, see section 95.6 “Adding an IP Address to the White List in a
SmartX IP Controller” on page 3233.

NOTICE
If the SmartX server IP address changes due to a server replacement or a
switch from DHCP to static IP, for example, the whitelist of the MP Series
controllers is not automatically updated once the MP Series controllers are
hosted by that server. Instead, you must manually edit the affected whitelist.
If the whitelist is already enabled, it is recommended you temporarily disable
the whitelist before changing the server IP address to ensure server-controller
communications are maintained while the appropriate whitelist edits occur. For
more information, see section 92.8 “SmartX IP Controller Settings Properties –
Basic Tab” on page 3049.

69.12.6 Display Restrictions


Using both the MP-C add-on display and the SmartX Sensor Touchscreen
Display, you can display potentially sensitive network and MP Series controller
information. You can use the Settings object Display network information and
Hand override control properties to disable this capability and prevent the
display of such information.. For more information, see section 92.8 “SmartX IP
Controller Settings Properties – Basic Tab” on page 3049.

Technical 04-30006-02-en, May 2019


2160
69 SmartX IP Controller - MP Series Models
69.12 MP Series Controller Security Features

NOTICE
By default, these properties are enabled to facilitate early commissioning
activities.

69.12.7 Hardware I/O Override


With the attached MP-C add-on display, if you have physical access to the MP
Series controller, you can manipulate configured I/O points or locally configure
temporary points and subsequently manipulate I/O. If you wish, you can use the
Settings object Hand override control property to disable this capability. For
more information, see section 92.8 “SmartX IP Controller Settings Properties –
Basic Tab” on page 3049.

NOTICE
By default, this property is enabled to facilitate early commissioning activities.

69.12.8 Ethernet Port 2


You can disable MP Series controller Ethernet port 2 property on the Settings
object to prevents its use in star networks or in those configurations where the
controller is situated at the end of a daisy-chain network. For more information,
see section 92.8 “SmartX IP Controller Settings Properties – Basic Tab” on page
3049.

NOTICE
By default, this property is enabled to facilitate early commissioning activities
and out-of-the-box daisy-chaining.

69.12.9 Automatic Implementation of B-OWS


Restrictions
The BACnet Operator Workstation (B-OWS) restriction automatically takes effect
when the MP Series controller is hosted. After this, you can only create or delete
controller objects in the host server. Unless whitelist restrictions are also in
effect, you can perform property changes on objects in the controller from a B-
OWS on the same network. For more information, see section 96.11
“EcoStruxure BMS Server Hosting a SmartX IP Controller” on page 3294.

NOTICE
By default, this property is enabled to facilitate early commissioning activities
and out-of-the-box daisy-chaining.

04-30006-02-en, May 2019 Technical


2161
69 SmartX IP Controller - MP Series Models
69.12 MP Series Controller Security Features

69.12.10 Security Restrictions Based on Project and


Runtime Lifecycles
To assist with implementing commonly expected workflows during the
installation, commissioning and early programming phases of a project, you
should ensure that the MP series controllers and the local subsystem are as
open as possible. It is recommended that many of the previously mentioned
restrictions be in their most permissive state. Additionally, you may use
temporary communications networks to provide wired and wireless access to
commission and configuration tools.
As the project nears completion and transitions to an operational state, however,
you should consider either automatically or manually introducing these
restrictions at the appropriate project stage. For example, you can search and
select all MP Series controllers and EcoStruxure BMS servers and their settings
and perform a mass change on a single property across all of the selected
controllers. For more information, see the Mass Create topic on WebHelp.

Technical 04-30006-02-en, May 2019


2162
69 SmartX IP Controller - MP Series Models
69.13 MP Series Controller Onboard I/O Module

69.13 MP Series Controller Onboard I/O


Module
The MP Series controller features both onboard I/O and a built-in power supply
designed to accommodate 24 VAC (MP-C and MP-V) or 24-30 VDC (MP-C)
input power. The power supply is based on a half-wave rectified, non-isolated
design, complemented by electronic protection components for transient and
overload protection and EMC compliance.
By utilizing its onboard I/O with connected field devices, such as sensors and
actuators, the MP Series controller controls and supervises equipment that is
typically used in HVAC applications. Indeed, you can use the flexible mix of I/O
point types provided in the MP-C as well as the controller, damper actuator, and
airflow sensors available in the MP-V to suit a wide range of VAV and other
HVAC applications.
Specifically, the integrated airflow sensor is designed to sense the differential
pressure in the inlet section of a VAV unit, while the integrated actuator is
beneficial in building control and management since it allows for simplified
installation of the MP-V directly over the damper shaft. This eliminates the need
for separate installation, wiring, and positioning of the damper motor.

04-30006-02-en, May 2019 Technical


2163
69 SmartX IP Controller - MP Series Models
69.14 Configuring Terminals on the I/O Module

69.14 Configuring Terminals on the I/O


Module
You configure the terminal on the point object to assign the physical point to the
logical point object. This is analogous to configuring the I/O point channel
number.

NOTICE
For tristate objects, the type will occupy 2 terminals and the system shall
always assign the second terminal to be immediately adjacent to the first. If the
adjacent channel is not available, then the assignment is rejected by the
system.

For more information, see section 69.13 “MP Series Controller Onboard I/O
Module” on page 2163.
For more information, see section 86.13 “IP-IO Module I/O Terminals” on page
2857.
For more information, see section 95.13 “RP Series Controller Onboard I/O ” on
page 3247.

To configure terminals on the I/O module


1. In WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
2. In the List View
View, select the SmartX IP Controller device I/O point.
3. On the File menu, select Properties
Properties.
4. In the Basic tab, in the Terminal box, click the ellipsis button.
5. In the Select Object dialog box, select the IO terminal.

NOTICE
No IO terminals display in this dialog if the point you are creating for the
SmartX IP Controller device is not supported by the available terminal
types.

6. Click Select
Select.
The Terminal box now displays the specified IO terminal.
7. Click OK
OK.

Technical 04-30006-02-en, May 2019


2164
69 SmartX IP Controller - MP Series Models
69.15 Association Selection Workflow

69.15 Association Selection Workflow


The association selection workflow enables you to choose a workflow that you
can use to associate a SmartX IP controller with its corresponding controller
object in the EcoStruxure BMS database.
You choose the association workflow based on your answers to the pertinent
questions in the following flowchart.

Figure: Association selection workflow

04-30006-02-en, May 2019 Technical


2165
69 SmartX IP Controller - MP Series Models
69.16 Provide Field Information to the Application Engineer Workflow

69.16 Provide Field Information to the


Application Engineer Workflow
Use this workflow to provide field information to the application engineer that
specifies the physical device used in each location.
Related information can be found in the sections that follow the flowchart.

Figure: Provide field information to the application engineer workflow

Scan the tear-off product info label


Using the eCommission SmartX Controllers mobile application, scan the SmartX
IP controller label data matrix symbol on the tear-off product information label to
obtain the Model and Serial Number. For more information, see the Using
Controller List Creator topic on WebHelp.
You can manually enter the location, equipment, and comments. The location
information helps the application engineer identify the physical device used in a
specific location.

Remove the tear-off product info label


Remove the duplicate tear-off product label from the SmartX IP controller and
apply it to the appropriate plan document or installation blueprint to designate
the physical device used in a specific location.

Provide the plan to the application engineer


Provide the plan document to the application engineer.

Technical 04-30006-02-en, May 2019


2166
69 SmartX IP Controller - MP Series Models
69.16 Provide Field Information to the Application Engineer Workflow

Enter the serial number


In WorkStation, the application engineer enters the Serial Number for the SmartX
IP controller object and assigns a device ID. For more information, see section
96.6 “SmartX IP Controller Device Management” on page 3286.

Install the controller


Physically connect the controller to the EcoStruxure BMS server. The physical
SmartX IP controller is automatically associated with its corresponding controller
object in the EcoStruxure BMS database.
For more information, see the Installing MP-C on a DIN Rail topic on WebHelp.
For more information, see the Installing an IP-IO Module on a DIN Rail topic on
WebHelp.
For more information, see the Installing MP-C on a Flat Surface topic on
WebHelp.
For more information, see the Installing an IP-IO Module on a Flat Surface topic
on WebHelp.
For more information, see the Installing RP-C on a DIN Rail topic on WebHelp.
For more information, see the Installing RP-C on a Flat Surface topic on
WebHelp.

04-30006-02-en, May 2019 Technical


2167
69 SmartX IP Controller - MP Series Models
69.17 Assign and Distribute the BACnet Instance ID Workflow

69.17 Assign and Distribute the BACnet


Instance ID Workflow
Use this workflow to work with the application engineer to assign the BACnet
instance ID per SmartX IP controller and then make that information available to
the Technician or Electrician using the eCommission SmartX Controllers mobile
application.
Related information can be found in the sections that follow the flowchart.

Figure: Assign and distribute the BACnet instance ID workflow

Develop a controller info table


Develop an information table for the SmartX IP controllers that correlates the
controller object BACnet IDs with the physical controllers. The information table
should contain the following details:
• Controller model
• BACnet instance ID (required)
• Location
• Parent server

Technical 04-30006-02-en, May 2019


2168
69 SmartX IP Controller - MP Series Models
69.17 Assign and Distribute the BACnet Instance ID Workflow

Discover each SmartX IP controller


Using the eCommission SmartX Controllers mobile application, discover each
SmartX IP controller. For more information, see the Downloading and Starting the
eCommission SmartX Controllers Mobile Application topic on WebHelp.

NOTICE
Discovery and the subsequent association occurs automatically if both the
EcoStruxure BMS database and the SmartX IP controller contain the BACnet
instance ID.

Add BACnet instance IDs


In the eCommission SmartX Controllers mobile application, add BACnet
instance IDs to the SmartX IP controllers. For more information, see the
Configuring SmartX IP Controller Device Settings topic on WebHelp.

Create controller objects with assigned IDs


In WorkStation, create SmartX IP controller objects (such as input points) and
provide them with assigned IDs. For more information, see section 97.4
“Creating a SmartX IP Controller Device Input Point” on page 3333.

Install the controller


Physically connect the SmartX IP controller to the EcoStruxure BMS server.
Once you do so, the association is automatic.
For more information, see the Installing MP-C on a DIN Rail topic on WebHelp.
For more information, see the Installing an IP-IO Module on a DIN Rail topic on
WebHelp.
For more information, see the Installing an IP-IO Module on a Flat Surface topic
on WebHelp.
For more information, see the Installing MP-C on a Flat Surface topic on
WebHelp.
For more information, see the Installing RP-C on a DIN Rail topic on WebHelp.
For more information, see the Installing RP-C on a Flat Surface topic on
WebHelp.

Reset the controller type with repair hosting


In WorkStation, reset the controller type with the Repair hosting command (if
necessary) in the SmartX IP controller. For more information, see section 95.7
“Resetting SmartX IP Controller Type Information ” on page 3234.

04-30006-02-en, May 2019 Technical


2169
69 SmartX IP Controller - MP Series Models
69.18 Configure an Online SmartX IP Controller Workflow

69.18 Configure an Online SmartX IP


Controller Workflow
After you physically install the SmartX IP controller, you use WorkStation to fully
configure and program the online device.
Use this workflow to configure the SmartX IP controllers at your site. Related
information can be found in the sections that follow the flowchart.

Figure: Configure the SmartX IP controller workflow

Technical 04-30006-02-en, May 2019


2170
69 SmartX IP Controller - MP Series Models
69.18 Configure an Online SmartX IP Controller Workflow

Assign the device IP Address


The default configuration provides dynamic IP address assignment which sets
the IP address automatically. You can also configure the controller to use a
static IP address which requires manual configuration. For more information, see
section 94.7 “ IP Address Assignment for SmartX IP Controllers” on page 3195.

NOTICE
If necessary, you can configure the SmartX IP controller to default from a
dynamic to a static IP address using the eCommission SmartX Controllers
mobile application.

Create a BACnet Interface


Create a BACnet interface to enable the BACnet communications port on an
EcoStruxure BMS server. For more information, see section 118.5 “Creating a
BACnet Interface” on page 4495.

Create or configure the IP network


Create or configure the IP network. Depending on the network required, use the
default IP network, reconfigure the default IP network, or create and configure a
second network. For more information, see section 109.4 “Configuring a BACnet
IP Network” on page 3790.

Discover the SmartX IP controller


Using Device Discovery, discover a SmartX IP controller to establish a new
device on the network. For more information, see section 96.16 “Discovering
SmartX IP Controller Devices ” on page 3304.

Initialize the SmartX IP controller with a BACnet ID


When the device ID is not configured in both the physical and proxy device, or
the serial number has not been added to the proxy, you need to initialize the
Smart IP controller with a BACnet ID to establish the device association. For
more information, see section 95.15 “Association Selection Workflow” on page
3249.
You can also establish the same device association by dragging and dropping
a device from the Device Discovery view to the IP network beneath the BACnet
Interface. For more information, see section 96.14 “Device Discovery for SmartX
IP Controller Devices” on page 3302.

Create the SmartX IP controller object


Drag and drop a device from the Device Discovery view to the IP network
beneath the BACnet Interface to create a new IP-IO module object. You can also
manually create the object and drag and drop it to establish the device
association. For more information, see section 96.14 “Device Discovery for
SmartX IP Controller Devices” on page 3302.

Create SmartX IP controller application objects


Create SmartX IP controller application objects such as I/O points, external
bindings, and Script and Function Block programs.
For more information, see section 97.4 “Creating a SmartX IP Controller Device
Input Point” on page 3333.

04-30006-02-en, May 2019 Technical


2171
69 SmartX IP Controller - MP Series Models
69.18 Configure an Online SmartX IP Controller Workflow

For more information, see section 97.13 “Creating a SmartX IP Controller Device
Output Point” on page 3357.
For more information, see section 98.10 “Creating a SmartX IP Controller
External Binding” on page 3407.
For more information, see the Creating a Script Program topic on WebHelp.
For more information, see section 49.3 “Creating a Function Block Program” on
page 1343.

Bind objects in SmartX IP controller applications


Complete the control application by configuring all object bindings and
references. For more information, see section 98.16 “Configuring a SmartX IP
Controller Consumer Value” on page 3419.

Save the bindings and objects


Save the bindings and objects to ensure there are no syntax errors.
For more information, see section 64.15 “Checking and Saving a Script
Program” on page 2018.
For more information, see section 49.11 “Saving a Function Block Program” on
page 1353.

Download to ensure database synchronization


Perform a download to ensure the controller database is synchronized with the
EcoStruxure BMS database. For more information, see the Downloading the
Contents of a BACnet Device topic on WebHelp.

Technical 04-30006-02-en, May 2019


2172
69 SmartX IP Controller - MP Series Models
69.19 Configure an Offline SmartX IP Controller Workflow

69.19 Configure an Offline SmartX IP


Controller Workflow
Should you wish, you can configure an offline version of your SmartX IP
controller.
Use this workflow to configure offline SmartX IP controllers. Related information
can be found in the sections that follow the flowchart.

Figure: Configure an offline SmartX IP controller workflow

Create a BACnet Interface


Create a BACnet interface to enable the BACnet communications port on an
EcoStruxure BMS server. For more information, see section 118.5 “Creating a
BACnet Interface” on page 4495.

Create or configure the IP network


Create or configure the IP network. Depending on the network required, use the
default IP network, reconfigure the default IP network, or create and configure a
second network. For more information, see section 109.4 “Configuring a BACnet
IP Network” on page 3790.

04-30006-02-en, May 2019 Technical


2173
69 SmartX IP Controller - MP Series Models
69.19 Configure an Offline SmartX IP Controller Workflow

Create the SmartX IP controller object


Manually create the SmartX IP controller object. In this offline workflow, you will
find it helpful to include the BACnet ID and the controller serial number in order
to facilitate automatic initialization (commissioning) and automatic association of
the SmartX IP controller. For more information, see section 101.4 “Creating a
SmartX IP Controller Device ” on page 3461.

Create SmartX IP controller application objects


Create SmartX IP controller application objects, such as I/O points, external
bindings, and programs.
For more information, see section 97.4 “Creating a SmartX IP Controller Device
Input Point” on page 3333.
For more information, see section 97.13 “Creating a SmartX IP Controller Device
Output Point” on page 3357.
For more information, see section 98.10 “Creating a SmartX IP Controller
External Binding” on page 3407.
For more information, see section 99.2 “Creating a SmartX IP Controller Script
Program or Function” on page 3430.
For more information, see section 99.3 “Creating a SmartX IP Controller Function
Block Program ” on page 3431.

Bind objects in SmartX IP controller applications


Complete the control application by configuring all object bindings and
references.
For more information, see section 98.16 “Configuring a SmartX IP Controller
Consumer Value” on page 3419.

NOTICE
The SmartX IP controller remains offline until the next step in the workflow is
completed and the controller is initialized. Depending on the project timeline, it
may be an extended period of time before you finalize this process. For
example, you may design and program the entire system before construction
has even begun on the building. You have the flexibility here to break and re-
order the critical path of the project in order to maximize engineering
efficiency.

Add all nodes to the network


Add all of the nodes to the network, including assigning their IP addresses. For
more information, see section 94.7 “ IP Address Assignment for SmartX IP
Controllers” on page 3195.
At this point, the SmartX IP controller is automatically initialized and
automatically associated. For more information, see section 95.15 “Association
Selection Workflow” on page 3249.

Download to ensure database synchronization


Perform a download to ensure the controller database is synchronized with the
EcoStruxure BMS database. For more information, see the Downloading the
Contents of a BACnet Device topic on WebHelp.

Technical 04-30006-02-en, May 2019


2174
69 SmartX IP Controller - MP Series Models
69.20 SmartX IP Controller Standard Objects

69.20 SmartX IP Controller Standard Objects


Standard objects are collections of objects that are stored and executed on the
server, rather than the controller. You may find them useful in expanding the
logical control application with supporting server objects that do not reside or
execute in the controller. For example, you may add graphics and trend charts
to help visualize the zone control application of a SmartX IP controller.
SmartX IP controllers can have the following standard objects:
• Alarms
• Notifications
• Programs
• Schedules
• Trends
• Utility objects
• Values
• Views
• Assignments
• Documents
• Graphics
• Hyperlinks
• Menus
• Panels
• Reports
• Search objects
• Shortcuts
You create these objects in the SmartX IP controller Application folder or its sub-
folders. They execute in the EcoStruxure BMS server and not in the controller,
however. For example, you create Script program A as a SmartX IP controller
Script program that executes in the SmartX IP controller. You then create Script
program B as an EcoStruxure Building Operation Script program that executes
in the EcoStruxure BMS server.
Both Script program A and Script program B may look similar in WorkStation and
visually, they also coexist in the SmartX IP controller Application folder.
However, SmartX IP controllers are BACnet device objects, while EcoStruxure
Building Operation objects are not.
To differentiate them, notice the differences in the accompanying icons in the
sample MP Series controller. You can also view the Object category property in
the List View to determine which is the standard object.

04-30006-02-en, May 2019 Technical


2175
69 SmartX IP Controller - MP Series Models
69.20 SmartX IP Controller Standard Objects

Figure: SmartX IP controller standard objects

As a further differentiator, you may also want to create a special folder in the
SmartX IP controller for your Standard objects. You can also develop your own
naming convention such as appending SO or something similar for each of the
Standard objects you create.

Technical 04-30006-02-en, May 2019


2176
69 SmartX IP Controller - MP Series Models
69.21 SmartX IP Controller Device Replacement Workflow

69.21 SmartX IP Controller Device


Replacement Workflow
The controller replacement workflow allows you to choose a workflow that you
can use to physically replace a faulty SmartX IP Controller device and connect a
new one.
You choose the replacement workflow based on your answers to the pertinent
questions in the workflow and whether you are using static or dynamic IP
addresses.

Figure: Controller replacement workflow

NOTICE
If you replace a SmartX IP controller in an established RSTP ring network, you
must enable RSTP prior to reconnecting both Ethernet ports of the controller.
For more information, see section 95.24 “Replace a SmartX IP Controller in an
RSTP Ring Network Workflow” on page 3268.

04-30006-02-en, May 2019 Technical


2177
69 SmartX IP Controller - MP Series Models
69.22 Configure the Replacement SmartX IP Controller Device Workflow

69.22 Configure the Replacement SmartX IP


Controller Device Workflow
Using the eCommission SmartX Controllers mobile application, configure the
replacement SmartX IP Controller device. This is the recommended workflow for
controller networks with static IP addresses.
Related information can be found in the sections that follow the flowchart.

Figure: Configure the replacement controller with the eCommission SmartX Controllers
mobile application

Technical 04-30006-02-en, May 2019


2178
69 SmartX IP Controller - MP Series Models
69.22 Configure the Replacement SmartX IP Controller Device Workflow

Add the controller to a network with eCommission SmartX


Controllers mobile application access
Add the SmartX IP Controller device to a network that permits eCommission
SmartX Controllers mobile application access. If you are using dynamic IP
addressing, this may be the existing system network. Otherwise, you may need
to create a secondary network to allow the eCommission SmartX Controllers
mobile application to communicate with the factory fresh controller device. For
more information, see section 109.3 “Creating an Additional BACnet IP Network”
on page 3789.

Discover and select the replacement SmartX IP Controller device


Using the eCommission SmartX Controllers mobile application, discover and
select the replacement SmartX IP Controller device. For more information, see
the Configuring SmartX IP Controller Device Settings topic on WebHelp.

Commission the replacement SmartX IP Controller device


Using the eCommission SmartX Controllers mobile application, commission the
replacement controller device by configuring the BACnet Object ID (Device
instance number) to match the controller you are replacing. For more
information, see the Configuring SmartX IP Controller Device Settings topic on
WebHelp.

Edit the IP settings to match the controller device being replaced


If you are using static IP addressing on the controller network, edit the IP
settings to match those of the controller being replaced. For more information,
see the Configuring SmartX IP Controller Device Settings topic on WebHelp.

NOTICE
You can only perform this action on a factory reset SmartX IP controller device
with a default ID.

Connect the replacement controller device to the system network


If you are using a secondary network to facilitate communication with the
eCommission SmartX Controllers mobile application, physically connect the
replacement controller device to the system network. Once you do so, the
EcoStruxure BMS server now automatically associates the replacement
controller device with its controller object.

Restore the application and other controller device settings


In WorkStation, restore the application and other controller settings to the
physical SmartX IP controller device by executing the Download all command.
This updates the serial number in the EcoStruxure BMS server to match the new
controller. For more information, see section 96.27 “Upload and Download
SmartX IP Controller Data” on page 3319.

NOTICE
Be sure to reset the SmartX IP controller type with Repair hosting (if
necessary). For more information, see section 95.7 “Resetting SmartX IP
Controller Type Information ” on page 3234.

04-30006-02-en, May 2019 Technical


2179
69 SmartX IP Controller - MP Series Models
69.22 Configure the Replacement SmartX IP Controller Device Workflow

Restore flow balance data in the MP-V


If the SmartX IP controller device is a VAV controller, use the Restore flow
balance data command to restore the flow balance data object. For more
information, see section 80.5 “Restoring Flow Balance Data in an MP-V ” on
page 2477.

Technical 04-30006-02-en, May 2019


2180
69 SmartX IP Controller - MP Series Models
69.23 Change the SmartX IP Controller Device Serial Number in WorkStation Workflow

69.23 Change the SmartX IP Controller Device


Serial Number in WorkStation Workflow
In WorkStation, change the serial number of the SmartX IP Controller device to
match the replacement controller. This is the recommended workflow for
controller networks with dynamic IP addresses.

NOTICE
When replacing a SmartX IP Controller device on the private field bus of a
SmartX AS-P or AS-B server, determine first whether the server is acting as a
DHCP server for the private field bus. Do so by checking to see if the Private
DHCP Network property of that server is configured as Locked Locked. If it is,
temporarily disable the lock to allow the server to assign a DHCP address to
the replacement controller. Once the IP address has been assigned, you can
reinstate the lock. If you fail to follow these instructions, the replacement
controller will never receive an assigned DHCP address.

Related information can be found in the sections that follow the flowchart.

04-30006-02-en, May 2019 Technical


2181
69 SmartX IP Controller - MP Series Models
69.23 Change the SmartX IP Controller Device Serial Number in WorkStation Workflow

Figure: Change the SmartX IP Controller device serial number in WorkStation workflow

Scan the replacement SmartX IP Controller device product label


code
Using the eCommission SmartX Controllers mobile application, scan the SmartX
IP Controller device product label code or manually record the serial number of
the replacement controller device. For more information, see the Using
Controller List Creator topic on WebHelp.

Connect the replacement SmartX IP Controller device to the


controller network
Since you are using dynamic IP addressing on the controller network, physically
connect the replacement SmartX IP Controller device to the controller network
and await the IP address assignment.

Technical 04-30006-02-en, May 2019


2182
69 SmartX IP Controller - MP Series Models
69.23 Change the SmartX IP Controller Device Serial Number in WorkStation Workflow

Edit the serial number to match the controller device being replaced
In WorkStation, edit the serial number of the SmartX IP Controller device to
match the serial number of the replacement controller. For more information, see
section 96.6 “SmartX IP Controller Device Management” on page 3286.
Once you do so, the EcoStruxure BMS server now automatically associates the
replacement controller with its controller object.

Restore the application and other controller device settings


In WorkStation, restore the application and other controller settings to the
physical SmartX IP Controller device by executing the Download all command.
This updates the serial number in the EcoStruxure BMS server to match the new
controller. For more information, see section 96.27 “Upload and Download
SmartX IP Controller Data” on page 3319.

Restore flow balance data in the MP-V


If the SmartX IP Controller device is a VAV controller, use the Restore flow
balance data command to restore the flow balance data object. For more
information, see section 80.5 “Restoring Flow Balance Data in an MP-V ” on
page 2477.

04-30006-02-en, May 2019 Technical


2183
69 SmartX IP Controller - MP Series Models
69.24 Replace a SmartX IP Controller in an RSTP Ring Network Workflow

69.24 Replace a SmartX IP Controller in an


RSTP Ring Network Workflow
When replacing a SmartX IP controller in an established RSTP ring network, it is
recommended that you enable RSTP in the module prior to reconnecting both
Ethernet ports.
Use this workflow to enable RSTP in the module prior to reconnecting the ports.
This helps you avoid inducing a network broadcast storm during module
replacement.
Related information can be found in the sections that follow the flowchart.

Figure: Replace a SmartX IP Controller in an RSTP ring network workflow

Connect only one controller Ethernet port to the network


In the EcoStruxure BMS server, connect only one SmartX IP controller Ethernet
port to the network. For more information, see section 94.4 “Ethernet Ports and
IP Addressing” on page 3189.

Enable the RSTP property


In WorkStation or in the eCommission SmartX Controllers mobile application,
enable the RSTP property.
For more information, see section 92.8 “SmartX IP Controller Settings
Properties – Basic Tab” on page 3049.
For more information, see the Configuring SmartX IP Controller Device Settings
topic on WebHelp.

Restart the controller to fully enable RSTP


Restart the SmartX IP controller to fully enable RSTP on that controller.

Technical 04-30006-02-en, May 2019


2184
69 SmartX IP Controller - MP Series Models
69.24 Replace a SmartX IP Controller in an RSTP Ring Network Workflow

Connect the remaining Ethernet port to the network to complete the


ring
Connect the remaining Ethernet port to the network to complete the ring. For
more information, see section 94.9 “SmartX IP Controller Network Topologies”
on page 3199.

04-30006-02-en, May 2019 Technical


2185
69 SmartX IP Controller - MP Series Models
69.25 SmartX IP Controller Device Object Description Property

69.25 SmartX IP Controller Device Object


Description Property
The maximum byte size you can enter for the Description property in a SmartX
IP Controller device object has been increased from 32 to 255 bytes.
This should allow you to enter enough detail to make the property as descriptive
as possible, particularly if you have language and character sets that consume
more than a single byte.
The full amount of storage (270 bytes including overhead) is allocated,
regardless of how many characters you actually enter in the description. Be
aware also that one character can use more than 1 byte of storage depending
on the language and character set you use.
For these reasons, you may want to carefully utilize the Description field during
controller device object creation. You will now significantly increase the size of
the object when you enter a description and as a result, impact the space
available in the controller for application objects and trend log entries.

Technical 04-30006-02-en, May 2019


2186
69 SmartX IP Controller - MP Series Models
69.26 Free Object System Memory Utilization in SmartX IP Controllers

69.26 Free Object System Memory Utilization


in SmartX IP Controllers
Free object system memory is shared between objects and data according to
your application. There are no specific limits on the number of objects and trend
logs that you can create.
For more information, see the Architectural Guidelines 3.0.1 topic on WebHelp.

NOTICE
The RP Series controller has approximately fifty percent of the free object
system memory of the MP Series controller and IP-IO module. Should you want
to reuse large MP Series applications in the RP Series controller, you may
need to reconfigure certain objects, such as lowering the trend log buffer size.

When configuring your EcoStruxure BMS system, it is recommended that you


balance your application to optimize the use of free object system memory. For
example, you can use the following engineering efficiencies:
• Consult the Free object system memory entry in the device report because
this will help determine how much free memory is available.
For more information, see section 96.12 “SmartX IP Controller Diagnostics”
on page 3297.
• Take care when configuring your objects because object size can vary
greatly depending on your configuration.
• Lower the buffer size on trend logs and use extended logging through the
EcoStruxure BMS server.
This is recommended for long-term log maintenance because it allows you
to store log records for longer times without encumbering SmartX IP
controller memory. For more information, see section 100.11 “Trend Logs
for SmartX IP Controllers” on page 3451.
• Only utilize free text fields as necessary because adding any characters
uses the full byte allocation for the maximum string length for that field.
The Description field consumes 270 bytes (including overhead) for a single
character. For more information, see section 95.25 “SmartX IP Controller
Device Object Description Property ” on page 3270.
• Efficiently create your control programs because every line of Script or an
additional function block increases the data accompanying the program
objects.
• Consider using standard objects that execute in the server and do not
consume free object system memory.
At the same time, you should try to balance this strategy with the need for a
robust, locally-controlled, and self-sufficient controller application.

04-30006-02-en, May 2019 Technical


2187
70 SmartX IP Controller - MP
Series Management and
Communication

Topics
SmartX IP Controller - MP Series Management and
Communication
SmartX IP Controller BACnet/IP Support
Creating a BACnet Interface with an IP Network on the
SmartX Server
Configuring a SmartX Server in Switch Mode to Access the
Site IP Network
Configuring Ethernet Port 2 as a DHCP Server on the
SmartX Server
SmartX IP Controller Device Management
Initializing the BACnet ID of a SmartX IP Controller
Changing a SmartX IP Controller Device ID
SmartX IP Controller References and Device ID Changes
Before Hosting a SmartX IP Controller
EcoStruxure BMS Server Hosting a SmartX IP Controller
SmartX IP Controller Diagnostics
Retrieving SmartX IP Controller Diagnostics
Device Discovery for SmartX IP Controller Devices
70 Discover SmartX IP Controller Device Workflow
Discovering SmartX IP Controller Devices
Hiding SmartX IP Controller Devices in Device Discovery
Clearing SmartX IP Controller Host Information
Automatic Time Sync for SmartX IP Controllers
SmartX IP Controller Device Firmware Management
Updating Firmware in SmartX IP Controllers
SmartX IP Controller Communication
Enable and Disable SmartX IP Controller Device
Communication
SmartX IP Controller Foreign Device BBMD Registration
Registering a SmartX IP Controller as a Foreign Device
Renewing Foreign Device Registration
Upload and Download SmartX IP Controller Data
SmartX IP Controller and Custom Type Association
Erasing the SmartX IP Controller Database
70 SmartX IP Controller - MP Series Management and Communication
70.1 SmartX IP Controller - MP Series Management and Communication

70.1 SmartX IP Controller - MP Series


Management and Communication
As a BACnet device, you can manage the SmartX IP controller - MP Series using
a BACnet client that conforms to one of the BACnet Operator device profiles.

70.1.1 SmartX IP Controller BACnet/IP


Communication
SmartX IP controllers utilize BACnet/IP, the fastest available BACnet transport,
with each device having its own IP address. BACnet/IP communications are
always enabled in SmartX IP controllers.
For more information, see section 96.2 “SmartX IP Controller BACnet/IP Support”
on page 3280.

70.1.2 SmartX IP Controller Device Management


The EcoStruxure Building Operation WorkStation complies with the BACnet
Operator Workstation (B-OWS) and provides additional capabilities including a
full set of management features for SmartX IP controllers. By contrast, when you
use a third-party BACnet client to manage the SmartX IP controller, management
is limited to standard BACnet features and may include further restrictions when
these controllers are hosted by an EcoStruxure BMS server.
For more information, see section 96.6 “SmartX IP Controller Device
Management” on page 3286.

70.1.3 Before Hosting a SmartX IP Controller


EcoStruxure BMS servers such as the SmartX AS-P server, SmartX AS-B server,
or Enterprise Server may host SmartX IP controllers. Before hosting a SmartX IP
controller, there are several different pre-conditions you should consider,
however.
For more information, see section 96.10 “Before Hosting a SmartX IP Controller”
on page 3292.

70.1.4 EcoStruxure BMS Server Hosting a SmartX


IP Controller
When EcoStruxure BMS servers such as the SmartX AS-P server, SmartX AS-B
server, or Enterprise Server host SmartX IP controllers, the server is responsible
for the full management of that controller including its programming.
For more information, see section 96.11 “EcoStruxure BMS Server Hosting a
SmartX IP Controller” on page 3294.

04-30006-02-en, May 2019 Technical


2191
70 SmartX IP Controller - MP Series Management and Communication
70.1 SmartX IP Controller - MP Series Management and Communication

70.1.5 SmartX IP Controller Diagnostics


You can retrieve and view diagnostics in WorkStation or download and view that
information using the eCommission SmartX Controllers mobile application.
For more information, see section 96.12 “SmartX IP Controller Diagnostics” on
page 3297.

70.1.6 Device Discovery for SmartX IP Controller


Devices
You can discover SmartX IP Controller devices and objects on a directly
connected network, or on subnetworks in the BACnet Interface.
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

70.1.7 Automatic Time Sync for SmartX IP


Controllers
With automatic time sync, you no longer need to manually add SmartX IP
controllers to the Local time synchronization recipients list. When a SmartX IP
controller is hosted and online in the EcoStruxure BMS server database, it is
automatically added to the BACnet Interface’s time sync list.
For more information, see section 96.19 “Automatic Time Sync for SmartX IP
Controllers” on page 3307.

70.1.8 SmartX IP Controller Firmware Management


Using WorkStation, you can update the firmware of multiple SmartX IP Controller
devices and their attached SmartX Sensors at the same time with minimum
downtime. In addition, the universal upgrade package simplifies the process
and requires minimal user involvement and coordination.
For more information, see section 96.20 “SmartX IP Controller Device Firmware
Management” on page 3308.

70.1.9 SmartX IP Controller Communication


EcoStruxure BMS servers communicate with SmartX IP controllers and allow you
to create new objects, enable alarm creation and management, and provide the
opportunity to download, and share data with other devices. From WorkStation,
SmartX IP controllers associated with the connected EcoStruxure BMS server
are represented in the System Tree pane.
For more information, see section 96.22 “SmartX IP Controller Communication ”
on page 3314.

Technical 04-30006-02-en, May 2019


2192
70 SmartX IP Controller - MP Series Management and Communication
70.1 SmartX IP Controller - MP Series Management and Communication

70.1.10 Enable and Disable SmartX IP Controller


Device Communication
You can execute the necessary commands to enable, disable, and disable
initiation of device communication on a SmartX IP controller.
For more information, see section 96.23 “Enable and Disable SmartX IP
Controller Device Communication” on page 3315.

70.1.11 SmartX IP Controller Foreign Device BBMD


Registration
A foreign device may be a full-time node on a foreign IP subnet or a part-time
participant. There are no restrictions on where foreign devices reside or how
they gain access to the BACnet network. Typically, you connect foreign devices
to the BACnet network by registering them with a BBMD.
For more information, see section 96.24 “SmartX IP Controller Foreign Device
BBMD Registration” on page 3316.

70.1.12 SmartX IP Controller Download and Upload


You download data when you want to use the data in the EcoStruxure BMS
server rather than the data in the physical SmartX IP controller. By contrast, you
upload data when you want to use the data in the physical device rather than the
data in the EcoStruxure BMS server.
For more information, see section 96.27 “Upload and Download SmartX IP
Controller Data” on page 3319.

70.1.13 SmartX IP Controller and Custom Type


Associations
You associate a SmartX IP controller with the SmartX IP controller object in the
EcoStruxure BMS server in order to add or delete objects, or change values of
existing objects.
For more information, see section 96.28 “SmartX IP Controller and Custom Type
Association” on page 3320.

04-30006-02-en, May 2019 Technical


2193
70 SmartX IP Controller - MP Series Management and Communication
70.2 SmartX IP Controller BACnet/IP Support

70.2 SmartX IP Controller BACnet/IP Support


SmartX IP controllers utilize BACnet/IP, the fastest available BACnet transport,
with each device having its own IP address. BACnet/IP communications are
always enabled in SmartX IP controllers.
While SmartX IP controllers have 2 physical Ethernet ports, the second port can
only operate as a network switch. Therefore, SmartX IP controllers only have a
single MAC address that you can configure with one IP address.

70.2.1 Additional Functions


When used in EcoStruxure BMS, the SmartX IP controller is a BACnet device that
provides additional functions beyond the BACnet standard. Supported standard
BACnet objects and services are still available to all BACnet clients. However,
proprietary extensions to the standard are included that provide additional
functions not defined by the BACnet standard while still maintaining full BACnet
compliance.
The proprietary extensions add these additional functions:
• Firmware updates
For more information, see section 96.20 “SmartX IP Controller Device
Firmware Management” on page 3308.
• Script and function block programming code loading and modification.
For more information, see section 73.1 “Programming Languages for MP
Series Controllers” on page 2341.
For more information, see section 99.1 “Programming Languages for RP
Series Controllers” on page 3427.
• Assignment of input and output electric types, conversions and channel
numbers
For more information, see section 71.1 “MP Series Controller I/O Points” on
page 2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page
2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on
page 3325.
• SmartX sensor device objects and configuration.
For more information, see section 104.1 “SmartX Sensors” on page 3513.

NOTICE
The Script and function block programming languages and SmartX Sensors
are supported in the SmartX IP Controller - MP and RP Series.

Technical 04-30006-02-en, May 2019


2194
70 SmartX IP Controller - MP Series Management and Communication
70.2 SmartX IP Controller BACnet/IP Support

70.2.2 BACnet and IP Routing


While BACnet network ID numbers can be the same across an IP router, they
must be unique across a BACnet router. Typically if all SmartX servers are
sharing a common Building Management System backbone, the Ethernet Port 1
for each SmartX server has the BACnet network ID set to 1, while each SmartX
server has its Ethernet Port 2 network ID set to a unique (throughout system)
BACnet network ID.
For example, in a site with 5 SmartX servers, BACnet network numbers 1-4, 6-7,
2764-2767 are used and do not conflict since they are internetworked using the
SmartX server as a BACnet router. Servers 1-3 and 4-5 communicate without
conflict since only an IP router is used to route the network traffic and not a
BACnet router.
SmartX server Ethernet 1 Ethernet 2 COM A COM B
name

Server 1 IP address: Mode: Dual IP Mode: MS/TP Mode: MS/TP


10.1.10.24
IP address: BACnet network BACnet network
BACnet network 10.110.210.1 number: 2764 number: 2765
number: 1
BACnet network
number: 2

Server 2 IP address: Mode: Dual IP Mode: MS/TP Mode: Disabled


10.1.10.43
IP address: BACnet network BACnet network
BACnet network 10.110.210.1 number: 2766 number: 2767
number: 1
BACnet network
number: 3

Server 3 IP address: Mode: Dual IP Mode: Modbus Mode: MS/TP


10.1.10.63 RTU
IP address: BACnet network
BACnet network 10.110.210.1 BACnet network number: 6
number: 1 number: N/A
BACnet network
number: 4

Server 4 IP address Mode: Switch Mode: Modbus Mode: Disabled


range: RTU
10.110.210.0/24 IP address: N/A BACnet network
BACnet network number: N/A
(private Class C BACnet network number: N/A
address range) number: N/A
BACnet network
number: 1

Server 5 IP address: Mode: Disabled Mode: MS/TP Mode: Disabled


192.9.2.55
IP address: N/A BACnet network BACnet network
BACnet network number: 7 number: N/A
number: 1 BACnet network
number: N/A

04-30006-02-en, May 2019 Technical


2195
70 SmartX IP Controller - MP Series Management and Communication
70.3 Creating a BACnet Interface with an IP Network on the SmartX Server

70.3 Creating a BACnet Interface with an IP


Network on the SmartX Server
You create a BACnet interface with an IP network on the SmartX server to allow it
to easily host a local network of SmartX IP controllers.

NOTICE
Be sure to create an IP network in conjunction with configuring the Ethernet
port 2 on the SmartX server.

For more information, see section 96.2 “SmartX IP Controller BACnet/IP Support”
on page 3280.

To create a BACnet interface with an IP network on the SmartX


server
1. Ensure that you log on to the SmartX server using an account with
authorized engineering privileges.
2. In WorkStation, in the System Tree pane, select the BACnet Interface.
3. Configure the BACnet Interface for the SmartX server since two networks
are required here.
This automatically creates the necessary BACnet/IP network utilizing the IP
address of the SmartX server Ethernet 1 port. The default network port of
47808 default setting is also the default setting for all SmartX IP controllers.
4. Click Create
Create.
5. In the File menu, click New and IP network
network.
6. In the Naming the object page, enter a name for the new IP network and
click Next
Next.
7. In IP Network basic settings page, in the Network ID box, enter a unique
network ID not currently used in the system.

NOTICE
Because the SmartX server is a BACnet router, ensure that the network ID
numbers are unique and different. While network ID numbers can be the
same across an IP router, they must be unique across a BACnet router.

8. In the IP address box, enter 10.110.210.1.


For more information, see section 96.5 “ Configuring Ethernet Port 2 as a
DHCP Server on the SmartX Server” on page 3285.
9. In the IP port number box, ensure that you accept the default setting of
47,808.
This is the default setting for all SmartX IP controllers.
10. Click Create
Create.

Technical 04-30006-02-en, May 2019


2196
70 SmartX IP Controller - MP Series Management and Communication
70.3 Creating a BACnet Interface with an IP Network on the SmartX Server

Now, when you connect new SmartX IP controllers with the default dynamic IP
settings to the SmartX server Ethernet port 2, they are automatically assigned
unique IP addresses.

04-30006-02-en, May 2019 Technical


2197
70 SmartX IP Controller - MP Series Management and Communication
70.4 Configuring a SmartX Server in Switch Mode to Access the Site IP Network

70.4 Configuring a SmartX Server in Switch


Mode to Access the Site IP Network
You configure a SmartX server to provide compatible IP address settings that
allow SmartX IP controllers to utilize a shared network.
For more information, see section 96.2 “SmartX IP Controller BACnet/IP Support”
on page 3280.

To configure a SmartX server in switch mode to access the site


IP network
1. Using Device Administrator, connect to the SmartX server using the USB or
Ethernet port 1.
2. On the View menu, click Network settings
settings.
3. Click Ethernet 2 Configuration
Configuration.
4. In the Ethernet 2 mode box, click Enabled (Switch)
(Switch).

NOTICE
You must configure a compatible IP address setting to utilize the shared
network. If the shared network has a DHCP server, then SmartX IP
controllers set to Dynamic IP do not require reconfiguration. For more
information, see section 94.7 “ IP Address Assignment for SmartX IP
Controllers” on page 3195.

5. Click Ok to save the changes to the SmartX server configuration.


6. Exit Device Administrator.
7. Using WorkStation, log on to the SmartX server using an account with
authorized engineering privileges.
8. Configure the BACnet Interface for the SmartX server.
This automatically creates the necessary BACnet/IP network utilizing the IP
address of the SmartX server Ethernet 1 port. The default network port of
47808 default setting is also the default setting for all SmartX IP controllers
9. Click Create
Create.

Technical 04-30006-02-en, May 2019


2198
70 SmartX IP Controller - MP Series Management and Communication
70.5 Configuring Ethernet Port 2 as a DHCP Server on the SmartX Server

70.5 Configuring Ethernet Port 2 as a DHCP


Server on the SmartX Server
You configure Ethernet port 2 as a DHCP server on the SmartX server so it
functions as a private IP network with DHCP server functionality.
For more information, see section 96.2 “SmartX IP Controller BACnet/IP Support”
on page 3280.

To configure Ethernet port 2 on the SmartX server


1. In Device Administrator, in the View menu, click Network settings
settings.
2. In the Properties pane, click Ethernet 2 Configuration
Configuration.
3. In the Ethernet 2 mode box, select Dual IP
IP.
4. In the DHCP mode box, select Server
Server.
This is the simplest configuration for SmartX IP controllers configured with
dynamic IP. In this mode, the SmartX server DHCP server automatically
assigns IP addresses in the range 10.110.210.2 to 10.11.201.254 to SmartX
IP Series controllers. For more information, see section 94.7 “ IP Address
Assignment for SmartX IP Controllers” on page 3195.

NOTICE
While it is possible to have multiple DHCP Servers on the same network,
this is an advanced configuration which is not supported by the AS-B/P
DHCP Server. In addition, accidentally connecting a private IP network to
a customer’s site network may adversely impact device IP addresses on
both networks.

5. Click Ok to save the changes to the SmartX server configuration.


6. In the View menu, click Network settings
settings.
7. Click Ethernet 2 Configuration
Configuration.
Notice the current IP address of Ethernet port 2 will be 10.110.210.1.
8. Exit Device Administrator.

04-30006-02-en, May 2019 Technical


2199
70 SmartX IP Controller - MP Series Management and Communication
70.6 SmartX IP Controller Device Management

70.6 SmartX IP Controller Device


Management
The EcoStruxure Building Operation WorkStation complies with the BACnet
Operator Workstation (B-OWS) and provides additional capabilities including a
full set of management features for SmartX IP controllers. By contrast, when you
use a third-party BACnet client to manage the SmartX IP controller, management
is limited to standard BACnet features and may include further restrictions when
these controllers are hosted by an EcoStruxure BMS server.
For more information, see section 96.11 “EcoStruxure BMS Server Hosting a
SmartX IP Controller” on page 3294.

70.6.1 Uninitialized SmartX IP Controllers


SmartX IP controllers without an assigned BACnet Device Identifier (that is,
where the BACnet ID = 4194303 (decimal) or 3fff (hex)) are in an uninitialized
state. With these controllers, the network property is set to ID initialization
required and they are grouped in the Device Discovery view under that same
heading (as shown here with a sample SmartX IP Controller - MP Series).

Figure: ID initialization required

You must initialize their BACnet ID before these devices can communicate with
other BACnet devices. For more information, see section 96.7 “Initializing the
BACnet ID of a SmartX IP Controller” on page 3289.

NOTICE
Should any MNB devices requiring initialization exist in the network, they are
displayed with the network property value of MNB ID initialization required in
the Device Discovery view.

Technical 04-30006-02-en, May 2019


2200
70 SmartX IP Controller - MP Series Management and Communication
70.6 SmartX IP Controller Device Management

Alternatively, you can manually configure a BACnet device proxy object in


EcoStruxure BMS with the same type (model) and serial number as the SmartX
IP controller. When the EcoStruxure BMS server discovers a BACnet device with
a matching serial number, it initializes the BACnet ID of that device as
configured in the pre-configured proxy object.

70.6.2 Non-conformant Devices


Any BACnet devices that do not conform to BACnet standard device rules in
their current state are identified as non-conformant devices. While a device is in
a non-conforming state, it cannot communicate properly as a BACnet device. If
possible, you may use the configurations methods provided by the BACnet
vendor of BTL listed devices to resolve the non-conformance issue. Be aware
that devices that are not BTL listed may have a compliance issue you cannot
resolve with configuration changes, however.
Common reasons why devices are identified as non-conforming include the
following:
• Duplicate device names
• Duplicate BACnet IDs
• Non-initialized BACnet IDs (0x3fff value)
In the Device Discovery view, such devices are grouped under a heading of
Non-conformant Devices (as shown here with a sample SmartX IP controller -
IP-IO module).

Figure: Non-conformant devices

The exceptions here are devices native to EcoStruxure BMS including the
following:
• SmartX IP controllers that are non-initialized (identified with a network
property value of ID initialization required
required)
• MNB controllers that have a BACnet ID of 0 (identified with a network
property value of MNB ID initialization required)
All other devices that are non-conforming are placed in the Non-conformant
devices folder as described.
Duplicate ID Duplicate name ID=0x3fff

Generic BACnet Non-conformant Non-conformant Non-conformant


device devices folder devices folder devices folder

04-30006-02-en, May 2019 Technical


2201
70 SmartX IP Controller - MP Series Management and Communication
70.6 SmartX IP Controller Device Management

Continued
Duplicate ID Duplicate name ID=0x3fff

SmartX IP controller Non-conformant Non-conformant ID initialization


devices folder devices folder required

MNB (if 0 = MNB ID Non-conformant Normally does not


Initialization devices folder apply, but would be
Required), placed in the
Non-conformant Non-conformant
devices folder devices folder

b3 Non-conformant Non-conformant
devices folder devices folder

70.6.3 Third-party Client Management


When you use a third-party BACnet client, management of the SmartX IP
controller is limited to standard BACnet features and may include further
restrictions based on whether or not the device is hosted by an EcoStruxure
BMS server. For example, when a SmartX IP controller is hosted by an
EcoStruxure BMS server, that server is responsible for the application within the
device. As such, the EcoStruxure BMS server is the only BACnet device that can
create or delete objects, edit programs and change BACnet IDs within the
SmartX IP controller. Furthermore, change requests from third-party clients that
interfere with a shared solution are rejected by the device.
With an EcoStruxure BMS server as its host, other BACnet clients can still
monitor standard BACnet objects and perform runtime actions such as:
• Read values of standard BACnet properties
• Manage the priority array of commandable BACnet objects (for example,
override values)
• Write BACnet values marked as writable in the Protocol Implementation
Conference Statement (PICS)
• View and BACnet acknowledge those alarms of which it is a recipient
• Edit BACnet Schedule events
• View BACnet trend data

70.6.4 SmartX IP Controller References and Device


ID Changes
After the SmartX IP controller has been configured or commissioned, you can
change the device ID. Changing the device ID affects BACnet references to this
device, however.
For more information, see section 96.9 “SmartX IP Controller References and
Device ID Changes” on page 3291.

Technical 04-30006-02-en, May 2019


2202
70 SmartX IP Controller - MP Series Management and Communication
70.7 Initializing the BACnet ID of a SmartX IP Controller

70.7 Initializing the BACnet ID of a SmartX IP


Controller
You initialize the BACnet ID of a SmartX IP controller by assigning a device ID to
an uninitialized device.
For more information, see section 96.6 “SmartX IP Controller Device
Management” on page 3286.

To initialize the BACnet ID of a SmartX IP controller


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server where you want to identify the controllers that require their BACnet
IDs be initialized.
2. Click the Device Discovery view.
3. Select BACnet devices
devices.
4. In the Network device list, navigate to the ID initialization required items
and right-click the uninitialized device.
5. In the Actions menu, click Initialize ID
ID.
6. In the Assign Device ID dialog box, in the Device ID box, enter the device
ID.
7. Click OK
OK.

04-30006-02-en, May 2019 Technical


2203
70 SmartX IP Controller - MP Series Management and Communication
70.8 Changing a SmartX IP Controller Device ID

70.8 Changing a SmartX IP Controller Device


ID
You change a SmartX IP controller device ID after the device has been
configured or initialized in order to fix a duplicate ID or move a controller.
For more information, see section 96.6 “SmartX IP Controller Device
Management” on page 3286.

To change a SmartX IP controller device ID


1. In WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, point to Device
Device, Advanced
Advanced, and then click Change ID
ID.
3. In the Confirm Change dialog box, click Yes
Yes.
4. In the Change device ID dialog box, enter the new device ID and click OK
OK.
You now manually repair the references that the system did not fix.
For more information, see section 96.9 “SmartX IP Controller References
and Device ID Changes” on page 3291.

Technical 04-30006-02-en, May 2019


2204
70 SmartX IP Controller - MP Series Management and Communication
70.9 SmartX IP Controller References and Device ID Changes

70.9 SmartX IP Controller References and


Device ID Changes
After the SmartX IP controller has been configured or commissioned, you can
change the device ID. Changing the device ID affects BACnet references to this
device, however.

NOTICE
The target of the references can be the device itself or any of its children.

If there are references to objects in the controller, the system attempts to repair
them. For example, the following BACnet references are updated:
• A reference source managed by the same EcoStruxure BMS server
• A reference that contains the EcoStruxure Building Operation path to the
reference source
A device that contains a reference to the SmartX IP controller and is hosted by
EcoStruxure BMS server may have two references: a BACnet reference and an
EcoStruxure Building Operation controller reference. The system needs the
EcoStruxure Building Operation reference in order to repair the BACnet
reference.
The system does not repair the following references:
• A reference source managed by a different EcoStruxure BMS server
• A reference that contains only BACnet IDs (that is only the foreign
reference).
You must manually repair those references EcoStruxure BMS does not fix. When
repairing the BACnet reference, you need to manually edit the reference to
include the changed Device ID of the SmartX IP controller. After the system
repairs the references, you must perform the following actions depending on
where the reference source resides:
• If the reference source resides in an external BACnet device, the reference
source displays in the System Tree pane with the download required icon
. Be sure to perform a system download to send the updated reference
to the device.
• If the reference source resides in the EcoStruxure BMS server, be sure to
restart the EcoStruxure BMS server for the new reference to take effect in
runtime.

NOTICE
The types of references included in this topic are PropertyReference,
PropertyReference List, ObjectReference, and ObjectReferenceList.
References whose reference source is within the same device should not
require an update.

04-30006-02-en, May 2019 Technical


2205
70 SmartX IP Controller - MP Series Management and Communication
70.10 Before Hosting a SmartX IP Controller

70.10 Before Hosting a SmartX IP Controller


EcoStruxure BMS servers such as the SmartX AS-P server, SmartX AS-B server,
or Enterprise Server may host SmartX IP controllers. Before hosting a SmartX IP
controller, there are several different pre-conditions you should consider,
however.
• Is the application pre-configured in the server database?
– Does it include a pre-assigned BACnet ID
– Is the application field-deployed to the controller
• Does the controller database have the BACnet ID assigned

Table: Pre-conditional scenarios for hosting a SmartX IP controller


Server Controller Upload
database database needed after
hosting

Option Pre- BACnet ID Field-based BACnet ID


configured assigned deploy assigned

1 – – – – x

2 – – – x x

3 x – – – x

4 x – – x x

5 x x – – x

6a x x – x x

7 x – x – x

8 x – x x x

9 x x x – x

10 x x x x x
a
The BACnet IDs assigned in the server and the controller must match. If they do not,
you will need to resolve this mis-match before proceeding. Typically, changing the
controller BACnet ID is less disruptive than changing the server database application.

Consider the following when finding the device in the Device Discovery view:
• For options 1, 3, 5, 7 and 9, Device Discovery places the controller in the ID
initialization required folder.
• For option 2, 4, 6, 8 and 10, Device Discovery places the controller in the
network folder for its network number.

Technical 04-30006-02-en, May 2019


2206
70 SmartX IP Controller - MP Series Management and Communication
70.10 Before Hosting a SmartX IP Controller

Figure: Device discovery view

Consider the following when initializing the BACnet ID of controllers that


currently do not have the BACnet ID initialized:
• For options 1, 3 and 7, you must manually initialize the BACnet ID of the
controller using the Initialize ID command in the Device Discovery view. For
more information, see section 96.7 “Initializing the BACnet ID of a SmartX IP
Controller” on page 3289.
• For options 5 and 9, the hosting process automatically initializes the BACnet
ID before associating the controller with the BACnet ID of the pre-
configured device proxy. (See the information that follows for more details).
Consider the following when hosting a SmartX IP controller:
• For options 1 and 2, the controller is not pre-configured in the server
database. With both these options, the hosting process creates a device
proxy in the server and assigns the BACnet ID from the controller. With
option 1, you must first manually initialize the BACnet ID.
• For options 3, 4, 7 and 8, the controller is pre-configured in the server
database without a pre-assigned BACnet ID. With all four of these options,
the hosting process assigns the device proxy BACnet ID in the server using
the BACnet ID set in the controller. With option 3 and 7, you must first
initialize the BACnet ID.
• For options 5 and 9, the controller is pre-configured in the server database
with a preassigned BACnet ID. With both of these options, the hosting
process assigns the BACnet ID in the controller with the BACnet ID
assigned in the server.
• For options 6 and 10, the controller is pre-configured and both the server
and controller databases have a preassigned BACnet ID. With both of these
options, the hosting process does not alter the BACnet ID in either the
controller or the server provided the BACnet ID is the same in both. If the
BACnet ID is not same, you must ensure that the BACnet ID is resolved
before hosting.

04-30006-02-en, May 2019 Technical


2207
70 SmartX IP Controller - MP Series Management and Communication
70.11 EcoStruxure BMS Server Hosting a SmartX IP Controller

70.11 EcoStruxure BMS Server Hosting a


SmartX IP Controller
When EcoStruxure BMS servers such as the SmartX AS-P server, SmartX AS-B
server, or Enterprise Server host SmartX IP controllers, the server is responsible
for the full management of that controller including its programming.
With the hosting process, the ultimate goal is to ensure that the SmartX IP
controller and its database contain the same BACnet ID, are associated and
also are fully synchronized for all deployable objects and properties.
For a server to host a SmartX IP controller, the controller must have an assigned
BACnet ID. By default, the BACnet ID is not assigned in the controller.
There are several different ways you can assign the BACnet ID:
• By using the eCommission SmartX Controllers mobile application
For more information, see section 103.1 “eCommission SmartX Controllers
Mobile Application” on page 3503.
• By hosting a device that is pre-configured in the server database along with
the BACnet ID
For more information, see section 96.10 “Before Hosting a SmartX IP
Controller” on page 3292.
• By using Device Discovery
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

70.11.1 Controller Hosting


You can host a controller using either manual hosting or Device Discovery.
Device Discovery and its drag-and-drop process leverages the list of BACnet
devices that the system can automatically discover.
A SmartX IP controller hosted by an EcoStruxure BMS server does not allow
objects to be created or deleted by other EcoStruxure BMS Servers or a third-
party BACnet Operator Workstation (B-OWS). Additionally, a hosted SmartX IP
controller prevents other operations, like device restart, device silencing, and
modifying certain object properties. This restriction ensures that SmartX IP
controller application engineering is fully managed by EcoStruxure BMS and
can leverage efficiencies provided with User Defined Types.

NOTICE
In order to differentiate between BACnet device objects located in a BACnet
device and those located in an EcoStruxure BMS server, you can add the
Executed by column in the List View of the Application folder. For more
information, see section 111.7 “BACnet Device Object Indicator – Executed
By” on page 3882.

70.11.2 BACnet Interface


In WorkStation, you create a BACnet interface at the SmartX server level that
creates a BACnet/IP network by default.

Technical 04-30006-02-en, May 2019


2208
70 SmartX IP Controller - MP Series Management and Communication
70.11 EcoStruxure BMS Server Hosting a SmartX IP Controller

For more information, see section 118.5 “Creating a BACnet Interface” on page
4495.
You can then perform a variety of tasks:
• Creating the SmartX IP controller using the device creation wizard, or use
device discovery instead
• Creating the SmartX IP controller points, values, and programs, and
manage trends, schedules, and alarms
• Downloading the objects created in the EcoStruxure Building Operation
database to the SmartX IP controller

NOTICE
In the absence of a physical SmartX IP controller, you can create objects
offline. In this case, you then download the database once a physical device is
introduced to the system and associated with the previously created SmartX IP
controller (shown here by a sample SmartX IP controller - MP Series).

Figure: SmartX IP controllers in the System Tree pane

For more information, see section 95.18 “Configure an Online SmartX IP


Controller Workflow” on page 3254.
For more information, see section 86.18 “Configure an Online IP-IO Module
Workflow” on page 2864.

04-30006-02-en, May 2019 Technical


2209
70 SmartX IP Controller - MP Series Management and Communication
70.11 EcoStruxure BMS Server Hosting a SmartX IP Controller

70.11.3 B-OWS Restrictions


The EcoStruxure Building Operation WorkStation complies with a BACnet
Operator Workstation (B-OWS). However, there are a number of restrictions here
you should be aware of:
• When a SmartX IP controller is hosted, it only allows you to create and
delete objects within its hosting EcoStruxure BMS server.
You can still modify object properties with the notable exceptions of the
device ID and system units.
• When a SmartX IP controller is not hosted, it does not prevent you from
creating and deleting BACnet objects.
• Restrictions apply to all third-party B-OWS as well as EcoStruxure BMS
servers that are not hosting the SmartX IP controller.
You cannot execute device restart (warm and cold start) and system
communication (enable, disable, disable initiation) comands.
• The eCommission SmartX Controllers mobile application operates under the
same restrictions as any other third-party B-OWS device.
You cannot perform a field (that is, a bottom-up) deploy since the tool
cannot create the necessary file objects. For more information, see section
101.16 “Performing a Field Deploy for a SmartX IP Controller Application” on
page 3475.

Technical 04-30006-02-en, May 2019


2210
70 SmartX IP Controller - MP Series Management and Communication
70.12 SmartX IP Controller Diagnostics

70.12 SmartX IP Controller Diagnostics


You can retrieve and view diagnostics in WorkStation or download and view that
information using the eCommission SmartX Controllers mobile application.
Diagnostics include device, crash, and IO checkout reports, as well as error,
flow balance and commissioning logs (as shown here with a sample SmartX IP
controller - IP-IO module).

NOTICE
Flow balance logs are available only in the MP-V model of the SmartX IP
controller - MP Series.

Figure: SmartX IP controller diagnostics

70.12.1 Error Log


The error log provides a list of current errors in the controller that you can
troubleshoot and correct (as shown here with a sample SmartX IP Controller - IP-
IO module). The error log is similar to the logs used in the b3 BACnet device with
comparable tracing capabilities.

04-30006-02-en, May 2019 Technical


2211
70 SmartX IP Controller - MP Series Management and Communication
70.12 SmartX IP Controller Diagnostics

Figure: SmartX IP controller error log

70.12.2 Device Report


The device report allows you to extract diagnostic information from the controller
and troubleshoot problems quickly and efficiently. It is accessible from either
EcoStruxure BMS or the eCommission SmartX Controllers mobile application.
(This sample report comes from a SmartX IP Controller - IP-IO module).

Technical 04-30006-02-en, May 2019


2212
70 SmartX IP Controller - MP Series Management and Communication
70.12 SmartX IP Controller Diagnostics

Figure: Sample SmartX IP controller device report

NOTICE
In the Device Report, consult the following entries:
• The Free object system memory entry to see how much memory is available
for object creation and trend logs.
• The default or user set entries to determine the configuration status of the 6-
Digit Bluetooth PIN.

70.12.3 Crash Report File


The crash report file is not human-readable. Should it be necessary, Schneider
Electric support may request that you download and email this file.

04-30006-02-en, May 2019 Technical


2213
70 SmartX IP Controller - MP Series Management and Communication
70.12 SmartX IP Controller Diagnostics

70.12.4 Commissioning Log


You use the commissioning log to investigate or validate the tasks performed
with the eCommission SmartX Controllers mobile application. Activity logs may
include the following information:
• A time and date stamp
• A unique user identifier, such as a user account and role
• Category information such as air balance, configuration, checkout, firmware
update and application load data
• A description of the change performed with the tool

70.12.5 IO Checkout Report


You use the IO checkout report to produce status reports as a job progresses.
Such reports allow technicians and/or electricians to determine whether the IO
of all controllers is installed and operating correctly.

70.12.6 Flow Balance Logs


If the SmartX IP Controller device is an MP-V, you use these logs to obtain log
data on the flow balancing process. For more information, see section 80.2 “Air
Flow and Flow Balancing” on page 2472.

Technical 04-30006-02-en, May 2019


2214
70 SmartX IP Controller - MP Series Management and Communication
70.13 Retrieving SmartX IP Controller Diagnostics

70.13 Retrieving SmartX IP Controller


Diagnostics
You can retrieve diagnostics from your SmartX IP controller and use that
information to troubleshoot and correct problems.
For more information, see section 96.12 “SmartX IP Controller Diagnostics” on
page 3297.

To retrieve SmartX IP controller diagnostics


1. In WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, click Device
Device, followed by Diagnostics
Diagnostics.
3. Click the specified diagnostic report or log file:
• Click Get Error Log to display a text file with a list of current errors in
the SmartX IP controller
• Click Get Device Report to display a text file with diagostic messages
that you can use to troubleshoot problems.
• Click Get crash report file to download a crash report file that you can
email to Schneider Electric customer support should they request it.
This report assists them in diagnosing the cause of the crash and
recommending corrective actions.
• Click Get commissioning log to obtain the activity log to investigate or
validate the tasks that were performed with the eCommission SmartX
Controllers mobile application.
• Click Flow balance log to obtain log data on the flow balancing
process. (Flow balance logs are available only in the MP-V model of
the SmartX IP controller - MP Series).
• Click Get IO checkout report to produce status reports as a job
progresses.
These reports allow technicians and/or electricians to determine
whether the IO of all the controllers is installed and operating correctly.

04-30006-02-en, May 2019 Technical


2215
70 SmartX IP Controller - MP Series Management and Communication
70.14 Device Discovery for SmartX IP Controller Devices

70.14 Device Discovery for SmartX IP


Controller Devices
You can discover SmartX IP Controller devices and objects on a directly
connected network, or on subnetworks in the BACnet Interface.
A sample Device Discovery view is shown for a SmartX IP controller - IP-IO
module.

Figure: SmartX IP controller device discovery

When you intially open the Device Discovery view, the displayed information is
cached from the server, so this information may not be the latest information.

You need to click the Discover all button to obtain the latest information. For
more information, see section 96.16 “Discovering SmartX IP Controller Devices ”
on page 3304.

70.14.1 Hide Devices


You can also simplify the Device Discovery view by hiding devices that you do
not need to see in the view, for example. For more information, see section 96.17
“Hiding SmartX IP Controller Devices in Device Discovery ” on page 3305.

NOTICE
SmartX IP Controller devices may not display if the device was previously
discovered and hidden. For more information, see section 107.2 “SmartX IP
Controller Device Does Not Display in Device Discovery” on page 3746.

70.14.2 Discover SmartX IP Controller Device


Workflow
You discover SmartX IP Controller devices in order to identify these devices on a
BACnet network and then host them within a SmartX server or Enterprise Server.
For more information, see section 96.15 “Discover SmartX IP Controller Device
Workflow” on page 3303.

Technical 04-30006-02-en, May 2019


2216
70 SmartX IP Controller - MP Series Management and Communication
70.15 Discover SmartX IP Controller Device Workflow

70.15 Discover SmartX IP Controller Device


Workflow
You discover SmartX IP Controller devices in order to identify these devices on a
BACnet network and then host them within a SmartX server or Enterprise Server.
Use this workflow to discover the SmartX IP Controller devices at your site.
Related information can be found in the sections that follow the flowchart.

Figure: Discover SmartX IP Controller device workflow

Discover the SmartX IP Controller device


In the Device Discovery view, discover the controller and drag the device to the
System Tree pane. When you do so, you create the SmartX IP controller proxy
object or associate it with an existing device proxy object in the EcoStruxure
Building Operation database.
For more information, see section 96.16 “Discovering SmartX IP Controller
Devices ” on page 3304.

Upload the contents of the controller device


You then upload the contents of the controller device to create the objects in the
database.
For more information, see section 113.12 “Uploading the Contents of a BACnet
Device” on page 4058.

04-30006-02-en, May 2019 Technical


2217
70 SmartX IP Controller - MP Series Management and Communication
70.16 Discovering SmartX IP Controller Devices

70.16 Discovering SmartX IP Controller


Devices
You discover SmartX IP controllers in order to create these devices in the
EcoStruxure BMS server.
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

To discover SmartX IP Controller devices


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server where you want to discover the SmartX IP Controller device.
2. Click the Device Discovery view.
3. In the Select device type box, select BACnet devices
devices.

4. Click the Discover all button to discover all devices and obtain the
latest information.
5. In the Quick filter box, type the specified text to filter the view and display
only the device types you want.
6. Click Objects to view the objects of a selected device in the pane on the
right.

NOTICE
For performance reasons, it is recommended that you keep this pane
closed if you do not need to view objects on the selected device. When
the pane is closed, objects are not fetched.

7. Select the SmartX IP Controller device you want in the view.


8. Drag that controller to the target IP Network in the System Tree pane to
create the device in the EcoStruxure Building Operation database.
Use the same network where the actual SmartX IP Controller device
resides.
9. In the Information dialog box, click OK
OK.
Now that you have discovered the SmartX IP Controller device, you upload
its contents. For more information, see section 113.12 “Uploading the
Contents of a BACnet Device” on page 4058.

NOTICE
Uploading a factory-fresh device creates no objects in the database
because there are no default objects in the SmartX IP controller.
However, following a deploy or a re-hosting of a previously populated
SmartX IP Controller device, the upload creates objects in the
EcoStruxure BMS server database.

Technical 04-30006-02-en, May 2019


2218
70 SmartX IP Controller - MP Series Management and Communication
70.17 Hiding SmartX IP Controller Devices in Device Discovery

70.17 Hiding SmartX IP Controller Devices in


Device Discovery
You hide SmartX IP Controller devices in order to simplify the Device Discovery
view by concealing devices that you may not want to view.
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

To hide SmartX IP Controller devices in Device Discovery


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server where you want to discover the SmartX IP Controller device.
2. Click the Device Discovery view.
3. In the Select device type box, select BACnet devices
devices.
4. Select the SmartX IP Controller device, right-click, and click Hide to
conceal a device.

5. Click the Show hidden devices button to show the hidden devices.
6. Click the Show hidden devices button again if you want to show all of the
devices except the hidden ones.

04-30006-02-en, May 2019 Technical


2219
70 SmartX IP Controller - MP Series Management and Communication
70.18 Clearing SmartX IP Controller Host Information

70.18 Clearing SmartX IP Controller Host


Information
In the Device Discovery view, you clear SmartX IP controller host information in
response to device already hosted errors during drag and drop operations.
These devices are already hosted in the EcoStruxure BMS server.
For more information, see section 96.14 “Device Discovery for SmartX IP
Controller Devices” on page 3302.

To clear SmartX IP controller host information


1. In WorkStation, in the System Tree pane, select the EcoStruxure BMS
server where you want to discover the SmartX IP controller.
2. Click the Device Discovery view.
3. In the Select device type box, select BACnet devices
devices.
4. In the Device Discovery view, drag one or more SmartX IP controllers to the
System Tree pane.
5. When the device already hosted error displays, select the specified
controller(s).
6. Right-click, and click Clear host information
information.
You can now drag and drop these controllers to the System Tree pane.

Technical 04-30006-02-en, May 2019


2220
70 SmartX IP Controller - MP Series Management and Communication
70.19 Automatic Time Sync for SmartX IP Controllers

70.19 Automatic Time Sync for SmartX IP


Controllers
With automatic time sync, you no longer need to manually add SmartX IP
controllers to the Local time synchronization recipients list. When a SmartX IP
controller is hosted and online in the EcoStruxure BMS server database, it is
automatically added to the BACnet Interface’s time sync list.

NOTICE
EcoStruxure BMS sends a time sync devices request as SmartX IP controllers
are added to the time sync list. In effect, this operates like an immediate time
sync request.

The Time Synchronization Recipients tab for a sample SmartX IP controller - MP


Series is shown in the following graphic.

Figure: Time sync recipients tab

By default, all of the devices in this list receive their own BACnet time
synchronization requests. EcoStruxure BMS servers send this request at thirty-
eight minutes past the hour or whenever their clocks are changed. For more
information, see section 110.6 “BACnet Time Synchronization” on page 3815.
SmartX IP controllers are also automatically removed from the time sync list
when they are removed from the EcoStruxure BMS server's database.

04-30006-02-en, May 2019 Technical


2221
70 SmartX IP Controller - MP Series Management and Communication
70.20 SmartX IP Controller Device Firmware Management

70.20 SmartX IP Controller Device Firmware


Management
Using WorkStation, you can update the firmware of multiple SmartX IP Controller
devices and their attached SmartX Sensors at the same time with minimum
downtime. In addition, the universal upgrade package simplifies the process
and requires minimal user involvement and coordination.

NOTICE
Unlike previous individual upgrade packages which required you to assign
device-specific firmware packages, you can assign the universal upgrade
package to all SmartX IP Controller device models. This allows you to perform
a download and upgrade with a single selection.

You have three options for updating the downloaded firmware:


• Schedule immediately
• Schedule manually
• Schedule at a specified time

70.20.1 Hosting Different Firmware Versions


The EcoStruxure BMS server keeps track of the installed firmware to support
backup, restore, and replacement of the SmartX IP Controller devices and their
sensors. The EcoStruxure BMS server can host SmartX IP Controller devices of
different firmware versions. The SmartX IP Controller device firmware is version
independent from the server, however.
You use the SmartX IP Controller Firmware Management view to view and
manage firmware that can be downloaded to devices from the server. This view
shows a sample SmartX IP controller - MP Series.

Technical 04-30006-02-en, May 2019


2222
70 SmartX IP Controller - MP Series Management and Communication
70.20 SmartX IP Controller Device Firmware Management

Figure: Firmware management view

70.20.2 Firmware Upgrade Guidelines


Be aware of the following guidelines when downloading, activating, and
upgrading firmware in SmartX IP Controller devices:
• Attempting to download and activate the wrong device firmware is
prohibited by the EcoStruxure BMS.
• Downloading firmware packages twice, whether the same or dissimilar
package versions, with no activation in-between may cause the controller to
block additional updates.
It is recommended then that you always complete the firmware update,
including downloading and activating, before downloading any subsequent
firmware packages to the controller.
• Removing the SmartX IP Controller device firmware is permitted as long as
you have path permissions to the path where the firmware is stored.
• Deleting SmartX IP Controller device firmware that is in use by any other
SmartX IP Controller device is prohibited.
• Changing the name of the SmartX IP Controller device firmware in the
EcoStruxure BMS is prohibited.

04-30006-02-en, May 2019 Technical


2223
70 SmartX IP Controller - MP Series Management and Communication
70.20 SmartX IP Controller Device Firmware Management

NOTICE
Initiating multiple firmware upgrades on a single daisy chain network may
introduce significant risks. The physical upgrade and restart of one group of
controllers may interfere with the firmware file transfer and/or activation of
another group. It is recommended then that you do not perform multiple
firmware upgrades on a single daisy-chain network (that is, initiate multiple
upgrade actions rather than upgrade multiple controllers in a single action).
Instead, you should allow any on-going firmware upgrades to complete before
initiating additional upgrades on the same daisy chain (or RSTP ring) network.

70.20.3 Active and Inactive Memory for Firmware


The SmartX IP Controller device contains both an active and an inactive memory
space for firmware. The active firmware memory space contains the firmware
version currently in use. When you update the firmware, the new version is
initially stored in the inactive memory space. When you trigger the firmware to
become active, the active and inactive firmware memories are swapped. This
allows you to perform rapid updates that you can either execute immediately or
defer to a schedule date. Should an error occur, the firmware automatically
reverts to the previous version.

NOTICE
The SmartX IP controller - RP Series does not support the inactive firmware
image (dual firmware images).

70.20.4 Firmware Recovery


If the SmartX IP Controller device detects an issue where it can no longer
maintain control or, repeatedly goes on and offline due to a firmware or
database issue, a recovery algorithm in the controller may initiate a number of
corrective actions to automatically restore or put the controller in a known state,
thus allowing you to manually recover the controller and its complete functions.

NOTICE
Specific alarms for each recovery state are generated by the SmartX IP
Controller device and depend on communication between the controller and
EcoStruxure BMS server. If communication is compromised (for example, if the
controller is offline), EcoStruxure BMS issues a generic alarm for an offline
device.

Correction actions may include the following:


• Deleting the controller's database
The SmartX IP Controller device detects a problem in its database and
deletes that database to permit a correct boot operation. In this state, the
controller may appear online, but it no longer controls its connected
equipment. An alarm displays informing you about the state of the controller
and requesting you perform remedial action. In such cases, you should
download the database from WorkStation.

Technical 04-30006-02-en, May 2019


2224
70 SmartX IP Controller - MP Series Management and Communication
70.20 SmartX IP Controller Device Firmware Management

• Reverting the controller firmware (Not applicable in the SmartX IP controller


- RP Series)
The recovery algorithm determines that the controller is experiencing issues
running the most recent (active) firmware. If so, the controller reverts to
running its previous (inactive) firmware version. This may occur in
conjunction with deleting the database, or independently. That is, the
database may remain intact if the algorithm determines that the database is
not at fault. An alarm displays informing you about the state of the controller
and requesting remedial action. Be sure to download the database from
WorkStation. You may also try upgrading the device to a different firmware
version if the reverted version is not optimal (for example, if more recent
security patches are required). For more information, see section 96.21
“Updating Firmware in SmartX IP Controllers” on page 3312.
• Recovering the firmware in recovery mode
Should either of the previous recovery methods fail to restore the controller,
this is the last line of defense. In the controller's Upgrade firmware context
menu, you perform a manual revert by selecting Revert device fimware
fimware.
This restarts the controller, deletes the controller's database, exchanges the
active and inactive firmware versions, and boots the controller from the now
active (reverted) firmware. Once you have taken this action, the controller
should boot to a fully functional condition. However, it is recommended that
you always select Download all objects following a manual revert in order to
return to full operation.

NOTICE
If Connected Services are active (requires registration), all such failures and
recovery actions are reported directly to Schneider Electric to help improve
reliability and recovery.

04-30006-02-en, May 2019 Technical


2225
70 SmartX IP Controller - MP Series Management and Communication
70.21 Updating Firmware in SmartX IP Controllers

70.21 Updating Firmware in SmartX IP


Controllers
You update the firmware in order to upgrade SmartX IP controllers in
EcoStruxure BMS. You can also select multiple controllers and perform a mass
firmware update.

NOTICE
• Before starting the update, ensure that there are no changes pending on the
controller's IP Network Settings object. Updating firmware when Changes
pending equals true may result in your controller becoming unresponsive.
Similarly, you should not attempt a firmware update when RSTP has been
enabled or disabled but no subsequent restart has been issued to activate
those changes. In such cases, the update may unintentionally activate the
RSTP settings or on occasion, revert them to an unintended state.

For more information, see section 96.20 “SmartX IP Controller Device Firmware
Management” on page 3308.

To update firmware in SmartX IP controllers


1. In WorkStation, in the System Tree pane, click Server
Server.
2. In the List View, click Control Panel
Panel.
3. In Control Panel, under BACnet
BACnet, click the appropriate SmartX IP controller
device.
4. When the simple Search pane displays, select the SmartX IP controller(s).
5. In the Actions menu, point to Device
Device, point to Upgrade firmware and then
click Select device firmware
firmware.
6. In the Select Firmware box, click Browse and then select a SmartX IP
controller universal upgrade package to upload.
Unlike previous individual upgrade packages which required you to assign
device-specific firmware packages, you can assign the universal upgrade
package to all SmartX IP Controller device models. This allows you to
perform a download and upgrade with a single selection.
7. Click Download firmware to download the firmware to the SmartX IP
controller(s).
8. Select the preferred Activation method: Manually
Manually, Immediately
Immediately, or at a
specified Time
Time.
For more information, see section 106.12 “Select Firmware Dialog Box” on
page 3577.
9. Click OK
OK.

NOTICE
To minimize the time it takes to perform an update, the I/O board is not
updated when the downloaded firmware package contains an I/O board
revision that matches the current version in the controller.

Technical 04-30006-02-en, May 2019


2226
70 SmartX IP Controller - MP Series Management and Communication
70.21 Updating Firmware in SmartX IP Controllers

10. In the simple Search pane, check the Upgrade progress column to view
and monitor update status.

NOTICE
Be aware that the firmware update takes longer in the SmartX IP
controller - RP Series due to its limited, available resources.

11. Right-click on the column heading bar and click Add/Remove columns.
12. In the Add/Remove columns dialog box, select Application software
version to view the currently installed software.
13. Click OK
OK.
When the update is completed, the application software version should
match the firmware version you just uploaded.
If the update produces errors, it did not complete successfully. For more
information, see section 107.12 “Unsuccesful SmartX IP Controller
Firmware Update” on page 3756.

04-30006-02-en, May 2019 Technical


2227
70 SmartX IP Controller - MP Series Management and Communication
70.22 SmartX IP Controller Communication

70.22 SmartX IP Controller Communication


EcoStruxure BMS servers communicate with SmartX IP controllers and allow you
to create new objects, enable alarm creation and management, and provide the
opportunity to download, and share data with other devices. From WorkStation,
SmartX IP controllers associated with the connected EcoStruxure BMS server
are represented in the System Tree pane.
The graphic that follows shows a SmartX server with a sample SmartX IP
controller - IP-IO module in the System Tree pane.

Figure: SmartX IP controller - IP-IO module in the System Tree

NOTICE
Associating involves linking a discovered device with a device proxy object in
EcoStruxure BMS. For more information, see section 110.5 “Associating a
BACnet Instance Number with a Device ” on page 3814.

Number Description

The BACnet interface contains folders and


networks that hold the configuration data
for the EcoStruxure BMS server and the
networks and SmartX servers it hosts. This
includes IP networks and SmartX IP
controllers.

The IP network is associated with the


device. EcoStruxure BMS servers
communicate with BACnet devices like the
SmartX IP controller over IP networks. The
system automatically creates an initial IP
network when you create a BACnet
Interface.

In the Application folder for the SmartX IP


controller, you create and manage inputs,
outputs, values, functions, programs,
alarms, schedules, and other EcoStruxure
Building Operation objects.

Technical 04-30006-02-en, May 2019


2228
70 SmartX IP Controller - MP Series Management and Communication
70.23 Enable and Disable SmartX IP Controller Device Communication

70.23 Enable and Disable SmartX IP


Controller Device Communication
You can execute the necessary commands to enable, disable, and disable
initiation of device communication on a SmartX IP controller.
For more information, see section 116.184 “Actions Menu – Device Submenu –
Communication Submenu ” on page 4458.
The following table lists the SmartX IP controller device communication
commands and indicates whether you need to provide a password or use the
time duration property to disable or limit the communication of a BACnet device
with other BACnet devices on the BACnet internetwork. For more information,
see section 116.186 “BACnet Device Communication Dialog Box” on page
4460.
Communication command Time duration Password

Enable No No

Disable Yes No

Disable initiation Yes No

You can immediately renew COV subscriptions and override the system’s five-
minute refresh interval for COV variables when a SmartX IP controller goes
offline unexpectedly, for example during a network disconnect or power outage.
For more information, see section 110.28 “Refreshing COV Subscriptions” on
page 3843.
You can view the number of properties using the BACnet COV service as well as
the various polling times on each network. For more information, see the
Diagnosing Polled Variables on a BACnet Network topic on WebHelp.

04-30006-02-en, May 2019 Technical


2229
70 SmartX IP Controller - MP Series Management and Communication
70.24 SmartX IP Controller Foreign Device BBMD Registration

70.24 SmartX IP Controller Foreign Device


BBMD Registration
A foreign device may be a full-time node on a foreign IP subnet or a part-time
participant. There are no restrictions on where foreign devices reside or how
they gain access to the BACnet network. Typically, you connect foreign devices
to the BACnet network by registering them with a BBMD.
If a SmartX IP controller and a BBMD are located on different BACnet IP
subnets, you register the SmartX IP controller as a foreign device with the
BBMD.

Figure: SmartX IP controller registered as a foreign device

For more information, see section 96.25 “Registering a SmartX IP Controller as a


Foreign Device ” on page 3317.

Technical 04-30006-02-en, May 2019


2230
70 SmartX IP Controller - MP Series Management and Communication
70.25 Registering a SmartX IP Controller as a Foreign Device

70.25 Registering a SmartX IP Controller as a


Foreign Device
You register the SmartX IP controller as a foreign device if the controller and the
BBMD are located on different BACnet IP subnets.
For more information, see section 96.24 “SmartX IP Controller Foreign Device
BBMD Registration” on page 3316.

To register a SmartX IP controller as a foreign device


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, click IP Network Settings
Settings.
3. On the File menu, click Properties
Properties.
4. In the Basic tab of the IP Network Settings properties pane, click Foreign
in the IP Mode box to indicate that the controller is operating as a foreign
device over this IP network.
5. In the BBMD address box, type the address the controller should use to
register as a foreign device, followed by a colon (:) and the port number.
6. In the Subscription lifetime box, enter the number of seconds the controller
waits before renewing its subscription with the BBMD.
7. Click Yes
Yes.
8. Click Ok
Ok.

04-30006-02-en, May 2019 Technical


2231
70 SmartX IP Controller - MP Series Management and Communication
70.26 Renewing Foreign Device Registration

70.26 Renewing Foreign Device Registration


You renew FD (foreign device) registration in order to force the SmartX IP
controller to renew its BBMD registration period.
For more information, see section 96.24 “SmartX IP Controller Foreign Device
BBMD Registration” on page 3316.

To renew foreign device registration in the SmartX IP


controller
1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, click IP Network Settings
Settings.
3. In the Actions menu, point to IP commands and then click Renew FD
Registration
Registration.

NOTICE
Renewing the FD Registration does not become effective until you click
Activate changes in the IP commands menu. Activating changes causes
the SmartX IP controller to apply the changes and then automatically
perform a warm start.

Technical 04-30006-02-en, May 2019


2232
70 SmartX IP Controller - MP Series Management and Communication
70.27 Upload and Download SmartX IP Controller Data

70.27 Upload and Download SmartX IP


Controller Data
You download data when you want to use the data in the EcoStruxure BMS
server rather than the data in the physical SmartX IP controller. By contrast, you
upload data when you want to use the data in the physical device rather than the
data in the EcoStruxure BMS server.
The download and upload commands for SmartX IP controllers operate in the
same way as they do in other EcoStruxure BMS BACnet devices. For more
information, see section 113.1 “BACnet Download and Upload” on page 4045.
There are some differences in the way the download and upload configuration
commands work in the SmartX IP controller, however. In the SmartX IP
controllers, you use the download and upload configuration commands to
download and upload the following objects:
• Devices
• IP Network Settings
• Settings

NOTICE
Before the upload and download commands take effect, you must perform
additional actions such as activating the IP settings object or restarting the
controller. For more information, see section 94.12 “Configuring SmartX IP
Controller IP Network Settings” on page 3209.

Typically, in BACnet, you download and upload the configuration properties of


the BACnet device from the EcoStruxure BMS server to update only the device's
configuration properties. You do this to download and upload only device
properties without disturbing any other objects.
For more information, see the Downloading Configuration Properties topic on
WebHelp.
For more information, see section 113.10 “Uploading Configuration Properties ”
on page 4056.

04-30006-02-en, May 2019 Technical


2233
70 SmartX IP Controller - MP Series Management and Communication
70.28 SmartX IP Controller and Custom Type Association

70.28 SmartX IP Controller and Custom Type


Association
You associate a SmartX IP controller with the SmartX IP controller object in the
EcoStruxure BMS server in order to add or delete objects, or change values of
existing objects.
When a SmartX IP controller and its object have a custom type, the type and the
version should match. When the versions do not match, you can choose to
accept or cancel the association. For more information, see section 107.1
“Device Custom Type Versions Do Not Match” on page 3745.
When the controller and the controller object have custom types that do not
match, the association fails. For more information, see section 107.5 “Device
Custom Types Do Not Match” on page 3749.

NOTICE
SmartX IP controllers removed from an EcoStruxure BMS server no longer
include custom type information. To rehost a SmartX IP controller as a custom
type, you can do either of the following:
• Associate a device proxy with the controller and attach it to a cutom type.
For more information, see section 110.5 “Associating a BACnet Instance
Number with a Device ” on page 3814.
• Perform field deploy and drag and drop from the Device Discovery view and
then attach it to a custom type. For more information, see section 101.16
“Performing a Field Deploy for a SmartX IP Controller Application” on page
3475.

Technical 04-30006-02-en, May 2019


2234
70 SmartX IP Controller - MP Series Management and Communication
70.29 Erasing the SmartX IP Controller Database

70.29 Erasing the SmartX IP Controller


Database
You can clear the SmartX IP controller database application, while leaving intact
the device configuration including the IP Network Settings and the RSTP
Enabled and Disabled setting on the Settings object. All other Settings object
properties are returned to their default. This helps ensure that an application
engineer is working with a clean controller, or that a technician can load a
commissioning or I/O checkout application and then clear that application when
finished.
For more information, see section 85.12 “IP Address Settings for IP
Communications” on page 2818.

To erase the SmartX IP controller database


1. In WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, select Device
Device, Advanced
Advanced, and then click Erase
database
database.
All objects are erased from the database including the device object. The
exception here is the device configuration and its objects such as the IP
Network Settings and the RSTP Enabled and Disabled setting on the
Settings object.

04-30006-02-en, May 2019 Technical


2235
71 SmartX IP Controller - MP
Series I/O Points

Topics
MP Series Controller I/O Points
SmartX IP Controller Persistence
SmartX IP Controller Unit Conversion
Creating a SmartX IP Controller Device Input Point
Configuring a SmartX IP Controller Device Counter Input
Point
Configuring a SmartX IP Controller Device Current Input
Point
Configuring a SmartX IP Controller Device Digital Input Point
Configuring a SmartX IP Controller Device Resistive Input
Point
Configuring a SmartX IP Controller Device RTD
Temperature Input Point
Configuring a SmartX IP Controller Device Supervised Input
Point
Configuring a SmartX IP Controller Device Temperature
Input Point
Configuring a SmartX IP Controller Device Voltage Input
Point
Creating a SmartX IP Controller Device Output Point
71 Configuring a SmartX IP Controller Device Current Output
Point
Configuring a SmartX IP Controller Device Digital Output
Point
Configuring a SmartX IP Controller Device Digital Pulsed
Output Point
Configuring a SmartX IP Controller Device Pulse Width
Modulated Output Point
Configuring a SmartX IP Controller Device Tristate Output
Point
Configuring a SmartX IP Controller Device Tristate Pulsed
Output Point
Configuring a SmartX IP Controller Device Voltage Output
Point
Identifying Overridden I/O Points in a SmartX IP Controller
Device
71 SmartX IP Controller - MP Series I/O Points
71.1 MP Series Controller I/O Points

71.1 MP Series Controller I/O Points


MP Series controllers offer a versatile mix of I/O point types that match the
majority of application types. Most I/O points are onboard and highly flexible, so
you can configure them as inputs or outputs including Form A relays, high
current relays, triac and analog outputs. The SmartX sensor bus allows for
additional remote I/O and human interfaces such as a SmartX sensor with
options that include a touchscreen display.
For example, the model MP-C-15A has I/O points of the following varieties:
• 8 Universal inputs/outputs, Ub type
• 6 Triac outputs
• 1 High power relay output
The model MP-V-7A has I/O points of the following varieties:
• 3 Universal inputs
• 3 Triac outputs
• 1 Analog output
For more information, see section 69.8 “MP Series Controller Models” on page
2150.

71.1.1 Universal Inputs


The universal inputs are ideal for any mix of temperature, pressure, flow, status
points, and similar point types in a building control system. You can configure
universal inputs to read several different types of inputs:
• Digital
• Counter
• Supervised
• Voltage
• Current
• Temperature
• Resistive
• 2-Wire RTD temperature
As counter inputs they are commonly used in energy metering applications. As
RTD inputs they are ideal for temperature points in a building control system. As
supervised inputs they are used for security applications where it is critical to
know whether or not a wire has been cut or shorted. These events provide a
separate indication of alarms and trouble conditions to the system. For more
information, see section 100.5 “ Creating a SmartX IP Controller BACnet Alarm”
on page 3440.

04-30006-02-en, May 2019 Technical


2239
71 SmartX IP Controller - MP Series I/O Points
71.1 MP Series Controller I/O Points

71.1.2 Universal Inputs/Outputs


Like the universal inputs, universal inputs/outputs are ideal for any mix of
temperature, pressure, flow, status points, and similar point types in a building
control system. You can also configure universal inputs/outputs to read the
same types of varied inputs.
As counter inputs, they are used in energy metering applications. As RTD
inputs, they are ideal for temperature points in a building control system. Finally,
as supervised inputs, they are invaluable in security applications.
At the same time, universal inputs/outputs are also capable of supporting analog
outputs of the voltage output type. Thus, universal inputs/outputs are capable of
supporting a wide range of devices, such as actuators.

NOTICE
The difference between the Ub and Uc types of universal/inputs is that the Uc
type supports current outputs.

71.1.3 Triac Outputs


You can use triac outputs in many applications to switch 24 VAC on or off for
external loads such as actuators, relays, or indicators. Triacs are silent and last
longer than relays. In the MP Series controllers, the triacs are isolated and are
less susceptible to damage through miswiring.

71.1.4 Analog Output


The analog outputs are capable of supporting analog or voltage point types.
Therefore, analog outputs support a wide range of devices, such as actuators.

71.1.5 Relay Outputs


The relay outputs support digital Form A point types. The Form A relays are
designed for direct load applications.

71.1.6 High Power Relay Output


The main application of the high power relay output is to power an electrical
heating battery directly.

Technical 04-30006-02-en, May 2019


2240
71 SmartX IP Controller - MP Series I/O Points
71.2 SmartX IP Controller Persistence

71.2 SmartX IP Controller Persistence


Persistence is the state of occurring or existing beyond the usual, expected, or
normal time. For inputs, outputs, and value objects in the SmartX IP controller,
persistence operates as described.

Inputs
The value of inputs do not persist through a warm and cold start, while the value
of forced inputs do persist. By forcing an input, you set it to out of service. The
out of service setting for any point persists through a warm and cold start.

Outputs
The value of outputs always persist through a warm and cold start including a
forced output. For more information, see section 110.39 “Device Cold Start and
Warm Start” on page 3857.

NOTICE
A power cycle is analogous to a hardware warm start.
For more information, see section 69.10 “MP Series Controller Reset Modes”
on page 2153.
For more information, see section 95.10 “RP Series Controller Reset Modes”
on page 3237.

Forcing an output sets the Forced Priority Level. The Forced Priority Level is a
global setting that you assign to forced values in the BACnet system. For more
information, see section 112.7 “Forced Priority Level” on page 4037.

Value
For value objects, the persistence retain level is configurable and defaults to not
retained.
DateTime and string do not have a priority array, while analog, digital, and
multistate do have a priority array. The retain level of each priority array element
of interest should be set.
Valid settings here are as follows:
• Not retained
• Warm start retained
• Cold start retained
Warm start retained values are retained through a warm start but not a cold start.
Cold start retained values are retained through a warm start and a cold start.
For example, to set the retain level to persist for a warm start in an analog value,

click the Configure Settings icon in the Priority 1 field of the Command tab.

04-30006-02-en, May 2019 Technical


2241
71 SmartX IP Controller - MP Series I/O Points
71.2 SmartX IP Controller Persistence

Figure: Analog value command tab priority 1 field

Then, set the Retain level to Warm start


start.

Technical 04-30006-02-en, May 2019


2242
71 SmartX IP Controller - MP Series I/O Points
71.2 SmartX IP Controller Persistence

Figure: Retain level

NOTICE
If you configure a value object as a setpoint in legacy Continuum, it is retained.
In the Value field of the value objects, cold start retained is exported.

04-30006-02-en, May 2019 Technical


2243
71 SmartX IP Controller - MP Series I/O Points
71.3 SmartX IP Controller Unit Conversion

71.3 SmartX IP Controller Unit Conversion


With SmartX IP controller internal binding objects, the unit conversion occurs in
the binding between objects. You can configure the following objects with units:
• All analog inputs and outputs
• All analog values
• Analog schedules
• Control loops
• Program input and output variables
• Trends
For example, to set units on a trend log in this sample MP Series controller, click

the Configure Settings icon in the Log device object property field in the
Basic tab. When the Log device object property dialog box displays, click Unit
and the ellipsis button.

Figure: Unit conversion

In the Select Unit dialog box, select the unit family you want.

Technical 04-30006-02-en, May 2019


2244
71 SmartX IP Controller - MP Series I/O Points
71.3 SmartX IP Controller Unit Conversion

Figure: Unit selection

71.3.1 Conversion Factor


When two properties from different objects, both of which are configured with
units from the same unit family, are bound to each other, the binding includes a
conversion factor. This ensures the value of the property in each object is
maintained in the unit where it is configured. If you make any subsequent
changes to the configured units on either property, the conversion is updated
upon save.

NOTICE
Unit conversion in Function Block programs takes place on the block itself,
while conversions in Script programs occur in the Binding Variables view.

71.3.2 Control Loop Unit Configuration


Configuring the unit of the control loop object's value sets the manipulated
variable reference to the same unit. Similarly, configuring the unit of the control
loop controlled variable reference also sets the setpoint reference to the same
unit.

Control Loop Error Conditions


Loop reliability is set as open-loop and fault status flag checked under the
following conditions:
• Loop controlled variable reference is not set.

04-30006-02-en, May 2019 Technical


2245
71 SmartX IP Controller - MP Series I/O Points
71.3 SmartX IP Controller Unit Conversion

• Controlled variable reference object is out of service.


• Manipulated variable reference binding command priority is not the active
command priority of the referenced object.
• Manipulated variable reference is out of service.
• Manipulated variable reference is bound to the value of a value or output
object. Ensure that manipulated variable reference bindings are made to a
priority array element.
Loop reliability is set to unreliable-other and fault status flag checked when the
setpoint reference object is out of service.

Technical 04-30006-02-en, May 2019


2246
71 SmartX IP Controller - MP Series I/O Points
71.4 Creating a SmartX IP Controller Device Input Point

71.4 Creating a SmartX IP Controller Device


Input Point
You create input points to represent the physical input terminals of the SmartX IP
Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To create a SmartX IP Controller device input point


1. In WorkStation, in the System Tree pane, expand the SmartX IP Controller
device where you want to create the input point.
2. Select Application
Application.
3. On the File menu, point to New and then click Point
Point.
4. In the Create Object wizard, in the Object type list, select the input point.
5. In the Name box, type a name for the input point.
6. In the Description box, type a description for the input point.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device.
9. Manually enter an Instance ID
ID, or click Automatically generated to have
the system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the point
from the external BACnet device.
12. Click Next
Next.
13. In the Advanced settings page, in the Terminal box, click the ellipsis
button.

04-30006-02-en, May 2019 Technical


2247
71 SmartX IP Controller - MP Series I/O Points
71.4 Creating a SmartX IP Controller Device Input Point

14. In the Select Object dialog box, select the onboard IO terminal.

NOTICE
No onboard IO terminals display in this dialog if the input point you are
creating for the SmartX IP Controller device is not supported by the
available terminal types.

15. Click Select


Select.
16. In the Trend log box, click the ellipsis button.
17. In Create Object wizard, in the Name box, type a name for the trend log.
18. In the Description box, type a description for the trend log.
19. Click Next
Next.
20. In the Bacnet basic settings page, click Download to BACnet device.
21. Manually enter an Instance ID
ID, or click Automatically generated to have
the system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
22. In the BACnet name box, type a BACnet name for the trend log.
Do not type a name if you want a name to be assigned for you.
23. Click Upload from BACnet device to upload the properties of the trend log
from the external BACnet device
24. Click Create and then click Create once again.

Technical 04-30006-02-en, May 2019


2248
71 SmartX IP Controller - MP Series I/O Points
71.5 Configuring a SmartX IP Controller Device Counter Input Point

71.5 Configuring a SmartX IP Controller


Device Counter Input Point
You configure counter input points to represent the physical input terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.

To configure a SmartX IP Controller device counter input point


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device counter input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce- Displays a forced value.
Enter a forced value or click to
release the value.
• Force- Displays a non-forced
value. Click to force the value. The
maximum value of a counter input
is 4294967295. Once passed, that
value wraps to 0. The maximum
supported rate for a counter input
is 25Hz.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reset counter Select True to set the counter value to 0.


The reset counter turns back to False
after being set to True.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

04-30006-02-en, May 2019 Technical


2249
71 SmartX IP Controller - MP Series I/O Points
71.5 Configuring a SmartX IP Controller Device Counter Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

NOTICE
During an I/O board restart, the counter input values you see on the add-
on display module, may reset and cannot be restored to any other value
than zero. Be aware then that the value of the display counter inputs may
not reflect the total count held by the counter value of the EcoStruxure
BMS server counter object. The purpose of the counter value in the
display is to allow the technician to verify the count that increments
during I/O checkout or diagnostic investigation. It is not to provide an
absolute value inclusive of all historical counts.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2250
71 SmartX IP Controller - MP Series I/O Points
71.6 Configuring a SmartX IP Controller Device Current Input Point

71.6 Configuring a SmartX IP Controller


Device Current Input Point
You configure current input points to represent the physical input terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device current input point


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device current input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, the value is measured
from 0 to 20mA.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

04-30006-02-en, May 2019 Technical


2251
71 SmartX IP Controller - MP Series I/O Points
71.6 Configuring a SmartX IP Controller Device Current Input Point

Continued
Property Description

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Digital filter Select True to filter out noise and


prevent false readings.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably derived for the Value property.

Maximum value Enter the highest value that can be


reliably derived for the Value property.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage,


(VDC), current (mA), or resistance
(kohm) value for the input point scale.
(Example: 0 VDC, 0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering


value for the input point scale.
(Example: 100%)

Enginering scale bottom Type a bottom of the range engineering


value for the input point scale.
(Example: 0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

6. Click the Advanced tab.


Continued on next page

Technical 04-30006-02-en, May 2019


2252
71 SmartX IP Controller - MP Series I/O Points
71.6 Configuring a SmartX IP Controller Device Current Input Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2253
71 SmartX IP Controller - MP Series I/O Points
71.7 Configuring a SmartX IP Controller Device Digital Input Point

71.7 Configuring a SmartX IP Controller


Device Digital Input Point
You configure digital input points to represent the physical input terminals of the
SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device digital input point


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device digital input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, the displayed value is
either On or Off.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Technical 04-30006-02-en, May 2019


2254
71 SmartX IP Controller - MP Series I/O Points
71.7 Configuring a SmartX IP Controller Device Digital Input Point

Continued
Property Description

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

Inactive text Type the text that explains the Inactive


state of the value, such as Idle. This text
is used as an enumeration text for the
Value property and related priority array
values. This text is visible in graphics, in
the Watch pane, and in the Properties
pane. The default is Inactive.

Active text Type the text that explains the Active


state of the value, such as Running. This
text is used as an enumeration text for
the Value property and related priority
array values. This text is visible in
graphics, in the Watch pane, and in the
Properties pane. The default is Active.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

04-30006-02-en, May 2019 Technical


2255
71 SmartX IP Controller - MP Series I/O Points
71.7 Configuring a SmartX IP Controller Device Digital Input Point

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2256
71 SmartX IP Controller - MP Series I/O Points
71.8 Configuring a SmartX IP Controller Device Resistive Input Point

71.8 Configuring a SmartX IP Controller


Device Resistive Input Point
You configure resistive input points to represent the physical input terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device resistive input


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device resistive input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, it displays the resistance
measured between 0 and 65535
ohms. The module resistive input
range is from 0 to 15000 ohms.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

04-30006-02-en, May 2019 Technical


2257
71 SmartX IP Controller - MP Series I/O Points
71.8 Configuring a SmartX IP Controller Device Resistive Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Digital filter Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably derived for the Value property.

Maximum value Enter the highest value that can be


reliably derived for the Value property.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage,


(VDC), current (mA), or resistance
(kohm) value for the input point scale.
(Example: 0 VDC, 0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering


value for the input point scale.
(Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale.
(Example: 0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

6. Click the Advanced tab.


Continued on next page

Technical 04-30006-02-en, May 2019


2258
71 SmartX IP Controller - MP Series I/O Points
71.8 Configuring a SmartX IP Controller Device Resistive Input Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2259
71 SmartX IP Controller - MP Series I/O Points
71.9 Configuring a SmartX IP Controller Device RTD Temperature Input Point

71.9 Configuring a SmartX IP Controller


Device RTD Temperature Input Point
You configure Resistance Temperature Detector (RTD) temperature input points
to represent the physical input terminals of the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device RTD temperature


input point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device RTD temperature
input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, the value displays the
converted temperature value in
degrees including the user-
specified wiring resistance and
offset ranging from -50 to 150°C.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Technical 04-30006-02-en, May 2019


2260
71 SmartX IP Controller - MP Series I/O Points
71.9 Configuring a SmartX IP Controller Device RTD Temperature Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Sensor type Select the specified sensor type to


determine how the resistance value is
converted to temperature. For more
information, see section 26.9 “Creating
an I/O Module 2-Wire or 3-Wire RTD
Temperature Input” on page 718.

Digital filter Select True to filter out noise and


prevent false readings.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably derived for the Value property.

Maximum value Enter the highest value that can be


reliably derived for the Value property.

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

Continued on next page

04-30006-02-en, May 2019 Technical


2261
71 SmartX IP Controller - MP Series I/O Points
71.9 Configuring a SmartX IP Controller Device RTD Temperature Input Point

Continued
Property Description

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2262
71 SmartX IP Controller - MP Series I/O Points
71.10 Configuring a SmartX IP Controller Device Supervised Input Point

71.10 Configuring a SmartX IP Controller


Device Supervised Input Point
You configure supervised input points to represent the physical input terminals
of the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device supervised input


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device supervised input
point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, the value displays: On,
Off, Trouble, or Not set.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

04-30006-02-en, May 2019 Technical


2263
71 SmartX IP Controller - MP Series I/O Points
71.10 Configuring a SmartX IP Controller Device Supervised Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Supervised circuit type Select one of the following: Not set,


None, NO Series, NC Series, NO
Parallel, NC Parallel. NO
Series/Parallel, or NC Series/Parallel
(NO= normally open, NC= normally
closed)
closed).

Supervised resistor value Type the value or use the up and down
arrow keys to enter the resistance value
of the resistors in the supervised circuit.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2264
71 SmartX IP Controller - MP Series I/O Points
71.11 Configuring a SmartX IP Controller Device Temperature Input Point

71.11 Configuring a SmartX IP Controller


Device Temperature Input Point
You configure temperature input points to represent the physical input terminals
of the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device temperature input


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device temperature input
point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays the value.


• Unforce. Displays a forced value.
Enter a forced value or click to
release the value.
• Force. Displays a non-forced
value. Click to force the value. For
example, the value displays the
converted temperature value in
degrees including the user-
specified wiring resistance and
offset ranging from -50 to 150°C.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

04-30006-02-en, May 2019 Technical


2265
71 SmartX IP Controller - MP Series I/O Points
71.11 Configuring a SmartX IP Controller Device Temperature Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Thermistor type Select the appropriate thermistor type


from the list.
With the SmartX Living Space
Temperature Sensor, be sure to select
the thermistor type Thermistor 10k
Type 1 (Continuum)
(Continuum), even if this sensor
is a 10k Type 3 thermistor. The SmartX
Living Space Resistive Temperature
Sensor is the exception here. While
SmartX Sensors are usually connected
to the sensor bus, the SmartX Living
Space Resistive Temperature Sensor is
connected to the MP Series controller
temperature input.

Digital filter Select True to filter out noise and


prevent false readings.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably derived for the Value property.

Maximum value Enter the highest value that can be


reliably derived for the Value property.

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

6. Click the Advanced tab.


Continued on next page

Technical 04-30006-02-en, May 2019


2266
71 SmartX IP Controller - MP Series I/O Points
71.11 Configuring a SmartX IP Controller Device Temperature Input Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2267
71 SmartX IP Controller - MP Series I/O Points
71.12 Configuring a SmartX IP Controller Device Voltage Input Point

71.12 Configuring a SmartX IP Controller


Device Voltage Input Point
You configure voltage input points to represent the physical terminals of the
SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device voltage input point


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device voltage input point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical input. Out of service is
primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Technical 04-30006-02-en, May 2019


2268
71 SmartX IP Controller - MP Series I/O Points
71.12 Configuring a SmartX IP Controller Device Voltage Input Point

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type on the input


point.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Digital filter Select True to filter out noise and


prevent false readings.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably derived for the Value property.

Maximum value Enter the highest value that can be


reliably derived for the Value property.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage,


(VDC), current (mA), or resistance
(kohm) value for the input point scale.
(Example: 0 VDC, 0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering


value for the input point scale.
(Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale.
(Example: 0%).

Offset Type an offset value to be added to or


subtracted from the engineering value
before it impacts the Value property.

6. Click the Advanced tab.


Continued on next page

04-30006-02-en, May 2019 Technical


2269
71 SmartX IP Controller - MP Series I/O Points
71.12 Configuring a SmartX IP Controller Device Voltage Input Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2270
71 SmartX IP Controller - MP Series I/O Points
71.13 Creating a SmartX IP Controller Device Output Point

71.13 Creating a SmartX IP Controller Device


Output Point
You create output points to represent the physical output terminals of the SmartX
IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To create a SmartX IP Controller device output point


1. In WorkStation, in the System Tree pane, expand the SmartX IP Controller
device where you want to create the output point.
2. Select Application
Application.
3. On the File menu, point to New and then click Point
Point.
4. In the Create Object wizard, in the Object type list, select the output point.
5. In the Name box, type a name for the output point.
6. In the Description box, type a description for the output point.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID
ID, or click Automatically generated to have
the system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the point
from the external BACnet device.
12. Click Next
Next.
13. In the Terminal box, click the ellipsis button.

04-30006-02-en, May 2019 Technical


2271
71 SmartX IP Controller - MP Series I/O Points
71.13 Creating a SmartX IP Controller Device Output Point

14. In the Select Object dialog box, select the Onboard IO terminal.

NOTICE
No onboard IO terminals display in this dialog box when the output point
you are creating for the SmartX IP Controller device is not supported by
the available terminal types.

15. Click Select


Select.
16. In the Trend log box, click the ellipsis button.
17. In the Create Object wizard, in the Name box, type a name for the trend
log.
18. In the Description box, type a description for the trend log.
19. Click Next
Next.
20. In the BACnet basic settings page, click Download to BACnet device
device.
21. Manually enter an Instance ID, or click Automatically generated to have
the system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
22. In the BACnet name box, type a BACnet name for the trend log.
Do not type a name if you want a name to be assigned for you.
23. Click Upload from BACnet device to upload the properties of the trend log
from the external BACnet device.
24. Click Create and then click Creat
Create again.

Technical 04-30006-02-en, May 2019


2272
71 SmartX IP Controller - MP Series I/O Points
71.14 Configuring a SmartX IP Controller Device Current Output Point

71.14 Configuring a SmartX IP Controller


Device Current Output Point
You configure current output points to represent the physical output terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device current output


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device current output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Electrical value Displays the raw, electrical value of the


output point (that is, the driven current
output value (0-20mA)).

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

04-30006-02-en, May 2019 Technical


2273
71 SmartX IP Controller - MP Series I/O Points
71.14 Configuring a SmartX IP Controller Device Current Output Point

Continued
Property Description

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably used for the Value property.

Maximum value Enter the highest value that can be


reliably used for the Value property.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage,


(VDC), current (mA), or resistance
(kohm) value for the input point scale.
(Example: 0 VDC, 0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering


value for the input point scale.
(Example: 100%)

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale.
(Example: 0%).

6. Click the Advanced tab.

Technical 04-30006-02-en, May 2019


2274
71 SmartX IP Controller - MP Series I/O Points
71.14 Configuring a SmartX IP Controller Device Current Output Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

04-30006-02-en, May 2019 Technical


2275
71 SmartX IP Controller - MP Series I/O Points
71.15 Configuring a SmartX IP Controller Device Digital Output Point

71.15 Configuring a SmartX IP Controller


Device Digital Output Point
You configure digital output points to represent the physical output terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device digital output point


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device digital output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Electrical value Displays the raw, electrical value of the


output point (that is, Engergized and
De-energized for single digital outputs
(relay and triac) including digital, digital
pulsed, and pulsed width modulated
outputs).

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Technical 04-30006-02-en, May 2019


2276
71 SmartX IP Controller - MP Series I/O Points
71.15 Configuring a SmartX IP Controller Device Digital Output Point

Continued
Property Description

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

Inactive text Type the text that explains the Inactive


state of the value, such as Idle. This text
is used as an enumeration text for the
Value property and related priority array
values. This text is visible in graphics, in
the Watch pane, and in the Properties
pane. The default is Inactive.

Active text Type the text that explains the Active


state of the value, such as Running. This
text is used as an enumeration text for
the Value property and related priority
array values. This text is visible in
graphics, in the Watch pane, and in the
Properties pane. The default is Active.

6. Click the Advanced tab.


Continued on next page

04-30006-02-en, May 2019 Technical


2277
71 SmartX IP Controller - MP Series I/O Points
71.15 Configuring a SmartX IP Controller Device Digital Output Point

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

Technical 04-30006-02-en, May 2019


2278
71 SmartX IP Controller - MP Series I/O Points
71.16 Configuring a SmartX IP Controller Device Digital Pulsed Output Point

71.16 Configuring a SmartX IP Controller


Device Digital Pulsed Output Point
You configure digital pulsed output points to represent the physical output
terminals of the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device digital pulsed


output point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device digital pulsed
output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Electrical value Displays the raw, electrical value of the


output point (that is, Engergized and
De-energized for single digital outputs
(relay and triac) including digital, digital
pulsed, and pulsed width modulated
outputs).

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

04-30006-02-en, May 2019 Technical


2279
71 SmartX IP Controller - MP Series I/O Points
71.16 Configuring a SmartX IP Controller Device Digital Pulsed Output Point

Continued
Property Description

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Technical 04-30006-02-en, May 2019


2280
71 SmartX IP Controller - MP Series I/O Points
71.16 Configuring a SmartX IP Controller Device Digital Pulsed Output Point

Continued
Property Description

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

04-30006-02-en, May 2019 Technical


2281
71 SmartX IP Controller - MP Series I/O Points
71.17 Configuring a SmartX IP Controller Device Pulse Width Modulated Output Point

71.17 Configuring a SmartX IP Controller


Device Pulse Width Modulated Output
Point
You configure SmartX IP Controller device Pulse Width Modulated (PWM) output
points to provide a pulse train with a specific period and duty cycle. Depending
on your programming, you can implement PWM using either the duration or duty
cycle property to produce the same results.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller Device pulse width


modulated output point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device pulse width
modulated output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Electrical value Displays the raw, electrical value of the


output point (that is, Engergized and
De-energized for single digital outputs
(relay and triac) including digital, digital
pulsed, and pulsed width modulated
outputs).

Technical 04-30006-02-en, May 2019


2282
71 SmartX IP Controller - MP Series I/O Points
71.17 Configuring a SmartX IP Controller Device Pulse Width Modulated Output Point

Continued
Property Description

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

PWM scale Select the PWM scale parameter


Duration (s) or Duty cycle (%). For more
information, see section 26.21 “I/O Point
Scaling” on page 732.

04-30006-02-en, May 2019 Technical


2283
71 SmartX IP Controller - MP Series I/O Points
71.17 Configuring a SmartX IP Controller Device Pulse Width Modulated Output Point

Continued
Property Description

Period (s) Enter a period value. For example, a


duty cycle of 25% and a Period of 20
seconds produces a 5 second pulse
every 20 seconds (25% of 20 seconds =
5 seconds).
For relay outputs, consider the
expected number of operation cycles
specified for the relay output (cycle life
rating) when configuring the period.

PWM minimum pulse (s) Enter a PWM minimum pulse. If the


value is on for less than the minimum
pulse, the value remains off.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default (s) Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 (s) This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x (s) Enter a priority value or Null.

10. Click OK
OK.

Technical 04-30006-02-en, May 2019


2284
71 SmartX IP Controller - MP Series I/O Points
71.18 Configuring a SmartX IP Controller Device Tristate Output Point

71.18 Configuring a SmartX IP Controller


Device Tristate Output Point
You configure tristate output points to represent the physical output terminals of
the SmartX IP Controller device.

NOTICE
When configuring a tristate output, it is necessary to have two adjacent
channels free. After you pick the primary channel, the secondary channel is
automatically assigned to the adjacent (higher) channel. If the adjacent
channel is not free for assignment, the primary channel assignment fails with
an error.

For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device tristate output


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device tristate output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

04-30006-02-en, May 2019 Technical


2285
71 SmartX IP Controller - MP Series I/O Points
71.18 Configuring a SmartX IP Controller Device Tristate Output Point

Continued
Property Description

Electrical value Displays the raw, electrical value of the


output point (that is, -On
On, Off
Off, and On
for tristate and tristate pulsed outputs).
• -On always indicates that the first
relay/triac is de-energized and the
second (tristate partner) relay/triac
is energized
• On always indicates that the first
relay/triac is energized and the
second (tristate partner) relay/triac
is de-energized
• Off always indicates that both
relays/triacs are de-energized

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

Technical 04-30006-02-en, May 2019


2286
71 SmartX IP Controller - MP Series I/O Points
71.18 Configuring a SmartX IP Controller Device Tristate Output Point

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

04-30006-02-en, May 2019 Technical


2287
71 SmartX IP Controller - MP Series I/O Points
71.19 Configuring a SmartX IP Controller Device Tristate Pulsed Output Point

71.19 Configuring a SmartX IP Controller


Device Tristate Pulsed Output Point
You configure tristate pulsed output points to represent the physical output
terminals of the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device tristate pulsed


output point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device tristate pulsed
output point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Technical 04-30006-02-en, May 2019


2288
71 SmartX IP Controller - MP Series I/O Points
71.19 Configuring a SmartX IP Controller Device Tristate Pulsed Output Point

Continued
Property Description

Electrical value Displays the raw, electrical value of the


output point (that is, -On
On, Off
Off, and On
for tristate and tristate pulsed outputs).
• -On always indicates that the first
relay/triac is de-energized and the
second (tristate partner) relay/triac
is energized
• On always indicates that the first
relay/triac is energized and the
second (tristate partner) relay/triac
is de-energized
• Off always indicates that both
relays/triacs are de-energized

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Polarity Select Normal or Reverse to control the


relationship between the physical state
of the point and the Value property.
When Out of service is set to False
False, the
Polarity property causes a change to
the Value property.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

04-30006-02-en, May 2019 Technical


2289
71 SmartX IP Controller - MP Series I/O Points
71.19 Configuring a SmartX IP Controller Device Tristate Pulsed Output Point

Continued
Property Description

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

Technical 04-30006-02-en, May 2019


2290
71 SmartX IP Controller - MP Series I/O Points
71.20 Configuring a SmartX IP Controller Device Voltage Output Point

71.20 Configuring a SmartX IP Controller


Device Voltage Output Point
You configure voltage output points to represent the physical output terminals of
the SmartX IP Controller device.
For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.
For more information, see section 97.1 “RP Series Controller I/O Points” on page
3325.

To configure a SmartX IP Controller device voltage output


point
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP Controller
device and then select Application
Application.
2. In the List View
View, select the SmartX IP Controller device voltage output
point.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Electrical value Displays the raw, electrical value of the


output point (that is, the driven voltage
output value (0-10V)).

Status flags Displays the condition or status of the


BACnet point. For more information, see
section 111.10 “BACnet Status Flags”
on page 3885.

04-30006-02-en, May 2019 Technical


2291
71 SmartX IP Controller - MP Series I/O Points
71.20 Configuring a SmartX IP Controller Device Voltage Output Point

Continued
Property Description

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the point. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Electrical type Displays the electrical type of the


output.

Terminal Set the Onboard IO terminal and click


Select
Select. For more information, see
section 95.14 “Configuring Terminals on
the I/O Module” on page 3248.

COV increment Enter the minimum change in the Value


property that causes a COV notification
to be sent.

Minimum value Enter the lowest value that can be


reliably used for the Value property.

Maximum value Enter the highest value that can be


reliably used for the Value property.

Electrical scale top Type a top of the range voltage (VDC),


current (mA), or resistance (kohm) value
for the input point scale. (Example: 10
VDC, 20 mA, or 60 kohm).

Electrical scale bottom Type a bottom of the range voltage,


(VDC), current (mA), or resistance
(kohm) value for the input point scale.
(Example: 0 VDC, 0 mA, or 0 kohm)

Engineering scale top Type a top of the range engineering


value for the input point scale.
(Example: 100%)

Technical 04-30006-02-en, May 2019


2292
71 SmartX IP Controller - MP Series I/O Points
71.20 Configuring a SmartX IP Controller Device Voltage Output Point

Continued
Property Description

Engineering scale bottom Type a bottom of the range engineering


value for the input point scale.
(Example: 0%).

6. Click the Advanced tab.


7. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

8. Click the Command tab.


9. Edit the Command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

10. Click OK
OK.

04-30006-02-en, May 2019 Technical


2293
71 SmartX IP Controller - MP Series I/O Points
71.21 Identifying Overridden I/O Points in a SmartX IP Controller Device

71.21 Identifying Overridden I/O Points in a


SmartX IP Controller Device
After you field commission, maintain, or service SmartX IP Controller device
hardware, you may need to identify I/O points that were overridden during these
activities to ensure that all overrides are removed before returning the system to
automated control. The simplest way to do this is by using the Search function in
WorkStation.

NOTICE
Once you have configured a search, you can save it and reuse it as a later
date.

For more information, see section 71.1 “MP Series Controller I/O Points” on page
2239.
For more information, see section 88.1 “IP-IO Module I/O Points” on page 2931.

To identify overridden I/O points in a SmartX IP Controller


device
1. In WorkStation, click the Search icon.
2. In the Object name box, enter an * (asterisk) to initiate a wildcard name
search.
3. In the In folder box, select the root of your search.
4. Click the Include subservers and Stop if more than 1000 results boxes
depending on how you want to tailor your search requirements.
5. Click the Search for properties checkbox.
6. Leave the Property name field blank.
7. Click the browse button in the Include types: box.
8. In the Select type dialog, select BACnet Object (Generic) and click OK
OK.
9. Click the browse button in the Conditions: box.
10. In the Select Conditions dialog, select Status flags and is equal to
to.
11. Click the Overridden checkbox and click OK
OK.
12. Click the Search icon adjacent to the Object name field to initiate your
search.
All of the objects that are overridden (not forced) display in the Search
view.
13. To reuse your search, click the Save icon in the Search view, name the
search, and then select Save.
Now that you have identified all overridden points in the SmartX IP Controller
device, you can use this list to remove the overrides using the add-on display on
the front of the each controller with identified overrides.

Technical 04-30006-02-en, May 2019


2294
71 SmartX IP Controller - MP Series I/O Points
71.21 Identifying Overridden I/O Points in a SmartX IP Controller Device

NOTICE
Deleting the overriden I/O point from the EcoStruxure BMS server does not
remove the override on the I/O point. Instead, assigning the now vacant
terminal to a newly-created or existing I/O point removes the override. You can
also clear the override using the add-on display.

04-30006-02-en, May 2019 Technical


2295
72 SmartX IP Controller Value
Objects

Topics
SmartX IP Controller Value Objects
Creating a SmartX IP Controller Value Object
Configuring a SmartX IP Controller Analog Value
Configuring a SmartX IP Controller DateTime Value
Configuring a SmartX IP Controller Digital Value
Configuring a SmartX IP Controller Multistate Value
Configuring a SmartX IP Controller String Value
SmartX IP Controller External Bindings
SmartX IP Controller Value Exchange
Types of External Bindings
When to Use a Consumer or Producer External Binding
Advantages to Using External Bindings
SmartX IP Controller Reliability
Creating a SmartX IP Controller External Binding
Configuring a SmartX IP Controller Consumer Value
Configuring a SmartX IP Controller Producer Value
Binding Value and Priority Properties in a SmartX IP
Controller
Fallback Settings for External Binding Consumer Values
72 SmartX IP Controller Value Objects
72.1 SmartX IP Controller Value Objects

72.1 SmartX IP Controller Value Objects


You create one of the following values in a SmartX IP controller:
• BACnet analog value
• BACnet datetime value
• BACnet digital value
• BACnet string value
• BACnet multistate value
SmartX IP controller value objects are storage locations in the memory of the
controller. There are five types of SmartX IP controller value objects, each of
which stores a unique value type:
• Analog values store numeric information.
• Digital values are used as control system parameters that have only one of
two possible states, Active (enabled) or Inactive (Disabled).
• DateTime values store date and time information used in schedules and
timestamps.
• String values contain plain text that can include messages that are
displayed to an operator.
• Multistate values are also used as control system parameters. However,
their values can be any one of a set that you define. For example, you can
create a multistate value object named Day of Week with a value of
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, or Sunday.

72.1.1 SmartX IP Controller Reliability


Reliability specifies the reliability of the Value property or the operation of the
SmartX IP controller object.
For more information, see section 98.8 “SmartX IP Controller Reliability ” on page
3403.

72.1.2 SmartX IP Controller External Bindings


You create external bindings to directly exchange object property values
between the SmartX IP controller and other compatible BACnet devices without
communicating through the EcoStruxure BMS server.
For more information, see section 98.9 “SmartX IP Controller External Bindings”
on page 3405.

04-30006-02-en, May 2019 Technical


2299
72 SmartX IP Controller Value Objects
72.1 SmartX IP Controller Value Objects

72.1.3 Binding Value and Priority Properties in a


SmartX IP Controller
When binding a SmartX IP controller output or value’s Value property to a target
(that is, allowing the property to read the value from the target), be sure to avoid
simultaneously binding both the value and priority array properties of the same
SmartX IP controller object.
For more information, see section 98.15 “Binding Value and Priority Properties in
a SmartX IP Controller” on page 3416.

Technical 04-30006-02-en, May 2019


2300
72 SmartX IP Controller Value Objects
72.2 Creating a SmartX IP Controller Value Object

72.2 Creating a SmartX IP Controller Value


Object
You create value objects in the SmartX IP controller to act as storage locations in
the controller’s memory.
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To create a SmartX IP controller value object


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the value object.
2. Select Application
Application.
3. On the File menu, point to New and then click Value
Value.
4. In the Create Object wizard, in the Object type list, select the value object.
5. In the Name box, type a name for the value object.
6. In the Description box, type a description for the value object.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID
ID, or click Automatically generated to have
the system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the value.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the value
from the hosted BACnet device.
12. Click Create
Create.

04-30006-02-en, May 2019 Technical


2301
72 SmartX IP Controller Value Objects
72.3 Configuring a SmartX IP Controller Analog Value

72.3 Configuring a SmartX IP Controller


Analog Value
You configure analog values to store numeric information for the SmartX IP
controller. SmartX IP controller value objects are storage locations in the
controller’s memory.
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To configure a SmartX IP controller analog value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller analog value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

5. For Value
Value, click the Configure button .

Technical 04-30006-02-en, May 2019


2302
72 SmartX IP Controller Value Objects
72.3 Configuring a SmartX IP Controller Analog Value

6. Edit the properties.


Property Description

Type Displays the object type. Read-only

Unit Select the Unit check box and enter the unit that matches
the unit of the point on the I/O module of the SmartX
server. For more information, see the Units topic on
WebHelp.

Init value Displays the initial value, if defined. Read-only.

Reference Enter the Value property of the point that you want to
reference.

Forceable Indicates that the value is forcible if the check box is


editable. For more information, see the Forced Values
topic on WebHelp.

Retain level Select how to handle values for warm start, cold start,
system events, and system activities. For more
information, see the Retain Level topic on WebHelp.

7. Click OK to return to the Basic tab.


8. In the Value box, enter the value to be used as a control system parameter
for the device.
9. In the Out of service box, select False
False.
10. In the COV increment box, enter the minimum change in the Value
property that causes a COV notification to be sent.
11. Click the Advanced tab.
12. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

13. Click the Command tab.


Continued on next page

04-30006-02-en, May 2019 Technical


2303
72 SmartX IP Controller Value Objects
72.3 Configuring a SmartX IP Controller Analog Value

14. Edit the Command properties.


Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

15. Click OK
OK.

Technical 04-30006-02-en, May 2019


2304
72 SmartX IP Controller Value Objects
72.4 Configuring a SmartX IP Controller DateTime Value

72.4 Configuring a SmartX IP Controller


DateTime Value
You configure DateTime values to define a combined date and time in a SmartX
IP controller.
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To configure a SmartX IP controller DateTime value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller DateTime value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

5. Click the Configure button for the Value property.

04-30006-02-en, May 2019 Technical


2305
72 SmartX IP Controller Value Objects
72.4 Configuring a SmartX IP Controller DateTime Value

6. Edit the Properties.


Property Description

Type Displays the object type. Read-only

Unit Select the Unit check box and enter the unit that matches
the unit of the point on the I/O module of the SmartX
server. For more information, see the Units topic on
WebHelp.

Init value Displays the initial value, if defined. Read-only.

Reference Enter the Value property of the point that you want to
reference.

Forceable Indicates that the value is forcible if the check box is


editable. For more information, see the Forced Values
topic on WebHelp.

Retain level Select how to handle values for warm start, cold start,
system events, and system activities. For more
information, see the Retain Level topic on WebHelp.

7. Click OK to return to the Basic tab.


8. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
When you create a DateTime object, the
value is initialized to the current date
and time and does not change until the
value is explicitly set.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Status flags Displays the condition or status of the


BACnet value. For more information,
see section 111.10 “BACnet Status
Flags” on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Technical 04-30006-02-en, May 2019


2306
72 SmartX IP Controller Value Objects
72.4 Configuring a SmartX IP Controller DateTime Value

9. Click the Advanced tab.


10. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

11. Click OK
OK.

04-30006-02-en, May 2019 Technical


2307
72 SmartX IP Controller Value Objects
72.5 Configuring a SmartX IP Controller Digital Value

72.5 Configuring a SmartX IP Controller


Digital Value
You configure digital values as control system parameters that have only one of
two possible states: Active (enabled) or Inactive (disabled).
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To configure a SmartX IP controller digital value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller digital value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

5. Click the Configure button for the Value property.

Technical 04-30006-02-en, May 2019


2308
72 SmartX IP Controller Value Objects
72.5 Configuring a SmartX IP Controller Digital Value

6. Edit the Properties.


Property Description

Type Displays the object type. Read-only

Unit Select the Unit check box and enter the unit that matches
the unit of the point on the I/O module of the SmartX
server. For more information, see the Units topic on
WebHelp.

Init value Displays the initial value, if defined. Read-only.

Reference Enter the Value property of the point that you want to
reference.

Forceable Indicates that the value is forcible if the check box is


editable. For more information, see the Forced Values
topic on WebHelp.

Retain level Select how to handle values for warm start, cold start,
system events, and system activities. For more
information, see the Retain Level topic on WebHelp.

7. Click OK to return to the Basic tab.


8. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Status flags Displays the condition or status of the


BACnet value. For more information,
see section 111.10 “BACnet Status
Flags” on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the value. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

04-30006-02-en, May 2019 Technical


2309
72 SmartX IP Controller Value Objects
72.5 Configuring a SmartX IP Controller Digital Value

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

Inactive text Type the text that explains the Inactive


state of the value, such as Idle. This text
is used as an enumeration text for the
Value property and related priority array
values. This text is visible in graphics, in
the Watch pane, and in the Properties
pane. The default is Inactive.

Active text Type the text that explains the Active


state of the value, such as Running. This
text is used as an enumeration text for
the Value property and related priority
array values. This text is visible in
graphics, in the Watch pane, and in the
Properties pane. The default is Active.

9. Click the Advanced tab.


10. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

11. Click OK
OK.
12. Click the Command tab.
Continued on next page

Technical 04-30006-02-en, May 2019


2310
72 SmartX IP Controller Value Objects
72.5 Configuring a SmartX IP Controller Digital Value

13. Edit the command properties.


Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

04-30006-02-en, May 2019 Technical


2311
72 SmartX IP Controller Value Objects
72.6 Configuring a SmartX IP Controller Multistate Value

72.6 Configuring a SmartX IP Controller


Multistate Value
You configure a SmartX IP controller multistate value to define a control system
parameter for an EcoStruxure BMS server.
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To configure a SmartX IP controller multistate value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller multistate value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

Technical 04-30006-02-en, May 2019


2312
72 SmartX IP Controller Value Objects
72.6 Configuring a SmartX IP Controller Multistate Value

5. Edit the Basic properties.


Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

State 1 Click and select the state you want to


create.

6. To assign values to different states, in the List View


View, double-click the
multistate value object to open the State Configuration tab.
7. In the Label column, edit the current state label to show the appropriate
state.
8. Click Save
Save.
9. Continue editing the Basic properties.
Property Description

Status flags Displays the condition or status of the


BACnet value. For more information,
see section 111.10 “BACnet Status
Flags” on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the value. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

04-30006-02-en, May 2019 Technical


2313
72 SmartX IP Controller Value Objects
72.6 Configuring a SmartX IP Controller Multistate Value

Continued
Property Description

Alarm state Displays an alarm state on EcoStruxure


BMS servers that provides additional
information about an intrinsic alarm or
algorithmic alarm configured for an
object. For more information, see the
Alarm States topic on WebHelp.

10. Click the Advanced tab.


11. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

12. Click OK
OK.
13. Click the Command tab.
14. Edit the command properties.
Property Description

Relinquish default Enter the value to be used by the Value


property when all values in the priority
array are set to Null.

Active command priority Displays the highest priority level (1-16)


with a non-Null value.

Priority 6 This priority is reserved for timer-based


algorithms that are not currently
supported. (Read-only)

Priority x Enter a priority value or Null.

Technical 04-30006-02-en, May 2019


2314
72 SmartX IP Controller Value Objects
72.7 Configuring a SmartX IP Controller String Value

72.7 Configuring a SmartX IP Controller


String Value
You configure a string value to hold plain text that can include messages
displayed to an operator in a SmartX IP controller.
For more information, see section 98.1 “SmartX IP Controller Value Objects” on
page 3385.

To configure a SmartX IP controller string value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller string value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.
5. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Status flags Displays the condition or status of the


BACnet value. For more information,
see section 111.10 “BACnet Status
Flags” on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

6. Click the Advanced tab.


Continued on next page

04-30006-02-en, May 2019 Technical


2315
72 SmartX IP Controller Value Objects
72.7 Configuring a SmartX IP Controller String Value

7. Edit the Advanced properties.


Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

8. Click OK
OK.

Technical 04-30006-02-en, May 2019


2316
72 SmartX IP Controller Value Objects
72.8 SmartX IP Controller External Bindings

72.8 SmartX IP Controller External Bindings


You create external bindings to directly exchange object property values
between the SmartX IP controller and other compatible BACnet devices without
communicating through the EcoStruxure BMS server.

72.8.1 SmartX IP Controller Value Exchange


The SmartX IP controller exchanges values as follows:
• Directly with other objects in the same SmartX IP controller such as from an
input point to a trend log
• With objects in an EcoStruxure BMS server in either of the following ways:
– Directly using server bindings, such as a controller trend log to an
extended trend log on the server
– Using external binding objects in the SmartX IP controller, such as a
controller input to a Script program in the server
• With objects in other SmartX IP controllers (including the IP-IO modules)
through external binding objects in either controller
• With other BACnet IP controllers using external binding objects by means of
the external binding objects in the SmartX IP controller as follows:
– The producer pushes a value to the other BACnet IP controller
– The consumer external binding pulls a value from the other BACnet IP
controller
For more information, see section 98.11 “SmartX IP Controller Value Exchange”
on page 3408.

72.8.2 Types of External Bindings


There are two different types of external bindings: a producer and a consumer.
These types contain a number of different data types of their own such as
analog, digital, and multistate types.
For more information, see section 98.12 “Types of External Bindings” on page
3411.

72.8.3 Advantages to Using External Bindings


External bindings are advantageous because they provide you with greater
control of how and when the value is transferred. They also assist in recovery
after a controller restart.
For more information, see section 98.14 “Advantages to Using External
Bindings” on page 3414.

04-30006-02-en, May 2019 Technical


2317
72 SmartX IP Controller Value Objects
72.8 SmartX IP Controller External Bindings

72.8.4 Fallback Settings for External Binding


Consumer Values
If the SmartX IP Controller external binding consumer value becomes unreliable,
the fallback settings determine its behavior. For example, if you configure the
Relinquish value on fault condition as False
False, the last known value of the
consumer is maintained.
For more information, see section 98.18 “Fallback Settings for External Binding
Consumer Values” on page 3423.

Technical 04-30006-02-en, May 2019


2318
72 SmartX IP Controller Value Objects
72.9 SmartX IP Controller Value Exchange

72.9 SmartX IP Controller Value Exchange


The SmartX IP controller exchanges values as follows:
• Directly with other objects in the same SmartX IP controller such as from an
input point to a trend log
• With objects in an EcoStruxure BMS server in either of the following ways:
– Directly using server bindings, such as a controller trend log to an
extended trend log on the server
– Using external binding objects in the SmartX IP controller, such as a
controller input to a Script program in the server
• With objects in other SmartX IP controllers (including the IP-IO modules)
through external binding objects in either controller
• With other BACnet IP controllers using external binding objects by means of
the external binding objects in the SmartX IP controller as follows:
– The producer pushes a value to the other BACnet IP controller
– The consumer external binding pulls a value from the other BACnet IP
controller

72.9.1 Value Binding Exchange


Like other EcoStruxure Building Operation objects, you use a binding to
exchange values between the bound objects in the direction you specify during
the binding process. Normally, if an SmartX IP controller wishes to exchange
values with another SmartX IP controller or other compatible BACnet devices,
the values must travel through the proxies in the EcoStruxure BMS server.
There are still those cases, however, in which an SmartX IP controller must
exchange values directly with another SmartX IP controller without having to
pass the values through the EcoStruxure BMS server. In such cases, external
bindings are invaluable. This is particularly true in environments that do not
include an EcoStruxure BMS server such as those that employ a third-party
system. External bindings help facilitate direct peer to peer communication in
such environments. For example, if SmartX IP controller1 requires a temperature
value from SmartX IP controller2, it can utilize an external binding to directly
exchange that temperature value without communicating through the server. In
addition, in those networks where an EcoStruxure BMS server is present, you
can utilize an external binding to lighten the burden of inter-SmartX IP controller
traffic on that server.

72.9.2 Value Conversions


Value conversions transferred between SmartX IP controller objects occur only
for objects in the same controller. In those cases where you use external
bindings to transfer a value from one controller another, only the raw numerical
value is transferred and units are disregarded. For this reason, no conversions
are applied to the transferred value.

04-30006-02-en, May 2019 Technical


2319
72 SmartX IP Controller Value Objects
72.9 SmartX IP Controller Value Exchange

When you need to convert the value from one controller to another, the
conversion must be performed by either the source or destination controller. You
do so in either case by setting the source units on the external binding object,
with the bound object in the same controller having different units.
The following example includes a temperature input (degC) in controller A, a
producer binding (degF) in controller A and an analog value (degF) in controller
B. Here, the conversion is performed in controller A before it is sent to controller
B. Because no units are set on the producer external binding object, no
conversion takes place within controller A, so the degF value is incorrect.

Figure: External producer binding

The second example includes a temperature input (degC) in controller A, a


consumer binding (degC) in controller B and an analog value (degF) in
controller B. In this instance, the conversion is performed in controller B after
receiving the raw, unitless value from controller A. Because no units are
configured on the consumer external binding object, no conversion takes place
within controller B, so the degF value is incorrect.

Technical 04-30006-02-en, May 2019


2320
72 SmartX IP Controller Value Objects
72.9 SmartX IP Controller Value Exchange

Figure: External consumer binding

04-30006-02-en, May 2019 Technical


2321
72 SmartX IP Controller Value Objects
72.10 Types of External Bindings

72.10 Types of External Bindings


There are two different types of external bindings: a producer and a consumer.
These types contain a number of different data types of their own such as
analog, digital, and multistate types.
Consumer external bindings allow a SmartX IP controller application to either
subscribe or poll a property from another BACnet device, while producer
external bindings allow a SmartX IP controller to write a value to a property in
another BACnet device.
The producer and consumer bindings are independent solutions and are not
used in pairs. As a result, you do not need a consumer and a producer to
transfer a value. Depending on your needs, you select one of them and then
bind or reference to an object with a corresponding data type. For more
information, see section 98.13 “When to Use a Consumer or Producer External
Binding” on page 3413.
You can configure the binding reference directly in the Basic tab of the object or
through the Bindings pane in EcoStruxure BMS.
Information about an external device (including the Device ID, Network ID and
MAC Address) is added to the Device Address Bindings tab when you
configure an external binding object to reference an external device.

72.10.1 Consumer Configuration


You can configure the consumer in either of these increments:
• Polling: time interval based
• Change of value (CoV): value increment based
It is recommended that you use use the CoV increment whenever possible:
• It is more robust because it automatically re-subscribes after a SmartX IP
controller restart
• It uses the network more efficiently because the sender only transmits
values based on changes to the source value

NOTICE
Be sure to configure the source object's CoV appropriately in order to reduce
unnecessary network traffic. The SmartX IP controller resubscribes to the
source for each consumer every five minutes.

It is recommended that you use the polling increment under these


circumstances:
• When the source object or property does not support CoV
• When the source value changes very slowly
You can also configure the consumer CoV as either confirmed or unconfirmed. A
setting also exists for a CoV resubscription interval that is fixed to half the
subscription lifetime.
For more information, see section 98.16 “Configuring a SmartX IP Controller
Consumer Value” on page 3419.

Technical 04-30006-02-en, May 2019


2322
72 SmartX IP Controller Value Objects
72.10 Types of External Bindings

NOTICE
SmartX IP controller BACnet schedules, calendars, and loops do not support
CoV subscriptions. As a result, a consumer binding object cannot use CoV
subscriptions to consume values from such objects. It is recommended then
that any application that must read the object's value employs either a
consumer binding with polling or a producer binding to ensure the transfer of
the object's value.

72.10.2 Producer Configuration


You configure the producer as a CoV with a Guarantee write interval. The
producer then maintains a list of references for all of the object properties to
which it writes. Thus, a single producer can write to multiple objects. You can
also also reset the priority at which the producer writes in the destination object.

NOTICE
The priority applies to all objects in the list. The exception to this is when the
property in the reference is a Priority Array element. In that case, the reference
contains an implied priority, which overrides the priority applied to the list of
references.

For more information, see section 98.17 “Configuring a SmartX IP Controller


Producer Value” on page 3421.

NOTICE
When configuring whitelists for external bindings, be aware that using external
bindings to facilitate value transfers between nodes may be blocked if
whitelisting is enabled, but the necessary whitelist IP entries are not included
in the appropriate controller whitelists. Always ensure that when SmartX IP
controllers share values using external bindings, their respective whitelists
contain mutual entries.

04-30006-02-en, May 2019 Technical


2323
72 SmartX IP Controller Value Objects
72.11 When to Use a Consumer or Producer External Binding

72.11 When to Use a Consumer or Producer


External Binding
When deciding whether to use a consumer or producer external binding,
consider the following questions:
• Is the SmartX IP controller consuming from a SmartX IP controller, or from
an EcoStruxure BMS server?
• Is the SmartX IP controller consuming from another BACnet device
supporting a change of value (CoV)?
If the answer to either of these questions is Yes, be sure to use a consumer
external binding.
By contrast, you should use a producer external binding when you can answer
Yes to either of these questions:
• Is the SmartX IP controller sending data to another device that you cannot
configure to subscribe to that data (for example, a third-party device that is
not hosted by the EcoStruxure BMS)?
• Is there a need to write one value to many other devices?

NOTICE
You do not need a consumer or producer when binding EcoStruxure BMS
applications, such as graphics or programs, to the SmartX IP controller. In
addition, directly consuming SmartX IP controller program variables is not
allowed. Instead, you should use an external binding object when you wish to
directly consume SmartX IP controller program variables.

Technical 04-30006-02-en, May 2019


2324
72 SmartX IP Controller Value Objects
72.12 Advantages to Using External Bindings

72.12 Advantages to Using External Bindings


External bindings are advantageous because they provide you with greater
control of how and when the value is transferred. They also assist in recovery
after a controller restart.
While you can use direct server bindings to facilitate data transfer, it is not a
recommended configuration because data transfers may suffer from the
following control issues:
• A latency in value transfer with the possibility that no transfer occurs at all
• An excessive recovery period (before any further value transfer) following
controller restarts or offline events
External bindings do not share these issues since they provide you with greater
control of value transfers. Typically, external bindings are useful in these two
sample scenarios:
• When duplicating MP-V controllers that all use an external binding to
consume an outside air temperature value from a single source within the
system, you may want to include the absolute path contained in the external
consumer binding (scenario 1).
• When duplicating SmartX IP controller – IP-IO extension modules that use
external bindings to consume the output of a Script program within
individual partner MP Series controllers, an absolute reference results in the
consumer binding in each IP-IO module pointing to a single MP Series
controller. As a result, you may wish to exclude the path contained in the
external consumer binding (scenario 2).

72.12.1 Controller Restart and Recovery Times


External bindings also have the advantage of assisting in the recovery after a
SmartX IP controller restart. Restarts include the following:
• Cold or warm starts
• Power cycles or power failures
• Network disruptions such as:
– A cable inadvertently being disconnected
– A power cyle of the router
Expected recovery times for external bindings following controller restarts or
network disruptions are as follows:
• Recovery after network disruption (where neither source or destination
controllers restart) usually occurs in a matter of seconds, often as little as 2
seconds.
• Post-restart recovery is generally faster when the restart occurs on the
destination or consuming controller, usually 20 seconds or less for both
polled and CoV consumer bindings
• Post-restart recovery when the source controller alone is restarted is around
1 minute for CoV consumers and can vary between <20s to 1m 30s where
polling is used.
• Recovery time for CoV is around 30 seconds when both controllers are
restarted together.

04-30006-02-en, May 2019 Technical


2325
72 SmartX IP Controller Value Objects
72.12 Advantages to Using External Bindings

• Recovery time for CoV based external bindings can take up to the full 5
minute resubscription time when the controllers (source and destination)
are on different networks (that is, where BACnet routing is used). In
practice, this may be from 40s to 5 minutes based on when during the
resubscription cycle the CoV subscription was lost.

72.12.2 Considerations when Using External


Bindings
When using external bindings, be sure to consider the following:
• When exporting applications with external bindings, make a note of where
the external binding references point. They provide an absolute reference
and not a relative reference, so you should be sure to choose the
appropriate Export type that suits your needs.
• When creating a custom type from a controller or module that contains
external bindings, decide whether you wish to include the path as follows:
– Omit the path before creating the custom type where each external
binding points to a different target, and enter the path after instantiating
the type (scenario 2)
– Include the path where the intent is to transfer values from one to many
(scenario 1)
• When duplicating, including copy and paste, follow the advice for custom
type creation. For more information, see section 101.15 “Creating a Custom
Type” on page 3474.
• Since field deploy (that is, creating and deploying an image) can be based
on both specific and generic image types, you should be aware of the
following:
– A generic image is likely to apply to multiple controllers containing
external bindings that may point to single or multiple targets. If it is the
latter, the custom type should omit the path from the external bindings.
– A specific image is engineered for a single controller. Therefore, all
external binding references should include the path to the appropriate
target as previously engineered in a live server or the Project
Configuration Tool.
• In a scenario where an application contains multiple external bindings some
of which have a single target (scenario 1) and some of which have multiple
one to one targets (scenario 2), you should follow scenario 2.

Technical 04-30006-02-en, May 2019


2326
72 SmartX IP Controller Value Objects
72.13 SmartX IP Controller Reliability

72.13 SmartX IP Controller Reliability


Reliability specifies the reliability of the Value property or the operation of the
SmartX IP controller object.
MP Series controller reliability complies with BACnet reliability property behavior
and definitions. For more information, see section 111.6 “BACnet Reliability
Property” on page 3881.
A series of examples are provided here to illustrate reliability property behavior.

User-configured Out of Range Value: Under-range and Over-range


The following example highlights operational runtime reliability in response to
user-configurable limits on the object value.
You can use the Minimum and Maximum value property of the MP Series
controller analog inputs, outputs, and values to control the reliability of the point.
The Minimum and Maximum value of MP Series controller analog inputs,
outputs, and values operate as follows:
• The Minimum value and Maximum value default to 0. When the Minimum
value and Maximum value are 0 or equivalent, reliability over-range and
under-range conditions are not assessed. If there are no prevailing fault
conditions, reliability is no-fault-detected
no-fault-detected.
• If the value of the point is greater than the Maximum value (and the
Minimum and Maximum value are not equivalent), reliability is over-range
over-range.
• If the value of the point is greater than the Minimum value (and the Minimum
and Maximum value are not equivalent), reliability is under-range
under-range.

Object Property Misconfiguration: Configuration Error


This example highlights implicit reliability reporting where the configuration of an
object is inconsistent with the expected function of that object.
If you fail to correctly or completely configure the required properties of an
object, the reliability of that object may display as a configuration-error because
no reference exists on an external consumer binding object.

Network Disruption: Communication Failure


This example highlights reliability reporting when an object’s function is
impacted by a network disruption, such as an unplugged network cable.
Reliability for all consumers and producers is communication-failure when any
run-time error is encountered such as these:
• Timeouts
• Value out of range
• Object does not exist

Event Enrollment Reliability


This example highlights reliability reporting where an event enrollment is either
no-fault-detected or monitored-object-fault
monitored-object-fault. A monitored-object-fault occurs
whenever the object the event enrollment monitors includes a reliability property
that is not no-fault-detected
no-fault-detected.

04-30006-02-en, May 2019 Technical


2327
72 SmartX IP Controller Value Objects
72.13 SmartX IP Controller Reliability

Loop Object Reliability


This example illustrates loop object reliability. Loop objects have a variety of
unreliable conditions and values including these:
• Loop object reliability is writable by the user when its Out of service
property is True. The user can write any reliability value.
• Reliability is open-loop under any of the following conditions when the
loop's Out of service property is False:
– The present value of the loop and the present value of the Manipulated
variable reference are not equal
– The Out of service property of either the Manipulated variable reference
or Controlled variable reference is True
– When either of the Manipulated or Controlled variable reference
properties in the Loop are not configured
• Loop reliability is unreliable-other when the Out of service of the Setpoint
reference is True

Technical 04-30006-02-en, May 2019


2328
72 SmartX IP Controller Value Objects
72.14 Creating a SmartX IP Controller External Binding

72.14 Creating a SmartX IP Controller External


Binding
You create external bindings to directly exchange object property values
between SmartX IP controllers without communicating through the EcoStruxure
BMS server.
For more information, see section 98.9 “SmartX IP Controller External Bindings”
on page 3405.

To create a SmartX IP controller external binding


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create an external binding.
2. Select Application
Application.
3. On the File menu, point to New and then click External Binding
Bindings.
4. In the Create Object wizard, in the Object type list, select the consumer or
producer value.
5. In the Name box, type a name for the consumer or producer value.
6. In the Description box, type a description for the consumer or producer
value.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device and
then manually enter an Instance ID
ID, or click Automatically generated to
have the system generate the ID for you.
Once created, be aware that you cannot change the object’s Instance ID.
9. In the BACnet name box, type a BACnet name for the consumer or
producer value.
Do not type a name if you want a name to be assigned for you.
10. Click Upload from BACnet device if you want to upload the properties of
the value from the hosted BACnet device.
11. Click Create
Create.

04-30006-02-en, May 2019 Technical


2329
72 SmartX IP Controller Value Objects
72.15 Configuring a SmartX IP Controller Consumer Value

72.15 Configuring a SmartX IP Controller


Consumer Value
When you configure a consumer value with an analog, digital, or multistate data
type, you bind or reference to an object with a corresponding data type. You
then configure the consumer value as either polling with a time interval base, or
change of value (CoV) with a value increment base.
For more information, see section 98.9 “SmartX IP Controller External Bindings”
on page 3405.

To configure a SmartX IP controller consumer value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller analog, digital, or multistate
consumer value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

Continued on next page

Technical 04-30006-02-en, May 2019


2330
72 SmartX IP Controller Value Objects
72.15 Configuring a SmartX IP Controller Consumer Value

5. In the Input binding reference box, click the ellipsis button and then select
the binding reference.

NOTICE
It is recommended that you establish references to external objects and
their properties here since using the Bindings pane in the EcoStruxure
Building Operation software to establish these references may result in
undesired behavior.

6. Configure the consumer value as either polling with a time interval base, or
change of value (CoV) with a value increment base.
• In the Poll interval box, enter time values in days, hours, minutes and
seconds to configure a time interval base.
• In the COV increment box, enter a value to configure a value
increment COV base.
7. In the Subscription type box, click to configure the COV as either
Confirmed-COV or Unconfirmed-COV
Unconfirmed-COV.
8. In the COV resubscription interval (s) box, enter the number of seconds to
set the frequency of the subscription renewals.

NOTICE
In order for COV to track the timeout for a subscription, you must set the
time on both the EcoStruxure BMS server and SmartX IP controller.
Otherwise, COV-based external bindings do not function correctly.

9. In the Relinquish value on fault condition box, click False to maintain the
last known value of the consumer external binding, or True to configure the
value of the consumer as null, effectively relinquishing control of the point.
For more information, see section 98.18 “Fallback Settings for External
Binding Consumer Values” on page 3423.
Be aware that this relinquish action may be delayed when you set the value
of the Relinquish value on fault timeout property.
10. In the Relinquish value on fault timeout (s) box, enter the time it takes in
seconds for the consumer binding to relinquish control of the bound output
when it becomes unreliable. The default value is 30 seconds.
11. Click OK
OK.

04-30006-02-en, May 2019 Technical


2331
72 SmartX IP Controller Value Objects
72.16 Configuring a SmartX IP Controller Producer Value

72.16 Configuring a SmartX IP Controller


Producer Value
You configure the producer with an analog, digital, or multistate data type as a
change of value (CoV) with a Guaranteed write interval. The producer then
maintains a list of references for all of the object properties to which it writes.
For more information, see section 98.9 “SmartX IP Controller External Bindings”
on page 3405.

To configure a SmartX IP controller producer value


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller analog, digital, or multistate
producer value.
3. On the File menu, click Properties
Properties.
4. Click the Basic tab.

Continued on next page

Technical 04-30006-02-en, May 2019


2332
72 SmartX IP Controller Value Objects
72.16 Configuring a SmartX IP Controller Producer Value

5. In the Output binding references box, click to add a new output


binding list reference or a corresponding data type.

NOTICE
It is recommended that you establish references to external objects and
their properties here since using the Bindings pane in EcoStruxure BMS
to establish these references may result in undesired behavior. Be sure
also to directly reference the value of the reference object and not the
command priority array.

6. In the Priority for writing box, enter a priority for writing the referenced
properties. 1 is the highest priority and 16 is the lowest.
7. In the Guaranteed write interval box, enter optional values to ensure a
value transfer occurs after a specified time period even if the CoV
increment has not been reached
8. Click OK
OK.

04-30006-02-en, May 2019 Technical


2333
72 SmartX IP Controller Value Objects
72.17 Binding Value and Priority Properties in a SmartX IP Controller

72.17 Binding Value and Priority Properties in


a SmartX IP Controller
When binding a SmartX IP controller output or value’s Value property to a target
(that is, allowing the property to read the value from the target), be sure to avoid
simultaneously binding both the value and priority array properties of the same
SmartX IP controller object.
For example, should you create a (read) binding from the Value property of
Digital Output to the Value property of Digital Value in a sample SmartX IP
controller - MP Series.

Figure: Binding from the value property

Next, attempt to create a second read binding from Priority 16 with a reference
object of Digital Value 2.

NOTICE
The binding target is anything that EcoStruxure BMS allows, such as another
value’s object property. Also, the properties that contain the binding can be
read by anything, including graphics.

Technical 04-30006-02-en, May 2019


2334
72 SmartX IP Controller Value Objects
72.17 Binding Value and Priority Properties in a SmartX IP Controller

Figure: Binding from priority 16

If you then attempt to save the binding, you receive a binding error. For more
information, see section 107.9 “Error when Simultaneously Binding Value and
Priority Properties” on page 3753.

NOTICE
In those cases where the MP or RP Series controller output or value object is
controlled or written to by another process, you can bind to the present value
to affect Priority 16 or bind to a specific priority. The Default priority level
setting (that is, the Interface Manager settings in the WorkStation System
folder) does not extend to bindings with MP and RP Series controllers.

72.17.1 Binding to Objects with Command Priorities


By default, when you bind to the value property of objects within a SmartX IP
controller with command priority levels, you effectively bind to priority 16 for
write operations. In the case of bindings that read from the value property of
such objects, the binding transfers the resulting value based on the highest non-
null priority in the command priority levels array.

72.17.2 Global Default Priority Level in the BACnet


Interface Manager
NOTICE
Configuring the global Default priority level property to determine the default
priority level for SmartX IP controllers is not supported for bindings between
controller objects. However, this property does impact the priority at which
some server objects and manual edits write to the controller.

04-30006-02-en, May 2019 Technical


2335
72 SmartX IP Controller Value Objects
72.17 Binding Value and Priority Properties in a SmartX IP Controller

Expected behavior is as follows:


• Bindings from EcoStruxure BMS server objects to SmartX IP controller
object values use the global BACnet Interface Manager Default priority level
property.
• Bindings between values within a SmartX IP controller always use priority
level 16.
• Changing the value of a SmartX IP controller object using an EcoStruxure
BMS editor uses the global BACnet Interface Manager Default priority level
property.
• Forcing a SmartX IP controller value using an EcoStruxure BMS editor uses
the global BACnet Interface Manager Force priority level property.
• Forcing a SmartX IP controller value using the eCommission SmartX
Controllers mobile application uses priority 8.

Technical 04-30006-02-en, May 2019


2336
72 SmartX IP Controller Value Objects
72.18 Fallback Settings for External Binding Consumer Values

72.18 Fallback Settings for External Binding


Consumer Values
If the SmartX IP Controller external binding consumer value becomes unreliable,
the fallback settings determine its behavior. For example, if you configure the
Relinquish value on fault condition as False
False, the last known value of the
consumer is maintained.
Should you configure the box as True
True, the value of the consumer is set to null,
effectively relinquishing control of the point. The timeout value may be used to
delay the time it takes for the consumer to relinquish control of the point.
Once the consumer value is detected as reliable, its value is updated as per the
original configuration.

04-30006-02-en, May 2019 Technical


2337
73 SmartX IP Controller - MP
Series Programming
Languages

Topics
Programming Languages for MP Series Controllers
Creating a SmartX IP Controller Script Program or Function
Creating a SmartX IP Controller Function Block Program
Creating a Control Loop in a SmartX IP Controller
73 SmartX IP Controller - MP Series Programming Languages
73.1 Programming Languages for MP Series Controllers

73.1 Programming Languages for MP Series


Controllers
Unique to the industry, the MP-C provides both Script and Function Block
programming options. This flexibility assures that you have the best
programming method available for your application.
When determining which programming language to use, consider the following
questions:
• Does the customer have a preference?
With some projects, the customer may specify the type of programming
environment to use. This is usually the result of prior experiences and
familiarity with a certain environment.
• Is your application library based on Script or Function Block?
It is always easier to reuse existing and proven programs. Furthermore, your
programmers may be more familiar with one language than the other.
• Which programming language best addresses the application?
In some cases, the programming language does not support a function that
the other does. While the majority of the application may include Function
Block programs, you may find it necessary to create one program using
Script to address a gap in functionality.

Table: Differences between Script and Function Block programming


environments
Language Differences

Script Performs operations on BACnet


commands, like ReadProperty and
Relinquish
Allows you to use a Scripting language like
Plain English (PE)

Function Block Provides a more intuitive language


Allows you to view the data flow and see
how items are connected

With the Script and Function Block Editors, when you save a program and the
MP Series controller is online, that program is automatically sent down to the
controller.

73.1.1 Example Program


This Script programming example includes a simple fan control program that
turns a fan on or off based upon occupancy, which is, in turn, based upon a
schedule.

04-30006-02-en, May 2019 Technical


2341
73 SmartX IP Controller - MP Series Programming Languages
73.1 Programming Languages for MP Series Controllers

Figure: Sample MP Series controller Script program

For more information, see section 99.2 “Creating a SmartX IP Controller Script
Program or Function” on page 3430.
For more information, see section 99.3 “Creating a SmartX IP Controller Function
Block Program ” on page 3431.

73.1.2 Script Program Considerations


When writing MP Series controller Script programs, consider the following:
• Neither Script keywords applicable to Web Services or buffered variables
are supported.
• When configuring BACnet priority level access, you cannot use the full path
name of an object directly. Instead, you must declare a program binding
variable and bind it to a specific priority level property. For more
information, see the following subsection on the differences between Script
program environments.
• When you save a program or function, it downloads itself along with any
other objects that require a download (dirty objects) in the same controller.
The Script Editor provides progress information regarding download failures
if any occur during the save.

73.1.3 Differences Between Script Program


Environments
There are differences in how Script programs operate in an EcoStruxure BMS
environment with MP Series controllers and b3 BACnet devices as compared to
how they operate in a legacy Continuum PE environment with b3 BACnet
devices. These differences fall into two major categories:
• External differences related to features and reliability
• Internal differences related to bytecode and data storage
When comparing the two types of Script programs, keep in mind how you
execute your programs. In EcoStruxure Building Operation Script programs, you
use bindings, whereas in legacy Continuum PE, you use direct references in the
code.

Technical 04-30006-02-en, May 2019


2342
73 SmartX IP Controller - MP Series Programming Languages
73.1 Programming Languages for MP Series Controllers

External Differences
External differences primarily relate to features and reliability and include items
like the following:
• There are no limits on the number of lines, labels, or array elements you can
include in your MP Series controller Script programs. There are limits in your
b3 BACnet device Script programs.
• While there is a limit on the number of strings you can use in your MP Series
controller Script programs, that limit is considerably larger than in b3
BACnet device Script programs.
• You cannot access properties in bindings using MP Series controller Script
programs. You can with b3 BACnet device Script programs.
• MP Series controllers use the EcoStruxure Building Operation Script method
of binding the numeric output to the priority array of the BACnet value or
point, rather than the b3 BACnet device Script program method of calling
out the priority to write to in the text of the program.
For more information, see section 64.36 “Configuring BACnet Priority Level
Access” on page 2040.
For more information, see section 64.37 “Configuring BACnet Priority Level
Access for a b3 BACnet Device” on page 2041.
• There are additional external differences including items like function
argument attributes and dynamic bindings (getname and object variables)

Internal Differences
Internal differences primarily relate to bytecode and data storage. For example,
data storage is more efficient in the MP Series controller, particularly when you
have multiple references to the same object or property. MP Series controller
Script encoding is modeled after the EcoStruxure BMS Scripting, thus providing
you with the flexibility to easily change the bindings from a user interface.

04-30006-02-en, May 2019 Technical


2343
73 SmartX IP Controller - MP Series Programming Languages
73.2 Creating a SmartX IP Controller Script Program or Function

73.2 Creating a SmartX IP Controller Script


Program or Function
You create SmartX IP controller Script programs or functions to import existing
program code or functions for an EcoStruxure BMS server using the Script
Editor.
For more information, see section 73.1 “Programming Languages for MP Series
Controllers” on page 2341.
For more information, see section 99.1 “Programming Languages for RP Series
Controllers” on page 3427.

To create a SmartX IP controller Script program or function


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the Script program or function.
2. Select Application
Application.
3. On the File menu, point to New and then click Program
Program.
4. In the Create Object wizard, in the Object type list, select the desired
SmartX IP controller program or function.
5. In the Name box, type a name for the SmartX IP controller Script program
or function.
6. In the Description box, type a description for the SmartX IP controller
program or function.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the program or function.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the program
or function from the external BACnet device.
12. Click Create
Create.
Now, you can open the SmartX IP controller Script program or function and enter
program instructions.

Technical 04-30006-02-en, May 2019


2344
73 SmartX IP Controller - MP Series Programming Languages
73.3 Creating a SmartX IP Controller Function Block Program

73.3 Creating a SmartX IP Controller


Function Block Program
You create a SmartX IP controller function block program to import existing
program code or to program new logic for the EcoStruxure BMS server using the
Function Block Editor.
For more information, see section 73.1 “Programming Languages for MP Series
Controllers” on page 2341.
For more information, see section 99.1 “Programming Languages for RP Series
Controllers” on page 3427.

To create a SmartX IP controller function block program


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the function block program.
2. Select Application
Application.
3. On the File menu, point to New and then click Program
Program.
4. In the Create Object wizard, in the Object type list, select the SmartX IP
controller function block program.
5. In the Name box, type a name for the SmartX IP controller function block
program.
6. In the Description box, type a description for the SmartX IP controller
function block program.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the program.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the program
from the external BACnet device.
12. Click Create
Create.
Now, you can open the SmartX IP controller function block progam and enter
program instructions.

04-30006-02-en, May 2019 Technical


2345
73 SmartX IP Controller - MP Series Programming Languages
73.4 Creating a Control Loop in a SmartX IP Controller

73.4 Creating a Control Loop in a SmartX IP


Controller
You create a loop in the SmartX IP controller so you can then configure a control
loop for an EcoStruxure BMS server.
For more information, see section 73.1 “Programming Languages for MP Series
Controllers” on page 2341.

To create a control loop in the SmartX IP controller


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the control loop.
2. Select Application
Application.
3. On the File menu, point to New and then click Program
Program.
4. In the Create Object wizard, in the Object type list, select Control loop
loop.
5. In the Name box, type a name for the control loop.
6. In the Description box, type a description for the control loop.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the control loop.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the control
loop from the external BACnet device.
12. In the Priority for writing box, enter a priority at which the referenced
properties are commanded.
Value 1 is the highest priority and 16 is the lowest.
13. Click Create
Create.

Technical 04-30006-02-en, May 2019


2346
74 SmartX IP Controller - MP
Series Schedules, Alarms, and
Trend Logs

Topics
Schedules for SmartX IP Controllers
Creating a SmartX IP Controller Calendar
Creating a SmartX IP Controller Schedule
Alarms for MP Series Controllers
Creating a SmartX IP Controller BACnet Alarm
Configuring a SmartX IP Controller BACnet Alarm
Configuring MP Series Controller Program Cyclic
Dependency and Execution Overrun Alarms
Configuring SmartX IP Controller Port State and Topology
Change Alarms
Creating a SmartX IP Controller Notification Class
Configuring a SmartX IP Controller Notification Class
Trend Logs for SmartX IP Controllers
Extended Trend Logs for SmartX IP Controllers
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.1 Schedules for SmartX IP Controllers

74.1 Schedules for SmartX IP Controllers


The SmartX IP controller provides you with flexibility in where you create and
execute your schedules. You can create either local or remote schedules with
advantages to each of these locations.
For example, if a single controller is using (and not sharing) a schedule, it makes
sense to create and have it reside locally. This ensures its reliability when using
schedules to configure occupancy and other events for equipment or direct
output control of rooms, lights, and fans. In such instances, the local schedule
continues to operate, even if communication is lost.

NOTICE
Ensure that BACnet calendar objects reside in the same device as schedule
objects.

Having schedules reside locally also has the benefit of reducing network traffic.
By contrast, having the schedule reside on the network means that it can be
shared on multiple devices. This is particularly advantageous if you are running
low on memory in the SmartX IP controller.

NOTICE
Local schedules are always BACnet schedules, while remote schedules are
either BACnet or EcoStruxure Building Operation schedules. Local schedules
are also more efficient when used with shared applications.

Execution Type Interoperable No remote Multi-device


with
dependency Efficiency
BACnet
(Reliability)

Local BACnet Yes Yes –

Remote BACnet Yes – Yes

Remote EcoStruxure – – Yes


BMS

Basically, schedules for SmartX IP controllers are used in the same way as other
BACnet devices in EcoStruxure BMS. While the SmartX IP controller supports
Analog, Digital, Enumerated and Multistate schedules like other BACnet
devices, it does not support Integer and Boolean schedules with common
calendar references. For more information, see section 115.1 “BACnet
Schedules” on page 4109.

04-30006-02-en, May 2019 Technical


2349
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.2 Creating a SmartX IP Controller Calendar

74.2 Creating a SmartX IP Controller


Calendar
You create a calendar to specify exception dates, date ranges, or calculated
dates in a SmartX IP controller. Then, you only reference the calendar to each of
the schedules. This way, you only specify all the exception dates once.
For more information, see the Calendars in WorkStation topic on WebHelp.

To create a SmartX IP controller calendar


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the calendar.
2. Select Application
Application.
3. On the File menu, point to New and then click Calendar
Calendar.
4. In the Create Object wizard, in the the Object type list, select Calendar
Calendar.
5. In the Name box, type a name for the calendar.
6. In the Description box, type a description for the calendar.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the point
from the external BACnet device.
12. In the Priority for writing box, enter a priority at which the referenced
properties are commanded.
Value 1 is the highest priority and 16 is the lowest.
13. Click Create
Create.
Now, you can add dates, date ranges, or calculated dates to the calendar.

Technical 04-30006-02-en, May 2019


2350
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.3 Creating a SmartX IP Controller Schedule

74.3 Creating a SmartX IP Controller


Schedule
You create a SmartX IP controller schedule to control the state of an analog,
digital, enumerated, or multistate schedule.
For more information, see section 100.1 “Schedules for SmartX IP Controllers”
on page 3435.

To create a SmartX IP controller schedule


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the schedule.
2. Select Application
Application.
3. On the File menu, point to New and then click Schedule
Schedule.
4. In the Create Object wizard, in the Object type list, select the schedule.
5. In the Name box, type a name for the schedule.
6. In the Description box, type a description for the schedule.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the point
from the external BACnet device.
12. In the Priority for writing box, enter a priority at which the referenced
properties are commanded.
Value 1 is the highest priority and 16 is the lowest.
13. Click Create
Create.
Now, you can add events to the schedule and bind it to a specified value.

04-30006-02-en, May 2019 Technical


2351
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.4 Alarms for MP Series Controllers

74.4 Alarms for MP Series Controllers


You can create local alarms to monitor variables against alarms conditions.
These alarms can alert an operator or group of their status based on a wide set
of notification and required response options, such as custom alarms view
messages, acknowledgement, email notification, graphics launching, cause
notes, audio playback and check lists.
For example, in an MP Series controller, you can set the temperature in a room
and then trigger an alarm if the temperature falls below or exceeds that point.
Alarms originating from external sources, such as BACnet networks, are
handled and displayed like other EcoStruxure Building Operation alarms.

74.4.1 BACnet Setup and Configuration


MP Series controller alarms utilize a BACnet setup and are configured with
alarm and notification objects. MP Series controller alarms only support
algorithmic alarms using a BACnet alarm and do not support intrinsic alarms.
For more information, see section 114.6 “BACnet Alarms” on page 4080.
Execution Type Interoperable with No remote
BACnet dependency
(Reliability)

Local BACnet Yes Yes


algorithmic

Remote EcoStruxure BMS – –


algorithmic

74.4.2 System Alarms


System alarms in the MP Series controller include the following:
• Program Cyclic Dependency Alarm: Triggered when a number of programs
and other application objects are bound so that the bindings for value
transfer form a cyclic dependency (mutually dependent loop). In such
cases, the value has no definitive starting point.
For more information, see section 107.10 “SmartX IP Controller Program
Bindings Cyclic Dependency” on page 3754.
• Program Execution Overrun Alarm: Triggered when a program (or multiple
programs) is unable to fulfill all operations within the specified task time.
Typically, program execution for a given time slot falls more than 10
samples behind before this alarm displays.
For more information, see section 107.11 “SmartX IP Controller Program
Execution Overrun” on page 3755.
• Port State Change (Link-up/Link-down) Alarm: Indicates that there is a
change in the port state.
• Topology Change Alarm: Displays when there is a fault or a broken topology
link. This alarm is informational and requires no user intervention since
broken links are repaired automatically in MP Series controllers.

Technical 04-30006-02-en, May 2019


2352
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.4 Alarms for MP Series Controllers

74.4.3 Offline Alarm and Event Buffering


When the MP Series controller is offline, the generated alarms and events are
buffered in the device. Buffering occurs until the device can confirm delivery.
When communication is restored, alarms and events are delivered to the
parent/host server as follows. All alarms are delivered in timestamp order with
the oldest alarms delivered first. These alarms persist through power failures
and any buffered alarms are fully decorated in EcoStruxure BMS on delivery (full
data).
The MP Series controller supports event buffering of up to 100 alarms with:
• First offline transitions for each, to-alarm, to normal, to-fault
• Most recent offline transitions for each, to-alarm, to normal, to-fault
For each alarm, the oldest and newest timestamps for each of the 3 transitions
are stored: alarm, fault, and return.

04-30006-02-en, May 2019 Technical


2353
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.5 Creating a SmartX IP Controller BACnet Alarm

74.5 Creating a SmartX IP Controller BACnet


Alarm
You create a BACnet alarm in the SmartX IP controller as part of the process of
creating an algorithmic alarm for a monitored variable. After you create the
alarm, you use WorkStation to configure the alarm for the monitored variable.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.
For more information, see section 90.1 “Alarms for IP-IO Modules” on page
3007.
For more information, see section 100.4 “Alarms for RP Series Controllers” on
page 3438.

To create a SmartX IP controller BACnet alarm


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create a BACnet alarm.
2. Select Application
Application.
3. On the File menu, point to New and then click Alarm
Alarm.
4. In the alarm type list, click BACnet alarm
alarm.
5. In the Name box, type a name for the alarm.
6. In the Description box, type a description.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. Click Download to BACnet device
device.
9. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
10. In the BACnet name box, type a BACnet name for the alarm. Do not type a
name if you want a name to be assigned for you.
11. Click Upload from BACnet device to upload the properties of the alarm
from the external BACnet device.
12. Click Create
Create.

Technical 04-30006-02-en, May 2019


2354
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.6 Configuring a SmartX IP Controller BACnet Alarm

74.6 Configuring a SmartX IP Controller


BACnet Alarm
You configure a BACnet alarm to indicate if an alarm message needs to be sent
in a SmartX IP controller.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.
For more information, see section 90.1 “Alarms for IP-IO Modules” on page
3007.
For more information, see section 100.4 “Alarms for RP Series Controllers” on
page 3438.

To configure a SmartX IP controller BACnet alarm


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller BACnet alarm you want to
configure.
3. On the File menu, click Open
Open.
4. Click the Alarm Trigger tab.
5. In the Alarm Type box, select the alarm type.
6. Edit the alarm trigger properties.
Property Description

Alarm type Select the type of alarm you want to


trigger when the monitored variable
meets the conditions defined in the
BACnet alarm.

Shunt variable Click the box to enable the shunt,


disable the alarm, and ensure that it no
longer transitions. By doing so, you
disconnect the alarm from its monitored
variable and return the alarm to its
normal state. Note that you cannot set
the check box directly when the shunt
variable is already configured.
You can also configure a reference to
another object (that is, a shunt
reference) by clicking the Configure

Settings icon and selecting a


variable or object. If the reference
evaluates to True or 1, then the Alarm is
shunted.

Reset delay (s
(s) Enter the reset time to delay the internal
detection of a normal alarm transition.

04-30006-02-en, May 2019 Technical


2355
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.6 Configuring a SmartX IP Controller BACnet Alarm

Continued
Property Description

Time delay (s) Enter the number of seconds that you


want the system to wait before
triggering the alarm as defined by the
Upper limit and Lower limit values. The
Time delay is also used to determine
when to clear the alarm based on the
Upper limit
limit, Lower limit
limit, and Deadband
values.

Upper limit Enter a value that the Monitored


variable is required to exceed in order
to trigger the alarm and generate the
event notification.
Upper limit
limit, Lower limit
limit, and Deadband
are specific to the out of range event
type. If you select a different event type,
a different set of event parameters
display.

Lower limit Enter a value that the Monitored


variable is required to fall below in order
to trigger the alarm and generate the
event notification.

Deadband Enter a range that is an offset from the


low-level and high-level limits, which
defines the range where a to-normal
event can be generated. To generate a
to-normal event, the value must be
above the low limit and below the high
limit, minus the deadband. For generic
objects, this property is present only in
analog objects from external devices
that support intrinsic reporting.

Continued on next page

Technical 04-30006-02-en, May 2019


2356
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.6 Configuring a SmartX IP Controller BACnet Alarm

Continued
Property Description

Monitored variable Choose the method for referencing the


property that you want to monitor:
• Select System reference to define
a path-based reference to an
object or property that is currently
located on the EcoStruxure BMS
server.
• Select BACnet reference to define
a reference that uses the elements
of a property value (Device
instance number, Object type, or
Object instance number) to identify
a BACnet object or property that is
not currently on the EcoStruxure
BMS server but may be uploaded
or imported to the server later. You
can also use this method to
reference a BACnet object or
property on an external device.
The system automatically fills in the
Device instance number, Object type,
or Object instance number for the
reference path, if available.

BACnet notification Choose the method for referencing the


intrinsic alarm object that you want to
use to generate event notifications. For
more information, see section 108.7
“BACnet References and System
References” on page 3771.

Event enable Select the flags to enable the reporting


of to-off-normal, to-normal
to-normal, and to-fault
events.

7. Click Save
Save.

04-30006-02-en, May 2019 Technical


2357
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.7 Configuring MP Series Controller Program Cyclic Dependency and Execution Overrun Alarms

74.7 Configuring MP Series Controller


Program Cyclic Dependency and
Execution Overrun Alarms
You configure program cyclic dependency and program execution overrun
system alarms to indicate if an alarm message needs to be sent in an MP Series
controller.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.

To configure MP Series controller program cyclic dependency


and execution overrun alarms
1. In WorkStation
WorkStation, in the System Tree pane, expand the MP Series controller
and then select System
System.
2. In the List View
View, select the MP Series controller program cyclic
dependency or program execution overrun system alarm you want to
configure.
3. On the File menu, click Open
Open.
4. Click the Alarm Trigger tab.
5. Edit the alarm trigger properties.
Property Description

Alarm Type Displays the alarm type.

Shunt variable Click the box to enable the shunt,


disable the alarm, and ensure that it no
longer transitions. By doing so, you
disconnect the alarm from its monitored
variable and return the alarm to its
normal state. Note that you cannot set
the check box directly when the shunt
variable is already configured.
You can also configure a reference to
another object (that is, a shunt
reference) by clicking the Configure

Settings icon and selecting a


variable or object. If the reference
evaluates to True or 1, then the Alarm is
shunted.

Reset delay (s) Enter the reset time to delay the internal
detection of a normal alarm transition.

Time delay (s) Enter the number of seconds required


for the alarm conditions to last before
the BACnet Notification is sent.

Technical 04-30006-02-en, May 2019


2358
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.7 Configuring MP Series Controller Program Cyclic Dependency and Execution Overrun Alarms

Continued
Property Description

Alarm Trigger Type Displays Active/Inactive to indicate


whether one or both states act as alarm
triggers.
Displays Value list to indicate whether a
value or list of values should be
compared to the Monitored variable
before a change of state occurs, and an
alarm is triggered.

Trigger alarm when signal is Select the state that indicates when to
trigger the alarm if Active/Inactive
displays in the Alarm trigger type.

Monitored variable Displays System reference as a


monitored variable. This property is
fixed and cannot be used to define a
path-based reference to an object or
property.

BACnet notification Choose the method for referencing the


intrinsic alarm object that you want to
use to generate event notifications. For
more information, see section 108.7
“BACnet References and System
References” on page 3771.

Event enable Select the flags to enable the reporting


of to-off-normal and to-normal events.
to-fault reporting is not supported by
BACnet devices on EcoStruxure BMS
servers.

6. Click Save
Save.

04-30006-02-en, May 2019 Technical


2359
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.8 Configuring SmartX IP Controller Port State and Topology Change Alarms

74.8 Configuring SmartX IP Controller Port


State and Topology Change Alarms
You configure RSTP port state and topology change system alarms to indicate if
an alarm message needs to be sent in a SmartX IP controller.
For more information, see section 90.1 “Alarms for IP-IO Modules” on page
3007.
For more information, see section 100.4 “Alarms for RP Series Controllers” on
page 3438.

To configure SmartX IP controller port state and topology


change alarms
1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select System
System.
2. In the List View
View, select the SmartX IP controller port state or topology
change system alarm you want to configure.
3. On the File menu, click Open
Open.
4. Click the Alarm Trigger tab.
5. Edit the alarm trigger properties.
Property Description

Alarm Type Displays the alarm type.

Shunt variable Click the box to enable the shunt,


disable the alarm, and ensure that it no
longer transitions. By doing so, you
disconnect the alarm from its monitored
variable and return the alarm to its
normal state. Note that you cannot set
the check box directly when the shunt
variable is already configured.
You can also configure a reference to
another object (that is, a shunt
reference) by clicking the Configure

Settings icon and selecting a


variable or object. If the reference
evaluates to True or 1, then the Alarm is
shunted.

Reset delay (s) Enter the reset time to delay the internal
detection of a normal alarm transition.

Time delay (s) Enter the number of seconds required


for the alarm conditions to last before
the BACnet Notification is sent.

Increment Enter the minimum change in the


Monitored variable property that
causes the alarm to be triggered and a
notification to be sent. The default
increment is .10.

Technical 04-30006-02-en, May 2019


2360
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.8 Configuring SmartX IP Controller Port State and Topology Change Alarms

Continued
Property Description

Monitored variable Displays System reference as a


monitored variable. This property is
fixed and cannot be used to define a
path-based reference to an object or
property.

BACnet notification Choose the method for referencing the


intrinsic alarm object that you want to
use to generate event notifications. For
more information, see section 108.7
“BACnet References and System
References” on page 3771.

Event enable Select the flags to enable the reporting


of to-off-normal and to-normal events.
to-fault reporting is not supported by
BACnet devices on EcoStruxure BMS
servers.

6. Click Save
Save.

04-30006-02-en, May 2019 Technical


2361
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.9 Creating a SmartX IP Controller Notification Class

74.9 Creating a SmartX IP Controller


Notification Class
You create a notification class to help determine what devices to notify when a
transition from one event state to another has occurred, such as a to-normal
event has transitioned to a to-fault event.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.
For more information, see section 90.1 “Alarms for IP-IO Modules” on page
3007.
For more information, see section 100.4 “Alarms for RP Series Controllers” on
page 3438.

To create a SmartX IP controller notification class


1. In WorkStation, in the System Tree pane, expand the SmartX IP controller
where you want to create the notification class.
2. Select Application
Application.
3. On the File menu, point to New and then click Alarm
Alarm.
4. In the Create Object wizard, in the alarm type list, select Notification Class
Class.
5. In the Name box, type a name for the notification class.
6. In the Description box, type a description.

NOTICE
• You may want to carefully utilize this field during controller device
object creation. For more information, see section 95.25 “SmartX IP
Controller Device Object Description Property ” on page 3270.

7. Click Next
Next.
8. In the BACnet basic settings page, click Download to BACnet device and
then manually enter an Instance ID, or click Automatically generated to
have the system generate the ID for you.
Once created, be aware that you cannot change the object’s Instance ID.
9. In the BACnet name box, type a BACnet name for the notification class.
Do not type a name if you want a name to be assigned for you.
10. Click Upload from BACnet device if you want to upload the properties of
the notification class from the external BACnet device.
11. Click Create
Create.

Technical 04-30006-02-en, May 2019


2362
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.10 Configuring a SmartX IP Controller Notification Class

74.10 Configuring a SmartX IP Controller


Notification Class
You configure a SmartX IP controller notification class to define a device
recipient for the notification, prioritize event handling, and specify whether
acknowledgements for the notication class are required.
For more information, see section 74.4 “Alarms for MP Series Controllers” on
page 2352.
For more information, see section 90.1 “Alarms for IP-IO Modules” on page
3007.
For more information, see section 100.4 “Alarms for RP Series Controllers” on
page 3438.

To configure a SmartX IP controller notification class


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select Application
Application.
2. In the List View
View, select the SmartX IP controller notification class you want
to configure.
3. On the File menu, click Open
Open.
4. Click the Presentation tab.
5. In the Category and Category 2 boxes, enter the alarm category (if any) of
the alarms that you want to reference the notification class.

6. Type a prefix that is added to the beginning of the source name property of
the alarm record.
7. Select Auto-hide to automatically hide the alarm in the Alarms pane or
Alarm View.
Continued on next page

04-30006-02-en, May 2019 Technical


2363
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.10 Configuring a SmartX IP Controller Notification Class

8. Select the alert type that the system will use when the alarm is triggered.
9. Select Disable state-change logging to prevent an alarm state change
from creating an event.
10. Click Save
Save.
11. Click the User Action
Action, Attachment
Attachment, and Device Recipient tabs to finish
configuring the notification class. For more information, see section 114.3
“Configuring a BACnet Notification” on page 4069.

Technical 04-30006-02-en, May 2019


2364
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.11 Trend Logs for SmartX IP Controllers

74.11 Trend Logs for SmartX IP Controllers


You use a trend log to collect data and then store the records. A record contains
a log value or an event as well as its time stamp and an optional comment. A
trend log can log an analog variable, a digital variable, or an integer variable.
For more information, see the Trend Logs topic on WebHelp.
In a SmartX IP controller, you may create a local BACnet trend log to monitor
temperature input values in an area of a building. Trending a value locally in the
SmartX IP controller provides improved reliability and better network
performance since the storage of a trend log record only depends on the
available memory and not network connectivity. Therefore, it does not impact the
network load. However, if the SmartX IP controller is nearing its recommended
maximum capacity, then you can use remote trending at the server level.
For more information, see the Log Record Storage topic on WebHelp.

NOTICE
In SmartX IP controllers, you cannot edit the buffer size of a BACnet trend log
while the trend log is enabled. To edit the value of the buffer size field, you
must first disable the log, save, edit the buffer size, enable the log and save
again. For more information, see section 111.53 “Configuring a BACnet Trend
Log” on page 4004.
Should you wish, you can use standard mass editing techniques to edit the
value of the buffer size field for multiple trend logs. For more information, see
the Mass Edit topic on WebHelp.

74.11.1 Log Views


You can configure log views in an EcoStruxure BMS server to visualize the log
data graphically or as a list. While these views reside in the EcoStruxure BMS
server, you can logically create them in the same location as the SmartX IP
controller in the System Tree.

NOTICE
BACnet trend logs in SmartX IP controllers are used in the same way as trend
logs in other SmartX IP controller devices.

74.11.2 Trend Log Storage Guidelines


When dealing with trend logs, consider the following:
• SmartX IP controllers support at least two trend logs per onboard I/O point
and hosted SmartX Sensor I/O point when you configure each trend log to
support at least 5 days of records with an interval of 15 minutes (480
records). SmartX Sensors are supported by MP Series controllers.
• All trend log records are stored locally and persist through warm start, cold
start, and power cycles.

04-30006-02-en, May 2019 Technical


2365
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.11 Trend Logs for SmartX IP Controllers

• You can optionally back up all trend logs to a host server using the
extended trend logging feature.

NOTICE
In the SmartX IP controller, it is recommended that you regard trend logs as a
buffer and utilize extended logging through the EcoStruxure BMS server for
long-term log maintenance.

Technical 04-30006-02-en, May 2019


2366
74 SmartX IP Controller - MP Series Schedules, Alarms, and Trend Logs
74.12 Extended Trend Logs for SmartX IP Controllers

74.12 Extended Trend Logs for SmartX IP


Controllers
You use an extended trend log to store log records for long periods of time
without encumbering the SmartX IP controller memory. The extended trend log
is often saved on an EcoStruxure BMS server with more storage capacity. This
extra storage capacity enables the EcoStruxure BMS server to store more
records before overwriting the old ones.
BACnet trend logs either stop or overwrite data when full, if larger record sets
are required. The extended trend logs you create in EcoStruxure BMS servers
with more memory can store more records before overwriting the old ones.
Extended trend logs only overwrite when full, however, since there is no option
to stop an extended trend log when capacity is reached. Log archiving is an
option for storage of records beyond the configured limits of the extended trend
logs.
You configure extended trend logs differently depending on whether you are
configuring:
• SmartX IP controller (BACnet) trend logs in the controller
• EcoStruxure Building Operation trend logs that can link to SmartX IP
controller resident points and values
• EcoStruxure Building Operation extended trend logs that can link to SmartX
IP controller resident trends
Extended trend logs require that you configure buffer ready notification alarms,
so the data can be collected from the MP Series controller BACnet trend. For
more information, see section 110.29 “Extended Logging for External BACnet
Trend Logs Workflow” on page 3844.for

Table: SmartX IP Controller Trend Log Options


Trend log options Runs on Maximum records

Local BACnet trend log SmartX IP controller SmartX IP controller limit


For more information, see
the Architectural Guidelines
3.0.1 topic on WebHelp.

Trend log Server SmartX AS-P


Server/Enterprise Server
limit
For more information, see
the Architectural Guidelines
3.0.1 topic on WebHelp.

04-30006-02-en, May 2019 Technical


2367
75 Configuration Menus

Topics
Configuration Menu Overview
Configuration Menus
Configuration Menu Editor
Create a Configuration Menu Workflow
Creating a SmartX IP Controller Device
Creating a Configuration Menu Object
Opening a Configuration Menu Editor
Building a Configuration Menu for a SmartX IP Controller
Configuration Menu Viewer in Workstation
Adding a Value to a Configuration Menu
Binding Values Manually in Configuration Menu Editor
Opening the Configuration Menu Viewer in Workstation
Editing Properties of a Configuration Menu Item
Configuring Actual Values of Configuration Menu Values
Configuration Menu Visibility Operators List
Creating a Custom Type
Performing a Field Deploy for a SmartX IP Controller
Application
75 Configuration Menus
75.1 Configuration Menu Overview

75.1 Configuration Menu Overview


Configuration Menus display a set of controller values that simplify the device
configuration process. You upload a Configuration Menu to a SmartX IP
controller to quickly configure the object values during commissioning, instead
of waiting for the controller to be hosted by an EcoStruxure server from
Workstation.

75.1.1 Configuration Menu Process


The Configuration Menu process involves three users:
• WorkStation Engineer: Creates a Controller Application containing the
Configuration Menu. For more information, see section 101.1 “Configuration
Menus” on page 3457.
• Field Technician: Loads the Controller Application to the controller and
configures the device during commissioning using the Configuration Menu.
For more information, see the Configure Controllers with the eCommission
Application Workflow topic on WebHelp.
• WorkStation Integrator: Hosts the configured controller in the EcoStruxure
database. For more information, see section 96.16 “Discovering SmartX IP
Controller Devices ” on page 3304.

75.1.2 Configuration Menu Workflow


Use this workflow to create a configuration menu, configure controllers with the
eCommission application, and host devices configured with the eCommission
application.
For more information, see the Configuration Menu Workflow topic on WebHelp.

04-30006-02-en, May 2019 Technical


2371
75 Configuration Menus
75.2 Configuration Menus

75.2 Configuration Menus


You use configuration menus to manage source values from SmartX IP
controllers and to comission these controllers.
You create the configuration menu in Configuration Menu Editor to contain any
source values in the SmartX IP controllers. The menu is deployed to the device
and can then be accessed with Configuration Menu Viewer in Workstation or
with an eCommission SmartX Controllers mobile app.
You can use only one configuration menu for a SmartX IP controller.
There are no limitations on the size of menus, but it is recommended to not build
extensive menus to simplify its use for commissioning the controllers.

75.2.1 Configuration Menu Editor


You use Configuration Menu Editor to design a menu to display, and then
configure, source values from SmartX IP controllers.
For more information, see section 102.1 “Configuration Menu Editor” on page
3479.

75.2.2 Configuration Menu Viewer in eCommission


SmartX Controllers Mobile App
The main viewer for a configuration menu is the viewer available in eCommission
SmartX Controllers mobile app.

75.2.3 Configuration Menu Viewer in Workstation


You use Configuration Menu Viewer in Workstation to preview your configuration
menus on various electronic platforms (monitor, tablet, telephone). You also use
the viewer to type or select the actual values on the SmartX IP controllers.
For more information, see section 101.8 “Configuration Menu Viewer in
Workstation ” on page 3466.

75.2.4 Configuration Menu Workflow


Use this workflow to design and build a configuration menu. Related information
is found in the sections after the flowchart.
For more information, see section 101.3 “Create a Configuration Menu Workflow”
on page 3459.

Technical 04-30006-02-en, May 2019


2372
75 Configuration Menus
75.3 Configuration Menu Editor

75.3 Configuration Menu Editor


You use Configuration Menu Editor to design a menu to display, and then
configure, source values from SmartX IP controllers.

04-30006-02-en, May 2019 Technical


2373
75 Configuration Menus
75.4 Create a Configuration Menu Workflow

75.4 Create a Configuration Menu Workflow


Use this workflow to design and build a configuration menu. Related information
is found in the sections after the flowchart.

Create a SmartX IP controller


In Workstation, you create a SmartX IP controller for which you will build a
configuration menu.

NOTICE
You create configuration menus for MP series controllers (MP-C and MP-V)
and for RP series controllers. The Configuration Menu feature does not apply
to IP-IO modules.

For more information, see section 101.4 “Creating a SmartX IP Controller


Device ” on page 3461.

Create a Configuration Menu Object


You use configuration menus to manage source values from SmartX IP
controllers and to comission these controllers.
For more information, see section 101.5 “Creating a Configuration Menu Object”
on page 3462.

Open Configuration Menu Editor


You use Configuration Menu Editor to design a menu to display, and then
configure, source values from SmartX IP controllers.
For more information, see section 101.6 “Opening a Configuration Menu Editor”
on page 3463.

Build a Configuration Menu


In the Design pane, build a configuration menu to meet the specific needs of
your SmartX IP controller.
For more information, see section 101.7 “Building a Configuration Menu for a
SmartX IP Controller” on page 3464.

Add a Value to a Configuration Menu


You add a menu value to a configuration menu to enable display and
configuration of source values.
For more information, see section 101.9 “Adding a Value to a Configuration
Menu” on page 3467.

Bind Menu Values to Source Values


In the Bindings pane, you bind menu values to source values to configure the
menu.
For more information, see section 17.3 “Binding Values Manually” on page 442.

Open Configuration Menu Viewer in Workstation


You open Configuration Menu Viewer in Workstation to display the menu and to
type or select actual values on the SmartX IP controller.

Technical 04-30006-02-en, May 2019


2374
75 Configuration Menus
75.4 Create a Configuration Menu Workflow

For more information, see section 101.6 “Opening a Configuration Menu Editor”
on page 3463.

04-30006-02-en, May 2019 Technical


2375
75 Configuration Menus
75.5 Creating a SmartX IP Controller Device

75.5 Creating a SmartX IP Controller Device


You create a SmartX IP Controller device when you want to create a new device
on the network.
For more information, see section 69 “SmartX IP Controller - MP Series Models”
on page 2139.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 94.1 “SmartX IP Controller - RP Series
Overview” on page 3181.

To create a SmartX IP Controller device


1. In WorkStation, in the System Tree pane, expand the BACnet Interface and
then select the IP network where you want to create a SmartX IP Controller
device.
2. On the File menu, point to New and then click the SmartX IP model you
want to create.
3. In the Create Object wizard, in the Name box, type a name for the SmartX
IP Controller device.
4. In the Description box, type a description for the SmartX IP Controller
device.
5. Click Next
Next.
6. In the BACnet basic settings page, click Download to BACnet device
device.
Enter an Instance ID if you know it, or leave this blank if you want to
associate the ID with the physical device after the object has been created.
Use the Associate with device command to perform this association. When
you do so, you type the BACnet instance number of the external BACnet
device that you want to associate with the device. After you complete the
procedure, the device is then associated with the external BACnet device.
For more information, see section 110.5 “Associating a BACnet Instance
Number with a Device ” on page 3814.
7. In the BACnet name box, type a BACnet name for the device. Do not type
a name if you want a name to be assigned for you.
8. Select Upload from BACnet device to upload the properties of an object in
the BACnet device.
9. Click Create
Create.

Technical 04-30006-02-en, May 2019


2376
75 Configuration Menus
75.6 Creating a Configuration Menu Object

75.6 Creating a Configuration Menu Object


You create a configuration menu object in the System Tree.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To create a Configuration Menu object


1. In Workstation, in the System Tree pane, expand BACnet Interface
Interface,
expand IP Network
Network, expand a SmartX IP controller
controller, and then select
Application
Application.
2. On the File menu, point the New and then click Configuration Menu
Menu.
3. In the Create Object Wizard
Wizard, in the Name box, type a name for the
configuration menu object.
4. In the Path box, browse to the path for the configuration menu object.
5. In the Description box, type a description for the configuration menu
object.
6. Click Next
Next.
7. In the Naming the Object page, in the Name box, type a name for the
configuration menu.

NOTICE
You can choose any name for your configuration menu.

8. Download or upload properties.


• Click Download to BACnet device to download properties to the
BACnet device. This option downloads the properties configured in the
EcoStruxure Building Operation database in the BACnet device.
• Click Upload from BACnet device to upload the properties of the
BACnet device. This option uploads the properties of the physical
device to the database.
9. In the BACnet name box, type the BACnet name for the controller.

NOTICE
Do not type a name if you want it assigned for you.

10. In the Instance ID box, type the instance number of the physical device.
11. Click Create
Create.
You can now edit the Configuration Menu object in Configuration Menu Editor.

04-30006-02-en, May 2019 Technical


2377
75 Configuration Menus
75.7 Opening a Configuration Menu Editor

75.7 Opening a Configuration Menu Editor


You open a Configuration Menu Editor to design a menu for source values from
a SmartX IP controller.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To open a configuration menu editor


1. In Workstation
Workstation, in the System Tree pane, expand BACnet Interface
Interface.
2. Expand IP Network
Network, and then expand a SmartX IP controller.
3. Expand Application and then select Configuration Menu
Menu.
4. On the Actions menu, click Edit
Edit.
You can now edit the Configuration Menu object in Configuration Menu Editor.

Technical 04-30006-02-en, May 2019


2378
75 Configuration Menus
75.8 Building a Configuration Menu for a SmartX IP Controller

75.8 Building a Configuration Menu for a


SmartX IP Controller
You build the configuration menu to meet the specific needs of your SmartX IP
controller.

NOTICE
You can copy and paste menu items between two editors.

For more information, see section 101.1 “Configuration Menus” on page 3457.

To build a configuration menu for a SmartX IP controller


1. In Configuration Menu Editor
Editor, in the Design pane, build the menu.
2.
Component Description

Add Value
Click to open the Add Value dialog box,
where you create a menu value. For
more information, see section 101.9
“Adding a Value to a Configuration
Menu” on page 3467.

Add header
Click to add a header to a menu or a
submenu.

Add separator
Click to add a separator below the
selected menu item.

Add submenu
Click to add a submenu to the selected
menu or submenu.

Delete
Click to delete the selected menu item.

Move up
Click to move the selected menu item
up.

Move down
Click to move the selected menu item
down.

Collapse all
Click to collapse the configuration
menu.

Continued on next page

04-30006-02-en, May 2019 Technical


2379
75 Configuration Menus
75.8 Building a Configuration Menu for a SmartX IP Controller

Continued
Component Description

Expand
Click to expand the configuration menu.

3. On the File menu, click Save


Save.
You can now bind your menu values with source values in the Binding view.

Technical 04-30006-02-en, May 2019


2380
75 Configuration Menus
75.9 Configuration Menu Viewer in Workstation

75.9 Configuration Menu Viewer in


Workstation
You use Configuration Menu Viewer in Workstation to preview your configuration
menus on various electronic platforms (monitor, tablet, telephone). You also use
the viewer to type or select the actual values on the SmartX IP

controllers.

04-30006-02-en, May 2019 Technical


2381
75 Configuration Menus
75.10 Adding a Value to a Configuration Menu

75.10 Adding a Value to a Configuration Menu


You add a menu value to a configuration menu to enable display and
configuration of source values. If your source values are already defined in your
SmartX IP controller, you can drag and drop these values to the menu Design
pane from the Browser pane Bindings view within the Configuration Menu Editor.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To add value to a configuration menu


1. In Configuration Menu Editor
Editor, in the Design pane, click the Add value
button.
2. In the Label box, type the name of the value to be displayed in the
Configuration Menu Viewer in Workstation or in the eCommission SmartX
Controllers mobile app.
3. In the Font weight box, select Bold to highlight the menu value name.
4. In the Value type box, select the type of the source value that the menu
value is to be bound to.
5. In the Bind name box, type the name of the bind variable to be displayed in
the Bindings pane.
6. In the Visible box, enter the logical expression that determines if a specific
component of the configuration menu should be displayed in Workstation
or in the eCommission SmartX Controllers mobile app.

NOTICE
You can add any condition that will be evalueated to either TRUE (visible)
or FALSE (not visible). For more information, see section 102.5
“Configuration Menu Editor - Select Condition Dialog Box” on page 3487.

7. In the Read-only box, select TRUE to disable editing.


8. In the Min box, type the minimum actual value that you allow for the source
value.
9. In the Max box, type the maximum actual value that you allow for the
source value.

NOTICE
For Read-only
Read-only, Min and Max you are additionally constrained by
permissions that are already applied on the bound actual value.
Make sure that you selected TRUE in Read-only box, if you want Read-
only in eCommission SmartX Controllers mobile app.

10. In the Description box, type the description to be displayed in the


Configuration Menu Viewer of the menu value.

Technical 04-30006-02-en, May 2019


2382
75 Configuration Menus
75.11 Binding Values Manually in Configuration Menu Editor

75.11 Binding Values Manually in


Configuration Menu Editor
You bind menu values to source values to configure the menu.
For more information, see section 17.1 “Bindings Overview” on page 437.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To bind values manually


1. In Configuration Menu Editor
Editor, in Bindings View, in the binding Browser
Browser,
drag a value to a property in the binding list to create a binding.

NOTICE
To automatically get your bindings you can drag and drop the source
value from the Browser pane in the Bindings view, to the Design pane.

NOTICE
If bound to properties other than the Present Value or Priority Array, the
eCommissioning SmartX Controllers mobile app will not display it
correctly.

2. On the File menu, click Save


Save.

04-30006-02-en, May 2019 Technical


2383
75 Configuration Menus
75.12 Opening the Configuration Menu Viewer in Workstation

75.12 Opening the Configuration Menu Viewer


in Workstation
You open Configuration Menu Viewer in Workstation to display the menu and to
type or select actual values on the SmartX IP controller.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To open the Configuration Menu Viewer


1. In Workstation
Workstation, in the System Tree pane, expand BACnet Interface
Interface.
2. Expand IP Network
Network, expand an SmartX IP controller.
3. Expand Application
Application, select the configuration menu.

NOTICE
The configuration menu has a name chosen by the engineer while
creating the configuration menu object. For more information, see section
101.5 “Creating a Configuration Menu Object” on page 3462.

NOTICE
If a value is changed outside the displayed configuration menu, the
change will not be reflected in the menu viewer until refreshed.

Technical 04-30006-02-en, May 2019


2384
75 Configuration Menus
75.13 Editing Properties of a Configuration Menu Item

75.13 Editing Properties of a Configuration


Menu Item
You edit properties of a menu item to adjust to the specific needs of your site.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To edit properties of a configuration menu item


1. In the Configuration Menu Editor
Editor, in the Properties pane, edit the
properties of the menu item you want to adjust.
2.
Component Description

Label Type the name of the menu item to be


displayed in the Configuration Menu
Viewer in Workstation or in the
eCommission SmartX Controllers mobile
app.

Value type Select the type of the source value that


the menu value is to be bound to.

Font weight Select Bold to highlight the menu item


name.

Bind name Type the name of the bind variable to be


displayed in the Bindings pane. For
more information, see section 102.6
“Bindings View” on page 3488.

Visible Select logical expressions determining


if a specific component of the
configuration menu should be displayed
in the Configuration Menu Viewer or
eCommission SmartX Controllers mobile
app. For more information, see section
102.5 “Configuration Menu Editor -
Select Condition Dialog Box” on page
3487.

Read-only Displays information about editability of


the menu value.

Min Type the minimum actual value that you


allow for the source value.

Max Type the maximum actual value that you


allow for the source value.

Description Type the description of the menu value


and the source value. Will be indicated
with a (i) icon in the viewer.

Style Select Blank to separate two menu


values by a blank space. Style is used
for separators.

3. On the File menu, click Save


Save.

04-30006-02-en, May 2019 Technical


2385
75 Configuration Menus
75.14 Configuring Actual Values of Configuration Menu Values

75.14 Configuring Actual Values of


Configuration Menu Values
The main viewer for a configuration menu is the viewer available in eCommission
SmartX Controllers mobile app.
You use Configuration Menu Viewer in Workstation to preview your configuration
menus on various electronic platforms (monitor, tablet, telephone). You also use
the viewer to enter the actual values on a SmartX IP controller.
For more information, see section 101.1 “Configuration Menus” on page 3457.

To configure actual values of a configuration menu value


1. In the Workstation, in the configuration menu viewer, enter the actual
values. For more information, see section 101.11 “Opening the
Configuration Menu Viewer in Workstation” on page 3469.

Technical 04-30006-02-en, May 2019


2386
75 Configuration Menus
75.15 Configuration Menu Visibility Operators List

75.15 Configuration Menu Visibility Operators


List
Use the visibility operators to determine visibility conditions on a menu item.

75.15.1 Operators list


Operator

TRUE Select the boolean value TRUE to have


your object (separator, submenu, or value)
always displayed in the Configuration
Menu Viewer.

FALSE Select the boolean value FALSE to not


have your object displayed in the
Configuration Menu Viewer.

&& (and) Select the logical operator "and" to


formulate a conjunction of two conditions.

|| (or) Select the logical operator "or" to formulate


a disjunction of two conditions.

! (not) Select the logical operator "not" to


formulate a negative condition.

= Select the operator "equality" to compare


the value with some specific actual value.

!= Select the operator "non-equality" to


restrain the menu value of the specific
actual values.

> Select the "more than" operator to compare


the menu value with some specific actual
value.

>= Select the "more than or equal" operator to


compare the menu value with some
specific actual value.

< Select the "less than" operator to compare


menu the value with some specific actual
value.

<= Select the "less than or equal" operator to


compare menu the value with some
specific actual value.

( Select the left bracket to structure your


condition.

) Select the right bracket to structure your


condition.

04-30006-02-en, May 2019 Technical


2387
75 Configuration Menus
75.15 Configuration Menu Visibility Operators List

75.15.2 Example
For example, you want your menu value to represent the activation state of a fan
(with the bind name "fan_activ"). In the Value type box, select Digital to display
the digital sygnal for on/off. If you want your menu value to represent the speed
of a fan ("fan_speed"), in the Value type box choose Analogue to display an
analog signal for speed. You can decide to display the menu value for the
speed of the fan in the Configuration Menu Viewer or in the eCT, only when the
fan is on. In this case you configure, in the Select Condition dialog box, the
visibility constraint for "fan_speed" to "fan_activ = TRUE".

Technical 04-30006-02-en, May 2019


2388
75 Configuration Menus
75.16 Creating a Custom Type

75.16 Creating a Custom Type


You create a custom type that you can use to create custom type instances
from. To be able to create a custom type you must work in the Engineering with
Custom Types workspace.
For more information, see section 29.2 “Custom Types” on page 841.

To create a custom type


1. In WorkStation, in the System Tree pane, select an object or application.
2. In the Actions menu, point to Custom types and then select Create custom
type
type.
3. In the Custom Type dialog box, in the Name box, type a name.
4. In the Info box, enter information regarding the custom type.
The custom type is visible in the Custom Type Library.

04-30006-02-en, May 2019 Technical


2389
75 Configuration Menus
75.17 Performing a Field Deploy for a SmartX IP Controller Application

75.17 Performing a Field Deploy for a SmartX


IP Controller Application
You field deploy a SmartX IP controller to facilitate I/O checkout and device
commissioning. You can compile the objects in a SmartX IP controller
application in an image file that you can upload and deploy to controllers using
the eCommission SmartX Controllers mobile application.
For more information, see section 69.1 “SmartX IP Controller - MP Series
Models” on page 2141.
For more information, see section 86.1 “SmartX IP Controller - IP-IO Modules” on
page 2837.
For more information, see section 95.1 “SmartX IP Controller - RP Series Models”
on page 3225.

To perform a field deploy for a SmartX IP controller application


1. In WorkStation
WorkStation, in the System Tree pane, select the SmartX IP controller.
2. In the Actions menu, point to Device and then click Generate image
image.
3. In the Generate image dialog box, select the type of image file to generate.
For more information, see section 106.4 “Generate Image Dialog Box” on
page 3566.
4. Click OK
OK.
5. In the Save as dialog, select a location for the image file.
6. In the File name box, enter a file name.
7. Click Save
Save.
You can now use the eCommission SmartX Controllers mobile application to
upload and deploy the saved image file to other SmartX IP controllers. For more
information, see section 95.11 “Image File Deployment in a SmartX IP Controller”
on page 3240.

NOTICE
If a field deployed image contains settings designed to change the IP address
or IP assignment following deployment, be sure to perform a software warm
start (from EcoStruxure Building Operation or the eCommision SmartX
Controllers mobile application) to activate these IP network settings changes.
This commanded warm start is in addition to the hardware restart triggered by
the image deployment itself. If you fail to perform this additional warm start, the
SmartX IP controller will continue to communicate using its previous IP network
settings. For more information, see section 110.40 “Warm Starting a BACnet
Device” on page 3858.

Technical 04-30006-02-en, May 2019


2390
76 Configuration Menus User
Interface

Topics
Configuration Menu Editor
Configuration Menu Editor - Design Pane
Configuration Menu Editor - Properties Pane
Configuration Menu Editor - Add Value Dialog Box
Configuration Menu Editor - Select Condition Dialog Box
Bindings View
Workstation Work Area - Configuration Menu Tab
Configuration Menu Editor - Menu Bar
Configuration Menu Editor Toolbar
Configuration Menu Editor - File Menu
Configuration Menu Editor – File Menu – New Submenu
Configuration Menu Editor - Edit Menu
Configuration Menu Editor - View Menu
Configuration Menu Editor - Help Menu
Configuration Menu Editor - Error Log Dialog Box
76 Configuration Menus User Interface
76.1 Configuration Menu Editor

76.1 Configuration Menu Editor


You use Configuration Menu Editor to design a menu to display, and then
configure, source values from SmartX IP controllers.

Figure: Configuration Menu Editor

Table: Configuration Menu Editor


Number Description

Design Pane
Use the Design pane to build the structure
of the configuration menu.

04-30006-02-en, May 2019 Technical


2393
76 Configuration Menus User Interface
76.1 Configuration Menu Editor

Continued
Number Description

Properties Pane
Use the Properties pane to edit properties
of the configuration menu components.

Bindings Pane
Use the Bindings view to bind values
between objects in the system.

Browser Pane
Use the Browser to select and drag a
source value to the Binding points list or to
the Binding templates list to create
bindings. For more information, see
section 19.6 “Browser” on page 553.
The source value can also be dropped
directly on the Design pane to create a
menu value item.

Menu Bar
Use the Menu bar to access the different
file menus in Configuration Menu Editor.

Configuration Menu Toolbar


Use the toolbar to save, show/hide to bind
names in the Design pane and/or launch
help. For more information, see section
19.3 “Binding Point List Toolbar” on page
550..

Technical 04-30006-02-en, May 2019


2394
76 Configuration Menus User Interface
76.2 Configuration Menu Editor - Design Pane

76.2 Configuration Menu Editor - Design


Pane
Use the Design pane to box to build the structure of the configuration menu.

04-30006-02-en, May 2019 Technical


2395
76 Configuration Menus User Interface
76.2 Configuration Menu Editor - Design Pane

Table: Design Pane Dialog Box


Component Description

Add Value
Click to open the Add Value dialog box,
where you create a menu value. For more
information, see section 101.9 “Adding a
Value to a Configuration Menu” on page
3467.

Add header
Click to add a header to a menu or a
submenu.

Add separator
Click to add a separator below the
selected menu item.

Add submenu
Click to add a submenu to the selected
menu or submenu.

Delete
Click to delete the selected menu item.

Move up
Click to move the selected menu item up.

Move down
Click to move the selected menu item
down.

Collapse all
Click to collapse the configuration menu.

Expand
Click to expand the configuration menu.

Technical 04-30006-02-en, May 2019


2396
76 Configuration Menus User Interface
76.3 Configuration Menu Editor - Properties Pane

76.3 Configuration Menu Editor - Properties


Pane
Use the Properties pane dialog box to edit properties of Configuration Menu
components.

Table: Configuration Menu Editor - Add Value Dialog Box and Properties Pane
Component Description

Label Type the name of the menu item to be


displayed in the Configuration Menu
Viewer in Workstation or in the
eCommission SmartX Controllers mobile
app.

Value type Select the type of the source value that the
menu value is to be bound to.

Font weight Select Bold to highlight the menu item


name.

Bind name Type the name of the bind variable to be


displayed in the Bindings pane. For more
information, see section 102.6 “Bindings
View” on page 3488.

Visible Select logical expressions determining if a


specific component of the configuration
menu should be displayed in the
Configuration Menu Viewer or
eCommission SmartX Controllers mobile
app. For more information, see section
102.5 “Configuration Menu Editor - Select
Condition Dialog Box” on page 3487.

Read-only Displays information about editability of the


menu value.

04-30006-02-en, May 2019 Technical


2397
76 Configuration Menus User Interface
76.3 Configuration Menu Editor - Properties Pane

Continued
Component Description

Min Type the minimum actual value that you


allow for the source value.

Max Type the maximum actual value that you


allow for the source value.

Description Type the description of the menu value


and the source value. Will be indicated
with a (i) icon in the viewer.

Style Select Blank to separate two menu values


by a blank space. Style is used for
separators.

Technical 04-30006-02-en, May 2019


2398
76 Configuration Menus User Interface
76.4 Configuration Menu Editor - Add Value Dialog Box

76.4 Configuration Menu Editor - Add Value


Dialog Box
Use the Add Value dialog box to configure new menu value in the Design pane.

Figure: Configuration menu editor - add value dialog box

Table: Configuration Menu Editor - Add Value Dialog Box and Properties Pane
Component Description

Label Type the name of the menu item to be


displayed in the Configuration Menu
Viewer in Workstation or in the
eCommission SmartX Controllers mobile
app.

Value type Select the type of the source value that the
menu value is to be bound to.

Font weight Select Bold to highlight the menu item


name.

Bind name Type the name of the bind variable to be


displayed in the Bindings pane. For more
information, see section 102.6 “Bindings
View” on page 3488.

Visible Select logical expressions determining if a


specific component of the configuration
menu should be displayed in the
Configuration Menu Viewer or
eCommission SmartX Controllers mobile
app. For more information, see section
102.5 “Configuration Menu Editor - Select
Condition Dialog Box” on page 3487.

04-30006-02-en, May 2019 Technical


2399
76 Configuration Menus User Interface
76.4 Configuration Menu Editor - Add Value Dialog Box

Continued
Component Description

Read-only Displays information about editability of the


menu value.

Min Type the minimum actual value that you


allow for the source value.

Max Type the maximum actual value that you


allow for the source value.

Description Type the description of the menu value


and the source value. Will be indicated
with a (i) icon in the viewer.

Style Select Blank to separate two menu values


by a blank space. Style is used for
separators.

Technical 04-30006-02-en, May 2019


2400
76 Configuration Menus User Interface
76.5 Configuration Menu Editor - Select Condition Dialog Box

76.5 Configuration Menu Editor - Select


Condition Dialog Box
Use the Configuration Select Condition dialog box to determine visibility
conditions on a given menu menu item.

Figure: Select condition dialog box

Table: Select Condition Dialog Box


Component Description

Condition Displays the logical condition of when the


menu item will be visible or not.

Bind names Select the bind name to add the condition


to.

Value type Displays the type of the source value that


the bind name of a menu value is to be
bound to.

Operators Select operators to determine visibility


conditions on a given menu value.

04-30006-02-en, May 2019 Technical


2401
76 Configuration Menus User Interface
76.6 Bindings View

76.6 Bindings View


Use the Bindings view to bind values between objects in the system.

Figure: Bindings view

Table: Bindings View


Number Description

Use the toolbar to delete bindings, filter


properties, and create a binding template
from instance. For more information, see
section 19.3 “Binding Point List Toolbar” on
page 550..

Use the Binding templates list to view and


apply Binding templates. For more
information, see section 19.4 “Binding
Templates List” on page 551..

Use the toolbar to lock the Browser and to


filter items in the Browser
Browser. For more
information, see section 19.5 “Browser
Toolbar” on page 552.

Use the Collapse all button to collapse the


browser tree.

Technical 04-30006-02-en, May 2019


2402
76 Configuration Menus User Interface
76.6 Bindings View

Continued
Number Description

Use the Property filter to filter the browser


tree.

Use the Browser to select and drag a


value to the Binding points list or to the
Binding templates list to create bindings.
For more information, see section 19.6
“Browser” on page 553.

Use the Binding list to enter the path to the


value that you want to bind. Right-click to
lock or unlock the path. For more
information, see section 17.11 “Locked
and Unlocked Binding Paths” on page
459.

Use the Unit list to view the engineering


unit associated with each property (if any).

Use the Binding point list to view and bind


the values of the object that is selected in
the System Tree pane.

04-30006-02-en, May 2019 Technical


2403
76 Configuration Menus User Interface
76.7 Workstation Work Area - Configuration Menu Tab

76.7 Workstation Work Area - Configuration


Menu Tab
Use the Configuration Menu tab of the Configuration Menu Viewer in
Workstation to see the configuration menu and also to insert actual values on the
MP Series controller or the RP Series controller.

Figure: Configuration menu tab

Table: Configuration Menu Tab


Component Description

Windows view
Click to display the configuration menu as
a full size window

Potential tablet view


Click to display how the Configuration
Menu might look like on a tablet.

Technical 04-30006-02-en, May 2019


2404
76 Configuration Menus User Interface
76.7 Workstation Work Area - Configuration Menu Tab

Continued
Component Description

Potential phone view


Click to display how the Configuration
Menu might look like on a phone.

Save
Click to save changed actual values.

Work area Use the work area to see the configuration


menu and also to type or select actual
values on the MP Series controller or the
RP Series controller.

04-30006-02-en, May 2019 Technical


2405
76 Configuration Menus User Interface
76.8 Configuration Menu Editor - Menu Bar

76.8 Configuration Menu Editor - Menu Bar


Use the Menu bar to access the different menus in Configuration Menu Editor.

Figure: Menu Bar

Table: Menu Bar


Command Description

File Click to open the File menu, where you


create new objects, you save or clear
information, and where you exit the
configuration menu editor. For more
information, see section 102.10
“Configuration Menu Editor - File Menu” on
page 3494.

Edit Click to open the Edit menu, where you


edit items in the configuration menu editor.
For more information, see section 102.12
“Configuration Menu Editor - Edit Menu” on
page 3496.

View Click to open the View menu, where you


display or hide configuration menu editor
components. For more information, see
section 102.13 “Configuration Menu Editor
- View Menu” on page 3497.

Help Click to open the Help menu, where you


access WebHelp and to view information
about the Configuration Menu Editor
version number. For more information, see
section 102.14 “Configuration Menu Editor
- Help Menu” on page 3498.

Technical 04-30006-02-en, May 2019


2406
76 Configuration Menus User Interface
76.9 Configuration Menu Editor Toolbar

76.9 Configuration Menu Editor Toolbar


Use the Configuration Menu Editor toolbar to save, show/hide to bind names in
the Design pane and/or launch help.

Figure: Configuration Menu Editor toolbar

Table: Configuration Menu Editor Toolbar


Command Description

Use to save the configuration menu.

Use to show or hide bind names of the


menu items in Design view.

Use to access WebHelp.

04-30006-02-en, May 2019 Technical


2407
76 Configuration Menus User Interface
76.10 Configuration Menu Editor - File Menu

76.10 Configuration Menu Editor - File Menu


Use the File menu to create new objects, you save or clear information, and
where you exit the configuration menu editor.

Figure: File menu

Table: File Menu


Command Description

New Opens a submenu where you can select if


you want to create an item of the
configuration menu. For more information,
see section 102.11 “Configuration Menu
Editor – File Menu – New Submenu” on
page 3495.

Save Saves the configuration menu as an


EcoStruxure Building Operation object in
the database.

Clear Menu Clears all the content of the open


configuration menu.

Exit Closes down the editor.

Technical 04-30006-02-en, May 2019


2408
76 Configuration Menus User Interface
76.11 Configuration Menu Editor – File Menu – New Submenu

76.11 Configuration Menu Editor – File Menu –


New Submenu
Use the New submenu to create new menu items.

Figure: [Name] submenu (Sentence caps)

Table: [Name] Submenu (Title Caps)


Command Description

Value Click to open the Add Value dialog box,


where you create a menu value.

Header Click to add a header to a menu or a


submenu.

Separator Click to add a separator below the


selected menu item.

Sub-menu Click to add a submenu to the selected


menu or submenu.

04-30006-02-en, May 2019 Technical


2409
76 Configuration Menus User Interface
76.12 Configuration Menu Editor - Edit Menu

76.12 Configuration Menu Editor - Edit Menu


Use the Edit menu to edit items in the configuration menu editor.

Figure: Configuration Menu Editor - Edit menu

Table: Configuration Menu Editor - Edit Menu


Command Description

Cut Cuts a configuration menu item.

Copy Copies a configuration menu item.

Paste Pastes a configuration menu item.

Delete Deletes a configuration menu item.

Rename Renames a configuration menu item.

Technical 04-30006-02-en, May 2019


2410
76 Configuration Menus User Interface
76.13 Configuration Menu Editor - View Menu

76.13 Configuration Menu Editor - View Menu


Use the View menu to display or hide configuration menu editor components.

Figure: Configuration Menu Editor - View menu

Table: Configuration Menu Editor - View Menu


Command Description

Design Click to show or hide the Design tab where


you can design your configuration menu.

Properties Click to show or hide the Properties pane


where you can view and set properties of a
configuration menu item.

Bindings Click to show or hide Bindings pane where


you can view and edit bindings of source
values to menu values.

Restore Views Restores all panes to their original settings.

Show Bind Names Shows bind names together with labels in


the Design Pane
Pane.

04-30006-02-en, May 2019 Technical


2411
76 Configuration Menus User Interface
76.14 Configuration Menu Editor - Help Menu

76.14 Configuration Menu Editor - Help Menu


Use the Help menu to access WebHelp and to view information about the
Configuration Menu Editor version number.

Figure: Configuration Menu Editor - Help menu

Table: Configuration Menu Editor -Help Menu


Command Description

Help Click to access the WebHelp.

About Configuration Menu Editor Click to display the name and the version
number of Configuration Menu Editor.

Technical 04-30006-02-en, May 2019


2412
76 Configuration Menus User Interface
76.15 Configuration Menu Editor - Error Log Dialog Box

76.15 Configuration Menu Editor - Error Log


Dialog Box
You acknowledge the error in the log. The menu item linked to the error is
highlighted in the Design pane.

Figure: Error Log Dialog Box

Table: Error Log Dialog Box


Number Description

Close Close button


Click to acknowledge the error

04-30006-02-en, May 2019 Technical


2413
77 eCommission SmartX
Controllers Mobile Application

Topics
eCommission SmartX Controllers Mobile Application
Configure the eCommission SmartX Controllers Mobile
Application Initial Connection Workflow
eCommission SmartX Controllers Mobile Application and
SmartX IP Controller Connections
77 eCommission SmartX Controllers Mobile Application
77.1 eCommission SmartX Controllers Mobile Application

77.1 eCommission SmartX Controllers Mobile


Application
The eCommission SmartX Controllers mobile application is a mobile
commissioning tool for SmartX IP controllers that is supported across all major
OS platforms. It is designed for the configuration, maintenance, and
commissioning of local SmartX IP controllers or daisy chained SmartX IP
controllers.
You use the eCommission SmartX Controllers mobile application to perform
these tasks:
• Configure IP and BACnet device settings
• Change the Ethernet switch mode
• Configure the system time (in standalone mode)
• Store and upload device common settings
• View status information
• Generate diagnostic reports
When the network infrastructure is not yet in place, you can also use
eCommission SmartX Controllers mobile application to perform a local
application deployment by uploading the control application and directing the
local SmartX IP controller to utilize its connected sensors and actuators and
perform an I/O checkout. This ensures that its I/O points are installed, wired, and
operating correctly.
For more information, see section 101.16 “Performing a Field Deploy for a
SmartX IP Controller Application” on page 3475.

NOTICE
The eCommission SmartX Controllers mobile application is password
protected. Its password policy account information is maintained locally and
not on the parent EcoStruxure BMS server.

77.1.1 Configure eCommission SmartX Controllers


Mobile Application Initial Connection
Workflow
Before you start using the eCommission SmartX Controllers mobile application,
you need to configure the initial connection with the SmartX IP controller.
For more information, see section 103.2 “Configure the eCommission SmartX
Controllers Mobile Application Initial Connection Workflow” on page 3505.

04-30006-02-en, May 2019 Technical


2417
77 eCommission SmartX Controllers Mobile Application
77.1 eCommission SmartX Controllers Mobile Application

77.1.2 eCommission SmartX Controllers Mobile


Application Connection Options
You can connect to the eCommission SmartX Controllers mobile application
using several different methods depending on the SmartX IP controller device
you are connecting.
For more information, see section 103.3 “eCommission SmartX Controllers
Mobile Application and SmartX IP Controller Connections” on page 3508.
For more information, see section 91.3 “eCommission SmartX Controllers Mobile
Application and IP-IO Connections” on page 3028.

Technical 04-30006-02-en, May 2019


2418
77 eCommission SmartX Controllers Mobile Application
77.2 Configure the eCommission SmartX Controllers Mobile Application Initial Connection Workflow

77.2 Configure the eCommission SmartX


Controllers Mobile Application Initial
Connection Workflow
Before you start using the eCommission SmartX Controllers mobile application,
you need to configure the initial connection with the SmartX IP controller.
Use this workflow to configure that connection. Related information can be found
in the sections that follow the flowchart.

Figure: Configure eCommission SmartX Controllers mobile application initial connection


workflow

Prepare the eCommission SmartX Controllers mobile application


Install the eCommission SmartX Controllers mobile application, activate the
software, and accept the end user license agreement.

04-30006-02-en, May 2019 Technical


2419
77 eCommission SmartX Controllers Mobile Application
77.2 Configure the eCommission SmartX Controllers Mobile Application Initial Connection Workflow

For more information, see the Launching and Activating the eCommission
SmartX Controllers Mobile Application topic on WebHelp.

Log on and test the eCommission SmartX Controllers mobile


application
Log on and test the eCommission SmartX Controllers mobile application to
ensure it is operational.
For more information, see the Downloading and Starting the eCommission
SmartX Controllers Mobile Application topic on WebHelp.

Power up the SmartX IP controller


Power up the SmartX IP controller.
For more information, see the Powering Up MP-C topic on WebHelp.
For more information, see the Powering Up MP-V topic on WebHelp.
For more information, see the Powering Up an IP-IO Module topic on WebHelp.
For more information, see the Powering Up an RP-C-16A Controller topic on
WebHelp.
For more information, see the Powering Up an RP-C-12A, -12B, or -12C
Controller topic on WebHelp.

Connect the Ethernet cables


Directly connect the Ethernet cables (CAT-6 is recommended).
• Connect the cable to the 10/100 Ethernet 1 port on the MP Series controller.
• Connect the other end of the cable to your PC.
For more information, see section 103.3 “eCommission SmartX Controllers
Mobile Application and SmartX IP Controller Connections” on page 3508.

Configure the eCommission SmartX Controllers mobile application


Configure the eCommission SmartX Controllers mobile application in the phone,
tablet, or laptop hosting the tool with a DHCP address.

NOTICE
The eCommission SmartX Controllers mobile application does not require a
static IP address. You can configure it with a DHCP address without conflict.
For more information, see section 94.7 “ IP Address Assignment for SmartX IP
Controllers” on page 3195.

Log on to the eCommission SmartX Controllers mobile application


Launch the eCommission SmartX Controllers mobile application, log on, and
activate your account with the appropriate activation code.
For more information, see the Downloading and Starting the eCommission
SmartX Controllers Mobile Application topic on WebHelp.

Technical 04-30006-02-en, May 2019


2420
77 eCommission SmartX Controllers Mobile Application
77.2 Configure the eCommission SmartX Controllers Mobile Application Initial Connection Workflow

NOTICE
The eCommission SmartX Controllers tool has four user roles with the
technician role having the highest privileges. The electrician can perform I/O
checkout, while the flow balancer can perform balance operations. The
technician can do both as well as configure the controller. Finally, the
administrator creates and manages user accounts. For more information, see
the eCommission SmartX Controllers Mobile Application Overview topic on
WebHelp.

Discover the eCommission SmartX Controllers mobile application


Select the WiFi icon and then use Device Discovery to discover the
eCommission SmartX Controllers mobile application.

Load the SmartX IP controller application


Using the eCommission SmartX Controllers mobile application, load the SmartX
IP controller application.
For more information, see section 101.16 “Performing a Field Deploy for a
SmartX IP Controller Application” on page 3475.

04-30006-02-en, May 2019 Technical


2421
77 eCommission SmartX Controllers Mobile Application
77.3 eCommission SmartX Controllers Mobile Application and SmartX IP Controller Connections

77.3 eCommission SmartX Controllers Mobile


Application and SmartX IP Controller
Connections
You can connect to the eCommission SmartX Controllers mobile application
using several different methods depending on the SmartX IP controller device
you are connecting.
For example, you can connect the SmartX IP controller using one of the following
four methods.

77.3.1 Wired Direct


Connect the eCommission SmartX Controllers mobile application directly to a
SmartX IP controller using only a CAT5 or CAT6 cable.

Figure: Wired direct connection

77.3.2 Wired Network


Connect the eCommission SmartX Controllers mobile application to the SmartX
IP controller network using a switch or connect the mobile application directly to
an open Ethernet port on the controller.

Figure: Wired network connection

Technical 04-30006-02-en, May 2019


2422
77 eCommission SmartX Controllers Mobile Application
77.3 eCommission SmartX Controllers Mobile Application and SmartX IP Controller Connections

77.3.3 WIFI Access Point


Connect the eCommission SmartX Controllers mobile application to the SmartX
IP controller using a WIFI access point.

Figure: WIFI connection

77.3.4 eCommission Bluetooth Adapter and SmartX


Sensor
Connect the eCommission SmartX Controllers mobile application to a single
SmartX IP controller using a SmartX Sensor and the eCommission Bluetooth
Adapter.

Figure: Bluetooth connection

You do not need to know the IP address of the eCommission SmartX Controllers
mobile application because it is not required for BACnet device discovery. For
more information, see section 110.2 “BACnet Device Discovery” on page 3811.

NOTICE
• When the SmartX IP controller's Ethernet port 2 is not used by the controller
network, you can connect the eCommission SmartX Controllers mobile
application using that port without disruption or additional hardware. When
the SmartX IP controller's Ethernet port 2 is used by the controller network
(for example, in a daisy-chain or RSTP ring network topology), you can add
a temporary switch or hub to ensure that connectivity is maintained while the
eCommission SmartX Controllers mobile application is in operation.

04-30006-02-en, May 2019 Technical


2423
78 SmartX Sensors

Topics
SmartX Sensors
Creating a SmartX Sensor
Configuring a SmartX Sensor
Dynamically Updating SmartX Sensors
Downloading Changes to a SmartX Sensor
Uploading Changes to a SmartX Sensor
Configuring SmartX Sensor Occupancy
SmartX Sensor Display Properties
Configuring SmartX Sensor Display Properties
SmartX Sensor Operation and Calibration Modes
Configuring SmartX Calibration Modes and Offset Values
Enabling and Disabling eCommission SmartX Controllers
Bluetooth Access
Enabling the Sensor Bus Communication
78 SmartX Sensors
78.1 SmartX Sensors

78.1 SmartX Sensors


SmartX Sensors are a family of living space sensors designed for SmartX IP
controllers using the EcoStruxure Building Operation user interface. These
sensors use an RJ-45 sensor bus that provides communication and power from
the SmartX IP controller.
The maximum number of SmartX Sensors you can connect to a SmartX IP
controller depends on the selected combination of cover and sensor base
types. The limit also depends on whether an eCommission Bluetooth Adapter is
connected to the sensor. For more information, see section 103.3 “eCommission
SmartX Controllers Mobile Application and SmartX IP Controller Connections” on
page 3508.

NOTICE
The maximum cable length of the sensor bus end to end and per segment is
61 m (200 ft).

78.1.1 SmartX Sensor Modular Bases and Covers


SmartX Sensors are modular and are ordered in two parts: the sensor base and
the cover. Four SmartX communicating sensor base models are available as
well as six covers.
Typically, you can match any base unit containing temperature, carbon dioxide
(CO2), and humidity sensor objects with any combination of front covers
including varied button counts, occupancy sensors, and displays. The
exception here is the LCD Temperature Sensor which includes its own unique
sensor base and cover. You cannot interchange it with other covers or bases.
For more information, see the SmartX Sensor Modular Bases and Covers topic
on WebHelp.

78.1.2 SmartX Sensor Models


SmartX Sensors include blank cover and occupancy sensor-only cover models,
as well as several models with pushbutton or display-driven user interfaces that
allow you to control temperature, occupancy, overrides, and a variety of other
settings in a designated living space.

04-30006-02-en, May 2019 Technical


2427
78 SmartX Sensors
78.1 SmartX Sensors

Figure: SmartX Sensor models

For more information, see the SmartX Sensor Models topic on WebHelp.

78.1.3 SmartX Sensor Display Properties


You use the SmartX Sensor Display property tabs in WorkStation to view and
configure the UI features of the various sensor models within your control
application.
For more information, see section 104.8 “SmartX Sensor Display Properties” on
page 3524.

78.1.4 Firmware Upgrade


The SmartX Sensor upgrade process is automatic since its firmware is part of
the same package you use to upgrade the SmartX IP controller. That firmware
package includes 3 overall files: the I/O board, the CPU board and the SmartX
Sensor. Each individual SmartX IP controller is responsible for upgrading its own
SmartX Sensor.
Should you decide to replace or swap a SmartX Sensor, the new unit is
automatically loaded with the last SmartX IP controller firmware package
resident in the controller. The SmartX IP controller saves that file and re-uses it
when a SmartX Sensor is replaced.

78.1.5 Replacement
When replacing a SmartX Sensor, you can replace the sensor with any model of
the same family. The SmartX IP controller recognizes the model and
communicates with the replacement device. Additionally, if you decide to
replace a temperature and CO2 sensor and then later decide to replace only the
temperature sensor, the SmartX IP controller still operates with only the
temperature sensor. Any application written to use the CO2 sensor is affected,
however, since the replacement unit causes EcoStruxure Building Operation
objects representing the CO2 sensor to be configured as out of service.

Technical 04-30006-02-en, May 2019


2428
78 SmartX Sensors
78.1 SmartX Sensors

NOTICE
It is the sensor object that is out of service here and not the entire SmartX
Sensor.

When replacing a SmartX Sensor, be sure to check the DIP switch address to
ensure that the system recognizes the fitted unit as replacement for one you
removed. Otherwise, the SmartX IP controller does not interact with the same
unit. In order for the new unit to assume the identity of the old one, the DIP switch
settings must match.
During the replacement process, you can swap the faceplate on the sensor
model if you want. Even if the model sensor types and faceplate do not match,
EcoStruxure BMS still assumes it is the same unit and configures any absent or
deficient sensors or displays objects as out of service.

78.1.6 Addressing
When the SmartX IP controller requires more than one SmartX Sensor, be sure to
adjust the DIP switches of the devices to unique settings. You should also
ensure that at least two switches are present to provide the four unique settings
the product requires. The following table shows the mapping between each
unique DIP switch setting and SmartX Sensor addressing. The default setting for
both DIP switches is OFF.
SW1-1 SW1-2 Address

OFF OFF 1

OFF ON 2

ON OFF 3

ON ON 4

NOTICE
Setting more than one SmartX Sensor to the same address (including not
changing the factory default DIP switch setting) produces an error and results
in a communication failure to any units sharing that address.

78.1.7 SmartX Sensor Operation and Calibration


Modes
The CO2, temperature, humidity, and occupancy SmartX sensors provide a
variety of operation and calibration options.
For more information, see section 104.10 “SmartX Sensor Operation and
Calibration Modes” on page 3532.

04-30006-02-en, May 2019 Technical


2429
78 SmartX Sensors
78.2 Creating a SmartX Sensor

78.2 Creating a SmartX Sensor


You create a SmartX Sensor offline and then associate the proxy with the sensor
hardware.
For more information, see section 104.1 “SmartX Sensors” on page 3513.

To create a SmartX Sensor


1. In WorkStation, in the System Tree pane, select IO Resources under the
SmartX IP controller.
2. Select Sensor bus
bus.
3. On the File menu, point to New and then click Room Unit Device
Device.
4. In the Create Object wizard, in the Name box, type a name for the SmartX
Sensor.
5. In the Description box, type a description for the SmartX Sensor.
6. Click Next
Next.
7. In the BACnet basic settings page, click Download to BACnet device
device.
8. Manually enter an Instance ID, or click Automatically generated to have the
system generate the ID for you.
Once created, you cannot change the object’s Instance ID.
9. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
10. Click Upload from BACnet device to upload the properties of the SmartX
Sensor from the external BACnet device.
11. Click Create
Create.
12. In the File menu, click Properties
Properties.

13. In the Basic tab, in the Address box, click the Configure Settings icon .
14. In the Address dialog box, in the Value box, select the DIP switch address
that coincides with the device you want to associate with (that is, the
address set previously in the SmartX Sensor physical device).
15. Click OK
OK.

Technical 04-30006-02-en, May 2019


2430
78 SmartX Sensors
78.3 Configuring a SmartX Sensor

78.3 Configuring a SmartX Sensor


You configure a SmartX Sensor to associate that sensor with a physical SmartX
IP controller.
For more information, see section 104.1 “SmartX Sensors” on page 3513.

To configure a SmartX Sensor


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select IO Resources
Resources.
2. Click Sensor bus
bus.
3. In the List View
View, select the SmartX Sensor.
4. On the File menu, click Properties
Properties.
5. Click the Basic tab.
6. Edit the Basic properties.
Property Description

System status Displays one of four possible states:


• Operational
Operational: Indicates that the
SmartX Sensor is communicating
with the SmartX IP controller.
• Non-operational
Non-operational: Indicates that
there is a communication problem
with the SmartX IP controller. To
correct the problem, ensure that
the sensor bus contains the correct
address, is connected properly,
and is not disabled.
• Firmware download required
required:
Indicates that the SmartX Sensor is
in Bootloader mode awaiting a
firmware upgrade from the SmartX
IP controller.
• Firmware download in progress
progress:
Indicates that the SmartX IP
controller is currently upgrading
the SmartX Sensor firmware.

Address Click the DIP switch address that


corresponds to the address set
previously in the SmartX Sensor
physical device.

Base model Identifies the base model.

Cover model Identifies the cover model.

Firmware version Displays the revision of the firmware


currently running in the SmartX Sensor.

Application software version Displays the current version of the


application software that is installed on
the SmartX Sensor.

04-30006-02-en, May 2019 Technical


2431
78 SmartX Sensors
78.3 Configuring a SmartX Sensor

Continued
Property Description

Serial number Displays the serial number of the


SmartX Sensor.

Commissioning tool enable Click Off to send a message to the


SmartX Sensor to disable
communication with the eCommission
SmartX Controllers tool through the
SmartX Sensor connection. For security
purposes, you should ensure this
property is always turned off, except
during the controller commissioning
phase.
For more information, see section 69.12
“MP Series Controller Security Features”
on page 2158.
For more information, see section 95.12
“RP Series Controller Security Features”
on page 3242.

Commissioning tool detected Detects the presence of a


commissioning tool.

Eco mode Click On to set the EcoMode system


heating or cooling status.

7. Click the Advanced tab.


8. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

9. Click OK
OK.

Technical 04-30006-02-en, May 2019


2432
78 SmartX Sensors
78.4 Dynamically Updating SmartX Sensors

78.4 Dynamically Updating SmartX Sensors


When you create SmartX Sensors, the EcoStruxure BMS automatically adds all
possible sensors. Once the SmartX Sensor is online with its parent SmartX IP
controller, you can dynamically update sensors in order to detect the current
sensors and add or remove sensors (as needed). This ensures you are
engineering only those sensors you need.

NOTICE
It is not mandatory that you dynamically update your SmartX Sensors.
Unpopulated sensors display as out of service.

For more information, see section 104.1 “SmartX Sensors” on page 3513.

To dynamically update SmartX Sensors


1. In WorkStation, in the System Tree pane, select IO Resources under the
SmartX IP controller.
2. Select Sensor bus
bus.
3. In the List View
View, select Room Unit Device
Device.
4. In the Actions menu, click Room Unit and Update Sensors
Sensors.

NOTICE
Do not use Update Sensors if you are temporarily replacing a sensor.
You should only use it for permanent sensor replacement since it deletes
any permanent configuration attached to the sensor including trends.

04-30006-02-en, May 2019 Technical


2433
78 SmartX Sensors
78.5 Downloading Changes to a SmartX Sensor

78.5 Downloading Changes to a SmartX


Sensor
When changes occur in the SmartX Sensor configuration while the SmartX IP
controller is offline, you may need to download those change from the
EcoStruxure BMS server once communication between the server and controller
is re-established. These changes are automatically downloaded from the
SmartX IP controller to the SmartX Sensor when an attached sensor is
operational (that is when the sensor is correctly addressed and connected to the
SmartX IP controller).

NOTICE
In EcoStruxure BMS, all online changes are automatically downloaded to a
SmartX IP controller when you click Save
Save. Once the attached sensor is
operational, the SmartX IP controller automatically downloads these
configuration changes to the SmartX Sensor without any user intervention.

For more information, see section 104.1 “SmartX Sensors” on page 3513.

To download changes to a SmartX Sensor


1. In WorkStation, in the System Tree pane, select IO Resources under the
SmartX IP controller.
2. Select Sensor bus
bus.
3. In the List View
View, select Room Unit Device
Device.
When your SmartX Sensor is offline and changes have occurred, the
Download required icon displays next to the sensor in WorkStation.
4. In the Actions menu, click Room Unit and Download
Download.

Technical 04-30006-02-en, May 2019


2434
78 SmartX Sensors
78.6 Uploading Changes to a SmartX Sensor

78.6 Uploading Changes to a SmartX Sensor


When changes are performed in the SmartX Sensor configuration via a third-
party, you must ensure that the SmartX Sensor is updated in the EcoStruxure
BMS server database. For example, when the eCommission SmartX Controllers
Tool is used to change the Calibration offset in the SmartX Sensor Temperature
object, you should perform an upload in the SmartX Sensor.
For more information, see section 104.1 “SmartX Sensors” on page 3513.

To upload changes to a SmartX Sensor


1. In WorkStation, in the System Tree pane, select IO Resources under the
SmartX IP controller.
2. Select Sensor bus
bus.
3. In the List View
View, select Room Unit Device
Device.
When your SmartX Sensor is offline and changes have occurred, the
Upload required icon displays next to the sensor in WorkStation.
4. In the Actions menu, click Room Unit and Upload
Upload.

04-30006-02-en, May 2019 Technical


2435
78 SmartX Sensors
78.7 Configuring SmartX Sensor Occupancy

78.7 Configuring SmartX Sensor Occupancy


You configure SmartX Sensor occupancy to specify the sensitivity of the
occupancy sensor. Since the sensor detects the presence of people in a room,
the higher the sensitivity setting, the more likely it is to respond to their presence.
For more information, see section 104.1 “SmartX Sensors” on page 3513.

To configure SmartX Sensor occupancy


1. In WorkStation
WorkStation, in the System Tree pane, expand the SmartX IP controller
and then select IO Resources
Resources.
2. Expand Sensor bus
bus.
3. Select Room Unit Device
Device.
4. In the List View
View, select Occupancy
Occupancy.
5. On the File menu, click Properties
Properties.
6. Click the Basic tab.
7. Edit the Basic properties.
Property Description

Value Displays an orange button if the


Associated value is not configured.
When configured, displays the current
value for the point under the following
conditions:
• Unforce: Displays a forced value.
Enter a forced value or click to
release the value.
• Force: Displays a non-forced
value. Click to force the value.
For all BACnet inputs, a Forced
condition is the same as out of service.
For more information, see the Forced
Values topic on WebHelp.

Status flags Displays the condition or status of the


BACnet value. For more information,
see section 111.10 “BACnet Status
Flags” on page 3885.

Out of service Select True to disassociate the Value


from the physical output. Out of service
is primarily used for testing and
troubleshooting purposes, and for
override when an object is not
commandable.

Reliability Displays the reliability of the object. For


more information, see section 98.8
“SmartX IP Controller Reliability ” on
page 3403.

Technical 04-30006-02-en, May 2019


2436
78 SmartX Sensors
78.7 Configuring SmartX Sensor Occupancy

Continued
Property Description

Event state Displays Off Normal when alarming has


been configured and the point is in an
alarm state. Otherwise, it displays
Normal
Normal.

Sensitivity Enter the sensitivity of the occupancy


sensor as a percentage, with 0% being
the lowest and 100% being the highest
sensitivity values.

8. Click the Advanced tab.


9. Edit the Advanced properties.
Property Description

Object ID Displays the BACnet object type and


instance number of the device.

BACnet name View the name of the BACnet object or


type a new name to change the name.

BACnet type Displays the type, such as device or


analog value.

Profile name Displays the unique name of the profile


that describes the characteristics of the
object, such as additional properties,
behaviors, or requirements.

10. Click OK
OK.

04-30006-02-en, May 2019 Technical


2437
78 SmartX Sensors
78.8 SmartX Sensor Display Properties

78.8 SmartX Sensor Display Properties


You use the SmartX Sensor Display property tabs in WorkStation to view and
configure the UI features of the various sensor models within your control
application.

78.8.1 Basic and Advanced Property Tabs


The Display Basic tab properties includes the same General Information you
find on all

You might also like