EXO 2005 Step by Step
EXO 2005 Step by Step
Training
Östen Tordenmalm
•[email protected]
•Phone: +46 (0)418 44 67 21
•Mobile: +46 (0)708 42 83 28
Technical Support
Patrik Brander
•[email protected]
•Phone: +46 (0)418 44 67 23
1
EXO System Products Part I Chap. 3: Products
• Controllers
– EXOflex
– EXOcompact
– Corrigo E (preprogrammed EXOcompact)
– EXOflex Open Web (EHOW)
Corrigo E
Same hardware as EXOcompact
Preprogrammed for HVAC or heating applications
EXOline or Modbus protocol
Can not be used for other applications
2
EXO System Products
Part I Chap. 3: Products
• Software •Software
– EXOdesigner
– EXO4 SCADA
– EXO4 Web Server
– EXO OPC Driver
– EXOreport
– e-tool for Corrigo E configurations
EXOdesigner
To design EXO systems: communications, controllers, controller functions, with or
without EXO4 SCADA
A software package that consists of:
•Project Builder (replaces EXOapt) for system structure design
•Configuration tools for standard controller functions like Alarms&Events,
Display, Logging, object programming
EXO4 SCADA
Operator software for process visualisation & supervision, alarm handling, data
collection
Windows 2000/XP
Network functions
EXOline protocol using different types of communication medias
EXO OPC driver
OPC Server with EXOline protocol to controllers
To be used with any OPC Client software
EXOreport
Generates general purpose reports: daily, monthly etc
Historical database access
Excel based
e-tool
To configure Corrigo E preprogrammed controller functions
Visualisation of controller status
3
This page is intentionally left blank
4
Controllers
5
EXO controllers in general
• Free programmable
– Objects, High Level Language
– All resources accessable from software
• Multitasking Real Time Operating System
– 15 user defined program tasks (cycle times, priorities)
• Real Time Clock (battery backed up)
• Battery backed up program/data memory (10 years)
• EXOline protocol
• Backwards compatible since 1986
Free programmable
Object programming using standard functional objects from a library
•General purpose objects
•Building automation objects
•Input/output objects
•Communication objects
Code programming
•EXOL high level language (similar to Basic, Pascal)
Multitasking Real Time Operating System (EXOreal)
The controller software (objects, EXOL code) is stored in program task files and
these are downloaded as separate tasks
The tasks are running independently of each other and they have individual cycle
times and priorities
Cycle times from 100 ms up to 25 seconds
Real Time Clock
Battery backed up and keeps the time for 10 years
EXOline protocol
For communication between computers and controller
For communication between controllers
Backwards compatible since 1986
EXOreal, EXOline protocol
New functions added but no functions removed
6
Free programmable Controllers
EXOcompact EXOflex
7
EXOcompact Part II Chap. 6
•Controllers
EXOcompact
fixed number of I/O
3 sizes: 8, 15 or 28 I/O
With/without integrated display
•4x20 characters
1 EXOline communication port
•RS485 on port #1
•TCP/IP on port #1 (option)
•External modem PSTN or GSM on port #1
24 VAC power supply. Can be powered from 24 VDC but then can not DO be used.
Other options
•LON
•External display 4x20 characters (if no integrated display)
8
EXOcompact Part II Chap. 6
•Controllers
E8 E15 E28
DI 24 VDC 3 4 8
DO 24 VAC (triac) 2 4 7
9
EXOflex Part II Chap. 6
•Controllers
PIFA cards
EXOflex
4 sizes
2, 4, 6 or 8 slots fo PIFA cards
Modular PIFA I/O cards (Process InterFace Adapter)
Can be extended with Expansion units for additional PIFAs
24 VDC
External display ED9200
LON PIFA available
1-3 comm. ports
RS485 or RS232, selectable for all ports (#1, #2 and #3)
TCP/IP PIFA available (port #2 or #3)
Internal PSTN as option (port #3 only)
EIB as option (port #2 or #3)
Modbus, M-Bus, SIOX
10
EXOflex Part II Chap. 6
•Controllers
DI 24 VDC
DO 24 VDC
0-10 V, 0-200 mV, 0-20
AI mA, Pt100, Pt1000,
Ni1000, 0-2000 Ω
AO 0-10 VDC
11
EXOflex Units
• Processor Units • Expansion Units
– EH11 – EH10
– EH21 – EH20
– EH31 – EH30
– EH41 – EH40
EHnn
Number of section
Number of processors
12
EXOflex PIFAs
PIFA type PIFA function
EP1011 Power PIFA, 4 DI, 4 DO,
1 serial
EP2032 32 DI
EP3016 16 DO
EP4024 16 DI, 8 DO
EP5012 12 AI multisensor
EP6012 12 AO
EP7218 12 AI, 6 AO
EP7408 8 mixed I/O, 1 serial
EP7416 16 mixed I/O
EP8101/02 1 serial/2 serial
EP8210 LON
EP8280 TCP/IP
Model Description
EP1004 Power PIFA for extender
EP1011 Main Power PIFA
EP2032 32 DI Multifunction PIFA
EP3016 16 DO Multifunction PIFA
EP4024 16 DI / 8 DO mixed Multifunction PIFA
EP5012 12 AI Multisensor PIFA
EP5112 12 AI Multisensor PIFA
EP6012 12 AO Voltage Multifunction PIFA
EP7218 12 AI / 6 AO mixed Multifunction PIFA
EP7408 8 Mixed I/O PIFA
EP7416 16 Mixed I/O PIFA
EP/EX7601 Access Control PIFA/Unit
EP8101 Basic Serial PIFA
EP8102 Dual Basic Serial PIFA
EP8210 EXOlon PIFA
EP8280 TCP/IP PIFA
EP9040 LOT (Local Operator’s Terminal)
Modem 9011 PTT Modem (Option 9011)
Model 9035 Battery Charger/UPS (Option 9035)
EP0000 Blind PIFA
13
PIFA naming
EPnnnn
PIFA type
•1: Power Number of I/O, ports
•2: DI
•3: DO
•4: Mixed DI/DO
•5: AI
•6: AO Examples:
•7: Mixed I/O • EP5012: 12AI
•8: Comms • EP4024: 16DI, 8DO
•9: Other • EP8102: Dual Basic Serial
Variant
14
EXOflex Display
ED9200
Display ED9200
4x20 characters
Text/values freely configurable
200 m cable
Numerical key pad
Navigation keys
Alarm LED
15
PIFA positions Part II Chap. 6
•Controllers
Base address + 1
EFX channel:
Serial bus for data transfer internally between CPU and all PIFAs
RS485, 115 kbits/s
Also external to expansion units and display ED9200
Max 200 meters
Two connection possibilities:
•Permanent connection with screw terminals
•Temporarily connection with USB connector in PIFA front
16
Project planning
17
Projects Part I Chap. 5
•Projects
Computers
TCP/IP
Communication
channels
RS485
Areas
Stations
Controllers
Controllers are grouped into Stations. All controller must belong to a Station.
Stations can optionally be grouped into Areas. An Area could be a city or a part of a city or a
building area. Areas can be grouped into bigger areas in many levels. The Area attribute is
mainly used in EXO4 to select alarms in alarm reports etc. For instance in a big project with
many controllers the alarm status report can contain a long list of alarms, but you are perhaps
only interested in alarms from a certain building area with 5 controller stations. Then in EXO4
alarm status report you can select the area as a filter to show only alarms from that area (or
Station or a single controller)
18
Projects
Station Master
Station Slaves
Why should the controllers be grouped into a station with a Station Master and Slaves instead
of having all controllers as separate Station Masters?
-If the Communication channel is a dial up line then all controllers in the Station will
share the same PSTN modem connected to the Master controller
-If you want to be able to view and to acknowledge all alarm messages from all
controllers on one display
-If you want to transfer data from one controller (Master or Slave) to another
controller (Master or Slave) this can be done with software in the Station Master. Two
Station slaves cannot communicate directly with each other.
A Station Master controller with at least one Slave controller must have two communication
ports: one slave port for computer connection and one master port for slave controller
connection. So it must be an EXOflex controller.
A Station Master controller with no slaves can be an EXOflex or EXOcompact controller since
only one port is needed for computer connection.
19
Projects
EXO4 Main Computer
(EXO4 server)
EXO4 Computers
In a Project with EXO4 Computers one of them has to be an EXO4 Main Computer
(EXO4 server)
•Connections to Controller Stations (COM ports, USB ports, Ethernet)
•Historical database(s)
•Alarm printer(s)
An EXO4 Project can also have one or several EXO4 Work Stations (EXO4 Clients)
•No communications lines except network connection to the Main Computer
•No database
•No alarm printer
An EXO4 Work Station will have the same functionality as the Main Computer has. It
can communicate with the controllers through the Main Computer and it can get data
from the historical database.
20
Communication
21
EXOline protocol Part II Chap. 7
•EXOline communication
Half duplex
Master requests and slave responds are separated in time and the same line can
then be used for both requests and responds just by switching the communication
direction. This is called Half duplex communication and then half duplex
communication lines can be used:
•RS485
•PSTN and GSM modems
•Radio modems
Of course full duplex lines can also be used:
•RS232, but Tx (transmit) and Rx (received) are not used simultaneously
•RS422 (converted to RS485: R+ connected to T+ and R- connected to T-)
22
Communication lines Part II Chap. 7
•EXOline communication
• RS485
• RS232
• Telephone lines
– PSTN modems (Public Switched Telephone Networks)
– GSM modems
– Leased Lines
Telephone lines
Between computers and controllers
PSTN (Public Switched Telephone Networks)
•PSTN modem normally connected to a RS232 computer or controller port. For
EXOcompact a RS485 PSTN modem is available
GSM
•GSM modem connected to a RS232 port. For EXOcompact a RS485/RS232
converter to be connected between EXOcompact and the modem is available
Leased lines
•Leased line modems connected to a RS232 computer or controller port
•Like a PSTN modem but without dialing (no telephone numbers)
23
Communication lines Part II Chap. 7
•EXOline communication
• Radio links
• TCP/IP
Radio links
Between computers and controllers
Between controllers
Up to 19 200 bps
Low Power Radios: up to 5 km
Several suppliers of modems
RS232 or RS485 modem versions available
TCP/IP
Between computers and controllers
TCP/IP used as a transport protocol for EXOline
Occupies a serial port in the controller
EXOcompact option
•Slave only
•Not possible to add in field
EXOflex PIFA
•Slave only. Old PIFAs have a master function
24
Master – slave communications
Two things are needed for
communication between Master and
Slaves in a Station:
• Master function in controller
M
– Software scanning for alarms in the
slaves
S
• A communication line between the R
Master and the Slaves M
S
– Station Master’s port should be setup as a
master port (M) S
– Station Slaves’ ports should be setup as
slave ports (S)
A Station Master controller has a Master controller function. To be able to act as a Master
controller its serial ports must also be configured correctly:
One port must be configured as a slave port to receive requests from EXO4 computer
One port must be configured as a master port to send requests to the slave
controllers within the Station
A route must be configured from the slave to the master port in order to give EXO4
access directly to the Slave controllers through the Master
On each communication line (between EXO4 Computer and Station Masters or between
Station Master and Slaves):
Only one master port
All other ports must be configured as slaves
25
This page is intentionally left blank
26
EXOdesigner
27
Training setup
EXOcompact
Serial
Port #1 (RS485)
EXOcompact 28D
I/O
28
Training setup
EXOflex
EXO4
COM1 (RS232)
Serial
Port #1 (RS232)
Training Kit
I/O
EP1011
EP7416
ED9200
I/O
29
Project Builder Part III Chap. 8.
Create a
new
project
Open an
existing
project
Project Builder
When project Builder is started for the first time only 2 buttons are visible:
New Project: to create a new project
Open Project: to open an existing project (EXO 2005 project)
30
Example Project Part III Chap. 8.
Project Example
Smalltown
EXO4
City
CityHall1
CityHall
Library
The example project (Smalltown) that will be used in the exercises contains:
EXO4: 1 Main Computer
An area called City containing two Stations:
•CityHall
Station Master CityHall1
•Library
Station Master Library1
Station Slave Library2
Station Slave Library3
Station Slave Library4
31
Exercise Part III Chap. 8.
Creating a New Project
Exercise
32
Project Builder Part III Chap. 8.
Create and configure
Comm. Channels
Small Town
Project
Computer
Communication Channel
City
Library City Hall
When adding the Example Station not only controllers and their example software are added
but also a set of EXO4 windows for these controllers.
An overview window
Process windows for Example2, Example3 and Example4 controllers
When adding a Controller Station it will by default be connected to the Serial Communication
Channel.
Check the Serial communication channel to see that it is correct configured regarding PC
connection (COM port) and speed. If you are using another port than COM1 (for instance if
you have an USB converter) you’ll have to change the channel configuration.
33
Part III Chap. 8: Controller and
Exercise Stations
•Create a Station and a Controller ...
Add area, station and controller
Small Town
Area
City
Station
Library CityHall
Station Master
Exercise
Add
An Area named City.
•Press New
•Select group General objects to the left and then Areas to the right and the Add
A Station
•Name: CityHall
•Title: City Hall (with space)
•Please notice that Serial channel is the default for a new Station
A Controller (Station Master) in station CityHall
•Select group General objects to the left and then Controller - with standard functions to the
right and then Next
•Select Controller model: EXOcompact 28 or EXOflex and then Next
•Answer Yes for a display and then Next
•Select all optional functions: Alarms and Events, Logging, Time Scheduling and then Finish
•The controller’s name will automatically be set to: CityHall1
•Change Title to: City Hall 1 (with spaces)
Please note that an area can only be added at the Controller level. Stations can belong to areas
Exercise
Move the station Example to the area City and rename the station to Library.
Select station Example
Cut (Ctrl/X)
Highlight the area City
Paste (Ctrl/V)
Rename station to Library. All controllers in the station will automatically be renamed:
•Library1 (Station Master)
•Library2
•Library3
•Library4
34
Controller’s address Part III Chap. 9.
Configure the address
of the Controller
Each controller in the project must have a unique EXOline address. The controller’s address
consists of two numbers and the combination of these two numbers must be unique for each
cocntroller in the project:
PLA: 1-239 (PLA 240-255 is reserved for special purposes)
ELA: 1-255
Which gives 239*255= appr. 60 000 different addresses
All controllers in a Station must have the same PLA address and consecutive ELA addresses
and the Station Master has the lowest ELA address. For instance if the Station Master has the
address 5:7 (PLA=5, ELA=7) then the address of the first Slave controller in the station should
be 5:8, second slave 5:9 and so on.
35
Cold/cool start Part III Chap. 9. Cold
Start, Cool Start ...
• Cold start
– Back to factory settings (address, communication
parameters, erase programs and data)
• Cool Start
– Erase programs and data but keep address and
communication parameters
Cold start
-All application programs are cleared.
-The controller’s address is set to 254:30.
-All communication port parameters are reset to their default values (slave with the
communication speed 9600 bits/s).
To perform a Cold start:
Reset Controller command
EXOtest command COLDS
Manually:
•EXOflex: short cicuit two pins on back plane board
•EXOcompact: activate a switch through a hole on the right side of the
enclosure
Part of Setup Controller command
Cool start
All application programs are cleared.
Address and comm. parameters unchanged
To perform a Cool start:
First step in Load Controller
EXOtest command COOLS
36
Exercise
Part III Chap. 9.
Set the Address of the
Controller
Setup the controller
Exercise
1) Setup command
Select the controller and press the Setup button.
A setup window will be opened where you can see the controller’s current address
and its serial number (if any). It is also possible to uncheck some of the steps in the
setup sequence, for instance if you don’t want to download any programs or if you
don’t want to synchronize the controller’s real time clock with the PC’s time.
Should only be used once, before the controller is connected to the controller network.
37
Controller Operating System
EXOreal
• EXOreal
• Multitasking Real Time Operating System
• Controller Software in Program Tasks
• Data stored as variables in Data Packages
(DPacs)
All EXO controllers have a Multitasking Real Time Operating System called EXOreal. It can
handle up to 16 program tasks. The priorities and cycle times for each task will determine
which program task that will be executed at a specific time. Task with low priority will be
halted if it’s time for a task with higher priority to be started, and when the high priority task
has been executed the low priority task will continue where it was stopped.
EXOreal has been backwards compatible since 1986. That means that no functions have
been removed but several functions have been added through the years. Lika other software
also EXOreal has a version number: 2.8-1-27
-2.8 is the major an minor version number. The major version number will only be
changed for a new version that is not compatible with the former version. The minor
version number is changed when a new function is added.
-27 is the revision number that is changed for minor changes/additions.
--1- means an official release and -0- mean a non offical beta release
EXOreal is stored
-In a PROM (EXOflex)
-In a flash memory (EXOcompact)
38
Program Tasks
0 15
Tasks
If ExtTemp < 17
Pumpstart = True!
Destination task files for object code
Else
If ExtTemp > 20
PumpStart = False!
Endif
Endif
39
Data Packages, DPacs
VPac BitPac
R Outdoortemp 14.2 32 0.01
L Pumpstart 11.4 21 0.24
X PumpMode 12.6 22 0.15
• Three types of DPacs R .StartTemp=17
.
.
.
.
.
.
.
– VPac .
.
. . .
variables)
– BitPac
VPac
Each VPac is a long list of variable declarations: type, name (and ev. default value). If
a variable is declared in a VPac its name can be used as a reference in the program
code or in the display configuration to visualise its value.
Ex.: R StartTemp = 17
•declares a variable of type real and with the name Starttemp and with a
default value of 17 when the VPac is downloaded to the controller
A controller have normally several VPacs.
QPac
Part of EXOreal. Same as VPac but for system variables. Shall not be downloaded.
BitPac
Binary values, no name references
For data storage (alarm stack, logger buffers)
40
Data types
Real Time data is stored in variables (or tags or points). Each variable has:
A name: up to 40 characters. Ex. OutDoorTemp
A type and a value
-L for Logical (0 or 1)
-X for Index (0-255)
-I for Integer (-32768 to +32767)
-R for Real or floating point (-3.3*10^38 to +3.3*10^38). Standard IEEE 32 bits
floating point format.
41
Controller Functions Part III Chap. 9.
Configure the
Controller Functions
Alarms and Events Scanning for alarm conditions for existing alarm
points.
Controller functions
EXO controllers are delivered without any downloaded software functions. Everything regarding
alarm handling, display, data logging, control and automation functions etc must be
programmed and downloaded to the controller. In EXO 2005 application library there are several
prepared software for standard controller functions (one program task and one or several VPacs
for each controller function).
The controller functions above are all included in the different controller templates:
EXOflex, EXOcompact with Heating System function (preconfigured)
EXOflex, EXOcompact with Air Handling function (preconfigured)
EXOflex, EXOcompact with standard functions (not configured)
42
Controller Functions Part III Chap. 9.
Configure the
Controller Functions
Tools
Controller Function
Tools
• I/O
• Objects
• Display
• Alarms
• Data logging
• Time Scheduler
43
Add/Remove Functions
Part III Chap. 9.
Adding more Controller
Functions
The application library contains other control functions than these mentioned above, for
instance:
EXOcompact LON profiles
SMS alarm sender
There are also other control functions available that are distributed separately and not part of
EXO 2005, like:
Modbus Master
Meter Readings
To remove a function
Highlight the function you want to remove
Menu Edit/Delete
To add a function:
Click on New button
Select a Function Group to the left
Select one or several Controller Functions to the right
Click on OK button
44
Exercise
Heating system
45
Exercise Part IV Chap. 12
•Inputs and Outputs
EXOcompact I/O Configurations
Exercise
EXOcompact I/O Configurations
The sensors and the valve should be connected to the controller like this:
Analogue inputs (Pt1000)
•AnaIn1: OutDoorTemp
•AnaIn2: SupplyTemp
•AnaIn3: ReturnTemp
Analogue Outputs (0-10V)
•AnaOut1: ControlValve
Digital Inputs
•DigIn2: ExpVessel
46
Exercise
Part IV Chap. 12
•Defining PIFA units
with EXOflex I/O
EXOflex I/O Configurations
Port #1 (RS232)
Pos. 0 I/O
EP1011 Pos. 1
EP7416 Pos. 2
ED9200
I/O
Exercise
EXOflex PIFA setup
47
Exercise Part IV Chap. 12
•Analogue Inputs (AI)
Exercise
EXOflex I/O Configurations
The sensors and the valve should be connected to the controller like this:
Analogue inputs (Pt1000)
•AI2_1: OutDoorTemp
•AI2_2: SupplyTemp
•AI2_3: ReturnTemp
Analogue Outputs (0-10V)
•AO2_1: ControlValve
Digital Inputs
•DO2_2: ExpVessel
48
Part IV Chap. 13.
Controller Objects Programming with
Objects
EXOcompact
EXOcompact
hardware
Software
SupplyTempSetpoint SupplyTempControl
OutDoorTemp Control
SetP
AnaIn1 (°C) Curve
(Pt1000)
ControlValve
PID Out AnaOut1
(0-10V)
AnaIn2 SupplyTemp
In
(Pt1000)
AnaIn3 ReturnTemp
(Pt1000)
DigIn2 ExpVessel
Port #1
The most efficient way to program a controller is to use the Object programming method. With
the object programming tool you select Controller objects from the application library, rename
them, connect them to analogue and digital inputs and outputs and connect them to each
other to get the desired function from controller inputs to outputs.
A controller object
Has input, output and parameter signals
•To be connected to other objects’ signals or I/O or variables
Has well defined functionality from input to output
•Documented in manuals
Is thoroughly tested
Is stored in the Application Library
Contains EXOL code
Can be customer designed and stored in the same library
49
Part IV Chap. 13.
Controller Objects Programming with
Objects
EXOflex
EXOflex hardware
Software
SupplyTempSetpoint SupplyTempControl
OutDoorTemp Control
SetP
Ai2_1 (°C) Curve EP7416
(Pt1000) EP7416
ControlValve
PID Out Ao2_1
(0-10V)
Ai2_2 SupplyTemp
In
(Pt1000)
Ai2_3 ReturnTemp
(Pt1000)
Di2_2 ExpVessel
Port #1
Controller objects
For EXOcompact see previous page
The most efficient way to program a controller is to use the Object programming method. With
the object programming tool you select Controller objects from the application library, rename
them, connect them to analogue and digital inputs and outputs and connect them to each
other to get the desired function from controller inputs to outputs.
A controller object
Has input, output and parameter signals
•To be connected to other objects’ signals or I/O or variables
Has well defined functionality from input to output
•Documented in manuals
Is thoroughly tested
Is stored in the Application Library
Contains EXOL code
Can be customer designed and stored in the same library
50
Part IV Chap. 13.
Exercise Programming with
Objects
Controller Objects
Exercise
51
Part IV Chap. 13.
Exercise Programming with
Objects
SupplyTempSetpoint SupplyTempControl
OutDoorTemp Control
SetP
AnaIn1 (°C) Curve
(Pt1000)
ControlValve
PID Out AnaOut1
(0-100%) (0-10V)
AnaIn2 SupplyTemp
In
(Pt1000) (°C)
Exercise
For EXOflex see next page
Connect the Input signal of the object SupplyTempSetpoint to the analogue input
Outdoortemp
Connect the Input signal of the object SupplyTempControl to the analogue input Supplytemp
Connect the Setpoint signal of the object SupplyTempControl to the output signal of the object
SupplyTempSetpoint
Connect the Output signal of the object SupplyTempControl to the analogue output
ControlValve
52
Part IV Chap. 13.
Exercise Programming with
Objects
SupplyTempSetpoint SupplyTempControl
OutDoorTemp Control
SetP
Ai2_1 (°C) Curve EP7416
(Pt1000) EP7416
ControlValve
PID Out AnaOut1
(0-100%) (0-10V)
Ai2_2 SupplyTemp
In
(Pt1000) (°C)
Exercise
For EXOcompact see previous page
Connect the Input signal of the object SupplyTempSetpoint to the analogue input
Outdoortemp
Connect the Input signal of the object SupplyTempControl to the analogue input Supplytemp
Connect the Setpoint signal of the object SupplyTempControl to the output signal of the object
SupplyTempSetpoint
Connect the Output signal of the object SupplyTempControl to the analogue output
ControlValve
53
Part IV Chap. 13.
Exercise Programming with
Objects
Controller Objects
Exercise
Object connections
Connect the PID controller’s setpoint input to the output of the Control Curve object:
Highlight the object SupplyTempControl
Click on the attribute: Set Point to open the browser
Expand Objects
Highlight SupplyTempSetpoint object
Select the signal SupplyTempSetpoint_Output
Click on Change
54
Downloading Part III Chap. 9.
Loading Programs to
the Controller
General Controller
Tools
•Load Controller
Downloading
Exercise
Download the software to the controller using the Load Controller command
55
Debugging Part III Chap. 9.
Debugging
General Controller
Tools
•Debug Browser
Debugging
For debugging (testing) the controller and its software there is a debug browser available in
Project Builder. With the browser you can browse to a specific controller, its inputs, outputs or
VPac/QPac variables and then use the EXOtest tool for direct communication with the
selected controller.
56
Exercise Part III Chap. 9.
Debugging
Debugging I/O
Exercise
Use the Debug browser to open EXOtest for debugging the analogue inputs OutdoorTemp,
SupplyTemp andReturntemp
Highlight controller CityHall1
Highlight Analog Inputs
Click on Debug button to open EXOtest
Click on Run button to start EXOtest polling
57
Exercise Part III Chap. 9.
Debugging
Debugging objects
Exercise
Use the Debug browser from Object Tool to open EXOtest for debugging the
SupplyTempSetpoint object:
Highlight controller CityHall1
Open Object Tool
Highlight SupplyTempSetpoint object
Click on Debug button to open EXOtest
Click on Run button to start EXOtest polling
58
Display Part IV Chap. 14: Display
•Menus
•Dialog Boxes
Menu items, Dialog boxes
Display
All variable values in the controller can be showned on and/or modified from the display. The
texts and values on the display are organised in Menu items and Dialog boxes:
Menu items
•One menu item per line
•All menu items will appear in a scrolling list with 4 items visible on the diplay
at a time
•Arrow (>) indicates selected item
Dialog boxes
•One box at a time visible on the display
•Static text and up to 8 dynamic values (variable values) in one box
•Arrows (↑↓) indicates if more boxes are available for scrolling up and/or
down
Project Builder has a tool: Dialog tool to configure Menu items and Dialog Boxes. Each menu
item or box corresponds to one line in the tool’s list of items to the left, and with the details for
each item/box in the Display text box to the right.
59
Display Part IV Chap. 14: Display
•Tree Structure
Tree structure
Display
The Menu items and the Dialog boxes are organised in a tree structure where you navigate
between boxes/items on the same level using up(↑) and down (↓) arrow keys. The tree
structure can have many levels (to the right in the picture above) and to go from one level to
another the right (→) and left (←) arrow keys should be used. If there are too may levels it will
be difficult to find a specific box. In the item list to the left in the tool an indention one step to
the right means next level. So items on level 1 are in the leftmost position; level 2 items are
indented one step and so on:
Level 1
Level 2
Level 3
The first level is normally used only for menu items with one ”system box” on top. The display
will return to the system box if no key has been activated within 2.5 minutes.
The tool also has a display emulator with which you can check the positions of the values.
You can also click on the emulator’s key to navigate in the item list in the tool.
60
Display Part IV Chap. 14
Authorities
Authorities
Display
For each variable value in a Dialog box you can select if the operator will be able to modify
the value or not by selecting:
Maneuverable: Yes or No for each individual value
For each value you can also specify which access level of 5 available levels you’ll have to
logon to to be able to change the value:
Access level: Admin, High, Normal, Low or None
61
Exercise Part IV Chap. 14
Operation
Display
Exercise
Log off
62
Exercise Part IV Chap. 14
•Configuration
Display •Example 1
For each configured variable (Variable 1 -8) in a dialog box there will be a @ character that indicates
the leftmost position of its value: @1 for variable 1, @2 for variable 2 and so on. If you want to move
the position just use cut and paste.
You must have several spaces between for instance @2 and the following unit ”sec” in the picture
above for the value. Otherwise the value will overwrite the unit.
Exercise
Add a new Dialog box to the right of Control temp where it should be possible to change P gain and I
time of the Supply temperature PID controller.
P Gain:
VPac: StdObjs1.dpe
Variable: SupplyTempControl_PGain
1 decimal
I time:
VPac: StdObjs1.dpe
Variable: SupplyTempControl_ITime
No decimal
63
Exercise Part IV Chap. 14
•Configuration
Display •More Dialog Boxes
°: Alt 2 4 8
Exercise
64
Alarms and Events Part IV Chap. 16
Type (priority)
A, B: must be acknowledged to disappear from display
C: disappears from display when returned to Normal. No need for acknowledgement
D: digital events, never showned on the display. Used to store normal events (pump
started, pump stopped) in the historical database in EXO4
A,B,C in EXO4 Alarm Status Report
D in EXO4 Digital Status Report
Input: a boolean expression or a logical variable that will trigger the alarm. Example:
SupplyTemp > 87 (boolean expression)
ExpVessel (a digital input is a logical variable)
Delay type and Delay time: Sometimes a delay before the alarm is triggered is wanted.
Switch-On: The alarm condition must be true at least for the delay time to trigger the
alarm
Switch-Off: The alarm condition must be false at least for the delay time to get a
healthy alarm point
65
Alarms and Events Part IV Chap. 15
•Alarm Status and
Alarm Events
• Alarm events
– Switch On
– Switch Off
– Acknowledge
– Block
– Unblock
• Digital events
– Switch On
– Switch Off
Alarm events. For alarm points of type A, B or C following alarm events will be stored in the alarm stack
and transferred to EXO4 historical database:
Switch On: the alarm point goes from 0 to 1 (false to true)
Switch Off : the alarm point goes from 1 to 0 (true to false )
Acknowledge: operator’s acknomledgement
Block: the alarm point is disabled. If disabled it can not be triggered.
Unblock: the alarm point is enabled again.
Digital events. For alarm points of type D following digital events will be stored in the alarm stack and
transferred to EXO4 historical database:
Switch On
Switch Off
All alarm and digital events are stored in the alarm stack together with their time stamps.
66
Exercise Part IV Chap. 16
•Configuration
Alarms and Events
SupplyTempControl
Alarms and Events
AlaManual ManualSupplyControl
Alarm points
PID ExpansionVessel
ExpVessel
Exercise
Generate alarms
Debug AlaPts.dpe and AlaData.dpe
Project Builder/Debug Browser/Dpac/AlaPts.dpe→Debug
Project Builder/Debug Browser/Dpac/AlaData.dpe→Debug
Debug Controller’s Sum Alarm information
Project Builder/Debug Browser/Dpac/Alarms.dpe/AlaModStat→Debug
67
Alarms and Events Part IV Chap. 16
•Alarm Status and
Alarm status Alarm Events
Error Expansion
Alarm text Vessel
Date 23 Sep 11:49 Class:A Type
Acknowledged
Status
•Acknowledged (acknowledged but still error)
•Returned (OK but not acknowledged)
•Blocked
•Blank (Alarmed)
Alarm status
VPac AlaPts.dpe contains variables with alarm state information for each alarm point
0: Normal or 1: Tripped
VPac AlaData.dpe contains variables with alarm status information for each alarm point. Each
status corresponds to a variable value. The alarm status is showned on the display together
with the Alarm text, Type and Time if the status is not Normal.
1: Normal
2: Blocked
3: Acknowledged
5: Returned
7: Alarmed
68
Part IV Chap. 13.
Exercise Programming with
Objects
SupplyTempControl
Alarms and Events
AlaManual ManualSupplyControl
PID ExpansionVessel
SupplyTemp ExpVessel
In
SupplyTempAlarm
Analog HighAlarm SupplyTempHiAla
Limit &
Alarm LowAlarm SupplyTempLoAla
HighAlarmLim=90
LowAlarmLim=40
Exercise
69
Exercise
Display
Heating System 01
05:12:13 08:33
Exercise
70
Exercise
Display
Heating System 01
05:12:13 08:33
Exercise
71
Part IV Chap. 13.
Exercise Programming with
Objects
Objects, EXOcompact
CP
Start In
CircPumpStart
Start Out DigOut1
Exercise
EXOcompact. For EXOtest see next page
72
Part IV Chap. 13.
Exercise Programming with
Objects
Objects, EXOflex
CP
EP7416
Start In
CircPumpStart
Start Out Do2_1
Exercise
EXOflex. For EXOcompact see previous page
73
Time Control Part IV Chap. 18
Time Control
•Time Schedules
Time schedules
can be used for time control, i.e. switch-on/off of pumps, fans and lighting.
consist of a number of switch-on/off times for the various days of the week and
holidays.
are created and configured with the Time Schedules tool.
74
Time Control Part IV Chap. 18
Time Control
•Time Schedules
• Weekplans
– Monday StartStopPlan1
– Tuesday StartStopPlan1
– Wednesday StartStopPlan1
– Thursday StartStopPlan1
Dayplans
– Friday StartStopPlan1 • Start-Stop Plans
• Run Time Plans
– Saturday StartStopPlan4 • Interval Plans
– Sunday StartStopPlan4
– Holidays StartStopPlan4
Two different objects using two different week plans can in this way use the same day plan a
certain week day but different day plans other week days.
75
Time Control Part IV Chap. 18
Time Control
Presentation •Presentation
>HVAC1
HVAC2 HVAC1
Lights Mon: StartStoPlan01 StartStopPlan01
Locks Mode: Auto 0800-1600 0000-0000
Current state:Off 0000-0000 0000-0000
HVAC1
StartStopPlan04
Sun: StartStoPlan04
0800-1200 0000-0000
Mode: Auto
0000-0000 0000-0000
Current state:On
The Time schedules can be inspected and modified on the display or in an EXO4 window.
76
Exercise Part IV Chap. 18
Time Control
Time Control •Example
Exercises
Time Schedules
Day Plans
•Rename StartStopPlan01 to LightsOnTime
•Delete all other Day plans
Week Plans
•Rename WeekPlan01 to LightsOnWeek
•Connect all week days and holidays to Day plan LightsOnTime
•Delete all other Week plans
Time Groups
•Rename TimeGroup01 to LightsOn
•Connect the Time group to week plan LightsOnWeek
•Delete all other Time groups
I/O Configuration
EXOcompact: Rename digital output DigOut2: LightsOn
EXOflex: Rename digital output DO2_2: LightsOn
Objects
Connect the output of the Time group to the digital output LightsOn
•Add an object of type EXOL Code
•Name: Lights
•Destination: Fast
•EXOL code: LightsOn = TimeGroupLightsOn
77
Exercise Part IV Chap. 18
Time Control
Display •The Controller Display
Heating System 01
05:12:13 08:33
Exercise
78
Exercise
Time Control
Time Program Object: CP
PumpStart Start In
Start Out
CircPumpStart DigOut1
Exercise
Time Control of Circulation Pump
Time Scheduler
Add 2 new StartStop plans:
•NormalDay Start 07:00, Stop 17:00
•SpecialDay Start 09:00, Stop 15:00
Add a new Weekplan
•PumpstartWeek: Mon-Fri: NormalDay, Sat-Hol: SpecialDay
Add a new Timegroup
•Pumpstart using PumpstartWeek
Objects
The Timegroup Pumpstart should be used to start and stop the pump CP from the
Time Scheduler
•Start In: browse to TimeGroupPumpStart (VPac: TimePro)
79
Data Logging Part IV Chap. 17
•Logging
Stored data in the buffer are transferred to EXO4 historical database at Synchronisation or on
operator’s command.
Data in the buffer can not be visualised on the display
80
Exercise Part IV Chap. 17
•Configurations
Logging •More examples
Exercise
81
Corrigo E Part VII Chap. 27
Controller Templates
Corrigo E
Project Builder has controller templates for Corrigo E. You’ll find them in the template groups
Air handling Controllers and Heating Controllers.
The templates contain DPacs but no controller functions or task files. The browser can be
used for debugging but the controller can not be reloaded.
The templates don’t contain any EXO4 window templates either. But EXO4 can of course
read and diplay the alarms from Corrigo E controllers in the same way as alarms from
EXOflex and EXOcompact controllers.
82
EXO4
Operator program
EXO4 is the operator program in the EXO system. EXO4 is used by the operator to monitor
and control the system processes, monitor alarms and perform alarm maneuvers, display
historic values in reports and charts, from a computer
-Process visualisation (process windows)
-Alarm reports (report windows)
-Historical data display (plot windows)
-Data base handler (MSDE, SQL Server)
-Network functions (EXO4 server, EXO4 clients)
Configuration
EXO4 windows are configured with configuration tools that are opened from Project
Builder. The tools are normally opened by clicking on the buttons of the toolbar or by
using the menu bar command Config.
83
Dongles Part I Chap. 3: Products
•Hardware keys for EXO4
The EXO4 software is protected from unauthorised copying by a hardware key. Depending of
how many I/O points that are installed in the project you’ll need one of the key listed above.
To get the number of installed I/O points in a project you’ll need to count each available I/O
(analogue and digital) in each controller in the whole project.
Project Builder has a tool that calculates the number of connected I/O points in the
controllers:
Highlight the Main Computer
Click on the I/O tool
For EXOflex controllers the 4 DIs and 4 DOs on EP1011 PIFA are not counted.
84
EXO4 Computers
EXO4
Main Computer EXO4
(Server) Work Computers
(Clients)
For each computer type in an EXO4 network an EXO4 computer must be created in Project
Builder.
An EXO4 Server (or Main Computer) is an EXO4 computer with at least one of following:
-Communication with Controllers using a serial COM port or a USB port or a TCP/IP
connection directly to controllers and/or
-An alarm printer connected and/or
-An EXO4 database on a local disk and/or
An EXO4 Client (or Work Computer) doesn’t have any alarm printer, database or direct Controller
communication
In the project above one EXO4 Main Computer and one EXO4 Work Computer must be created.
85
EXO4
Part IV Chap. 15
Window elements
Menu
86
EXO4
Configurations
Configuration Tools
EXO4 Signals
Nimbus Alarm Server
EXO4 Action Categories
Backup Scripts
EXO4 Access categories
EXO4 Users
EXO4 Menu designer
EXO4 Window designer
EXO4 Windows
Configuration Tools
EXO4 Windows
Displays a list of the windows that are defined in the project. From this window you
can start the configuration tool for windows (EXO4 Window Designer) for the selected
window by clicking on the button Config.
EXO4 Window Designer
Opens the configuration tool for EXO4 windows.
EXO4 Menu Designer
Opens the configuration tool for menus for EXO4 windows.
EXO4 Users
EXO4 Users Tool is used to define users.
EXO4 Access Categories
EXO4 Access Categories tool is used to configure user categories for access control
in windows.
Database Backup Script (of Main Computer)
Opens an editor with a script file that controls the copying of the database backup file
to another media, e.g. to another computer in the network where backups are run
regularly. Also see chapter Databases.
EXO4 Action Categories
EXO4 Action Categories is used to configure actions (e.g. print outs) at different
events.
Nimbus Alarm Server
Third party software for rerouting alarms as SMS or emails etc.
EXO4 signals
EXO4 ”variables” (tags) that can be used for transferring data between controller
stations etc
87
EXO4
Window styles
Overlapped
Normal mode. New windows are opened on top of existing windows.
Exclusive
For each new window that is opened another Exclusive window will be closed
automatically. This will keep the number of opened windows limited
System
Each EXO4 system must have at least one window of type System. Closing a System
window means exiting EXO4.
Daughter window
Belongs to a mother window. If mother window is closed, all its daughter windows will
also be closed
Cannot be moved outside its mother window
Always on top of mother window; not hidden behind
Used for small parameter setting windows
Popup window
Same as Daughter windows but can be moved outside its mother window
88
Exercise
Start EXO4
EXO4 run
EXO4 can also be started for the Main Computer in this way:
Highlight EXO4
Press EXO4 run button
89
Exercise
Part IV Chap. 16
Reports and charts
in EXO4
Alarm Status and Events reports
Exercise
Open the Alarm Status report window and examine its functions
Set Auto refresh function active. Then the window will be updated for each new alarm
event coming in
Generate alarms in the controller
Acknowledge the alarms from the window and from the controller display
Choose different filter settings
Open the Alarm Events report window and examine its functions
90
Exercise
Part IV Chap. 15
Adding Windows
in EXO4 Windows
Add a new EXO4 window
Exercise
Add a new EXO4 window
91
Exercise
Background picture
Exercise
To add a background picture
Highlight ”ProcessCityHall1”
Press ”Design” to open ”EXO4 Window Designer”
Attribute: Picture
Click on ”Picture...”
”Select Existing…”: Browse for HeatingSystem.bmp and press Change
92
Exercise
Background picture
Exercise
To modify the background picture
Attribute: Picture
Click on ”Picture...”
”Design HeatingSystem.bmp”
If Window Picture and Fax Viewer is opened click on the icon down to the right to open Paint
93
Exercise
Background picture
Exercise
To modify the background picture
Paint
Modify picture: only a single pump
Add Expansion Vessel
Save
94
Exercise
Part IV Chap. 15
Dynamic Window
elements
Configure Window
Exercise
Configure window
95
Exercise
Configure Window
Exercise
Configure window
Overview window
First button:
Change command in OnManeuver to: Openwindow ”ProcessCityHall1.ewd”
Modify button text to:City Hall 1 (with spaces)
Delete texts in buttons 2, 3 and 4
Sum Ala Status Controller 1:
Browse to variable AlaModStat in controller CityHall1 and in VPac Alarms.dpe
Delete links in the Value fields for the other symbol change elements
96
Window elements
Part IV Chap. 15
•Dynamic Window
elements
Foreground colour
Colors Black,LtGreen
Scale
In EXO4 Run Time:
Value = 0
Value = 1
Bar Graph
Can be vertical or horisontal
Has a background and a foreground colour
With or without a scale
Resizeable
You can test the appearence by entering a value (between 0 and 100) in the Value
field.
Color Change
Can be used with logical or index variables
•Logical: switches between two colours
•Index: can switch between 2 or more colours
List of colours separated by a comma. The first colour in the list will be used for
Value=0, second colour for Value=1 and so on
Place the cross hair within a closed area in the background picture. Don’t use a
colour in the list which is the same colour as being used in the bounderies in the
background picture.
Link the value field to a logical or an index variable
97
Exercise
Configure Window
ProcessCityHall1.ewd
Exercise
Add
A Numeric element to show the calculated supply temperature setpoint. Place the
element above the supply temperature element
•Name: SupplyTempSetpoint
•Value: SupplyTempControl_Setp (VPac: StdObjs1.dpe)
•Title: Setpoint
A Bar graph showing the valve position. Place it to the right of the valve
•Name: ValveBar
•Background Color: White
•Colors: Red
•Title: none
•Value: ControlValve (AO)
A Color Change inside the pump triangle to show if the pump is running (light green)
or not (black)
•Name: PumpRun
•Value: CircPumpStart (DO)
•Colors: Black,LtGreen
Selects colours by using the arrow to the right to get a list of
available colours. Add one colour at a time. Press ”Change” after
selecting first colour. Keep ”Ctrl” button down when selecting next
colour.
98
Historical Charts Part IV Chap. 17: Logging
•Presentation
Historical Charts
Is a diagram to display data from the historical database. There are 3 templates to choose
from:
Historical Chart Free Template (is used in EXO4 computer template)
•The operator can choose any signal in database. As soon as the signals
exist in the database they will be available in a signal selection window.
•Easy to configure and easy to use.
•There is a command in the System window menu to open this template
Historical Chart List Template
•Configurator defines which signals that will appear in the signal selection
window. The signals are parameters in the command to open the window.
•The operator can only choose signals from the list (add or remove)
•Time consuming for the configurator to create the list but easy for the
operator to use
Historical Chart Fixed Template
•Configurator defines which signals that will appear in the diagram. The
signals are parameters in the command to open the window.
•The operator has no choice (cannot add or remove)
•Time consuming for the configurator to create the list but easy for the
operator to use
99
Exercise Part IV Chap. 17: Logging
•Transferring to the main
Computer
Signal selection window
Historical Chart
Click here to
change
signal
attributes
Exercises
ProcessCityHall1.ewd
To be able to select signals in the historical chart the signals must exist in the database. The data will
be transferred from the Logging buffer in the controller to the database:
At synchronization time (normally once a day at night)
At spontaneous connections if the buffer is 80% full
On a user command: Synchronize
So we need to do a manual synchronize command using a button in the process window to get the data
from controller’s buffer to the database:
Add a Button element
•Name: Sync
•Text: Synchronize
•OnManeuver: CityHall1.Synchronize
Close and reopen the process window and press the button. Wait some seconds to let the
values to be uploaded to the database. You can follow the upload procedure if you in Project
Builder highlight EXO4 and then click on the tool button: View Run-Time messages.
Historical Chart
Open the Historical chart from the System window menu and select the three available signals in the
Signal selection window.
Click on one signal at a time to the right in the diagram window and select other colours. The scale for
the outdoor temperature should be changed: -50 to +50
100
Database Part IV Chap. 17: Logging
•Database
Storage and Compilation
Minutes Hours Days Months
60
values
60
values 24
values
60
values
Main computer
The logged values from the controllers are stored in a database in the main computer. The database
type is as default MSDE (MicroSoft Database Engine) SQL Server (no license needed) that can handle
sizes up to 2 GB. If bigger databases are going to be used then a licensed SQL Server is needed. This
SQL server can be installed locally on the EXO4 Main Computer or could be a central SQL Server in
the local network.
Configuration
The database storage time for the values can be set during the configuration. You can also determine
in what way they should be compiled.
Compilation
When there are minute values for a whole hour in the database an hour value based on the minute
values will be calculated and stored in the database. The same function as used in the Logging
controller function (for instance Average) will be used.
The standard setting for compilation is minute values to 1 hour, hour values to 1 day, and day values to
1 month.
Saving
By default, minute values are saved for 1 month, hour values for 3 months and month values forever.
Purging
The original values are not removed during compilation, which means that the size of the database will
increase. As a result, purging and defragmentation of the database is sometimes necessary.
101
Exercise Part IV Chap. 15: EXO4 Windows
Creating the Window ManAuto
Daughter Window
Symbol Change
Buttons
Numeric
Exercise
Design a small daughter window (ManAuto.ewd) with a Manual/Auto-switch to be used for the PID
controller, which has a parameter input called Select:
Select=2: PID controller is in Auto mode
Select=1: PID controller is in Manual mode: the output will be equal to the parameter ManSet
(0-100%)
Select=0: PID controller is in Off mode: the output will be set to 0%.
Window elements:
1 Symbol Change
•Name: SW
•Pictures: click and choose Select existing and multiselect ESW1T3P1.bmp+
ESW1T3P2.bmp+ ESW1T3P3.bmp. These 3 pictures show a switch in 3 different
positions
•Value: Browse for the PID controller’s Select parameter. Before you browse for the
varaible you can test the symbol change but entering a 0, 1 or 2 in the Value field
(you will se the switch in three positions)
3 Buttons:
•Name: Auto, Text: AUTO
•Name: Man, Text: MAN
•Name: Off, Text: OFF
•OnManeuver: write a command to set the Select parameter in the controller to an
appropriate value for each button.
1 Numeric
•Name: Manset
•Style: Directly
•Title: Manual output:
•Value: Browse for the PID controller’s Manset parameter
102
Exercise
Part IV Chap. 15
•Dynamic Window
elements
Window Designer
Exercise
In ProcessCityHall1.ewd window
Add a click area element covering the Control Valve
•Name: ValveClk
•OnClick: Add a command to open the ManAuto.ewd daughter window when
you click in the area
103
Window Class Part IV Chap. 15
Window classes
Normal window:
Value… CityHall1.SupplyTempControl_Select
Window classes
The ManAuto window that we have designed can only be used with controller CityHall1 and
only with its PID controller SupplyTempControl . If we want to have a similar window for
another controller with another name we have two choices:
1. We can make a copy of ManAuto.ewd and name it something else and replace
the name CityHall1 with the name of the other controller in all elements in the
window.
2. We can designed ManAuto.ewd to be of type Window class. A general window
that could be used for any controller and any PID controller.
We can have many instances (copies) of a Window class window opened at the same time.
Therefore we use the command openwindowinstance and we need to give each instance
a unique name (CH1 in the example in the picture above).
Instead of using real Controller names and variable names we can use arguments. In run
time then the arguments can be replaced with real Controller and variable names. In this
way the windows will be general and not designed for a specific controller.
104
Exercise
ManAuto.ewd Window Class
ProcessCityHall1.ewd
Exercises
ManAuto.ewd
Modify the daughter window ManAuto.ewd to be a Window class window.
Add the arguments
•%Controller%. The tool will add the two % in the beginning and at the end of
the name.
•%Object%
Replace CityHall1 with argument %Controller% in all elements
Replace SupplyTempControl with argument %Object% in all elements
ProcessCityHall1.ewd
Change the command in the click area to open the window class daughter window.
105
Menus Part IV Chap. 15
Menu
Menus
Menus are used as independent units in EXO4. Which menu to use for a specific window (or in window
elements of the type pop-up menu) is stated in the attribute Menu in EXO4 Window Designer. This
makes it possible to have the same menu in all windows, or a number of standard menus in the
project.
An EXO4 menu consists of one or several drop down menus. Each drop down menu has a set of menu
commands (PID, Historical Chart, Alarm Status Report in the picture above). It could be a command
to open an EXO4 window, to send a value to a controller variable, to logon, to logoff etc.
A menu is configured with the tool EXO4 Menu Designer which can be opened for editing in 2 different
ways.
In Project Builder, with the menu command Config – EXO4 Menu Designer.
In EXO4 Window Designer:
• Highlight the name of the window at the top in the list to the left.
• Select a menu for the window by clicking on Menu... and selecting Select
Existing or Pick from Application Library in the combo box.
• Click on Menu... again. You will now be able to choose Design, Copy or
Rename in the combo box.
Meny tool
Reminds of Dialog Tool but in menus we have only two levels:
• Level 1 (in the leftmost position in the list to the left) is the menu titles always
visible on the menu line in the window. These menu items doesn’t have any
commands normally
• Level 2 (shifted one position to the right) is the drop down menus that will appear
when the corresponding menu item on level 1 is pressed.
Commands are written in the OnClick box.
106
Exercise Part IV Chap. 15
Menu
Menu
Exercises
To create a menu with commands to open the ManAuto.ewd window, the Historical
Chart window and the Alarm Status Report window.
ProcessCityHall1.ewd
Click on Menu...
Select existing and choose System.emd and Change
Click again on Menu... and Copy System.emd and save it with the name
CityHall1.emd and Change
Click again on Menu... And Design CityHall1.emd to open the Menu editor tool
We want to have a menu item Windows with a drop down menu with following titles:
PID: with a command to open ManAuto.ewd (copy the command from the click area
in ProcessCityHall1.ewd)
Historical Chart: with a command to open the Historical Chart window (copy from
System.emd)
Alarm Status Report: with a command to open the Alarm Status report (copy from
System.emd)
The menu command to open the Alarm Status Report can be extended to only display alarms
from CityHall1 controller:
•OpenWindowInstance "AlarmStatusReport.ewd", “CH1“,”CityHall1”
107
Exercise
Part IV Chap. 15
Dynamic Window
elements
Text Change
Exercise
Add a Text Change element (Name: ValveTxt) that displays the PID controller mode with a
text (Off, Manual, Auto)
Mode Off: Show text ”Off”
Mode Manual: Show text ”Man”
Mode Auto: Show nothing
108
Font Schemes
Part IV Chap. 15
Dynamic Window
elements
Font Control
Font Schemes
Font Schemes
Numerical values and texts shown in a window can have different apperarence (colours, fonts, etc) by
using different Font Schemes.
For each window element of type Numerical, Text, Text Change and Button a Font Scheme can be
configured in Window Design Tool. Default is Normal.
There is a Font Scheme Tool available to modify existing schemes or to design your own schemes. By
changing one or several attributes in a scheme it will affect all window elements using that Font
Scheme. That means: very easy to customize the appearence of values and texts in EXO4 windows
The Font Control attribute in Window Design Tool can be linked to a variable in a controller to switch
between several font schemes in real time. The value of the variable will control which font scheme
from a list of font schemes that will be used. For instance if the value=0 then the first scheme in the list
will be used. Then instead of selecting one single scheme in Font Schemes field you can create a list of
schemes with a comma in between.
109
Exercise
Part IV Chap. 15
Dynamic Window
elements
Font Schemes
12.5 % 12.5 %
19.5 °C 19.5 °C
21.3 °C 21.3 °C
22.7 °C 22.7 °C
Exercise
Font Schemes
Exercise
Font Scheme Control
110
Access Categories / Users
Part IV Chap. 15
Authorization
With exercise
The menu items and most of the window elements (Numerical, Texts, Text Change, Click
Area, Button etc) have an Access attribute. This can be used to force an operator to logon
before he is allowed to modify a value or to give a command.
In Menu Designer tool or in Window Designer tool you select which Access Category that is
required to be allowed to give the command/change the value. Then in the Access Categories
Tool you configure which users that belong to that Access Category. First the user must of
course be configured in the User Tool with an ID and a full name.
The default password for a new user is: exo. At logon it is possible for a user to change his
password.
Exercise
For the Valve click area in ProcessCityHall1.ewd and for the PID menu item in the menu
change the Access attribute to Service.
Try to open the ManAuto.ewd from the click area or from the menu.
111
User Log Report
User Log Report window template is included in the EXO4 Main Computer template and there
is a command in the System window menu to open the report.
112
Real Time Plot Chart
With exercise
Exercise
To add a command in the meny to open the Real Time Chart List window:
If you highlight the window template in the EXO4 Windows tool and in the menu select
Help/Help on template you’ll get a description of the attributes in the command.
113
Control Curve viewer Part IV Chap. 15
Control Curve
Viewer
With exercise
.. is a separate program that can be started from EXO4 with a shell command. It will display
the compensation curve in a diagram where you can move the break points with the mouse or
with the arrow keys on the keyboard.
When the window is opened the control curve values will be read from the controller and
displayed. When the points are moved the new break point values will be written to the
controller when you press the button Change.
Exercise
To add a command to open the viewer from the menu and also when you click on the
setpoint value in the process window.
Command:
Shell "Prod:\Exoop4\Curve1.exe ModName=CityHall1
ObjectName=SupplyTempSetpoint
CurveName=SupplyTemperature NoOfPoints=8 Unit=°C Title=Control Curves"
114
Time Control
Part IV Chap. 18: Time Control
•Presentation/EXO4
•Configuration/EXO4
With exercise
Time Control
There is a window template for diplaying the time schedules configured in the controller. The
window will read the configurations in the controller when it is opened and display all the the
configurations for each time group.
Exercise
Add a command in the menu to open the window template
•OpenWindowInstance "TimeSchedule.ewd","CityHall1","Time Control City
Hall 1“
Change start or stop time and check that something happens at the digital outputs
•Please note that the status of the Time schedules are only updated once a
minute (second=0)
115
EXO4 signals Part IV Chap. 19
•Data Transfer between
Controllers in Different Stations
Library1 CityHall1
EXO4 signals
If you have an outdoor temperature sensor connected to the controller CityHall1 (station
Cityhall) and want to use the value from that sensor in the controller Library1 (station Library)
it is not possible to send the value from CityHall1 to Library1 directly since both controllers’
port are configured as slave ports. To be able to transfer data between controllers in different
stations you must use EXO4 signals.
An EXO4 signal can be used in windows in the same way as a variable in a controller.
116
Nimbus Alarm Server
Nimbus Alarm Server can be used to send, e.g. SMS messages from the main computer
when an alarm has been triggered. By default, this is always the case for class A alarms. In
the configuration tool for Nimbus, you can configure among other things:
Receivers
Reroute types: emails, SMS, fax, Pager etc
Route profiles with
-Sequential and parallel receivers
-Time schedule (weekly schedules)
After installation Nimbus Alarm Server is set up as an EXO4 printer, and by default all A
alarms are rerouted to the Nimbus printer.
Nimbus Alarm Server may be evaluated for 30 minutes prior to purchasing a license. After
this the program requires an unlocking code to unlock the product.
117
Attach computer Part V Chap. 20
•Attaching computers
Attach
Detach
Manual settings
When to do what?
Always attach customer’s EXO4 computers
Normally your computer should be Detached during commissioning with manual
settings
If you want to attach your laptop at commissioning don’t forget to detach the
computer when you have finished.
Your manual settings will not affect the Communication Channel settings saved in Project
Builder.
118
End of presentation.
119