0% found this document useful (0 votes)
28 views168 pages

EM Configuration and Administration Manual 4 - 3

Uploaded by

Ruben Hernandez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views168 pages

EM Configuration and Administration Manual 4 - 3

Uploaded by

Ruben Hernandez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 168

ÓCopyright 2012 ABB. All rights reserved.

cpmPlus Energy Manager

Release 4.3

Configuration and Administration Manual

Type des. Part no.


No. of p.
Prep. AAT / Toni Kymäläinen 2012-12-14 Doc. kind Maintenance Instruction
Appr. Seppo Lahtinen Title Configuration and Administration 168
Resp. dept AAT Manual
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 1
FILE: EM Configuration and Administration Manual 4_3_MASTER_v22.doc; TEMPLATE: Techn_Doc_Stand_P_CPM.dot C; SKELETON: DOC Number By Numb generator en ; SAVEDATE: 2013-06-03 14:51
TRADEMARKS
All names are the trademarks, registered trademarks, or service marks of their
respective organizations.

NOTICE
The information in this document is subject to change without notice and should not
be construed as a commitment by ABB. ABB assumes no responsibility for any
errors that may appear in this document.
In no event shall ABB be liable for direct, indirect, special, incidental or
consequential damages of any nature or kind arising from the use of this document,
nor shall ABB be liable for incidental or consequential damages arising from use of
any software or hardware described in this document.
This document and parts thereof must not be reproduced or copied without ABB’s
written permission, and the contents thereof must not be imparted to a third party nor
be used for any unauthorized purpose.
The software described in this document is furnished under a license and may be
used, copied, or disclosed only in accordance with the terms of such license.

Copyright © ABB 2013.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 2
Table of Contents
1. Overview ................................................................................................................................. 8
1.1 Purpose and Scope ...................................................................................................................... 8
1.2 Document Usage and Control ...................................................................................................... 8
1.3 Referenced Documents................................................................................................................ 8
1.4 Definitions ................................................................................................................................... 9
1.5 Acronyms ....................................................................................................................................10
1.6 Conventions ................................................................................................................................10
1.7 Trademarks .................................................................................................................................10
2. Energy Demand Planning ...................................................................................................... 11
2.1 Function ......................................................................................................................................11
2.2 Defining a Plant Model for Planning ...........................................................................................11
2.3 Configuration of the Time Levels and special settings ................................................................14
2.4 Configuration of the Production Data .........................................................................................16
2.5 Configuration of Profiles .............................................................................................................18
2.5.1 Week Profiles ........................................................................................................................................18
2.5.2 Start, Repeat, and Stop Profiles .............................................................................................................20
2.6 Configuration of the Custom Made Calculations.........................................................................21
2.7 Setting up a SOM (Self Organizing Map) based profiles ..............................................................22
2.7.1 Learning ................................................................................................................................................22
2.7.2 Forecast calculation...............................................................................................................................28
2.7.3 Cyclic SOM profile update......................................................................................................................29
2.7.4 Special day configuration.......................................................................................................................29
2.8 State Input Gantt Chart Configuration ........................................................................................32
2.8.1 State Input Enumeration Configuration .................................................................................................32
2.8.2 Gantt Chart Configuration .....................................................................................................................34

3. Production Planning Interface ............................................................................................... 36


3.1 Production Planning Interface Functions ....................................................................................36
3.2 PPS file format ............................................................................................................................37
4. Power Monitoring ................................................................................................................. 39
4.1 Configuration of the Active Power Monitoring Chart .................................................................39
4.2 Configuration of the Reactive Power Monitoring Chart ..............................................................41
4.3 Configuration of the Natural Gas Monitoring Chart ....................................................................41
5. Economic Flow Network (EFN)............................................................................................... 43
5.1 Basic principles of Economic Flow Network and its hierarchical data structure..........................43
5.2 Functions ....................................................................................................................................43
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 3
5.3 Setting up the layout of the user interface .................................................................................44
5.4 Configuring Balancing areas and Connection points ...................................................................46
5.4.1 To introduce balancing areas and connection points ..............................................................................47
5.4.2 Data consistency check..........................................................................................................................57
5.4.3 Decimals for current values ...................................................................................................................58
5.4.4 Other properties of the balancing area ..................................................................................................58
5.5 EFN Library..................................................................................................................................59
5.6 EFN user access rights and user views.........................................................................................61
5.7 Configuring Calculation Procedures ............................................................................................62
5.7.1 Basic data -tab.......................................................................................................................................64
5.7.2 Current period -tab ...............................................................................................................................66
5.7.3 Additional information -tab ...................................................................................................................67
5.7.4 Optimization –tab .................................................................................................................................68
5.8 Time Tariff Editor ........................................................................................................................68
5.8.1 Consistency Check of a Tariff .................................................................................................................71
5.9 Timers for automated connection point description creation.....................................................72
5.9.1 Creating, Updating and Deleting a Connection point description Template ............................................72
5.9.2 Creating a Description Template Time Span ...........................................................................................73
5.10 Settings .......................................................................................................................................74
5.10.1 Time tasks .........................................................................................................................................74
5.10.2 Symbols ............................................................................................................................................74
5.10.3 Time zone .........................................................................................................................................75
5.10.4 View .................................................................................................................................................76
5.10.5 Users ................................................................................................................................................77
5.10.6 Scenario ............................................................................................................................................78
5.10.7 Version .............................................................................................................................................78
5.10.8 Variable check...................................................................................................................................79
5.10.9 Equations ..........................................................................................................................................80
5.11 Calculation Engine ......................................................................................................................80
5.11.1.1 Calculation Equation Definitions....................................................................................................84
5.11.1.2 Special Features to support Flow Optimizer...................................................................................90
5.12 SimpleConfig Parameters Maintenance / Configurations ...........................................................93
5.13 Task Scheduler ............................................................................................................................96
5.14 EMOConfig Parameters...............................................................................................................98
6. Flow Optimizer .................................................................................................................... 100
6.1 Scheduling of Flow Optimizer ...................................................................................................102
6.2 Collecting input data from the database...................................................................................103
6.3 Interaction with users ...............................................................................................................103
6.4 Setting up the optimization framework (calculation procedure) ..............................................104
6.4.1 Configuration of solver communication ............................................................................................... 106
6.5 SimpleConfig parameters for configuring Optimizer Windows service .....................................107
6.6 EM Solvers ................................................................................................................................109
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 4
6.6.1 Configuration of the gateway solution ................................................................................................. 109
6.6.2 SimpleConfig parameters of the EM Solver process ............................................................................. 110

7. Template Report.................................................................................................................. 115


7.1 Report configuration.................................................................................................................115
7.1.1 Vtrin configuration .............................................................................................................................. 115
7.1.2 Saving configuration ............................................................................................................................ 118
7.2 Report configuration tabs .........................................................................................................119
7.2.1 Accessing report configuration tabs ..................................................................................................... 119
7.2.2 General tab .........................................................................................................................................121
7.2.3 Advanced tab ......................................................................................................................................126
7.2.3.1 Advanced – General tab ..............................................................................................................129
7.2.3.2 Advanced – Order tab ................................................................................................................. 130
7.2.4 Charts tab ........................................................................................................................................... 130
7.2.4.1 Charts – General tab ...................................................................................................................131
7.2.4.2 Charts – Layout tab ..................................................................................................................... 132
7.2.4.3 Charts – Order tab ...................................................................................................................... 133
7.2.5 Sheets tab ........................................................................................................................................... 133
7.2.6 Levels tab ............................................................................................................................................ 135
7.2.6.1 Levels – General tab ....................................................................................................................135
7.2.6.1.1 Levels – General – Periods tab................................................................................................137
7.2.6.1.2 Levels – General – Layout tab.................................................................................................139
7.2.6.1.3 Levels – General – Print tab....................................................................................................141
7.2.6.2 Levels - Variables tab ..................................................................................................................142
7.2.6.2.1 Levels – Variable – General tab ..............................................................................................145
7.2.6.2.2 Levels – Variable – Past tab ....................................................................................................147
7.2.6.2.3 Levels – Variables – Future tab ...............................................................................................149
7.2.6.2.4 Levels – Variable – Order tab..................................................................................................149
7.2.6.2.5 Levels – Variable – Additionals tab .........................................................................................149
7.2.6.2.6 Levels – Variables – Charts tab ...............................................................................................151
7.2.6.2.7 Levels – Variable – Sheets tab ................................................................................................152
7.2.6.3 Levels – Copy tab ........................................................................................................................153
7.2.6.4 Levels – Order tab .......................................................................................................................154
7.3 Report template toolbar ...........................................................................................................154
7.4 Report template toolbar menu .................................................................................................156
7.5 Comment dialog........................................................................................................................158
7.6 Recalculation dialog ..................................................................................................................159
7.7 Mass input of variables and history tables................................................................................161
7.8 Default report – Send To ...........................................................................................................161
7.9 Additional Vtrin tree item parameters......................................................................................162
7.9.1 User tailored Excel file .........................................................................................................................162
7.9.2 Energy Manager generic balance report .............................................................................................. 164
7.9.3 PDF file creator.................................................................................................................................... 164
7.9.4 Automatic printing .............................................................................................................................. 166
7.9.5 Keeping original variable names and history table names .................................................................... 166
APPENDIX A ..................................................................................................................................................... 167

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 5
List of Figures
Figure 1 Plant Model for Planning .......................................................................... 12
Figure 2 Energy Demand Planning window ............................................................ 12
Figure 3 Consumption Units configuration list......................................................... 14
Figure 4 Load Planning settings, Other Settings tab ............................................... 16
Figure 5 Production Data Configuration window ..................................................... 17
Figure 6 Dialog box for selecting a profile............................................................... 19
Figure 7 Definition of the week profiles ................................................................... 19
Figure 8 Definitions in table EMOTieLineConfig ..................................................... 40
Figure 9 Economic Flow Network plug-in properties ............................................... 44
Figure 10 Economic Flow Network main view ........................................................ 44
Figure 11 Economic Flow Network Configuration dialog window ............................ 46
Figure 12 Balance area / Result variables tab ........................................................ 48
Figure 13 Balance area / Additional information tab ............................................... 49
Figure 14 Connection point / Result variables tab .................................................. 50
Figure 15 Connection point / Additional information tab.......................................... 51
Figure 16 Connection point / Optimization tab ........................................................ 52
Figure 17 Connection point menu........................................................................... 54
Figure 18 Data consistency check list (class Event log row) ................................... 57
Figure 19 EFN Library Log ..................................................................................... 60
Figure 20 Security Files dialog box......................................................................... 62
Figure 21 Calculation procedures for balancing areas and parameter folders ........ 63
Figure 22 Calculation procedure – Basic data ........................................................ 64
Figure 23 Calculation procedure – Current period .................................................. 66
Figure 24 Calculation procedure – Additional information ....................................... 67
Figure 25 Time Tariff Editor dialog window............................................................. 69
Figure 26 Tariff Check dialog box ........................................................................... 72
Figure 27 Saving a connection point description as a template .............................. 72
Figure 28 Browsing saved description templates.................................................... 73
Figure 29 Defining a New Template Time Span ..................................................... 73
Figure 30 Settings dialog box, Timed tasks tab ...................................................... 74
Figure 31 Settings dialog box, Symbols tab ............................................................ 75
Figure 32 Settings dialog box, Time Zone tab ........................................................ 75
Figure 33 Settings dialog box, View tab.................................................................. 77
Figure 34 Settings dialog box, Users tab ................................................................ 77
Figure 35 Settings dialog box, Scenario tab ........................................................... 78
Figure 36 Settings dialog box, Version tab ............................................................. 78
Figure 37 Settings dialog box, Variable check tab .................................................. 79
Figure 38 EM_VariableCheckUp list ....................................................................... 80
Figure 39 Calculation Equations connected to Calculation Procedures .................. 81
Figure 40 Equation tab: Definition (Entering and testing the equation) ................... 85
Figure 41 Equation tab: Additional information ....................................................... 86
Figure 42 Equations tab: Comments ...................................................................... 87
Figure 43 Equations tab: Order (with automatic equation sorting) .......................... 88
Figure 44 Equations tab: Order (without automatic equation sorting) ..................... 89
Figure 45 Equation “Boiler combustion air pre-heating” .......................................... 90
Figure 46 Reference mode ..................................................................................... 91
Figure 47 Drop-down list for connection point references ....................................... 91
Figure 48 SimpleConfig table, Common EFN parameters ...................................... 93
Figure 49 SimpleConfig table, Heuristics parameters ............................................. 95
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 6
Figure 50 EM_Scheduler list for defining timers for tasks ....................................... 97
Figure 51 EMOConfig parameters .......................................................................... 98
Figure 52 Optimizer and Solver Server data flows................................................ 100
Figure 53 Calculation Procedure to run optimization ............................................ 103
Figure 54 Calculation procedure – Optimization ................................................... 104
Figure 55 Optimization Solver Paths display ........................................................ 106
Figure 56 SimpleConfig table, Flow Optimizer parameters ................................... 107
Figure 57 SimpleConfig table, Solver parameters ................................................ 110
Figure 58 Template report’s Vtrin tree item configuration ..................................... 117
Figure 59 Vtrin tree dialog for report configuration saving to new tree item .......... 119
Figure 60 Report configuration: general tab ......................................................... 122
Figure 61 Color editor........................................................................................... 124
Figure 62 Report configuration: advanced tab ...................................................... 127
Figure 63 Report configuration: additional values ................................................. 127
Figure 64 Report configuration: general update settings ...................................... 128
Figure 65 Report configuration: order tab ............................................................. 130
Figure 66 Report configuration: charts tab............................................................ 131
Figure 67 Report configuration: sheets tab ........................................................... 133
Figure 68 Report configuration: levels - general tab ............................................. 136
Figure 69 Report configuration: level – general - layout tab .................................. 139
Figure 70 Report configuration: levels – general - print tab................................... 142
Figure 71 Report configuration: levels – variables - general tab ........................... 145
Figure 72 Excel formula definition for periods ....................................................... 146
Figure 73 Report configuration: levels – variables - past tab ................................ 147
Figure 74 Report configuration: levels – variables - future tab .............................. 149
Figure 75 Report configuration: levels – variables - additionals tab ...................... 149
Figure 76 Excel formula definition for additional value .......................................... 151
Figure 77 Report configuration: levels – variables - charts tab ............................. 151
Figure 78 Report configuration: levels – variables - sheets tab............................. 153
Figure 79 Report configuration: levels – copy tab ................................................. 154
Figure 80 Report toolbar ...................................................................................... 154
Figure 81 Report toolbar menu ............................................................................. 157
Figure 82 Dialog for adding comment to value update.......................................... 158
Figure 83 Report recalculation dialog ................................................................... 160
Figure 84 Vtrin tree item configuration for user tailored report .............................. 163

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 7
1. Overview

1.1 Purpose and Scope


This manual describes how to configure the cpmPlus Energy Manager (EM)
product to implement energy management systems. The EM is built upon on the
cpmPlus History technology, which provides the database kernel, user interface, data
interfaces and application programming interface. cpmPlus History is a technology
provided by ABB Process Automation division.
This document is divided into the following sections:
· Section 1 Overview, contains general information about this manual, and
explains special terms, abbreviations, and conventions.
· Section 2 Energy Demand Planning, describes the Energy Demand Planning
module.
· Section 3 Production Planning Interface, describes the Production Planning
System interface service, which allows receiving of production plans for various
types of production, e.g. board machines, paper machines, and other mill
equipment.
· Section 4 Power Monitoring, describes the Power Monitoring module that
monitors the amount of any continuous variable (for example purchased electric
power or natural gas) against given limits.
· Section 5 Economic Flow Network (EFN), describes the Economic Flow
Network tool that provides the tools to flexibly and easily model flow networks.
· Section 6 Flow Optimizer, describes the Flow Optimizer module to provide
optimal solutions for problems modeled with Economic Flow Network by the
means of mixed integer linear programming (MILP).

1.2 Document Usage and Control


The manual is intended for people responsible for the configuration of the cpmPlus
Energy Manager product (EM).
The manual is distributed as uncontrolled copies.

1.3 Referenced Documents


/em_urm/ 3AFA000436 cpmPlus Energy Manager - User’s Reference
Manual
/em_urm_efn/ 3AFA000436 cpmPlus Energy Manager - User’s Reference
Manual, section Economic Flow Network
/ui_cam/ 3AFA000588 Vtrin user interface - Configuration and
Administration Manual
/rtdb_dev/ 3AFA000337 RTDB Developer’s Manual

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 8
/lpl/ LPL - Reference Manual of LPL, Tony Hürlimann, Version
5.80, www.virtual- optima.com

1.4 Definitions
Analog values Numerical data representing measured and calculated quantities
that can have a range of values, in contrast to discrete values,
which can have only enumerated set of values.
cpmPlus History The database which cpmPlus Energy Manager uses to store all
the information: measurements, forecasts, dashboards, model
configurations, equations, etc. It processes data and records
measured and calculated data. Processing and recording are
controlled through engineering data that is also stored in the
database.
Variables Measurement points or calculated variables. Examples of
(database) variables are water level in tank X and state of valve
Y.
Balance (area) Confined area or commodity portfolio where applies an
equilibrium equation: Supply = Demand (Procurement =
Delivery).
Balancing algorithm
An algorithm to find the optimal solution for the equilibrium
equation (see above) together with all relevant constraints and
criteria.
Heuristics The balancing service based on heuristic and deterministic rules.
Flow Optimizer
The balancing service based on a mixed integer linear
programming (MILP).
Connection Point An object in the balancing area that provides a connection to
other balancing areas or acts as Sink or Source (according to the
graph theory).
Sink Sink can “consume” an infinite flow in graph theory.
Source Source can “produce” an infinite flow in graph theory.
Description (of connection point)
A numeric and time related expression of the connection point,
containing information about flow price, flow limitations, and
restriction on use.
Sum restriction Sum restriction is a higher level restriction for the set of
connection points, restricting their sum. Contains also a price,
which will be added to all prices of restricted connection points.
EMS Energy Management System

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 9
Plant model A hierarchical model for defining the physical equipment
architecture of the plant.
Production Site Highest hierarchical level in the Energy Demand Planning
module.
Production Area Middle hierarchical level in the Energy Demand Planning
module.
Production Line Lowest hierarchical level in the Energy Demand Planning
module.
Consumption Unit Used to refer any forecast equipment on any hierarchical level
PPS Production Planning System

1.5 Acronyms
EM cpmPlus Energy Manager, product of ABB Inc.

1.6 Conventions
The usage of mouse, menus, command buttons, and dialog boxes complies with the
Windows conventions as far as possible. For details, please refer to section 1.6,
“Conventions” in /ui_cam/.

1.7 Trademarks
Windows, Windows 2003, Windows 2008, Windows 7 as well as Excel and Notepad
are trademarks of Microsoft Corporation.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 10
2. Energy Demand Planning

2.1 Function
The Energy Demand Planning configuration includes the following aspects:
· Defining a plant model for planning
· Production data: specific values for deriving power values from production rates
· Profiles: week profiles and start, repeat, and stop profiles
· Time levels (History tables and time spans), and special settings
· Custom made calculations.

2.2 Defining a Plant Model for Planning


The Energy Demand Planning module allows forecasted unit to be divided into 3
hierarchical levels:
· Production site
o Production area
§ Production line
In the example configuration in the Figure 1, the hierarchy is as follows
· Paper mill (Production site)
o PM_1 (Production area)
o PM_2 (Production area)
o Other (Production area)
o DIP (Production area)
o TMP (Production area)
§ TMP Line 1 (Production line)
§ TMP Line 2 (Production line)
§ TMP Line 3 (Production line)
The hierarchy and different levels automatically define the calculation structure that
is automatically executed. The forecasts calculated on the Production line level are
automatically aggregated on the Production area level. Respectively the forecasts
calculated on the Production area level are automatically aggregated on the
Production site level.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 11
Production Site

Production Area

Production Line

Figure 1 Plant Model for Planning


You open the configuration window for the plant model hierarchy from the
toolbar button in the Energy Demand Planning window presented in the Figure 2.
For more information on the Energy Demand Planning window, see section 3
“Energy Demand Planning” in the /em_urm/ document.

Figure 2 Energy Demand Planning window


You define consumption units and corresponding database variables in the appearing
Plant Model window presented in the Figure 1.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 12
To define production sites
Ø Create a new production site (Paper Mill in Figure 1) by
right-clicking the folder Consumption units (beside the
globe symbol).
Ø Change the name of the appearing new production site by
right-clicking it and then clicking Rename.
Ø Specify the output variables and their types (Consumer /
Producer) on the configuration area on the right hand
side.

To define production areas and production lines


Ø To create a production area for a production site, right-click the production site
and then click Create Production Area.
Ø To create a production line for a production area, right-click the production area
and then click Create Production Line.
Ø Change the name of a production area or production line by right-clicking it and
then clicking Rename.
Ø For each production area and production line, specify the output variables and
their types (Consumer / Producer) on the configuration area on the right hand
side.
Ø For each production area that has no production lines, specify the forecast input
type by right-clicking the production area and selecting one of the following
options:
· Constant & Profile Values: Power values input (constant or week profile)
· State Input: On / Off states input
· Production Values: Production values input
· Profile: Special start, repeat, and stop profiles used
If the production area has production lines specified, the forecast input type is
NONE.
Ø If the production area has no production lines specified, specify the following
information for each output variable:
· Default value: Output value in case of no forecast input and Default
profile=NONE.
· Default profile: Week profile for output values in case of no forecast input.
· Value in Off-state: Output value when an outage is input.
· Input variable: If configured, will override the default values. This enables
using forecast values from external calculation or communication.
The above definitions have to be done also to all production lines.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 13
2.3 Configuration of the Time Levels and special settings
Not all the consumption unit specific information is defined in Plant Model
Configuration window. Additional information is given through the Consumption
Units list in the user interface (see the Figure 3). The time level is defined based on
the ForecastHistoryTable field in the list. The value should be a name of an available
historical table in the database. The time resolution is taken directly from the
parameters of the configured history table. The future time span for the calculation is
defined with TimeSpanHours field, which consists the value in hours.

Figure 3 Consumption Units configuration list


Validity times for Energy Demand Planning are configured through the Consumption
Units configuration list by setting the appropriate values for the columns
ValidityStartTime and ValidityEndTime (see the Figure 3). Calculation is
executed only within these validity times.
Some special settings for the Energy Demand Planning are configured in the
SimpleConfig list. The configuration is done as follows:
Ø Open the Maintenance folder in the Vtrin navigation tree.
Ø Open the SimpleConfig list.
Ø Scroll to rows with KeyName ‘ESM_Forecasts’ or use the key name as filter.
Ø Click the button. Then you can edit the rows.
Ø To delete a row, click the row, and then click the button.
Ø To add a new row, click the button.
Ø Click the button to accept, or the button to cancel the changes.
Ø You can refresh the window by clicking the button.

The Energy Demand Planning service uses the following parameters (KeyName):
· AverageHistTable_1, name of the history table whose values are used in
updating of week profiles. Must be defined.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 14
· CalcElecUnit_kW, scaling factor for input variables, if any is defined. Default =
1000 (=MW).
· ProdElecUnit_kW, scaling factor for values coming from PPS. Default = 1000
(=MW).
· ShiftRowsOnInsert, for consumption units whose input type is ‘Producer’. If =
1, inserting of a new definition causes shifting of the timely later definitions for
the same consumption unit. When a definition is set OFF, the timely later
definitions are shifted backwards. Default = 0 (= no shifting). This definition can
be set also in the Energy Demand Planning settings window (see the Figure 4:
‘Shift overlapping production definitions automatically on definition update’).
· WatchOverlapping: If = 1, it is not allowed for a new definition to overlap an
existing one. Default = 0 (= allowed). This definition can be set also in the
Energy Demand Planning settings window (see the Figure 4: ‘Forecast
definitions can overlap each other’ checkbox).
· GanttActivationUsed, for consumption units whose input type is ‘State Input’,
when Gantt displays are used for input, i.e. GanttActivationUsed = ‘YES’.
Default = ‘NO’.
· AmbientTempVariable, variable for forecast values of ambient temperature.
Default = ‘EMO_AmbientTemperature’. (The values are maintained in week
profile 1).
· ProfileHandlingType, for consumption units whose input type is ‘Profile’. If =
1, stretch mode is disabled, if = 2, repeat mode is disabled. Default = 0 (= both
allowed).
· RowStartTimeType, for controlling of the default start time of a new entered
definition. If = 1, the default start time = next period from now. If = 0, the default
start time = next period after the end time of the last existing entered definition.
For outages default start time is always the next period from now.
· ExpirationDays, number of days for storing old entered definitions. When the
end time of the definition is older than ExpirationDays, the definition is deleted.
· WatchMinAndMaxTimes, defines whether it is allowed to input min and max
times in wrong order for the definition (i.e. start time is greater than end time). If
= 1, it is allowed, if = 0, not allowed. This definition can be set also in the Energy
Demand Planning settings window (see the Figure 4: ‘Allow inputting min and
max times in wrong order in data form’ checkbox).

If particular parameter is not defined in the SimpleConfig list, the application will
use the default value for this parameter.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 15
Figure 4 Load Planning settings, Other Settings tab
There is a special watchdog variable EMO_Forecast_WDOG for checking that the
Energy Demand Planning service EMO_LoadForecast is responding. The service
updates the variable cyclically, and an alarm is generated if the age of last update
exceeds the expiration time. The default expiration time is about 2 hours (7300 s).

2.4 Configuration of the Production Data


The production data includes the specific coefficients for calculating the electric
power and steam flow values from production rates.

You open the window for configuring the production data from the toolbar
button in the Energy Demand Planning window in the Figure 2.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 16
Figure 5 Production Data Configuration window
Ø To change the displayed units, right-click a box name that contains a unit, for
example Production rate [t/h] or Steam [t/t].

Ø Click Change Unit… on the pop-up menu.


Ø Edit the unit name in the Change Unit dialog box.

Ø To make the hidden columns Other1, Other2, and


Other3 visible, right-click inside the Specific
consumption values frame and then click Show Other
Values on the pop-up menu. To make them invisible again, repeat the same
operation.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 17
Ø To change the column titles and box names of columns Other1 – Other3, right-

click the corresponding box name.


Ø Click Change Title… on the pop-up menu.
Ø Edit the title name in the Change Title dialog box.

To maintain the production data definitions in the list

Ø To open a selected definition for updating, click the button or


right-click the definition and click the Open command on the pop-up menu.
Ø To create a new definition, click the button and edit.
Ø To store the new values, click the button.
Ø To delete a definition, right-click it, and then click Remove on the pop-up
menu.
Ø To refresh the list, right-click the background of the list, and select Refresh.
Alternatively, you can press key F5 when the window is active.

2.5 Configuration of Profiles

2.5.1 Week Profiles


You open the dialog to select a Energy Demand Planning week profile by clicking

(Maintain the week profiles button) on the toolbar in the Energy Demand
Planning window. The Profiles dialog box opens (see the Figure 6). Instead clicking
the arrow on the right side of the button opens a pop-up menu with the following
commands:
Update Profile...: Opens the Profiles dialog box with a list of profiles for updating
Delete Profile...: Opens the Profiles dialog box with a list of profiles for deleting (as
in the figure below, but button is replaced by ).
Create Profile...: Opens the Profiles dialog box for inserting the new profile name
and the profile values.
To define new profiles:
Ø Select Create Profile. The window opens with the profile data frame hidden.
Ø Write the name of the new profile in the Profile box and click APPLY. A new
profile filled by zeros appears. You can finish or cancel the operation by
answering OK or CANCEL to the question.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 18
To update a profile: Select Update Profile. A dialog box will be opened with names
of profiles in alphabetical order.

Figure 6 Dialog box for selecting a profile

Clicking the button opens the Week Profiles window (see the figure
below).

Figure 7 Definition of the week profiles

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 19
The value can be edited directly in this table. Editing can be cancelled by Revert
button and accepted by Apply button.
By right clicking the background and selecting Enable Configuration you get the
following field to the upper part of the display:

The window shows the following information:


· Profile: Name of the profile.
· Number: Unique ID number that the system assigns to the profiles. Number 1 is
reserved for the ambient temperature profile.
· Upd. coefficient: If Upd. variable is specified, the values of the previous day of
the profile are updated at the beginning of the new day by the actual values of the
previous day, weighted by the factor (from 0 to 1) specified in this box.
· Upd. variable: ID number of the variable whose values are used for updating the
profile.
· Upd. Delay: Number of hours of a possible delaying the updating (up to 1 week).

To remove profiles:
Ø Select Delete Profile.
Ø Select the profile you want to remove in the Profile box.
Ø Click DELETE to remove it, or CANCEL to cancel the operation.

2.5.2 Start, Repeat, and Stop Profiles


These profiles are used for consumption units whose input type is Profile. They are
configured to a special history table EMO_ForecastProfiles. This history table must
be available (as type ‘Forecast Current Value’). The profiles are time series with a
fixed start time 1.1.2000 00:00.
For each profile, a profile variable is defined. The name of the variable ends to a
serial number: EMO_Forecast_Profile_1, etc. The purpose can be indicated in the
description of each variable. The Load Planning service creates automatically 20
variables on startup.
The values of profiles are entered using a RTDB time based report template
“VtrinRetriever Report.xls”. The variables for profiles shall exist in the database
before updating. In the example below, there are three profiles (variables) updated.

Using the icon configure the report, e.g. for three profiles (variable
EMO_Forecast_Profile_2, variable EMO_Forecast_Profile_3, and variable
EMO_Forecast_Profile_4):

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 20
Configure profiles to be stored to the EMO_ForecastProfiles table:

Edit profile values in the Excel sheet for time series with a fixed start time 1.1.2000
00:00:

Finally, save new values for Start, Stop, Repeat profiles to the database clicking the
button. For more details about using the template report, see 7 Template Report.

2.6 Configuration of the Custom Made Calculations


For more details, go to the calculation configuration instructions in the section 5.11
Calculation Engine.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 21
2.7 Setting up a SOM (Self Organizing Map) based profiles
The SOM profile is a technique based on the Self-Organizing Map (SOM) theory.
· Candidate profiles are initialized, learned and updated from historical values
(for example power and temperature).
· Correlated explanatory forecast (for example temperature) is used to pick up
the closest candidate profile.
· Actual forecasted values (like power) are taken from the closest candidate
profile.

2.7.1 Learning
The following figure is the SOM configuration display. Display has two modes:
teaching and forecasting. Mode is selected from checkbox on the right hand side of
the Learn -button.

Before forecasting the SOM unit must be initialized by history data. That is called
teaching phase. In this SOM documentation teaching is synonym for learning (user is
teaching neurons = neurons are learning profiles).
Select teaching mode by unselecting Forecast checkbox. Switch to Edit mode of
SOM configuration list and add a new row

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 22
Configuration of a SOM unit can be entered by using list or properties window.
Following SOM unit configurations must be entered:
General
· Identifier: unique identifier to SOM unit. Select next available integer
starting from 1 (one).
· Name: unique name to SOM unit.
SOM calculation supports two different kind of forecasting cases:
1. Two variables (time series) have strong correlation, for example outside
temperature and district heating power consumption. Forecast values are
available for another variable and other is calculated based on that.
2. There is no correlation to any other variable and forecast is calculated based
on past data only.
SOM configuration uses keywords “shape” and “forecast” to distinct between
correlated explanatory variable and actual forecast variable. Shape is the correlated
explanatory variable, which is used as input and forecast for variable, which is
calculated based on shape data.
SOM application calculates and updates two kinds of neurons: level and shape
neurons. Level neurons calculate day averages from time series and shape neurons
contain information about how different periods differ from average. The winning
shape neuron and level neuron are used to calculate the final forecast. Level neuron
data also include internal correction factors to move result closer the input data from
winning neuron data.
Learning
· Learning Shape Variable: variable for past correlated explanatory input
data (like temperature)
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 23
· Learning Forecast Variable: variable for past data of actual forecast (like
district heating power). In case 2 use same variable in both shape and forecast
variable.
· Leaning History: history table for past data. Remark! Use same period
length history table in past and in future
· Coefficient: Past forecast variable data (like district heating power) can be
scaled in teaching by multiplying with this coefficient. Used only in first
manual teaching, not in cyclical update.
· Addition: Past forecast variable data (like district heating power) can be
changed in teaching by adding this value. Used only in first manual teaching,
not in cyclical update.
· Level Neuron Amount: The number of different level neurons to keep level
data (day averages). More levels doesn’t mean always the better forecast.
Remark! Neuron amount can’t be more than there are different samples
available in teaching. For example if only one week data available and
different days have own neurons, only possible amount of neuron is 1 (one).
There are two special cases:
o SOM case 1: if level and shape neuron amounts are set to 0 (zero).
SOM teaching will test different combinations and sets neuron
amounts to values, which produced the smallest error sum for
teaching periods.
o SOM case 2 (no forecast available): neuron amount of 1 (one) must be
used to shape and level, because input for neuron comparison is
missing.
· Shape Neuron Amount: The number of different shape neurons to keep
profile data. Remark! Neuron amount can’t be more than there are different
samples available in teaching. For example if only one week data is available
and different days has own neurons, only possible amount of neuron is 1
(one). There are two special cases:
o SOM case 1: if level and shape neuron amounts are set to 0 (zero).
SOM teaching is then testing different combinations and sets neuron
amounts to values, which produced the smallest error sum for
teaching periods
o SOM case 2 (no forecast available): neuron amount of 1 (one) must be
used to shape and level, because input for neuron comparison is
missing.
· Pearson Limit: Pearson limit is used for blocking bad time series to destroy
neuron data. Pearson value indicates how well two time series correlate.
Correlation can be positive or negative. Pearson value closer to one (or minus
one) means better correlation. Remark! Too high Pearson limit can reject
input data so that level and/or shape neuron amount can’t be reached. In that
case try with smaller Pearson limit. In SOM case 2, set Pearson limit to 0
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 24
(zero), because correlation not applicable. Pearson limit is used in initial
teaching and in cyclic neuron update. Selected Pearson limit is not saved to
neuron data so user can teach with different limit and change different limit to
be used in cyclic updates. Pearson limit used in application is combination of
two settings: Pearson Limit and Use Pearson Limit Sign.
· Use Pearson Limit Sign: By default Pearson limit defined is handled as
absolute value. For example limit 0.5 means that positive correlation must be
at least 0.5 or negative correlation -0.5. This also means that different
correlation directions are allowed. If correlation is wanted to be limited to one
direction only, define Use Pearson Limit Sign to true. Then only day data
with same correction sign is used to update neurons.
· Level Update Coefficient: The winning level neuron data is updated closer
to the input data in initial teaching and in cyclic update. How much old level
value is moved to direction of input data depends on level update coefficient
factor
new value = old value + (input value – old value) * coefficient * internal
coefficient
Internal coefficient is 1 for the winning neuron. Sometimes also next closest
neurons are updated, but less than winning neuron (internal coefficient 0.3)
· Shape Update Coefficient: The winning shape neuron data is updated closer
to the input data in initial teaching and in cyclic update. How much old shape
values are moved to direction of input data depends on shape update
coefficient factor
new value = old value + (input value – old value) * coefficient * internal
coefficient
Internal coefficient is 1 for the winning neuron. Sometimes also next closest
neurons are updated, but less than winning neuron (internal coefficient 0.3)
Calendar
Calendar settings effect on to which periods SOM calculation can be done and to
amount of different day neuron sets kept for SOM unit. Neurons can be applied for
each weekday separately (Monday to Sunday) or if some weekdays are considered to
be alike they can share same day neuron set.
· January Included, February Included, …: If checked (or value Yes)
periods in January are used to learn neuron data and forecast is calculated to
January. Each month has similar option.
· Monday, Tuesday, Wednesday, …: Each weekday must be configured to
use certain day neuron profile data, unless if day is excluded from SOM
calculation by selecting Disabled. Define weeksdays always so that each
different day profile is defined also to corresponding day, for example if
Monday profile name used for several days, Monday must be defined to use
Monday.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 25
o Example 1: Each day is different from each other. Each day must use
separate SOM profile: select Monday to Monday, Tuesday to Tuesday
and so on.
o Example 2: Days from Monday to Friday are similar and from
Saturday to Sunday. Select same profile like Monday to days
Monday, Tuesday, Wednesday, Thursday and Friday and same profile
like Saturday to days Saturday and Sunday. This means that two
different SOM profiles are needed: one handling working days,
another weekend.
· Special Day Profile: It is possible to define special days to EM Calendar
(like holidays during working days) and then define profile rule which
defines calendar day names and how they are used in SOM teaching and
forecast calculation. Define here profile rule to be used for configuration.
How to define special day rule, see chapter 2.7.4.
After learning parameters are updated to database, select proper time span for
learning. It would be good that during learning time span history data for shape and
forecast variable have normal values. The more periods available in teaching the
better changes there are to find different shapes and levels to be used as SOM
neurons.
Selecting SOM configuration unit from list moves learning variable to upper trend.
Start and end time of upper trend are used as time span for learning. Teaching is
activated from Learn –button on top left corner.

Depending on learning time span and neuron amounts teaching can take maximum
few minutes. If teaching is succeeded Learning Date column is updated by time of
the learning finished.
Learning results
If learning is successful, SOM calculation updates some columns in SOM
configuration. It creates internal variable for SOM unit and calculates “forecast”
value for it using learn shape history data as input. Results are shown in lower trend.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 26
· Learning Date: Time when learning finished succesfully. Forecast can’t be
produced until learning has been done succesfully.
· Pearson All Data: Pearson value for all different day profile time series.
Gives an idea how well variables really correlate. Not updated in cyclic
updates.
· Pearson Used Data: Pearson value for time series used for neuron profiles.
Not updated in cyclic updates.
Calculated Pearson values gives user possibility to consider changing Pearson limit
used for updating neuron profiles.
If Learning Date column is not updated with current time after few minutes, the
reason can be one of the following:
ü Pearson limit is too high, try with lower limit. Using zero as limit will accept
all data
ü Learning time span did not include enough different day values to be used for
number of neurons configured. For example if each day has separate profile
and learning data includes only 4 weeks, maximum for neuron is 4 (four
Mondays). Remember that too high Pearson limit also reduces valid day
samples. Try with smaller neuron amounts.
SOM calculation also writes log file to server. Log file will be produced under the
database folder to \Diag\Calculation or \Diag\Calculation\Recalc folder depending if
Recalculation Server is used or not. Reason for unsuccessful learning can be search
from log file.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 27
2.7.2 Forecast calculation
After successful learning calculation of forecast is possible. Forecast calculation
parameters are good to define at the same time as learning parameters, since after
successful learning forecast is calculated right away. Forecast is calculated cyclically
depending on activation setting in TimedTasks table (task id 35202). Here it is 5
minutes. Cycle is same for all SOM units and can be change to TimedTasks table.

Forecast
Forecast parameters are

· Forecast Shape Variable: Variable for explanatory input forecast values to


calculate actual forecast. In SOM case 2 leave it None (Not defined).
· Forecast History: Source table for shape variable but also target table for
calculated actual forecast values
· Forecast Variable: If defined forecast values are also written to this variable.
Results are always written to generic variable created by SOM calculation
EMO_SOM_”SOM configuration Id”_FOR, like EMO_SOM_1_FOR.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 28
· Span Hours: Span hours defines how many hours from current time forecast
result values are produced like 240 meaning ten days
· Excluded Time Power: If SOM configuration excludes some days (Calendar
settings), it is possible to define constant value to be written for those periods
or if not defined (None) skip writing.
· Use Variable Limits: Calculated forecast values can be limited to certain
value range. If Use Variable Limits is checked value range is taken from
database minimum and maximum of Learning Forecast Variable (used for
SOM profile learning)
Forecast calculation results can be seen in SOM display by selecting Forecast mode.
Results are in lower trend.

2.7.3 Cyclic SOM profile update


Update
SOM day profiles neurons are updated after initial learning cyclically each day. This
update has one parameter
· Delay days: Once a day SOM profile update calculation is started
(TimedTask id 35203). Delay days settings defines which day profile is
updated. Value 0 (zero) means that previous day profile is updated, value 1
means day before previous day and so on. Sometimes real history data is
available only after some delay and updating must be done later.

2.7.4 Special day configuration


It is possible to define special days to EM calendar and rule how these are used in
SOM configurations. There are limitations applied to special day configurations
· Calendar: Days are defined to EM calendar, which is also used by other EM
applications. This means that do not change any old calendar settings unless
not sure if it is in use in another application.
In EM calendar each day can be defined to special day. Special day has name
and Boolean data if it is normal working day or not. Limitation is that each
day can has only one name. So if some day is used in several applications like
EM tariff or SOM, changing any old special names means that new rules has
to be added to EM tariff or SOM also.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 29
· Profile used for special day: Special days don’t have any own day profiles
saved but can use one of the profiles defined in SOM configuration. For
example if configuration has two profiles: Monday for working days and
Saturday for weekend. Then for this configuration it is possible to define
either Monday or Saturday (or Disabled) to be used when special day found.
Special day configuration has own display. Display consists of four lists (from top):
o SOM configuration (only name and special day rule columns visible)
o Special day rule
o Special days
o Calendar
Selecting any one row from list will copy selection to be used as mask to next list
below.

When defining special days to SOM, order is first list 2 and 4, then list 4 and the last
list 1. Any modifications to lists are done in list Edit-mode.
Days to calendar (list 4)
Define special days to calendar. To see all already defined entries select All to Name
mask.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 30
Calendar definition has next properties
· Name: Special day name.
· Is Working Day: Working day property can be used to separate two same
name special days but different need.
· Date: unique date starting at midnight.

Special day rule (list 2)


One or several SOM configurations can use same special day rule. Special day
profile rule has only one property:
· Name: Name of the rule.

Special days used in rule (list 3)


Special day rule can be applied to several different special day calendar entries.
Combining rule and entries in calendar is done with list 3. It has next properties:
· Profile: Name of the rule to which it is used. So it is reference to list 2 entries
and rule name must be defined first.
· Special Day Name: Special day name which are searched from calendar.
Remark! Property is not reference to any calendar entry. If calendar entries
(name) are changed, new name is not updated to this property.
· IsWorkingDay: Extra option for searching calendar entries. Can have 3
values:
o True (selected). Only calendar entries with Is Working Day value true
are applied
o False (unselected). Only calendar entries with Is Working Day value
false are applied
o None. Calendar entries with Is Working Day value true and false are
applied
· DayIndex: SOM configuration day profile to be used for these special days.
Remark! Define day profile which is also used in SOM configuration for any

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 31
normal day. It is also possible to use option Disabled, which means that day
is skipped (not used for learning and no forecast produced)
· IncludeLearning: Boolean option if special day is used in learning, both
initial learning and cyclic updates.
Special day rule to be used in SOM configuration (list 1)
SOM configuration has several properties but here only special day profile (rule)
column is visible. Define reference to rule to be used for each SOM configuration if
needed.

2.8 State Input Gantt Chart Configuration

2.8.1 State Input Enumeration Configuration


The Gantt chart is used for setting the new planned state inputs for production lines,
which can take two or more states. Consumption unit type is defined as “State input”
type for these production lines; see the section 2.2 Defining a Plant Model for .
For each variable used for state inputs, the Binary Text field must be configured in
the variable properties dialog. The enumeration of available states is attached to the
Gantt chart through the variable displayed in the Gantt chart.
For example, the variable “EMO_ColumnState_4” is the TMP Line 1 Gantt chart
variable; It has attached the Binary Text (enumeration) called “Stop[0] / Run[1]” to
it:

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 32
The state enumerations can be found in the node (UI Strings list):
“General functions\Maintenance\Configuration Lists\Tree Items\UI Strings”
The name of the enumerations referred in the property dialog (Binary Text field) of
the variable is configured in “Section = Enums, Control = Binary Texts, Index = @1,
Text = Stop[0] / Run[1]”.
The actual enumerations are on the other hand found in the same list display but
looking for "Control = Binary Text(1)" where number "1" comes from the Index of
the enumeration name; see UI Strings List figure below.

Those configured enumerations for particular variable are listed in the drop-down
list, which is usually located on the left side below the plot area in the Gantt chart
window:

For instructions about setting new forecasts using state inputs, see the section “3.3.1
Operating State Gantt Chart Window” in the /em_urm/ document.
The following figure shows an example configuration in the UI Strings list for 3 or
more enumerations, e.g. “Valve (four signals)”, i.e. Enumeration Name “Binary
Text(0)”.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 33
2.8.2 Gantt Chart Configuration
The Gantt chart display usually consist of the plot area, the legend (located on the
right), and the bar used for updating state value (located below the plot area).
The following figure presents an example of the Gantt chart display for three TMP
lines. Each TMP line can take two states: Stop and Run.

At the legend, all three TMP lines are configured using Item type Gantt.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 34
Lower at the legend there are defined two items, Stop (0) and Run (1), using Item
type Gantt, status and color for state explanation purposes. They configure colors
of a Gantt chart component when the condition in the Gantt status state field is
fulfilled.
The example items, Stop (0) and Run (1), define colors and conditions for two
different states as follows:

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 35
3. Production Planning Interface
The Production Planning Interface, which is used together with the Energy Demand
Planning module, allows the system to handle production plans from a production
planning system (PPS). The production schedules are received with FTP as ASCII
text files, each of them containing the plan of one consumption unit in a predefined
format.
The configuration includes inserting and updating data in the table ProductionData.
For this purpose, there is a configuration window shown in the Figure 5 with
configuration instructions in section 2.4 Configuration of the Production Data. A
prerequisite for PPS interface is that the Energy Demand Planning service is already
running.
The interface service handles the input files, derives the planned values, and stores
them to internal variables. Typically the output entities are electrical power and
steam flow but they may be other variables as well (e.g. gas flow). The maximum
number of output variables is five. The internal variables are created automatically
by Energy Demand Planning service for each consumption unit with names
ESM_ProdElec_N, ESM_ProdHeat_N, ESM_ProdSort3_N, …, ESM_ProdSort5_N,
where N = unique ID-number of the consumption unit. In addition, there are
variables for weight, production rate, and grade code, with names
ESM_ProdWeight_N, ESM_ProdRateOut_N, and EMO_ProdGradeCode_N. The
grade codes are ASCII text strings, but the system generates for each code a
numerical value, which is stored to the variable.
If there is a manually entered definition or an outage that overlaps the production
plan, the manually entered definition has a higher priority.

3.1 Production Planning Interface Functions


The production plans are sent in text files, one file for each consumption unit, to the
specified directory. If there are other files in the same directory, a filter for separating
the PPS files shall be defined. The filter is defined in the SimpleConfig database
table (the default filter is *.txt).
A new production plan can be sent at any time. The sending program should ensure
that the file is completely written to the disk before it appears to the directory.
During the FTP-transfer, the file must have a different name (e.g.
FILE_NAME_1.TMP) to avoid conflicts in handling, and at the end of the transfer, it
is renamed to the final name.
After handling, the service moves the file to the subdirectory \last_processed. For
archiving it is recommended that, the name of the file includes a serial number
running for example from 1 to 100.
The results are stored as time series in database, and an informative definition is
generated from each data row, with Handler = ‘PPS’. These definitions are separated
from the manually entered definitions by setting the value in the field

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 36
‘RowForecastType’ to 100. The ‘Description’ field of the PPS data line is stored to
the ‘Description’ field of the informative definition.
There are some parameters in the table SimpleConfig for configuring the function of
the program, with SectionName = ‘EMO_ProdForecasts’ and the following
KeyNames:
· ProdForecSource, Default = ‘FILE’. There are two other choices, too:
‘PPS’ for connection to the standard PPS system of ABB, and ‘TABLE’ for
special cases where input comes directly to an RTDB table.
· ProdFilePath, Directory of the input files. Default =
‘D\\FtpTransfer\\PPSdata\\’
· ProdFileName, Filter of names of PPS files. Default = ‘*.txt’
· CleanOldValues, If ‘YES’, possible old values are cleaned, otherwise they are
restored. Default = ‘YES’.
· OutageString, Identification of outage. Default = ‘STOP’. When the text
string in the ‘Grade’ field matches this string, the data is handled as an outage.
· OutagesOnly, If ‘YES’, only outages are handled. Default = ‘NO’.
· OutageValuesFromPPS, If ‘YES’, the outage power values are taken from the
file, otherwise the OFF-values configured to the target are used. Default = ‘YES’.
· MakeRealOutages, real outage rows are generated. They can be seen in the
outage input display, with Handler = ‘PPS’. Default = ‘NO’
There is a special watchdog variable EMO_ProdForecast_WDOG for checking that
the service program EMO_ProdForecast is responding. The program updates the
variable cyclically, and an alarm is generated if the age of last update overrides the
expiration time. The default expiration time is 1 hour, and it can be changed
manually in the definition sheet, if desired.

3.2 PPS file format


The content of the file is the following:
· Comment line
· Comment line
· Name of consumption unit (an ASCII string, must match to the configured name)
· Data type (0 = production rate, 1…5 = power and flow values)
· Empty line (reserved)
· Comment line
· Data lines.
The data lines have the following fields, separated by semicolons (;):
· Grade code (an ASCII string)
· Description (an ASCII string)
· Weight (g/m2)

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 37
· Start time (YYYY-MM-DD HH:MM)
· End time (YYYY-MM-DD HH:MM)
· Data field 1: production rate (tons/h)
· Other data fields, if any.
The number of data fields depends on data type:
· If data type = 0, only the production rate (tons/hour) is sent. The power or flow
values are calculated according to the specific coefficients configured in
production data configuration.
· If data type = N (= 1 to 5), the production rate (tons/hour) and N power or flow
values are sent (e.g. electricity MW, steam t/h, and max 3 others). In this case,
the power or flow values are taken as such, and no calculation from production
rate takes place.
In data lines, leading and trailing spaces are omitted (but allowed).
If end time < current time, nothing is done. The old plan is preserved.

An example of the text files including production rate only


ABB-TEST
PAPER MILL
PM2
0
Grade; Description; g/m2; Start; End; Production rate
230-37-1; Test grade 1; 56.0;2006-06-20 07:00;2003-06-22 02:00; 14.0
230-37-2; Test grade 2; 52.0;2006-06-22 02:00;2003-06-24 04:00; 14.0

The data lines are interpreted using the configured specific coefficients for
electricity, steam, and up to three other entities.
Name of a consumption unit (e.g. PM2) and Grade of the data line must match
exactly to a configured Consumption Unit and Sort Number. Weight and Production
Rate are then compared with the configured Weight and Production Rate values. The
best match is selected, and the corresponding specific values are multiplied by the
production rate.

An example of the text file including electrical power and steam flow
ABB-TEST
ANOTHER MILL
PM1
3
Grade; Description; g/m2; Start; End; Production rate; Elec power; Steam flow; Gas
flow
;;; 2003-01-03 15:00; 2006-01-04 03:30; ; 5.5; 2.3; 3.4
;;; 2003-01-04 03:30; 2006-01-10 15:00; ; 6.5; 2.2; 3.3

In this case, no grade and weight is needed because the values are taken directly.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 38
4. Power Monitoring
The Power Monitoring function is used to monitor the amount of any continuous
variable (for example purchased electric power or natural gas) against given limits.
Special column chart displays are provided for the monitoring. The accumulation of
the purchased electricity or natural gas quantity is displayed as a column chart with
an extrapolation line that indicates the projected integral quantity at the end of the
monitoring period.
The monitoring period is configurable, and is typically 15 minutes or one hour. The
value of the cumulated energy is calculated cyclically with a configurable interval
using the measured cycle average power. The total monitoring period divided by the
calculation interval must be a whole number. The average power of the period passed
so far is calculated at the end of the last interval. The projected period power and the
extrapolation line are calculated from the values of the last intervals. The number of
intervals in calculation is configurable; five is default. At the beginning of the period,
the values of the last intervals of the previous period are used.
Instead of extrapolated values, it is also possible to take the future values of the
period from the calculated forecast values if they are available.
The values of cumulated energy and monitoring limits are stored to the history table
FORCurrentHistory. This history table must exist in the database before the Power
Monitoring service can be started.

4.1 Configuration of the Active Power Monitoring Chart


You configure the Active Power Monitoring chart by entering the variables that will
be presented as numerical values. For information on how to do it, see section 2.2,
“Configuring Chart Windows” in the /ui_cam/ document.
Recommended variable names are:
· EMO_PeriodEnergy_ACT Cumulated Energy and Projected Power - line
· EMO_SecondsToEnd_ACT Time to Cycle End
· EMO_AveragePower_ACT Cycle Average Power
· EMO_EstimatePower_ACT Projected Power - value
· EMO_MonitLim1_ACT Monitoring Limit 1
· EMO_MonitLim2_ACT Monitoring Limit 2
· EMO_MonitLim3_ACT Monitoring Limit 3
· EMO_SecToLimit_ACT Time to Monitoring Limit 1
· EMO_PowerToLimit_ACT Allowed Power to Limit 1
· EMO_SecToLimit2_ACT Time to Monitoring Limit 2
· EMO_PowerToLimit2_ACT Allowed Power to Limit 2
· EMO_SecToLimit3_ACT Time to Monitoring Limit 3
· EMO_PowerToLimit3_ACT Allowed Power to Limit 3
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 39
· EMO_Overshoot_ACT Estimated Overshoot of Monitoring Limit 1
The database variable of the measured purchased power (the input variable) and
other variables are configured in table EMOTieLineConfig. The period in minutes
and interval in seconds are also defined in this table.

To insert definitions in table EMOTieLineConfig


Ø Open the Maintenance folder in the navigation tree.
Ø Under Maintenance folder one or its subfolders, create or open the configuration
window
.

Figure 8 Definitions in table EMOTieLineConfig


The values in the figure are examples only.
The columns of the definition table have the following meanings:
· Id: Number of the monitored item.
· PeriodMinutes: Monitoring period in minutes.
· IntervalSeconds: Calculation interval in seconds.
· InputVarIDN: ID of the input variable. Scaled with value in the Unit_kW
column.
· PlannedVarIDN: ID of a variable (if > 0) whose value is stored as the value of
the monitoring limit variable defined in column Limit1VarIDN. Scaled with the
value in the Unit_kW column.
· CumulatedVarIDN, …, OvershootVarIDN: ID numbers of variables
calculated.
· Limit1VarIDN, …, Limit3VarIDN: ID numbers of monitoring limits.
· Unit_kW: Scale factor.
· HistTableName: History table from where input is read.
· ForecastTableName: Forecast table. If forecast table name is specified, the
future values of cumulative energy are calculated using values of the forecast
table. Otherwise, extrapolated values are used.
· SecToLimitVarIDN, …, SecToLimit3VarIDN: ID of variable for time to
monitoring limit 1, …, 3.
· RateToLimitVarIDN, …, RateToLimit3VarIDN: ID of variable for allowed
power to monitoring limit 1, …, 3.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 40
· BaseTime: Reference time.
· Extrapol.Intervals: Number of periods to use in extrapolation of the Power
Monitoring forecast line.

Ø To insert a row, click the Edit button. Then you get the buttons needed for
editing:

New opens a new definition, Delete removes the definition, Commit confirms the
operations. Revert cancels the operations that are not confirmed, and returns from
the editing mode.

4.2 Configuration of the Reactive Power Monitoring Chart


You configure the Reactive Power Monitoring chart by entering the variables that
will be presented as numerical values. For information on how to do it, see section
2.2, “Configuring Chart Windows” in the /ui_cam/ document.
Recommended variable names are:
· EMO_PeriodEnergy_REACT for Cumulated Energy and Projected Power -
line
· EMO_SecondsToEnd_REACT for Time to Cycle End
· EMO_AveragePower_REACT for Average Power of Current Period
· EMO_EstimatePower_REACT for Estimated Reactive Power - value
· EMO_MonitLim1_REACT for Monitoring Limit 1 (Low)
· EMO_MonitLim2_REACT for Monitoring Limit 2 (High)
· EMO_MonitLim3_REACT for Monitoring Limit 3 (Negative)
The database variable of the measured reactive power (the input variable) and other
variables are configured in table EMOTieLineConfig in a similar way as for the
active Power Monitoring function, see section 4.1. The period in minutes and interval
in seconds are also defined in the table.
For configuring variables for Reactive Power monitoring chart add a new separate
definition row to the EMOTieLineConfig table (see the Figure 8).

4.3 Configuration of the Natural Gas Monitoring Chart


You configure the Natural Gas Monitoring chart by entering the variables that will be
presented as numerical values. For information on how to do it, see section 2.2,
“Configuring Chart Windows” in the /ui_cam/ document.
Recommended variable names are:
· EMO_GAS_PERIODVOLUME for Cumulated Volume and Projected
Volume - line
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 41
· EMO_SecondsToPeriodEnd_GAS for Time to Period End
· EMO_PeriodAverageFlow_GAS for Average Gas Flow in Current Period
· EMO_PeriodEstimateFlow_GAS for Projected Volume
· EMO_MonitLim1_GAS for Monitoring Limit - Low
· EMO_MonitLim2_GAS for Monitoring Limit - High
The variable of the measured purchased gas flow (the input variable) and other
variables are configured in table EMOTieLineConfig in a similar way as for the
active Power Monitoring function, see section 4.1. The period in minutes and interval
in seconds are also defined in the table.
For configuring variables for Natural Gas Tie-line monitoring chart, add a new
separate definition row to the EMOTieLineConfig table (see the Figure 8).

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 42
5. Economic Flow Network (EFN)

5.1 Basic principles of Economic Flow Network and its hierarchical data structure
The structure of the flow network problem is defined in the EM with concepts
Balancing Areas (in graph theory called as nodes) and Connection points (in graph
theory called as arcs). Each balancing area is equilibrated so that the flow into the
balancing area equals to the flow out of it. Connection points can create a link
between two balancing areas to enable flow from one to another. However not all
connection points are physically linked. In those cases they are considered to be
linked to a Source (in case the connection point has a positive sign) or to a Sink (in
case the connection point has a negative sign). Source and Sink are concepts of the
graph theory. Source can “produce” an infinite flow, while Sink can “consume” an
infinite flow.
Economic Flow Network equilibrates balancing areas with the most cost-effective
way, taking into account all the constraints and prices associated with each flow.
Time-varying capacity constraints, integral constraints and prices for the connection
points are defined with Connection Point Descriptions.
In addition to equilibrating flow networks, EFN also allows maintaining system-wide
time-varying parameters, e.g. fuel prices, maximum capacities, etc. These parameters
are created under parameter folders. Also balancing areas can be grouped under these
parameters folders, to improve the clarity of the configuration.

5.2 Functions
The Economic Flow Network configuration and administration documentation is
divided into the following sections:
· Setting up the layout of the user interface (section 5.3)
· Configuring balancing areas, connection points and their descriptions (section
5.4)
· Sum restrictions (section 5.7)
· Time-varying database parameters
· EFN user access rights and user views (section 5.4)
· Configuring Calculation Procedures (section 5.7)
· Defining time tariffs (section 5.7)
· Timers for automated connection point description creation (section 5.8)
· Economic Flow Network settings (section 5.9)
· Equation Engine (section 5.9.6)

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 43
5.3 Setting up the layout of the user interface
The Economic Flow Network user interface can be opened in the Vtrin user interface
by defining the Item type of the tree node as Plug-in and with the command line text
(see the Figure 9):
· EMO-Legacy-Plugin.ABB.Vtrin.Plugins.cEMOLegacyPlugin
Contracts.Contracts

Figure 9 Economic Flow Network plug-in properties


When clicking or double-clicking (depends on the current user interface properties)
the new tree node, the main window of the Economic Flow Network opens as in the
Figure 10.

Balance tree
and connection
points Descriptions of
connection points

Preview window

Connection
window

Calculation log

Figure 10 Economic Flow Network main view

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 44
In the toolbar of the window, there are 5 buttons that define the main layout of the
window:

· Save display setting on exit: When selected, the layout of the EFN
windows and dialogs (positions and sizes of windows, the selected filters,
etc.) is saved on exit of EFN user interface module.

· Show calculation log: When selected, the calculation log is shown on


the main EFN window. Calculation log keeps track of the progress of
calculation of balances. Not all the events are shown, but instead only
samples of the real-time EFN events.

· Show balance tree: When selected, the filtering of connection point


descriptions is enabled based on the selected balancing area and/or
connection point (see the field “Balance tree and connection points” in the
Figure 10). If ‘Show balance tree’ button is not selected, the selected balance
or connection point is showing on top of the window as text.

· Show the destination balance of a connection point in an additional


window. When selected, the destination balance of a connection point is
shown in a small window on the lower left corner of the display (see the field
“Connection window” in the Figure 10).

· Show details of a connection point description in an additional


window. When selected, all relevant attributes of a selected connection point
description are printed on the preview window on the lower part of the
display (see the field “Preview window” in the Figure 10).
As a default the main view lists selected connection point descriptions with seven
different attributes:
· Balancing Area
· Holder
· Connection point
· Inflow/Outflow
· Start time
· End time
· State.
Optional columns can be configured in the main view by right-
clicking the background of the list with Ctrl on the keyboard,
and selecting the column from the opened menu (see on the
right). Selectable columns are all columns in the TradeData
database table (a physical database table for descriptions of the
connection points, in total 122 columns) and transient values of

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 45
connection points:
· Unit price
· Maximum flow
· Minimum flow
· Optimum flow
· Cost of flow

5.4 Configuring Balancing areas and Connection points


Connection points in balancing areas define flows in and out to or from the balancing
area. You introduce them in the Economic Flow Network Configuration dialog
window presented in Figure 11. You open it from the toolbar button in the
Economic Flow Network view (see the Figure 10).

Figure 11 Economic Flow Network Configuration dialog window


Balancing areas and folders are organized hierarchically under the Balancing Areas
and Folders root-item (see the Figure 11). One predefined icon for balancing area
and folder symbols ( -Handshake) is available. In addition, you can use your own
icons on the disk. The number of the balancing areas, connection points and their
descriptions is unlimited, and can be created and maintained freely in runtime.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 46
Balancing area
Balancing areas are shown in the configuration tree with bold font in black color, as
folders are shown with a regular font with grey color. The balancing areas where the
calculation has been disabled, are shown in red color. Connection points defined in
the balancing areas are automatically connected to equilibrium algorithms (either
Heuristics or Flow Optimizer). In runtime, you can enable/disable the connection
points. Disabling a connection point results the equilibrium algorithm to find
alternative solution to equilibrate the balancing area without the disabled connection
point.

5.4.1 To introduce balancing areas and connection points


Click the symbol beside the name or double-click the name of the balancing area or
connection point to view their contents.
To create a new balancing area, right-click the Balancing Areas and Folders root-
item or any existing parameter folder or balance and point to Create New Balancing
Area on the pop-up menu, or you can click the icon on the toolbar.

Select a symbol for the balancing area from the opening


symbol tray. New symbols can be added to the icon group by
clicking the button and specifying the name of
the file on the disk. Only *.ico files are accepted. The symbol
for the balancing area can be changed at any time. Symbol
files are distributed to all clients via the cpmPlus History
database server. For details about symbols, see the Figure 31
, where the Symbols tab in the Settings dialog shows any
missing symbols on client, due to failure in file distribution.
The new balancing area item appears in the tree.
To name a new balancing area, type the name for an
appearing new item. To change existing name, right-click it,
choose Rename (or click F2 on the keyboard) and enter a
name.
To change the symbol for a balancing area, right-click it, select Change Symbol, and
pick a new symbol from the symbol tray.
Balance-specific configuration, Result variables (Figure 12)
Net sums:
· Flow Aggregate: Total net flow
· Cost Aggregate: Total net cost
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 47
Positive part tab defines variables for recording only the positive values of net sums,
for both flow and cost. Negative part tab defines variables for recording only the
negative values of net sums.
Marginal Cost:
Marginal cost is the price of the last used flow option (Connection point) in the
balance. It can be used to estimate cost changes of the balance area in case of
differential changes in the total flow through the balance area. The field Marginal
Cost defines a database variable which receives this information.
Balance-specific configuration, Additional information (Figure 13)
Period of validity:
Period of validity can be associated to every balancing area. Outside this period of
validity, balancing area is excluded from the flow network configuration and no
calculation is executed for it. Outside this period of validity also all connection
points created in the balancing area are disabled. This applies also the ones
connected to other balancing areas. Period of validity is defined in Start time and
End time fields in the Period of validity frame.
Inheritance ID:
Inheritance ID specifies the sub-index of the database table for recording the results
of the balancing algorithm. These results are recorded in the database variables with
a naming convention EMO_#_BOOK. If the Inheritance ID is given as 0 (default
value), the results are recorded in the table EMOContractsData. If the Inheritance ID
is given as 1, the results are recorded in the table EMOContractsData1, etc. Typically
this feature is used when a template balance is inherited into 2 derived instances of
balances, which both have a write access to the connection points they inherit. In this
case Inheritance ID can be used to specify that the results should be written into
separate database tables to avoid a conflict.

Figure 12 Balance area / Result variables tab


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 48
Figure 13 Balance area / Additional information tab
To create a new connection point in the balancing area
· Right-click the name or the symbol of the balancing area
AND
· point to Create New Connection Point on the pop-up menu
OR
· Click the name or the symbol of the balancing area
· Click F2 on the keyboard
OR
· Click on the toolbar (input flow)
OR
· Click on the toolbar (output flow)
You can move a connection point from one balancing area to another by drag-and-
drop operation.
To name the new connection point, type the name for an appearing new item. To
change existing name, right-click it, choose Rename (or click F2 on the keyboard)
and enter a name.
If you need to specify result variables for the connection point click the connection
point and configure the variables in the Properties/Result variables tab (see Figure
14). If the Properties tab is not showing, you can make it visible by right-clicking the
white background of the balance tree, and switching on the window setting Show
Properties. Alternative way to switch between showing and hiding the Properties
tab is to click the button on the toolbar.
Connection point-specific configuration, Result variables (Figure 14)
Click the connection point, if it is not already selected. The result variables for the
connection point are activated on the Properties/Result variables tab. On the Result
variables tab there are two kinds of result variables, connection point specific and
total. Total means all the flows (either amount or cost) collected through the
corresponding connection point. Total can be due to the connection point itself, or
due to connection points collected below it in hierarchical way.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 49
Connection point specific time-varying variables are as follows:
· Unit price: Unit price of the flow, e.g. in units of €/MWh
· Maximum flow: Maximum capacity of the flow, e.g. in units of MW
· Minimum flow: The compelled minimum of the flow, e.g. in units of MW
The total amounts of all the connection points collected under
Aggregated values of the connection:
Net sums:
· Flow Aggregate: Total net flow
· Cost Aggregate: Total net cost
Positive part tab defines variables for recording only the positive values of net sums,
for both flow and cost. Negative part tab defines variables for recording only the
negative values of net sums.
Gross inflow sums:
· Flow Aggregate: Total sum of all the inflows
· Cost Aggregate: Total sum of the cost of all the inflows
Gross outflow sums:
· Flow Aggregate: Total sum of all the outflows
· Cost Aggregate: Total sum of the cost of all the outflows

Figure 14 Connection point / Result variables tab


Connection point-specific configuration, Additional information (Figure 15)
Constrained and/or preferred selection order:
It is possible to set rules for the selection order of the connection points in balancing
algorithms, in case the connection point descriptions allow some flexibility in terms
of usage. There are two ways to manipulate the selection order of connection points:
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 50
Prior connection point and Virtual price. Prior connection point defines the
connection point that always has to be used up to maximum capacity prior to the
connection point in question. Virtual price is an extra price added to the real unit
price of the connection point, multiplied by 1E9. This extra price is used in balancing
algorithm, but for the final costs of the connection points, it does not have any effect.
By using the virtual price the preferred selection order of the connection points can
be defined instead of giving it as a hard constraint.
Period of validity:
Period of validity can be associated to every connection point. Outside this period of
validity connection point is excluded from the flow network configuration. It is
defined in Start time and End time fields in the Period of validity frame.
Connection point coefficients:
The connection point coefficients are used to allow unit conversions for the
connection points that link a flow from one balance to another. Also they allow
giving input data in different units within a balancing area. For example, a
description can be specified in the units of kWh in the balancing area where other
descriptions are given with the units of MWh. To make them comparable, to the
description in kWh has to be given a Coefficient bal.1, 0.001 (a coefficient in the
balancing area 1, i.e. in the balance of origin). The Coefficient bal.2 (a coefficient in
the balancing area 2, i.e. in the balance of connection) is used, if the connection point
is connected to another balancing area.

Figure 15 Connection point / Additional information tab


On optimization tab you can specify the connection point parameters affecting only
on the MILP optimization (no effect on the Heuristics algorithm)
Operation rules (Optimization –tab, Figure 16):
Operation rules has 4 possible settings:
· Not selected
o Operation rules are not applied. The corresponding input fields are
disabled.
· Past only
o Operation rules are applied only in the past time.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 51
· Future only
o Operation rules are applied only in the future time.
· Everywhere
o Operation rules are applied both in the past and future time.
Enabling the operation rules means from mathematical perspective that an additional
binary decision variable (0/1) is created for the flow in the MILP model. Essentially
these binaries provide means to either activate or deactivate flow through the
connection point.

Figure 16 Connection point / Optimization tab


When these rules are enabled, the following parameters can be defined:
Name of parameter Description
Flow in off-state The flow value when the flow is in OFF status
Startup cost The cost for activating the flow, i.e. the cost when the
flow is switched from OFF to ON
Shutdown cost The cost for de-activating the flow, i.e. the cost when
the flow is switched from ON to OFF
Minimum time when off Minimum required time to keep the status as OFF after
the status is changed from ON to OFF
Min oper. time when on Minimum required time to keep the status as ON after
the status is changed from OFF to ON
Max oper. time when on Maximum allowed time to keep the status as ON after
the status is changed from OFF to ON
Min avg. startup interv. Minimum average startup interval within the model.
For example with 24h model length, 6 hour interval
means 4 startups during the model time frame.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 52
However the time of occurrence of these 4 startups is
not restricted.
Max trace length Maximum time span in the measurement history that is
checked for the above constraints

Other optimization related parameters (Optimization –tab, Figure 16)


Change of rate (units/hour):
Change of rate constraint means a restriction for flow changes between the sequential
periods. Change of rate can be specified separately for negative and positive changes,
by selecting the corresponding checkbox and specifying the value. If Disable
interaction is selected, then the change of rate is checked only within each
connection point description, without any interaction between them.
Virtual price for change:
Virtual price applied on any change of the optimized flow of the connection point
between sequential periods, whether it is negative or positive change.

To enter a new description for the connection point


· Right-click the connection point and click Create a new description on the pop-
up menu.

To rename balancing areas and connection points


· Right-click a balancing area or a connection point and click Rename on the pop-
up menu.

OR
· Click a balancing area or a connection point and click F2 on the keyboard
· Enter a name for the item.

To remove balancing area or a connection point


· Right-click a balancing area or a connection point and click Remove on the pop-
up menu.
· Click in the confirmation box.
OR
· Click a balancing are or a connection point and click Delete on the keyboard.
· Click in the confirmation box.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 53
To specify connection point options, right-click a connection point to open a pop-up
menu (see the Figure 17).

Figure 17 Connection point menu


Setting Description
Reversed If checked, the flow is specified as outflow from the
balance. Otherwise it is inflow.
Not in use The following symbol beside a connection point
indicates that the connection point is excluded from
the flow network configuration, so it is set as ‘Not in
use’ status. When creating a new connection point, it
is in use by default.
Hide descriptions of This When selected, connection point is shown dimmed in
Connection Point the Configuration of Economic Flow Network dialog
window, and it’s descriptions are filtered out from the
user interface.
Hide Restriction on Use When selected, the Restriction on Use tab in the
connection point description dialog is not shown. This
setting can be used to simplify the view for the regular
user.
Check Manual Entries You can directly give historical or future values to the
connection point specified in the Result variables tab:
Unit Price, Maximum Flow, Minimum Flow, Net
Flow and Cumulative Flow. Manually entered values
override the data coming from the connection point
descriptions.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 54
No Time Rounding When selected, the start and end time of the
connection point description are not rounded
according to the time step of the balance. For the
periods where the description does not cover the entire
period, the weighted values are calculated
automatically.
Integral Limited When selected, additional tabs appear for the
descriptions of the connection point, Integral max
and Integral min, and a cumulative sum of the flow is
calculated. The cumulative sum is restricted between
the Integral max and Integral min.
Spinning Reserve If selected, this connection point is considered to
participate the calculation of required spinning reserve
of the calculation procedure. Spinning reserve is
described in more details in the chapter 5.7
Configuring Calculation Procedures.
Use Quadratic Costs As a default, the connection point flow related costs
are taken in the objective function of the Flow
Optimizer linearly (i.e. decision flow*unit price). If
Use Use Quadratic Costs is selected, then the costs are
taken as quadratic (i.e. decision flow^2 * unit price).
To activate/de-activate the above settings, click them on the menu.
· Disconnect from Another Balancing Area: This command revokes the
connection between balancing areas through this connection point (how to create
a connection is explained later in this section).
· You can search for a balancing area
where a particular connection point
has been connected to by using the
command Show Connected
Balancing Area.
· Belongs to the Client View and
Define the View Security: The
functionality is the same as for
balancing areas (see 5.6 EFN user
access rights and user views).
· Export / Import / Import and Replace (see 5.5 EFN Library).

To move connection points from one location to another


· To move the connection point from one balancing area to another
one, grab the node with the left mouse button and drag it to the
new desired location. A pop-up menu is opened to allow either
move, or creating a reference. Choose Move command on the pop-up menu.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 55
· To move the connection point under another connection
point inside the same balancing area, grab the node with
the left mouse button, drag and drop it to the new desired
location. A pop-up menu is open. Choose the Place Under Another Connection
Point command on the pop-up menu. The Re-order the Participants command
re-orders the tree with connection points in the current balancing area.

To create a reference to connection points (to create a connection)


If a connection point is considered to be linked to the Source or the Sink (see the
section 5.1 Basic principles of Economic Flow Network and its hierarchical data
structure explaining the concepts of the flow network), the destination (or source
depending on the direction of a connection point) of a connection point does not need
to be explicitly specified. However, if it is necessary to define a link between two
balancing areas to enable flow from one to another, it can be done by connecting the
connection point.
· Connection between balancing areas can be configured by using a command
Create a Reference. The command can be selected by just dragging a
connection point in the same way as trying to move it, and then selecting a
command Create a Reference on the opening pop-up menu.
· Alternative way to create a connection is to click Copy on the right-click pop-up
menu of a connection point, and to create a connection in the other balancing area
with Paste as Reference command.
When the connection has been created, the
connected connection point is shown in balancing
areas with the and symbols (it is shown with
the opposite sign to the original in the connected
balancing area). In the destination balancing area, it
shows with dimmed color. Attributes of the
connection point can only be configured in its
original balancing area. In the figure on the right,
the connection point “Live steam” in the “Boiler
balance” has been connected to “Energy balance” as
an example. Because it is specified as Reversed, it shows with negative sign in its
origin and with positive sign in the destination balancing area.

To copy-paste connection points


To copy a connection point and all connection points that are hierarchically located
under it, click the Copy on the pop-up menu, and paste it in the new location with
Paste right-click menu command. In case for the connection point to be copied has
been set the end time of validity, Paste to Continue right-click menu command can
be used to paste using origin’s end time as start time for the new connection point. If
no end time was set for the origin, Paste to Continue has same functionality as a
regular Paste. The new connection points after the paste operation are set ‘Not in use’
as default. To enable the new connection points click ‘Not in use’ on the pop-up
menu.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 56
To copy-paste a balancing area
To copy a balancing area and all connection points created in it, click the Copy on
the pop-up menu that opens with a right-click mouse button on the balancing area,
and paste it in the new location with Paste right-click menu command. As a default,
Calculation Disabled is set true for the new balancing area. To enable the calculation,
click Calculation Disabled on the pop-up menu.

5.4.2 Data consistency check


Data consistency check is a useful tool for finding
· Non-representative values
· Infeasible flow constraints (minimum flow constraint is greater than a
maximum flow constraint)
· Infeasible integral constraints (minimum integral constraint is greater than
a maximum integral constraint)
A dialog for activating the data consistency check is
opened from a pop-up menu of a folder, a balancing
area or a connection point. The coverage of the
check depends on the location where the dialog is
opened. The dialog allows specifying the start and
end time of the check. The checking procedure is
activated by clicking the Check-button. The dialog
can be closed after the checking procedure has been
activated. The results of the test are shown in the user interface list (see the Figure
18). This list is specified with the source as Event log row.

Figure 18 Data consistency check list (class Event log row)


To see the results of the data consistency check, the Event log row list must be
filtered with Area column as EMO-CON.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 57
5.4.3 Decimals for current values
Decimals for Current Values setting specifies
how many decimals are showed for the current
values in the Economic Flow Network main
view (Figure 10) for the selected balancing area
for any additional columns (Unit price,
Maximum flow, Minimum flow, Optimum flow,
Cost of flow).
To configure Decimals for Current Values,
right-click the balancing area in the
Configuration of Economic Flow Network
window (see the figure on the right), click
Decimals for Current Values and select
desired number of decimals for this balancing
area. If the NOT SELECTED option is
selected, the general setting is used (see section
5.10.4 View tab).

5.4.4 Other properties of the balancing area


See the balancing area popup menu on the right.
· This is template: A balancing area can be defined to be
a template for other balancing areas. Template gives a
way to define connection point structures only once and
to inherit them to a several other balancing areas.
Inheritance is permanent, not as a snapshot, so any post-
inheritance changes in the original template reflect the
changes also to a derived balance.
· Calculation Disabled: Calculation for a particular
balancing area can be enabled/disabled with this option.
When a balancing area is defined to be a Template (see
the bullet above), it is highly recommended that
calculations are disabled for the template.
· History Calculation Model: See section 5.7.
· Forecast Calculation Model: See section 5.7.
· Current Calculation Model: See section 5.7.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 58
· Settlement Group:
This is an option for the Heuristics only. In the
simple case when Settlement Groups are not
specified, the balancing areas are settled in the order
of their hierarchical and visual appearance in the
EFN tree. An example of this is shown in the figure
on the right. In this example case, the settling order
of the balances would be: Balancing are A ->
Balancing area B -> Balancing Area C -> Balancing area D -> Balancing area E.
If instead some other settlement order is preferred, it can be defined by using
settlement groups. Heuristics primarily settles the balancing areas starting from
settlement group 0, then continuing to the group 1, etc. Inside the settlement group,
settling order is as described above, in the order of appearance. The settlement group
names are defined in the ExplorerStrings table in the Section = ‘fParticipantConfig’
and KeyName = ‘SettlementGroupMenu’.
New settlement groups can be configured into the ExplorerStrings database table.
Below is an example of configuring two settlement groups with SQL commands:
DELETE FROM ExplorerStrings WHERE "Section" = 'fParticipantConfig' AND "Key" =
'SettlementGroupMenu';
INSERT INTO ExplorerStrings (PrimaryLangID, SubLangID, "Section", "Key", "Index", Data, Text)
VALUES(9, 1, 'fParticipantConfig', 'SettlementGroupMenu', 0, 0, 'Settlement group A');
INSERT INTO ExplorerStrings (PrimaryLangID, SubLangID, "Section", "Key", "Index", Data, Text)
VALUES(9, 1, 'fParticipantConfig', 'EMOSettlementGroups, 1, 1, 'Settlement group B');
In case the SQL commands are not executed as sql script file but instead directly on
command line, “ marks has to be preceded by backslash (\).

5.5 EFN Library


EFN supports exporting flow network configuration into an EFN Library, as well as
importing again from it. Physically EFN library is a set of files with file format as
CAB. This allows users to transfer individual configurations from one database to
another, without having to replace the entire library. This transfer can be carried out
as a normal Windows file copy-paste. The EFN Library cab-files are stored under the
cpmPlus database folder under EFNLibrary sub folder.
The Export command is launched on an item in the flow network, i.e. on a folder,
balancing area, connection point or a parameter. This command exports all necessary
configuration in the selected configuration, so that the configuration can later be
recreated with Import command as a consistent set of original configuration. There is
only one exception to this: If the imported configuration consists of an equation, that
already exists with the same name in the database where the import is being carried
out, and the imported equation is a dynamic reference to a connection point flow
within the imported configuration, the name of the imported equation is manipulated
by adding a time stamp in the end of the name of the equation.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 59
To export (see the figure below):
· Right-click the node in
the EFN tree that you
want to export
· Select Export from the
opened menu -> Export
dialog opens
· Specify the name for the
exported item. As a
default the name is the
name of the node where
the Export-command
was launched.
· Click Export
To import (see the figure below):
· Right-click the node in
the EFN tree under
which you want to
import something
· Select Import from the
opened menu -> Import
dialog opens
· Select the item to be
imported
· Click Import
The system keeps history of the all the imported EFN configurations (see the figure
below).

Figure 19 EFN Library Log


This EFN Library Log provides information about the imported items:
· Time when the named configuration was imported (CreationTime column)
· The user name who committed the import command (UserName column)
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 60
· Variable names with related history table names that also needs a data
producer in order to the configuration to work properly. Usually these
variables are measurements.
Activating the imported configuration:
As a default, the imported configuration is disabled automatically when it is created.
If the configuration being imported consists of a balance / balances, they are marked
as disabled. If the configuration being imported consists only of connection points,
they are marked as disabled. To facilitate the activation of the imported configuration
and to avoid having to browse through all imported items and enabling them, the
EFN Library Log allows doing it as one centralized command:
· Click the configuration item that you want to enable
· Click Activate button beside the list
De-activating the imported configuration:
If the system administrator needs to de-activate the imported configuration after it
was already activated, as it would no longer have any effect on any flow network
related calculation, it can be done as follows:
· Click the configuration item that you want to de-activate
· Click DeActivate button beside the list
Deleting the imported configuration:
If the system administrator needs to delete the imported configuration from the
system, it can be done as follows:
· Click the configuration item that you want to delete
· Click Edit button on the right-top corner of the list
· Click on “DeleteRequest” on the selected row
· Click Commit
· Click Revert
· Click Delete button beside the list

5.6 EFN user access rights and user views


You can define special client views for EFN functions for different user groups,
allowing specialized access rights and views for them. To start using client views,
they have to be first introduced in the ExplorerStrings database table
(Section='Enums', KeyName=’EMO_ParticipantViews’), and then connected into
balancing areas by right-clicking them in Configuration of Economic Flow
Network dialog window (see the Figure 11), and choosing the correct view from the
pop-up menu Belongs to the Client View.
To define the security for the views described above, click Define the View Security
in the pop-up menu above, and a dialog opens for defining the user access rights (see
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 61
the Figure 20). User access rights are defined for reading and writing independently.
The principle of doing this is the same as defining standard ODBC rights in the
RTDB database (described in the /rtdb_dev/ document).

Figure 20 Security Files dialog box

5.7 Configuring Calculation Procedures


All balancing areas can be settled on an independent time level (e.g. 15 minutes, 1
hour, 6 hours), if necessary. Calculation procedures for settling algorithms are
configured separately, and then they are attached to the balancing areas and
parameter folders, for the current, history and forecast terms independently. This is
done by right clicking them in the Configuration of Economic Flow Network
dialog window and selecting from the menu item History Calculation Procedure,
Forecast Calculation Procedure or Current Calculation Procedure (see the
Figure 21 below).

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 62
Figure 21 Calculation procedures for balancing areas and parameter folders
To create and maintain the calculation procedures, open Configuration of Economic
Flow Network window, go to the tab Calculation procedures (see the Figure 22,
Figure 23, and Figure 24). The list shows all currently available calculation
procedures that. Additionally you can create new ones by clicking the button New.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 63
5.7.1 Basic data -tab

Figure 22 Calculation procedure – Basic data


A calculation procedure consists of the following data:
· Name: A unique name of the calculation procedure.
· Term: History, Current or Forecast
· Level: The time (i.e. history) level on which the calculation procedure operates.
It is defined as a history table names specified in the system.
· Activation cycle: As a default the activation cycle for periodical calculation is
specified by the Level (see the item above). By checking Override the default
activation cycle and specifying the related amount and time unit fields, it is
possible to override that cycle by another. Specifying a zero cycle effectively
disables the periodical calculation.
· Calculation span: The active time span for the time series calculated and written
by the calculation procedure. The reference time for the span is the current time.
If the Calculation Procedure’s term is History, calculation span defines the active
history length for all the time series data. If instead the Calculation Procedure’s
term is Forecast, calculation span defines the active forecast length for all the
time series data. If the Calculation Procedure’s term is Current, calculation span
defines the allowed re-calculation time span for the CurrentHistory table.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 64
· Service: The name of the EM service, which runs the Calculation Procedure. The
standard full EM installation creates two optional services:
· Flow Optimizer (shows in the list as RTDB-EMO-Optimization (57))
· Heuristics (shows in the list as RTDB-EMO-Heuristics (56))
· Additionally there can be multiple parallel installations of the above services
to improve the performance of the calculation. Installation is executed in the
command prompt window, and the format of the command is as follows
(example):
Service name Command line
Heuristics EMO_ContractCalculation -proc 68 -app RTDB-EMO-servicename
%APP_DATAPATH%
Flow Optimizer EMO_Optimization -proc 67 -app RTDB-EMO-servicename
%APP_DATAPATH%
where
· the number after –proc switch indicates a unique process number for the
new service
· name after –app switch indicates a unique name for the service
· %APP_DATAPATH% indicates the folder of the database, where these
services are to be run
· Calculation Disabled: If selected, all calculation related to this calculation
procedure is disabled.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 65
5.7.2 Current period -tab

Figure 23 Calculation procedure – Current period


· Calculate current period: If selected, the calculation procedure is allowed to
calculate also the current period. Together with Start from and End to fields
(see bullets below) this setting affects on the timely behavior for selection of a
calculation procedure to calculate the current period. A typical configuration is
that the forecast procedure takes care of the calculation during the first part of the
period, and then the permission is passed on to the history procedure.
· Calculate as separate task: Defines if the current period is to be calculated
separate from the rest of the model. This can provide faster response for the
current period, where the input values (like measurements) are frequently
updating. For example for a 24h model it means that the previous hours of the
current day are calculated physically in one model, and current hour in another.
For the current hour model, it is given higher priority, so it will bypass other
tasks in case of queuing. This setting has effect on the Flow Optimizer based
calculation procedures only.
· Start from: This is related to the ‘Calculate current period’ setting, and can be
configured only if it was selected. ‘Start from’ is given as a percentage value,
defining how much of the current period has to be elapsed, before it is allowed to
start calculation on it.
· End to: This is related to the ‘Calculate current period’ setting, and can be
configured only if it was selected. ‘End to’ is given as a percentage value,
defining for how long this calculating procedure is allowed to keep calculating
the current period.
· Produce current value from current period: If selected, the result values of the
current period are copied as current values of the same variable.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 66
· Execution Interval: Specifies the schedule for executing the procedure. This
setting is available only if the Calculation Procedure’s term is specified as
Current.
· Execution time: Specifies the base time for execution schedules (see the item
above). The execution times are synchronized to this base time.
· Trigger variable: Trigger variable is used in connection with current calculation
to trigger the calculation at the time of the trigger variable value change.

5.7.3 Additional information -tab

Figure 24 Calculation procedure – Additional information


· Optional after-calc:
· Heuristics: A name of a history reconsolidation task to be activated after
handling a user activated connection point description update.
· Flow Optimizer: A history reconsolidation task name to be activated after
writing optimal results to the database.
· ID: A unique calculation identification number of the calculation procedure. If
the calculation procedure is wished to be activated as part of the cpmPlus History
reconsolidation process, this number has to be configured in the history
reconsolidation configuration (in the SimpleConfig database table). The number
to be configured in the SimpleConfig table is a combination of the service
identification number as a prefix (it is shown in the Service field on the Basic
data tab after the name of the service), and this ID. For example, the “1hour
forecast” calculation procedure in the Figure 22 and Figure 24 is configured to
the history reconsolidation as follows: SectionName= 'RTDB-Scheduler',
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 67
KeyName= 'R-FORECAST', StrValue= 'H=653, 5602, 654, 755, 655, 756, 656,
657'). Other numbers in the list are examples of the tasks of other applications.
· Start time: Defines the validity start time. Calculation will never activate behind
this time.
· End time: Defines the validity end time. Calculation will never activate beyond
this time.
· Equation sorting: If selected, the execution order of equations attached to this
calculation procedure are automatically sorted to take into account the inputs and
outputs of each equation.
Example of equation sorting.
· Equation 1: E = A+B
· Equation 2: C = B*2
· Equation 3: A = 1
· Equation 4: B = A^2–2
When equation sorting is selected as Automatic, Equation execution order
would be: Equation 3 -> Equation 4 -> Equation 1 -> Equation 2.

5.7.4 Optimization –tab


Optimization -tab parameters have effect only on Flow Optimizer servers, and they
are described in detail in 6.4 Setting up the optimization framework.

5.8 Time Tariff Editor


With the time tariff editor, you specify various time tariffs. You open the Time
Tariff Editor dialog window presented in the Figure 25 from the toolbar button
in the Economic Flow Network view.
Time tariff consists of 3 object types:
· Name: Name of the tariff
· Classes: Various categories within the tariff. Prices, maximums, etc. remain
constant within the class. There can be one or more classes within the tariff.
· Class definitions: Specify times when the class is valid. There can be one or
more class definitions within the class.
The following are some examples of the tariffs:
· Day/night
· Summer/winter
· Working day/other day
· Constant
· Peak/off peak

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 68
Tariff

Class
Class definition

Figure 25 Time Tariff Editor dialog window


Figure 25 shows an example of a tariff structure. The Peak/Off peak tariff consists
of two classes, Peak and Off peak. On the right hand side, you see all definitions of
those two classes.
Definition of the Peak class is:
· Row 2, which defines that through the year the days between Monday and Friday
between 7 A.M. and 10 P.M. are categorized as Peak time.
Definitions of the Off peak class are:
· Row 1, which defines that all days that are categorized as Holiday belong to Off
peak time.
· Row 3, which specifies that all time that was not categorized as Peak or Off peak
above, is categorized as Off peak.
The tariff class definitions are handled in the order specified by their order numbers
(see the column Order). The tariff with the lowest number is handled first. If two or
more definitions overlap on the time scale, the definition with the lowest order
number overrides the other. When the class definitions in the list are sorted by order
number (there is a small triangle beside the column name “Order”), you can change
the order number by dragging the class definition up or down.

To specify tariffs, tariff classes, and class definitions

· In the Economic Flow Network window, click on the toolbar to open the
Time Tariff Editor dialog window.
· To create a new tariff, right-click the Tariffs item and
click Create New Time Tariff on the pop-up menu. A
new tariff appears as the lowermost tariff.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 69
· To name the new tariff, right-click it and select Rename on the pop-up menu.
Enter a name.
· To create a new class for the tariff, right-click it and
then click Create New Time Tariff Class on the pop-
up menu. Name it as the tariff above.

· To create a new definition for the class, select the time tariff class in the tree.
Click the button or right click the background of the definition list, and
select Create New on the pop-up menu.
· At the bottom of the dialog window, specify the start and end days and times
of the time span that the definition covers.
If the definition applies to special days, select the special day from the list that has
been specified in the Calendar dialog window (for special days
configuration details see section 5.4 “Calendar” in the /em_urm/ document.);
otherwise, select the days of week to which the definition applies.
· Specify the order number of the definition by dragging the slider.
· Click the button to save the definition. Repeat the steps for the
possible other definition of the class.

To view and update definitions of classes


· To view the definitions of all classes of a tariff, click the tariff name.
OR
· To view the definitions of a specific tariff class, click the class.
· To update a definition, double-click it on the list.
OR
· Click the definition and click the button.
OR
· Right-click the definition and then click Update on the pop-up menu.
· You can now change the definitions specification at the bottom of the dialog
window.
· Click to save the definition.
When you close the Time Tariff
Editor dialog after updating any
time tariffs, the user interface
looks if the updated time tariffs are
actively in use by any connection
point descriptions. If yes, a
confirmation question to recalculate these descriptions is asked.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 70
To change the order of definitions of classes
· If the definitions are not sorted according to the Order column, sort them first. To
sort the definitions in ascending order, click the heading . To sort them in
descending order, click the heading again.
· Drag the definition on the definition, whose order number you want it to use. The
order numbers of the definition on which you dragged the definition and the
definitions with higher order numbers are increased by one.

To rename tariffs and tariff classes


· Right-click a tariff or tariff class and click Rename on the pop-up menu.
· Enter a name for the item.

To remove tariffs, tariff classes, and definitions of classes


· Right-click a tariff, tariff class, or definition of a class and click Remove on the
pop-up menu.
· Click in the confirmation dialog box.

5.8.1 Consistency Check of a Tariff


After building a tariff, you can check its consistency and integrity in time, i.e. that
the components cover the whole time span of the tariff. Consistency Check tool
provides a way to check the tariff using a specified
sampling interval.

To check the consistency of a tariff


· Right-click the tariff on the left of the Time Tariff
Editor dialog window, and click Check Time
Tariff … on the pop-up menu. The Tariff Check dialog box appears as in the
figure below.
· Fill in the start and end times for the check (see the Figure 26), and checking
interval. Click to start the check. If there are gaps in the time span
formed by the tariff, the consistency check will report the gaps with the
resolution of one day in the list on dialog.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 71
Figure 26 Tariff Check dialog box
· Click to continue.

5.9 Timers for automated connection point description creation


Connection point description templates can be used to automate creating descriptions
to be repeated, for example daily. The definition consists of two parts:
· To create the actual connection point description template to be repeated.
· To define a time span forward during which the connection point description
template will be instanced.

5.9.1 Creating, Updating and Deleting a Connection point description Template


Any new or existing description can be saved as a template using the Connection
Point window File menu command Save as Template.

Figure 27 Saving a connection point description as a template


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 72
Previously saved description templates can be maintained by clicking Description
Templates icon in the toolbar menu on the EFN view. It will open a Microsoft
Windows Explorer window for browsing. A Description Template can now be
opened by selecting it from the list in the Open Template –dialog, and clicking
Open-button. If a Description Template is not in use by Timed Tasks (see section
5.9.2 Creating a Description Template Time Span), it can also be deleted by right-
clicking it, and selecting Delete.

Figure 28 Browsing saved description templates

5.9.2 Creating a Description Template Time Span

On the Toolbar of the EFN view click Settings button and go to the Timed
Tasks tab. Here you can define the time span forward during which new description
instances of a template are created, if not already existing.

Figure 29 Defining a New Template Time Span

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 73
The new time span is created by right clicking the background of Timed Tasks list,
and clicking New. Existing templates from the Description Template Folder are
shown in dropdown list Template Name. Select one of them and enter time span by
defining the start and end periods forward in units of days, hours, and minutes. The
EFN will always create a new instance of the template during this time span forward,
if not already existing. The number of instances created depends on the time span
and the duration interval of the description template.

5.10 Settings
In the Settings dialog box, you can configure some functionality of the EFN user
interface and services. You open it from the toolbar button in the EFN window.

5.10.1 Time tasks


The Timed tasks tab (Figure 30 ) is for utilizing the description templates. See
section 5.9.1.

Figure 30 Settings dialog box, Timed tasks tab

5.10.2 Symbols
Symbols for the balancing areas and folders are distributed to clients through
cpmPlus History server’s EMOIcons shared folder. To enable the distribution of
symbols the shared folder with this name must be created on the server. Alternative
way to add new symbols in the client computer is on the Symbols tab (Figure 31 ).
Click the button to open the Get Symbol dialog box and specify the file
names of the symbols.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 74
If any symbols are missing at the client computer, they are listed in the Missing
symbols list.

Figure 31 Settings dialog box, Symbols tab

5.10.3 Time zone


On the Time Zone tab (see the Figure 32 ), you specify the time zone used overall at
the EFN toolkit. Initially new connection point descriptions have this time zone
definition, but it is possible to change it individually for each description. This tab
also opens by double-clicking the time or time zone information in the main EFN
window (see the Figure 10).

Figure 32 Settings dialog box, Time Zone tab


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 75
· Click to open the Select Time Zone dialog box.
· Click the time zone to select it. If the time zone you want is not visible, click
to see other folders. Open the folder that contains your choice and select it.
· Click .

5.10.4 View
On the View tab (Figure 33 ) you define the number of decimals shown for current
values in the EFN windows. These settings can be overrun with connection point
specific configuration (see sections 5.4 Configuring Balancing areas and Connection
points and 5.4.3 Decimals for current values).
In the Connection point descriptions field you define if the connection point
descriptions are shown recursively from all the balances located hierarchically under
the selected balance, or only the selected balance’s private connection point
descriptions are shown. To enable/disable this feature, click Show recursively from
all balances.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 76
Figure 33 Settings dialog box, View tab

5.10.5 Users
On the Users tab (Figure 34 ), you can create alias names for the users. These alias
names are used when recording the handler information for connection point
descriptions. If alias name for the user has been defined, it will be used instead of a
real username.

Figure 34 Settings dialog box, Users tab


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 77
5.10.6 Scenario
On the Scenario tab (Figure 35), you see pre-defined Scenarios.

Figure 35 Settings dialog box, Scenario tab

5.10.7 Version
On the Version tab (Figure 36), you see the Economic Flow Network release
version number, the date and time of the user interface compilation, and the
underlying cpmPlus History (database) release version.

Figure 36 Settings dialog box, Version tab


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 78
5.10.8 Variable check
On the Variable check –tab (see Figure 37) you can check whether a selected
database variable is used by the EFN structures, either as input or output variable. To
run the check, specify the database variable in the Check usage of a database
variable in EFN -field, and run the check by clicking the Check button. The results
are shown in the EM_VariableCheckUp list (see Figure 38).
Columns in the EM_VariableCheckUp list:
· VariableID: The name of the database variable being checked
· TableID: The name of the EFN configuration table where the variable is used
· ColumnName: The name of the column in the EFN configuration table
where the variable is used
· RowID_UINT32: The unique uint32 id of a row where the variable is used
· RowID_GUID: The unique GUID id of a row where the variable is used
· EventTime: Time when user started the check
So the VariableID indicates what variable was checked. TableID, ColumnName,
RowID_UINT32 and RowID_GUID specify the location where the variable was
found. Only one of the two possible row identification is shown, either
RowID_UINT32 or RowId_GUID, depending on the structure of the underlying
table.

Figure 37 Settings dialog box, Variable check tab

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 79
Figure 38 EM_VariableCheckUp list

5.10.9 Equations
On Equations tab you define the calculation equations that are automatically
executed in the system according to the predefined rules. For more details, see the
section 5.11 Calculation Engine.

5.11 Calculation Engine


Calculation Engine is a user interface configurable tool to run pre-defined equations
according to specified execution schedules with access to all variables and history
tables defined in the cpmPlus History database.
Equations are run either on aggregated histories (or forecasts) or on current values.
Calculation execution can be either cyclical or activated on demand, or both. Time
line of the calculation is divided into three terms: history, current and forecast (see
the figure below). Various parameters defining the framework for calculation are
inherited from the associated Calculation Procedure (see 5.7 Configuring Calculation
Procedures). These parameters include level, term, calculation span, etc. A
Calculation Procedure is separately defined for each term for each equation.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 80
Max. Calculation Time Span

AVG1HOUR FOR1HOUR Time Level = History table, e.g. AVG1HOUR


Time
Time Category = History | Current | Forecast
History Forecast

Current time and period

Calculation Instance:
History
Equation: History testing

Equation: Ellipse X Coordinate


Calculation Instance:
Current Equation: Ellipse Y Coordinate

Equation: Forecast testing


Calculation Instance:
Forecast

Figure 39 Calculation Equations connected to Calculation Procedures


An Equation can consist of numbers, database variables and basic calculation
operations, such as addition, subtraction, and multiplication. The tool also supports
basic mathematical functions, such as trigonometric, power and rounding functions.
Some special operations, such as If-else statement and logical operators, are also
available. For process modeling applications, the tool supports a set of water and
steam functions, such as saturated steam pressure as a function of a temperature. See
the complete list of all supported operations and functions below.
Operators
Function Description
+ Plus
- Minus
* Multiply
/ Division
\ Integer division
% Remainder
< Is smaller than
> Is greater than
| Bitwise OR
& Bitwise AND
^ Bitwise XOR
? If
: Else

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 81
-- Decrement
++ Increment
== Is equal
<= Is smaller or equal
>= Is greater or equal
|| Logical OR
&& Logical AND
!= Is not equal
<< Bitwise left shift
>> Bitwise right shift
// Starts a free comment

General functions
Function Description
sqrt(n) Square root
ceil(n) Rounding up
floor(n) Rounding down
abs(n) Absolute value
round(n,n) Rounding to desired accuracy
roundtow(n) Rounding to the nearest whole number
min(m,n) Minimum of two numbers
max(m,n) Maximum of two numbers
rand(n) Random number
pow(m,n) Power, m is raised to the nth power
log10(n) Logarithm (common)
log(n) Logarithm (natural)
value(n) Value with full representativeness
invalidate(n) Value with invalid status
representativeness(n) Representativeness
validitystatus(n) Validity status

Statistical functions
Function Description
normcdf(x,µ,d) Cumulative Normal Distribution
norminv(p,µ,d) Inverse Cumulative Normal Distribution

where
x x value [-]
µ Mean of normal distribution [-]
d Deviation of normal distribution [-]
p Probability [-]

Trigonometric functions:
Function Description
sin(n) sine function
cos(n) cosine function
tan(n) tangent function
cot (n) cotangent function

Water and steam functions:


Function Description
p_H2OSI(t) Saturated steam pressure [Pa]
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 82
t_H2OSI(p) Saturated temperature [°C]
htx_H2OSI(t, x) Saturated specific enthalpy [kJ/kg]
stx_H2OSI(t, x) Saturated specific entropy [kJ/kgK]
vtx_H2OSI(t, x) Saturated specific volume [m3/kg]
dvtx_H2OSI(t, x) Saturated dynamic viscosity [kg/sm]
tctx_H2OSI(t, x) Saturated coefficient of thermal conductivity [kg/sm]
betaKSI(t) Unitless steam pressure [-]
htp_H2OSI(t, p) Specific enthalpy [kJ/kg]
stp_H2OSI(t, p) Specific entropy [kJ/kgK]
vtp_H2OSI(t, p) Specific volume [m3/kg]
lat_H2OSI(t) Specific heat of evaporation [kJ/kg]
tps_H2OSI(p, s) Temperature(pressure,entropy) [°C]
xps_H2OSI(p, s) Steam content(pressure,entropy) [-]
tph_H2OSI(p, h) Temperature(pressure,enthalpy) [°C]
xph_H2OSI(p, h) Steam content(pressure,enthalpy) [-]
dvtp_H2OSI(t, p) Dynamic viscosity [kg/sm]
tctp_H2OSI(t, p) Coefficient of thermal conductivity [W/Km]
tbRegSI(t, p) Operating range check (water=1,steam=2) [-]
AFuncSI(th, be) Gibbs's function for water (range 1) [-]
BFuncSI(th, be) Gibbs's function for steam (range 2) [-]

where
t Temperature [°C]
p Pressure [Pa]
h Specific enthalpy [kJ/kg]
s Specific entropy [kJ/kgK]
x Steam content [-]
dv Dynamic viscosity [kg/sm]
tc Coefficient of thermal conductivity [W/Km]
th Unitless temperature [-]

Time functions:
Function Description
now() The current time (UTC) as integer value [-]
now_local() The current time (local) as integer value [-]
periodstart() UTC time of the calculated period as integer value [-]
periodstart_local() Local time of the calculated period as integer value [-]
isfirstperiod() True if the calculated period is the first [-]
islastperiod() True if the calculated period is the last [-]
periodcounter() Period counter [-]
term() Term (0=Past,1=Current,2=Future) [-]
millisecond(n) Milli seconds of a given time [-]
second(n) Seconds of a given time [-]
minute(n) Minutes of a given time [-]
hour(n) Hours of a given time [-]
day(n) Days of a given time [-]
month(n) Months of a given time [-]
year(n) Years of a given time [-]
dayofweek(n) Day of a week of a given time (1=Mo, 7=Su) [-]

Variable’s period and table reference:


Function Description
v(t,o,m) Reads from table (base or scen.) with offset
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 83
v(ABSOLUTE(t),o,m) Reads from table (absolute) with offset

where
v Name of database variable [-]
t Name of historical table, e.g. "FOR1HOUR" [-]
o Offset periods (optional) [-]
m Aggregate method (optional) [-]
0: Average (default) [-]
1: First [-]
2: Last [-]
3: Sum [-]
4: Period [-]
5: Minimum [-]
6. Maximum [-]

The same calculation equation can be used in all time categories, but it is also
possible for example to use a different equation in history from the one in forecast
calculation. Calculation equations are therefore associated separately to Calculation
Procedures in each term. The number of Calculation Equations in the system is
unlimited.

5.11.1.1 Calculation Equation Definitions


Equations are configured through Equations tab on the Settings dialog (see Figure
40). This display is used to enter the mathematical form of the calculation equation.
If the equation is intended to be used independently without attaching it to a
connection point description, it needs to be associated with the appropriate
calculation procedure in order to activate the calculation in a given term. This is
specified on Additional information -tab, where the appropriate calculation
procedure is selected. In this case also pre- or after-calculation option must selected
(see Figure 41).

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 84
Name of the equation

Compilation status
/ Error code
Mathematical form of
the equation Test result of the equation
run with current values as
inputs

Figure 40 Equation tab: Definition (Entering and testing the equation)


Field Description
(Definition)
Search keys Filter Equation drop down list according to “Process area” and
“Comment” filters. These fields are given on the Comments -tab.
Equation The unique name of the equation.

Create a new equation.

Create a new equation as a copy of the selected one.

Remove the selected equation. Remove operation is implemented only


if there are no references to the equation in the system.
Define as simple Select to switch from text based equation definition to factor based
factor based equation.
equation

Database variable mode of the equation. The drop-down list on top of


the equation definition field is populated with the database variables of
the system.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 85
Reference mode of the equations. The drop-down list on top of the
equation definition field is populated with hierarchical EFN tree of the
system.
Remove the selected text from the equation.

Select a symbol in the text.

Apply changes to the equation.

Drop down list displaying database variables (in Variable mode) or


Economic Flow Network connection points (in Reference mode).
Text box The mathematical form of the equation.

Compilation Error message in case of a compilation error in the equation.


status Otherwise OK is shown.
Test current Test results using current values as input values in an equation.
value Testing is carried out after clicking the Save button.

Additional information:

Figure 41 Equation tab: Additional information

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 86
Field Description
(Additional
information)
History Calculation Procedure for the history term.
procedure
Forecast Calculation Procedure for the forecast term.
procedure
Current Calculation Procedure for the current term.
procedure
Result variable Result variable for the equation results.

Execute before If selected, the equation is run before the balance settlement /
the procedure optimization of this calculation procedure.
Execute after the If selected, the equation is run after the balance settlement /
procedure optimization of this calculation procedure.
Lower and upper Equation results are restricted between these limits.
limit
Start Time Validity start time of the equation. Nothing is written to the Result
variable for the time range before this time.
End time Validity end time of the equation. Nothing is written to the Result
variable for the time range after this time.

Comments:

Figure 42 Equations tab: Comments

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 87
Field Description
(Comments)
Process area Optional process area of the equation (integer value).

Comment Optional free comment relating to the equation.

Order:
As a default, the calculation procedure defines for all the equations attached to it, that
the execution order is automatically formed (the property Equation sorting:
Automatic). In that case there is no need to sort them manually, and on the Order tab
(see below), there appears the text “Equations are automatically sorted.”.

Figure 43 Equations tab: Order (with automatic equation sorting)


If instead the equations are not defined to be automatically sorted, the Order tab
appears as in the Figure 44.
To specify the execution order:
· Select the term: History / Current / Forecast. Only the terms which have
calculation procedure attached (on the Additional information tab) are
selectable.
· Click buttons on the right to move the equation in relation to other equations

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 88
Figure 44 Equations tab: Order (without automatic equation sorting)
Description

History, Current, Chosen term


Forecast
List box Execution order of equations in the chosen term

Move equation into the top of the list

Move equation one place up in the list

Move equation one place down in the list

Move equation into the bottom of the list

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 89
5.11.1.2 Special Features to support Flow Optimizer
The calculation engine provides a possibility to introduce dynamic constraints to the
optimization model in the form of equations, for example:
A = B * 2, where both A and B are optimized decision variables.
On the Equations tab in the Settings dialog there are two update modes: Reference
mode and Database variable mode . If the reference mode is selected, the
drop down list above the equation definition field is populated with the Economic
Flow Network balances and connection points, allowing a selection of a reference
connection point in the equation insted of statically referencing to the value of a
database variable.
Example
The mathematical formula of an equation „Boiler combustion air pre-heating“ (see
Figure 45) contains a reference (EMO_94_BOOK) according to the formula:

Reference

Figure 45 Equation “Boiler combustion air pre-heating”

To update the connection point reference


Ø Change the update mode to „Reference mode“
Ø Click on the reference name „EMO_94_BOOK“
Ø Select the reference by clicking the button on the toolbar
OR
Ø Select the reference by clicking F2 on the keyboard

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 90
The corresponding reference appears in the drop-down list:

Reference
drop-down
list

Figure 46 Reference mode


When you open the drop down list by clicking the arrowhead beside it, the reference
is shown in its real context:

Figure 47 Drop-down list for connection point references


Equations with connection point references are used in connection point descriptions
to indicate the linear relation between the individual flows in the flow network.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 91
There are four types of references:
Ø Flow reference
o Reference to the flow.
o Defined with “BOOK” suffix.
Ø Level reference
o Reference to the integral (the referenced connection point must be
specified as Integral Limited.
o Defined with “LEVEL” suffix.
Ø On-time reference
o Reference to running time (the referenced connection point must be
specified with Operation Rules option).
o Defined with “ON” suffix.
Ø Off-time reference
o Reference to shut down time (the referenced connection point must be
specified with Operation Rules option).
o Defined with “OFF” suffix.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 92
5.12 SimpleConfig Parameters Maintenance / Configurations
In the Vtrin user interface in the SimpleConfig list you can set other parameters of
EFN (see Figure 48 ).
Common EFN parameters (EMO_Contracts –section):

Figure 48 SimpleConfig table, Common EFN parameters


Paramater name Access Description
ConsistencyEnabled Read-Only Information for the EFN user interface
CurrentBookingsHistory../ Read-Only Information for the EFN user interface
TableID
EMOTablesChanged Read-Only Must be 0 always
GUIRefresh2Variable Write Internal communication variable between
EM services and EFN user interface.
Default value
‘EMO_Contracts_RefreshGUI2’.
GUIRefreshVariable Write Internal communication variable between
EM services and EFN user interface.
Default value
‘EMO_Contracts_RefreshGUI’.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 93
LogRefreshVariable Write Internal communication variable between
EM services and EFN user interface.
Default value
‘EMO_Contracts_RefreshLog’.
MaxContractFetch Write Not used.
PowerDecimalPlaces Write Defines the display format (number of
decimal places) for the volume
information, like power. It is maintained in
the Economic Flow Network user
interface. For more details, see section
5.10.4 View.
PriceDecimalPlaces Write Defines the display format (number of
decimal places) for the price and cost
information. It is maintained in the
Economic Flow Network user interface.
For more details, see section 5.10.4 View.
ProfilesHistoryTableID Read-Only The ID of the history table used to store
profiles.
ScenarioFuture../ Write Defines the amount of future hours that are
accepted from scenario into the base line
LengthHours
when executing Accept on the scenario.
ScenarioHistory../ Write Defines the amount of past hours that are
accepted from scenario into the base line
LengthHours
when executing Accept on the scenario.
ScenarionInitialization…/ Write Time wait for accepting and initialization
of scenario, during which optimization is
TimerSeconds
intended to clear it’s task buffers.
ShowBalancesRecursively Write Defines if the connection point
descriptions are shown recursively from
all the balances located hierarchically
under the selected balance, or only the
selected balance’s private connection point
descriptions are shown. This parameter is
specified in the EFN Settings dialog (see
5.10.4 View).
StartedDiskreteState../ Write The value that EFN services interpret as
ON.
ByUser
TableCheckSum Read-Only The automatically calculated number
representing the 32 bits common check
sum of all the Economic Flow Network
tables. The user interface compares its

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 94
own check sum with this one, and opens
only if they match.
TradeDataAccess Write This number specifies which security file
in the database folder will be used to
define the user reading rights for the
TradeData table (consisting connection
point descriptions). The name of the
security file is of type:
RTDB_Right_Privilege_17_Read.dat.
This security definition is necessary when
it is required to limit the reading access for
the user group, and to show only a limited
set of the connection point descriptions.
However, this definition can be changed
effectively only before the first startup of
the EM, and when the TradeData table has
already been created it has no effect
anymore. For more information, see
section 5.6 EFN user access rights and
user views. Default value 17.
UIVersionStart Read-Only The service maintained field, which
contains the oldest possible user EFN
interface version (see section 5.10.7
Version) that is allowed to connect to the
data structures.
UIVersionEnd Read-Only The service maintained field, which
contains the first version of the EFN user
interface (see section 5.10.7 Version) that
is NOT allowed to connect to the data
structures.
UptimeVariable Write Variable indicating that
EMO_CommonServices service is
functioning normally.
Heuristics parameters (RTDB-EMO-Heuristics –section):

Figure 49 SimpleConfig table, Heuristics parameters


Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 95
Paramater name Access Description
AppTrace Write If the second bit is set, additional debug printing is
allowed. Default value -1.
CmdOutFilterLimit Write Command tracing filter limit. If this is defined as
nonzero integer value N, it forces storing of last N
CommandQueue or TimedTasks commands of the
application to MessageLog. Otherwise, the usual
MessageLog filtering mechanism is used. Default
value 0.
DebugPrinting Write If the value is set 1, additional debug printing is
enabled. Default value 0.
MaxCmdAgeS Write Max age of a CommandQueue command in
seconds. Default value 600.
MaxMemory../ Write Defines the maximum memory allocation in
megabytes for the time series handling by
AllocationMegas
Heuristics service. The smaller the allocation is,
the smaller time blocks the calculation tasks are
divided to. Default value 30.
PrintContractsData Write With the value 1, the service prints extra
information to the diagnostic file for debugging
purposes. Default value 0.
TaskTrace Write Not used.
UseRandomCache Write UseRandomCache as 0 defines LRU (Least
Recently Used) algorithm for the application to.
UseRandomCache as 1 defines the random instead.
Default value 1.
WindowCacheSize Write The number memory map windows (the size of the
window is 64KB-128KB). Try changing the value
to for example 10000-20000 if you application
causes excess disk load. Default value 4096.

5.13 Task Scheduler


EM Task Scheduler is a tool that provides scheduling and recalculation of:
· EFN calculation procedures
· Calculation sequences defined in SimpleConfig table
Definition of scheduling is done by adding new definitions in the EM_Scheduler list
(see Figure 50). Each row corresponds one schedule. There is no maximum limit for
different schedules in the system.
New schedule is done by adding a new row in the EM_Scheduler list, and defining
it’s attributes. When the new or updated schedule is committed to the database, it is
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 96
automatically checked, and the status is written to the “Error description” field. It is
left empty if there are no problems with the schedule. Typical errors of the schedule
are start time being greater than end time, or execution time interval being 0.

Figure 50 EM_Scheduler list for defining timers for tasks


EM_Scheduler attributes:
Attribute Description
Error description Describing the error preventing to run the scheduled task
(Read-only field).
Synchronization time Synchronization time for calculation triggering and time
rounding.
Execution time interval Time interval between executions
Execution time interval Unit of time interval between executions
unit
Time interval (STO) A time offset to current time used to calculate the start
time of calculation.
Time interval unit (STO) Unit of a time offset to current time used to calculate the
start time of calculation.
Direction (STR) Rounding direction for start time.
Time interval (STR) Time interval for rounding of start time.
Time interval unit (STR) Unit of time interval for rounding of start time.
Reference Reference time for end time (current time/start time).
Time interval (ETO) A time offset to reference time to calculate the end time

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 97
of calculation.
Time interval unit (ETO) Unit of a time offset to reference time to calculate the end
time of calculation.
Direction (ETR) Rounding direction for end time.
Time interval (ETR) Time interval for rounding of end time.
Time interval unit (ETR) Unit of time interval for rounding of end time.
Activated service type Service type to be activated.
Activator id Activator id for diagnostics.
EFN calculation Calculation procedure of the EFN.
procedure
Scenario id Scenario to be activated.

5.14 EMOConfig Parameters


EMOConfig list in the Vtrin user interface consists of set of parameters, with which
you can configure EM processes.

Figure 51 EMOConfig parameters


Descriptions of the EMOConfig parameters:
Section Key Description
EMO_Contracts NetContract../ Defines if the net connection point
descriptions (can hold both negative
FunctionEnabled
and positive flows) are enabled.
RTDB-EMO- Memory../ Not used
Heuristics
FragmentationVariable
RTDB-EMO- MaxTaskAgeMinutes If the waiting time of the optimization
Optimization results exceeds this time, new tasks are
not created for the same time anymore,
until the results are received from the
Solver. In case an optimization task is
not taken into processing during the
time MaxTaskAgeMinutes since the
task was requested for the first time, the
priority of the task will be increased.
Default 120.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 98
RTDB-EMO- MaxCycle../ Defines the maximum time to be used
Optimization for creating optimization tasks in each
DurationSeconds
calculation cycle. Default 30.
RTDB-EMO- Memory../ Not used
Optimization FragmentationVariable

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 99
6. Flow Optimizer
The purpose of the Flow Optimizer is to solve the economic problems modeled with
Economic Flow Network (see 5 Economic Flow Network (EFN)). The problems
consist of a set of constraints and an objective function. The objective function
collects all real and virtual costs defined in the model. The task is to minimize this
objective function.
Physically the Flow Optimizer consists of two Windows services:
· The Optimizer Server (EMO_Optimization.exe)
o Scheduling of optimization
o Collecting input data from the database
o Writing results to the database
o Interaction with users
· The Solver Server (EMO_Solver.exe)
o Interface to the 3rd party optimization API
The flow of the information between the Optimizer Server and Solver Server, and the
interfaces to other system components are shown in the figure below.

User / User Interface


Commands

Results

Optimizer Data/structures Solver


Server Server
Commands

Results Archives
Results
Data

cpmPlus History database

Figure 52 Optimizer and Solver Server data flows


The system configuration illustrated in the figure above, is scalable, so that it also
allows configurations with multiple Optimizer Server services and/or multiple Solver
Server services. In a configuration with multiple Optimizer Server services, it is
possible to assign a dedicated Optimizer Server service to run some specific
Calculation Procedure instance.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 100


These multiple Optimizer Server services can utilize one or more Solver Server
services. Also one Optimization Server can use multiple Solver Servers. This concept
is illustrated in the examples below with example names of the Calculation
Procedures and Servers.
Example 1. Distributed solvers
· This configuration is typically used for solving such LP problems, where each
calculated time window is independent from each other, and they can be solved
in parallel to provide fast total calculation time.
Calculation Procedures: 1 Day Optimization 1 Hour Optimization

Optimization Servers: Common Optimization Server

Solver Servers: Solver Server Solver Server Solver Server


(1) (2) (3)

Example 2. Common services


· This is a standard configuration if performance time is not an issue in the
optimization application. There is only one queue at the solver server, so
different tasks (in this case “1 Day Optimization” and “1 Hour Optimization”)
are solved one after the other, waiting for their turn.
Calculation Procedures: 1 Day Optimization 1 Hour Optimization

Optimization Servers: Common Optimization Server

Solver Servers: Common Solver Server

Example 3. Dedicated Solver services


· This configuration allows solving sub-problems separately, so it can utilize better
available CPU and its cores provided by the solver hardware.
Calculation Procedures: 1 Day Optimization 1 Hour Optimization

Optimization Servers: Common Optimization Server

Solver Servers: 1 Day Solver Server 1 Hour Solver


Server

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 101


Example 4. Dedicated Optimization and Solver services
· This configuration adds separate optimizer servers to the example 3. That
provides even better performance time, because optimizer server consists of some
queues, which in this case are doubled, reducing any waiting time for calculation.
Calculation Procedures: 1 Day Optimization 1 Hour Optimization

1 Day Optimization 1 Hour Optimization


Optimization Servers: Server Server

Solver Servers: 1 Day Solver Server 1 Hour Solver


Server

Example 5. Dedicated Optimization and Solver services, parallel solving using


gateways
· This configuration adds parallel solving to the example 4 by using so called slave
solver (“1 Hour Solver Server (params. 1)” and “1 Hour Solver Server (params.
2)”). The gateway solver server communicates the same problem to both of these
slave solvers, and they are solved using different set of solver parameters (i.e.
instructions/strategy on how to solve the problem). The gateway solver server
accepts the solution from faster slave solver, and then cancels the solving on the
slower one. This configuration adds robustness on solving, because the best set of
solving parameters varies from problem to problem, even with the same structure
of the problem.
Calculation Procedures: 1 Day Optimization 1 Hour Optimization

1 Day Optimization 1 Hour Optimization


Optimization Servers: Server Server

Solver Servers (and gateways): 1 Day Solver Server 1 Hour Solver


Server Gateway

Slave Solver Servers: 1 Hour Solver 1 Hour Solver


Server Server
(params. 1) (params. 2)

Typically the Solver Server is running in a separate computer to allow it to use more
CPU power and this way improve the overall system performance.

6.1 Scheduling of Flow Optimizer


The framework to run a specific optimization task is configured with Calculation
Procedures (see the chapter 5.7 Configuring Calculation Procedures). To assign the
Calculation Procedure to the Flow Optimizer, select in the Service field a service that
is physically run by the Optimizer Server (see Figure 53). When a service that is run
by the Optimizer Server is selected, additional parameters affecting on the
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 102


scheduling of optimization on the Optimization tab are enabled. Otherwise, those
parameters are disabled.

Figure 53 Calculation Procedure to run optimization


Optimization is automatically activated when the period indicated in the Level field
is completed. For example in the configuration of the figure above, this period is 1
hour. If the Calculation Procedure’s Term is defined as Forecast, the activation is
done for the beginning of the Calculation span. However, this can result in the
calculation of the entire calculation span, as the mathematical model may consist of
dynamical behavior requiring the total re-calculation of the plan. If the Calculation
Procedure’s Term is defined as History, the activation is done for the end of the
Calculation span.

6.2 Collecting input data from the database


Up on request to calculate, the Optimizer Server collects all necessary data from the
database relating to the problem being solved. The data consists of both structural
data (flow network balances, connections between them, etc.) and time series data
(minimum, maximums, unit prices, etc.).
This data is communicated from Optimizer Server to Solver Server either as a regular
file copy operation provided by the operating system or messages over TCP/IP. The
selection is made using a SimpleConfig parameter (see the chapter 6.4 Setting up the
optimization framework (calculation procedure)).

6.3 Interaction with users


Depending on the application, Flow Optimizer can be configured to be activated
automatically on user data updates in the system, or it can be separately activated.
Also Flow Optimizer calculation can be activated by a pre-configured schedules (see
6.1 Scheduling of Flow Optimizer).
Summary data from the execution runs for different time windows are listed in
Optimization Diagnostics display. This display also provides users with possibility
to accept incomplete solutions that are feasible, or cancel the solving. More
information on the Optimization Diagnostics display, see section 6.1 “Optimization
Diagnostics” in the /em_urm/ document.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 103


6.4 Setting up the optimization framework (calculation procedure)
Optimization problem attributes are defined with Calculation Procedures (see 5.7
Configuring Calculation Procedures). In addition to the attributes required by the
Heuristics service, Optimizer service also needs some additional optimization
specific attributes. These attributes are collected on the Optimization –tab in the
Calculation Procedure dialog (see Figure 54).

Figure 54 Calculation procedure – Optimization


· Solver path: A logical name for a network path of a set of network paths. In
runtime, Flow Optimizer looks for the most time efficient network path for
solving the optimization task. In each path, EM Solver must be installed. For
more information, see section 6.4.1 Configuration of solver communication).
· Base period: Reference time for synchronizing time windows of calculation (see
also Start time synchronization).
· Model length: The length of the time window calculated at a time
· Start time synchronization
o With base period and model length: When selected, the start times of
the calculated time windows are calculated as Base period time added by
multiples of Model length (see items above). An exception to this rule is
the current period, of which start time is the current period or the
following period depending on current period specification (see Figure
23). If not selected, the start times of calculated time windows are
calculated as current time added by multiples of Model length.
o Moving time window with step length: If selected, the optimization is
solved iteratively with finite horizon moving time window. The time
window is advanced between the optimization cycles according to the
number of steps defined in the respective numeric field. This option is
available only if With base period and model length is not selected.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 104


Example.

T
Calculation cycle 1: [t, t+T]
Calculation cycle 2: [t+l*s, t+T+l*s]
l*s Calculation cycle 3: [t+2*l*s, t+T+2*l*s]
Calculation cycle 4: [t+3*l*s, t+T+3*l*s]

t time
where
t current time
T model length
l calculation level step length (specified by the Level, see
Figure 22)
s number of steps
· Calculation activation / Chained activation: When selected, calculation of one
time window automatically activates the calculation of the next time window.
· Log length: Defines how long track of previous Flow Optimizer tasks is kept
before removing them from the log database table (for more information on
optimization log, see section 6 Flow Optimizer). The length is calculated
comparing the current time and the time of the start time of the task.
· Limit concurrent tasks to maximum number: If selected, the number of
concurrent time windows calculated is limited to the specified number. It is
recommended to specify number 1 for the optimization problems involving
dynamics, either as a storage capacity or MILP-based running/shutdown time
constraints.
· Maximum solving time: Specifies the maximum time used for solving one
individual problem, i.e. one time window defined by Model Length parameter.
After this time, Flow Optimizer cancels the task. If on cancellation there already
is a feasible result available at the solver, and the Reject imperfect results is not
set in the Imperfect Results field (see below), the solution is accepted and
written to the database. Otherwise it is rejected. Maximum solving time can also
be defined as a solver parameter if the optimization engine allows this.
· Spinning reserve(+): Any feasible solution guarantees that the sum of all the
connection points defined as ‘Spinning Reserve’ (see Figure 17 Connection point
menu), provide the up-regulating capacity at minimum amount specified in this
field. For discontinuous connection points (with Apply startup and shutdown
rules set), being part of Spinning reserve(+) requires that they are in activated
state.
· Spinning reserve(-): Any feasible solution guarantees that the sum of all the
connection points defined as ‘Spinning Reserve’ (see Figure 17 Connection point
menu), provide the down-regulating capacity at minimum amount specified in
this field.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 105


· Discrete rules: If Disable rules is set, then all the connection points are handled
as they are continuous (Operation rules setting is effectively disabled).
· Bypass calc. act: A history reconsolidation task name to be activated instead of
activating the optimization, in case all input data remained (both structural and
numerical) the same since the last calculation cycle.
· Imperfect results: If Reject imperfect results is set, then no imperfect result set
is written to the database. Instead the imperfect diagnostics is shown normally in
the optimization diagnostics display).
· Total cost: If the variable that receives the periodical total cost of the objective
function.
Prerequisite for calcul.: The list box contains all Calculation Procedures of the
system that are run by the Flow Optimizer. On request to activate optimization to a
time window, The Flow Optimizer first checks the status of this specified Calculation
Procedure status for the same time window. The status must be consistent through
the entire time window to allow the Calculation Procedure to start optimization. It is
consistent if the status in the optimization log show result times in increasing order.

6.4.1 Configuration of solver communication


Optimizer-Solver-communication is defined with a logical address of the solver(s),
and the communication protocol. Address is configured to Solver Path field of the
calculation procedure (see 6.4 Setting up the optimization framework (calculation
procedure)). Physical address(es) corresponding to the logical address is defined in
the Optimization Solver Paths –display (see the figure below).

Figure 55 Optimization Solver Paths display

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 106


The Logical Solvers list (the list on the top of the display) specifies the logical name
of the solver. The Physical Solvers list (the second list) specifies the physical solvers
corresponding to the logical name (can be one or several). However, the physical
addresses of the solvers are specified in the Physical Solver Addresses list (the third
list), from which the items are cross-referenced in the Physical Solvers list. Physical
address can be either TCP/IP address, or a folder name / share including the machine
address in case of a remote solver machine. If TCP/IP addresses based solvers are
used, then FileHandling parameter for the Optimizer service must be set to 0. If
folder base addresses base solvers are used, then FileHandling is set to 1 (see section
6.5 SimpleConfig parameters for configuring Optimizer Windows service). When
logical solver is selected on the Logical Solvers list, the corresponding physical
solvers are shown on the Physical Solvers list.
Base-line and scenario problems can be configured to be sent to separate addresses.
This is configured on the Physical Solvers list by specifying the scenario in the Name
of Scenario field, and then selecting Only for Scenario. For example in the figure
above, the physical solver “CPLEX x64 path” is configured to solve only base line
problems, while as the other 2 solvers are configured to solve “Scenario 1” problems
and “Scenario 2” problems, respectively.

6.5 SimpleConfig parameters for configuring Optimizer Windows service


In the Vtrin user interface in the SimpleConfig list you can set parameters affecting
on the Optimizer service behavior (see Figure 56).

Figure 56 SimpleConfig table, Flow Optimizer parameters


Parameter name Access Description
AppTrace Write If the second bit is set, additional debug printing is
allowed. Default value -1.
CmdOutFilterLimit Write Command tracing filter limit. If this is defined as
nonzero integer value N, it forces storing of last N
CommandQueue or TimedTasks commands of the
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 107


application to MessageLog. Otherwise, the usual
MessageLog filtering mechanism is used. Default
value 0.
DataLength Write Size of the data part of the buffers of tcpip streams
for solver, in bytes format ( min 2 MB ). This
option has effect only if Flow Optimizer is run in
tcpip mode (FileHandling is 0). Default value 2.
DebugLevel Write For debugging purposes and keeping track of the
tcpip communication it is possible to create files on
disk corresponding to the send/received buffers.
The value 1 enables file creation for sent/received
buffers. This option has effect only if Flow
Optimizer is run in tcpip mode (FileHandling is 0).
Default value 0.
DebugPrinting Write If the value is set 1, additional debug printing is
enabled. Default value 0.
FileHandling Write Allowed values are:
· 0: the Flow Optimizer communicates with
Solver(s) using tcpip
· 1: the Flow Optimizer communicates with
Solver(s) using file transfer. (default)
LogLevel Write The level of debug printing when using tcpip
communication. This option has effect only if Flow
Optimizer is run in tcpip mode (FileHandling is 0).
Allowed values are:
· 0: log configurations, errors, failures, etc.
(default)
· 1: in addition to level 0 include filenames
· 2: log everything
MaxCmdAgeS Write Max age of a CommandQueue command in
seconds. Default value 600.
PrintContractsData Write With the value 1, the service prints extra
information to the diagnostic file for debugging
purposes. Default value 0.
ServerPort Write The tcpip server port number. The release version
recycles the 2 ports so that the ending 0 in the port
number is changed to 1. For example if the port is
configured as 3570, the ports 3570 and 3571 are
used. The debug version of the service recycles 4
ports. In this example they would be 3570, 3571,

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 108


3572 and 3573.
SolvPriorTimely../ Write Defines the base priority for the forecast
optimization tasks with the equation:
ReductionPerHour
(1-SolvPriorTimelyReductionPerHour
/1000)^(Time in hours from the current time to the
optimization task time).
Example of reduction with the default parameter (-
10):

History tasks are always prioritized so that the


tasks with the calculation times closer to the
current time have the highest priority.
TaskTrace Write Not used.
UseRandomCache Write UseRandomCache as 0 defines LRU (Least
Recently Used) algorithm for the application to.
UseRandomCache as 1 defines the random instead.
Default value 1.
WindowCacheSize Write The number memory map windows (the size of the
window is 64KB-128KB). Try changing the value
to for example 10000-20000 if you application
causes excess disk load. Default value 4096.

6.6 EM Solvers
EM Solver serves the Flow Optimizer service to solve the problems using an
integration to a 3rd party optimization engine.

6.6.1 Configuration of the gateway solution


EM Solver service can be configured to function as a gateway to relay all the tasks to
so called slave solvers instead of solving them by itself. The slave solvers solve the
problem simultaneously using different set of solver parameters (i.e.
instructions/strategy on how to solve the problem). The gateway solver server
accepts the solution from the faster slave solver, and then cancels the solving on the
slower one. This configuration adds robustness on solving, because the best set of
solving parameters varies from problem to problem, even with the same structure of
the problem. Gateway solver is specified by defining the FileHandling parameter in
the SimpleConfig table as 2 (see 6.6.2 SimpleConfig parameters of the EM Solver

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 109


process). Also work directory must be specified separately for each slave solver. This
is done in the SimpleConfig table as follows:
Section Key Value
Name of the Gateway WorkDirectory Folder A
solver
Name of the Gateway WorkDirectory_2 Folder B
solver
Name of the Gateway WorkDirectory_3 Folder C
solver
where Folder A, Folder B and Folder C are replaced with the actual folder names.

6.6.2 SimpleConfig parameters of the EM Solver process


In the Vtrin user interface in the SimpleConfig list, you can set other parameters of
the EM Solver process.

Figure 57 SimpleConfig table, Solver parameters

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 110


Parameter name Description
AppTrace If the second bit is set, additional debug printing is
allowed. Default value -1.
CmdOutFilterLimit Command tracing filter limit. If this is defined as nonzero
integer value N, it forces storing of last N
CommandQueue or TimedTasks commands of the
application to MessageLog. Otherwise, the usual
MessageLog filtering mechanism is used. Default value 0.
CompileOptions Defines the model compilation options:
· c = compile only
· e = produces .equ form model file
· d = print some debugging information
· dd= print more debugging information
Default value cedd.
DataLength Size of the data part of the buffers of tcpip streams for
solver, in bytes format ( min 2 MB ). This option has effect
only if Flow Optimizer is run in tcpip mode (FileHandling
is 0). Default value 2.
DebugLevel Defines the level of debugging information printed from
the Solver:
· 0 = minimum information
· 1 = more information (default)
· 2 = all possible information
FileHandling Allowed values are:
· 0: The Solver communicates with Flow Optimizer(s)
using tcp/ip.
· 1: The Solver communicates with Flow Optimizer(s)
using file transfer. (default)
· 2: The Solver communicates with Flow Optimizer(s)
using tcp/ip. The Solver act as a gateway server,
relaying the messages to/from slave solvers.
LogLevel The level of debug printing when using tcpip
communication. This option has effect only if Flow
Optimizer is run in tcpip mode (FileHandling is 0).
Allowed values are:
· 0: log configurations, errors, failures, etc. (default)
· 1: in addition to level 0 include filenames
2: log everything

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 111


LPSolver Defines the used solver engine as text:
· CPLEX, solver by IBM ILOG
· Gurobi, solver by Gurobi Optimization
· Lingo (or Lindo), solver by LINDO Systems Inc.
· XA, solver by Sunset Software Technology
· MIPKIT, solver by VTT Technical Research Centre of
Finland
· GLPK, GNU Linear Programming Kit maintained by
[email protected], [email protected]
· SYMPHONY: Callable Library for Mixed-Integer
Linear Programming, distributed under the Common
Public License Version 1.0
· CBC: Open-source mixed integer programming solver
Recommended commercial solvers are CPLEX, Gurobi
and Lindo. In non-commercial use also other solvers can be
used, but licensing terms are advised to be checked first.
LPSolverOptions Solving parameters that are propagated to the solver engine
used.
MaxCmdAgeS Max age of a CommandQueue command in seconds.
Default value 600.
Maxa Defines eight times the number of bytes for non-zero
numerical data of the model. Maximum number is
MAXLONGINT. Default value 300001.
Maxr Defines roughly the length of the LPO-file. Maximum is
MAXLONGINT. Default value 200001.
Maxt Defines the number of bytes allocated for strings, sets and
texts of the model. Maximum number is MAXLONGINT.
Default value 50001.
NofArchiveFiles Defines the total number of previous models file, solutions
files, and snapshot saved in the Archive folder. The oldest
files after the limit are deleted permanently from the
Archive folder.
OldDataFileInHours Defines the number of hours from current time after which
model data is not solved any more, but moved directly in
the Archive folder. Default value 2.
PrintLPLVersion Prints the used LPL modeling language (lpl.dll) version
number, if set to value 1. Does not print, if set to value 0.
Default value 1.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 112


PriorityClass The priority class for the service process. If the setting is
not present or is empty, the priority class is not changed
from the default which is usually
NORMAL_PRIORITY_CLASS. The allowed values are
the same symbolic names that are allowed for the Win32
API SetPriorityClass.
ResendSeconds../ In case of failure when sending tcp/ip messages back to the
Flow Optimizer server, the message is resent cyclically
AfterFailure
until ResendSecondsAfterFailure amount of seconds has
been elapsed.
SaveSnapshot Defines the SnapShot image of the compiled model file to
.sns form file, if set to value 1. Does not save, if set to
value 0. Default value 1.
ServerMaxClients The maximum number of connections accepted from Flow
Optimizer servers. Default value 1.
TaskTrace Not used.
WorkDirectory Defines the working directory for the Solver, where
Contracts.lpl model is located. Default value
Datapath\EMO_OptimizationWork.

MIPKIT solver engine specific parameters:


Parameter name Description
DoNotUseCrash Uses heuristic base solution technique called CRASH for
the new problem, is set to value 0. Does not use, if set to
value 1. Default value 0.
ElemTol Defines the limit for a number to be interpret as zero.
Default value 1e-9.
FeaTol Defines the limit for constraints to be interpret feasible.
Default value 1e-9.
MaxIterations Maximum number of LP iterations.
PriceTol Defines the limit for optimality conditions. Default value
1e-7.
PrintModel Prints the LP model read by the solver after compilation, if
set to value 1. Does not print, if set to value 0. Default
value 1.
Scaling Defines the scaling method of LP matrix model: 0 = No
scaling, 1 = row scaling, 2 = row and column scaling
(default). Default value 2.
UseBoundRows Converts simple constraints of a variable, i.e. upper and
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 113


lower bounds, to actual constraints of the model, if set to
value 1. Does not convert, if set to value 0 (default).
UseDual Uses Dual solving technique, if set to value 1. Uses Primal
Solving technique, if set to value 0 (default). Dual solving
might be faster, if problem has few decision variables, but
many constraints.
UsePreBaseSol Uses previous solution as the base solution for the new
problem, if set to value 1. Does not use, if set to value 0.
Default value 0.
UsePresolving Uses Presolving techniques before starting the solving of
the new model, if set to value 1. Does not use, if set to
value 0. Default value 1.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 114


7. Template Report

7.1 Report configuration

7.1.1 Vtrin configuration


Template report is opened from Vtrin tree. Adding empty report without any
configuration is done by the following way:
· Add new tree item, type folder, to correct place and give name to it.

· To change folder type, select from right-click menu properties

· Select item type Plug-in from Item type drop-down list

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 115


· Select ABB.Vtrin.Plugins.cEMOReportTemplatePlugin from Plug-In drop-
down list. Plug-in selection automatically adds correct parameter to
Command line text box

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 116


Figure 58 Template report’s Vtrin tree item configuration
· Save configuration from OK or Apply
Clicking new tree item will open report with no configuration.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 117


7.1.2 Saving configuration
If any changes done to configuration, asterisk (*) is visible in Vtrin display tab at the
top. Before saving it is better to click once to report toolbar (unactivating Excel,
because otherwise ctrl+s is sent to Excel and has another purpose). Configuration is
saved to the same Vtrin tree item as opened by using ctrl+s.
If changes are not saved before closing, saving is asked from user.

If current report configuration while report still open is wanted to be saved to new
Vtrin tree item, select save copy as… from right-click menu when mouse is top of
report toolbar.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 118


Folder to where new item is saved is selected from the Vtrin tree dialog and new tree
item name given to text box.

Figure 59 Vtrin tree dialog for report configuration saving to new tree item

7.2 Report configuration tabs

7.2.1 Accessing report configuration tabs


Report configuration form is opened from right-click menu when mouse is top of
report toolbar.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 119


Select menu item Configure.

Configuration is closed from close button at the bottom right. Close button closes
configuration but enables to continue with report with current configuration (some
configuration is applied only when report is opened again). If cross at top right is
pushed, the whole report is closed.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 120


HINT! Configuration dialog is possible take off from full page mode by keeping
ctrl-button down and clicking with left mouse to dialog background (light grey area
at the top and bottom).

7.2.2 General tab


Report template has general settings. General settings are applied in all configured
levels in report.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 121


Figure 60 Report configuration: general tab

Report orientation. In portrait report each separate item is


printed to one column and period values to rows, in landscape vice versa.

Values settings
enables to define how fetched values are aligned, usage of thousand separator and
font size. Alignment can be center, right or left.

Default font used in Report worksheet.


These settings are applied only when report is opened.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 122


General configuration has two optional titles (each level has also title level
definition). Also font bold and size can be set. Titles are printed top of the fetched
values.

There are two different kind of general validity configurations. Time validity
settings means that fetched values can be limited to certain time of period. If time
selection is out of validity time no values are printed. Another validity setting affects
on fetched values’s validation. If validity of value (representativeness) is less than
configured limit value in report, value is marked to invalid (magenda and number
sign (#)).

Even raw data in database has already validity information, report has it’s own limits,
because results are always manipulated (by filters) somehow from raw data. If check
box left to average and others limit is unselected, validity limit is taken from fetched
history table. Otherwise limits can be given manually (0-1, 1 means full
representativeness). Average limit is used for table types: average, currenthistory,
last, first, forecast and deviation.

Separator configuration enables to distinguish periods and items. Periods can be


separated by lines (Excel borders) or background color. Value left to period radio
buttons means number of periods when separator is added.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 123


Color is defined by RGB values separated by comma. Color editor is launched from
button next to RGB textbox. Button face is also used to preview selected color.

Figure 61 Color editor


Edit color and end selection from OK button. Default RGB values are set to textbox
if user clears it.

If item separator check box selected, lines (Excel borders) are


added between fetched values.
These are also several other general settings.

If automatic fetch selected, values are fetched after start


time changed after delay in seconds defined in text box. If both time selections
visible (start and end) automatic fetch is not done.

If no time shift selected all times represent UTC time


(time parameters and period timestamps). Offset in hours can be given in text box.

If alias check box selected alias names are used instead of variable names
when variables defined. Alias is one property of variable and is not defined as
unique.

If variablename to description selected default variable


description is set to variable name instead of variable description when variables
defined. If Alias selected and variable has alias defined it will be used instead of
variable name.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 124


If worksheet menu check box selected, Excel menu/ribbon is left to
visible.

If show gridlines selected Excel gridlines are set to visible (cell


borders).

If show headings selected Excel row numbers and column letters are
set to visible.

If share times selected and several levels defined in report previous


defined time parameters are copied to input time parameters when level changed.
Orherwise level time parameters are initialized by default calculation and holds own
previous selected times.

Freezing is Excel method to ”freeze” certain areas to be visible all the


time. If freezing times selected period timestamps are freezed.

Freezing is Excel method to ”freeze” certain areas to be visible all the


time. If freezing items selected item descriptions are freezed.

If show user selected user identifier (name or username) logged to Vtrin


is added after period values

If show printing time selected fetch time is added after period


values

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 125


If selected value’s representativeness is added next to value in
brackets in case of representativeness is not 0 or 100.

If configuration disable check selected users without


modifications rights to report configuration are not allowed to open configuration
dialog.

7.2.3 Advanced tab


Advanced settings are also general settings, which are applied in all levels.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 126


Figure 62 Report configuration: advanced tab
In reporting is often needed to show different kind of totals, like average or sum of
all values. These totals are called in report configuration by additional values.

Figure 63 Report configuration: additional values

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 127


Additional values are added to all levels in report, but for which items (variables)
they are calculated is configured individually.

Adds new additional to configuration. New additional is added last in the


list of additionals.

Deletes current active additional in configuration (visible in additional


identifier)

Additional identifier. Additional can be changed from up or down buttons or


entering identifier manually. The first additional identifier is one.

Group configuration is property to support


session parameters. If group name defined for report, some fetch parameters are
saved to Vtrin session like level and fetch times. When report with same group
definition is opened from same Vtrin session, level and fetch times are initialized by
last fetch.

Define picture filename used to logo if other


picture name as “logo” is wanted to be used. Logo picture must be located in server
in VtrinShared\R folder.

Figure 64 Report configuration: general update settings


There are several update settings applied to all variables at all levels. Update settings
affects when period values are wanted to be updated from report.

Every update can be commented. Comments are added from comment


dialog. If comments check box selected, every update is forced to use comment
dialog.

If selected user must send updated values to database before


reading again, otherwise updates are kept in memory and user can later send all
updated values to database at once.

If selected last fetch is redone automatically after values updated


to database.

If selected button to comment dialog will be visible in report


toolbar. Then user can select if comments are needed or not.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 128


These selections can limit which periods can be updated. If
both unselected updating values from report is not possible regardless other
definitions.

Reading values can be automated thus it isn’t necessary to manually activate reading
when report is open. This is useful in situation where report is used for monitoring
certain periods. Cyclic fetching is started from report toolbar menu, but here is
defined the interval and time of the fetches.

Cycle for consecutive


fetches.

Timing for fetches in hour:minute:second.


For example if cycle is 5 minutes and basetime is 00:01:30, fetches are done for
example at hour 16: 16:01:30, 16:06:30, 16:11:30, …

7.2.3.1 Advanced – General tab

Additional name is used as title next to


additional values.

Additional type is calculation rule how total values are calculated from period values
(if not separate fetch or calculation used).
Raw time average and raw sum ignore value statuses (representativeness) and
includes all period values to total value, which is often preferred in reporting. Report
includes also raw minimum and raw maximum calculation, which return value
regardless representativeness. Minimum and maximum calculation also compares in
case of several same values representativeness: the biggest representative value is
picked.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 129


7.2.3.2 Advanced – Order tab
There are several order tabs in report configuration: for levels, variables, additional
values and charts. Functionality is same for all. Items in list are handled in shown
order and if order is needed to be changed list can be modified. First select item
(selection is shown with blue color) and then click Move Up or Move Down as many
times as needed.

Figure 65 Report configuration: order tab

7.2.4 Charts tab


Report template can show fetch results also in Excel trends. Main chart types are
supported. Configuration of charts is made from report configuration, not directly to
charts.
Each chart is available as own worksheet and variables/values added to chart must be
selected (by default variable is not added chart).

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 130


Charts are added from Charts tab. The configurations for the added charts are made
in variable configuration tab (7.2.6.2).

Figure 66 Report configuration: charts tab

Adds new chart to configuration. New chart is added the last in the list of
charts.

Deletes current active chart in configuration (visible in chart identifier)

Chart identifier. Chart can be changed from up or down buttons or entering


identifier manually. The first chart identifier is one and charts are added to workbook
in order of identifiers.

7.2.4.1 Charts – General tab


Chart configuration has three tabs. General tab has following settings:

Name is used worksheet name.


Worksheet name is unique in Excel workbook so select name must be unique to
sheet identifier.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 131


Default chart type drop-down list
includes all supported Excel chart types. It is useful to select type which will be used
for most variables included to chart.

If chart title given it is used as title


to chart otherwise report titles used instead. Also newline can be used such as
title1\ntitle2.

If add logo selected same logo is added also to chart worksheet which is
defined to report template sheet.
If selected chart worksheet is set active when report opened
from Vtrin.

7.2.4.2 Charts – Layout tab


Layout tab has several Excel chart settings. Default value is used for settings not
supported because charts are created when report opened.
Legend is used for variable identification (description and color)

Legend can be highlighted by border and positioned to right, bottom, left, top or
corner.
All the chart types, except pie, have axes. These axis settings are similar in all the
axis except primary category axis which has two extra settings. That is why only
primary category axis settings are explained here.

Title and its orientation (horizontal, vertical, downward or upward) can be set if
wanted. Also major gridlines are optional.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 132


Timestamps can be positioned next to axis, high, low or none (left out). Timestamp
spacing means that only some timestamps are printed. 0 means that setting is
automatic, 1 every timestamp is printed, 2 that every other timestamp is printed and
so on.

7.2.4.3 Charts – Order tab


Look 7.2.3.2

7.2.5 Sheets tab


Report template doesn’t need any saved Excel file to work. If user wants to add any
own functionalities or layouts, own Excel file must be prepared.
Template report supports printing values to other worksheets defined by user. Those
worksheets must be added to Excel file and are only referenced in report
configuration (template report is not adding/deleting/renaming worksheets). Name
‘Report’ is used by template report so user worksheets must be named differently.
See also 7.9.1
Worksheets to which values are wanted to be printed are configured to tab Sheets.

Figure 67 Report configuration: sheets tab

Adds new sheet to configuration but not to Excel. Sheet must be added by
user to Excel file. If there is no sheet with defined name, all functionalities related to
sheet are omitted.

Deletes current active sheet from configuration (visible in sheet identifier)

Sheet identifier. Identifier is used to separate sheets in configuration. Sheet


can be changed from up or down buttons or entering identifier manually. The first
level identifier is one.

Name of worksheet referenced in report template.


Name of worksheet must be unique in Excel.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 133


If add logo selected same logo is added also to worksheet which is
defined to report template sheet.
If selected worksheet is set active when report opened from
Vtrin.
When sheet is added to report configuration it can be referenced from two places.
First place is Sheets tab from where non-variable related settings are done. Second
place is Levels - Variables – Sheets tab.

Adds new general item to list

Deletes selected general item from list. To enable Delete –button row
header must be clicked.
Columns in list:
· Type: type of item. Supported item types are
o period times: each period start time
o report interval: fetched time interval start - end
o text: constant text defined to Text column
o user: user/username logged to Vtrin
o print time: time of printing
· Range name: range name (cell) to where item is printed in sheet. It is useful
to give good names to cells manually. This makes bigger changes in layout
afterward much more easier to handle. Also Excel default names can be used
like A3 or C5. If range name is inside brackets [], offset to actual range
location is added (do not define brackets to actual range name). Offset is
equal to number of periods.
· Text : constant text, valid only if type is text.
· Print downward: if there are more than one item to print, defines direction of
items

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 134


· Use formatting: if selected some formatting is added by template report if
applicable. For example number format, horizontal and vertical alignment,
font size and shrink to fit- setting.

7.2.6 Levels tab


Report template must have at least one level added. Level can be seen as one report.
One configuration can have several levels added but only one level results are shown
at the time.
Levels are configured from Levels tab

Level is added or deleted only when Levels – General tab is active.

Adds new level to configuration. New level is added the last in the list of
levels. If one level already exists before adding, the first level variables are added
automatically to new level. New level has one variable by default (zero index), which
is not fetched to report, but is used in configuration.

Deletes current active level in configuration (visible in level identifier)

Level identifier. Level can be changed from up or down buttons or entering


identifier manually. The first level identifier is one and it is opened from Vtrin by
default

7.2.6.1 Levels – General tab


Level configuration is handled tab Levels – General. Each level has also three sub
tabs: Periods, Layout and Print.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 135


Figure 68 Report configuration: levels - general tab

Level’s name. Name is used as identifier of


level in drop-down list in report toolbar if several levels included

Level title. Title is


printed top of values. There are also bold and size settings for the title.

Basetime. This time is used as date


from which period in report begins. If default time calculation is disabled basetime is
used as default time when report is opened. Fixed period selected means that start
fetch time is rounded against basetime when fixed report length selected. Time
period length accuracy in rounding depends on selection next to report interval
configurations.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 136


Recalculation configurations are used as
default parameters to recalculation activation if it launched from report toolbar. Past
drop-down list includes recalculations defined to default RTDB-Scheduler (and past
scheduler if used in system). Future drop-down list includes recalculations defined to
default RTDB-Scheduler (and future scheduler if used in system).

Scenario configuration is enabled


only if at least one scenario is defined in system. Select Past if scenario function is
wanted to use in report when past periods available. Select Future if scenario
function is wanted to use in report when future periods available. Any of these two is
selected, scenario drop-down list is available in report toolbar. Drop-down list in
scenario configuration includes all defined scenarios. Selection is used as default
value in scenario selection when report is opened from Vtrin tree. None means no
scenario.

If selected information about value producer is added as Excel


comment to values if known. Producer is also skipped if it is not changed . Select
only temporarily, not applicable for normal use.

If selected leaves template report sheet unprocessed. Do not use if


not having at least one other sheet visible in Excel workbook.

7.2.6.1.1 Levels – General – Periods tab

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 137


Fixed periods unselected means that even in fixed report length case start fetch time
can be selected in report period length accuracy.

If fixed length selected only start fetch time is


visible in report toolbar and end fetch time is calculated from report length
configuration below Fixed length check box. Fixed length unselected makes also end
fetch time selection visible in report toolbar. Report length configuration is used then
only when opened from Vtrin.

Period length in report.

Spin period length defines how much previous time


selections are changed forward or backward when using spin button in report
toolbar. Typically spin period length is selected same as report fixed length
configuration.

Default period selected means that


report default time calculation is done, otherwise report basetime is used as default
time. In default time calculation current time is first rounded down to closest period
start Default period length increments. Then time is jumped forward or backward
Default period time units depending on integer configuration next to Default period
check box. Positive values means forward and negative backward. From that time
other time is calculated by taking report length units forward or backward depending
on Periods forward configuration. Smaller of the two times is used as selection to
default fetch start time.

If selected only one period to any time selections is shown. Period


length equals fetch time interval.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 138


Current period configuration is used to define which (past or future) configuration is
used to current period. If past selected fetch parameters are taken from past
configuration otherwise from future configuration. For longer period lengths it can
be sometimes useful to even split current period to two parts. That is defined with
splitter period configuration. For example if report period length is one month and
data is available at the hour level, current period is possible to split two parts. Split
time is calculated by rounding current time to floor or ceiling in period selection
increments. One hour floor results to current hour start. Splitter period rounding is
only rule to rounding and must be selected to each item separately if wanted to be
also used.

7.2.6.1.2 Levels – General – Layout tab

Some configuration to level layout is found from Level – Layout tab.

Figure 69 Report configuration: level – general - layout tab

Description and unit configuration enables


to set font bold and size to description area texts. Also backround color can be set.
Description area is shown below.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 139


Color is given in RGB values and defined from button next to RGB textbox
(example in General configuration – period separator color).

Certain periods can be highlighted in


report by selecting background color check box in Current period separator
configuration. Color is given in RGB values and defined from button next to RGB
textbox (example in General configuration – period separator color). Highlighted
interval is defined by offsets (report period length as unit). Values less than zero
leads to past and bigger than zero to future. For example in one hour period report
values 0 and 0 leads to current one hour period to be highlighted.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 140


In portrait reports column widths are given in
configuration.

Period timestamp is splitted to date part and


time part. Formating of date part can be set from configuration if default formating is
not applicable. Give date format in US English format using Y for year, M for month
and D for day.

7.2.6.1.3 Levels – General – Print tab

Some configuration to level printing is found from Level – Print tab. All supported
configurations are same as Excel printing settings and are applied only to Report
worksheet.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 141


Figure 70 Report configuration: levels – general - print tab

Printing orientation – Allows you to print sheets


sideways (Landscape view). Very useful for spreadsheets that are just a bit too wide
to print using the default portrait view.

Scaling – allows you to adjust the size of the


report worksheet.

Another option for scaling: If your worksheet


has a lot of columns, you can use the Fit pages settings to reduce the size of the
worksheet to better fit the printed page.

Margin unit.

Margins in printing. Starting from left box value


going from clockwise targets are : left, top, header, footer and bottom margin. Button
next to margin copies margin values from corresponding Excel settings if wanted.

7.2.6.2 Levels - Variables tab


Report template must have at least one level added. Level can be understood as one
report. Variables are added to each level separately. In configuration each level has
zero index item, which is not fetched to report, but is used in configuration. It is used
as default item to new item added to report and also as reference to certain settings.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 142


Variable configuration to level is found from Levels – Variables tab. Variables tab
has several other tabs holding configuration to selected variable.

Variable is added and deleted the same way as level.

Adds new variable to level configuration (one level only). New variable
is added the last in the list of variables. New variable has default values copied from
same level zero index variable.

Deletes current active variable from variable configuration (visible in


variable identifier) from current active level in configuration.

Variable identifier. Variable can be changed from up or down buttons or


entering identifier manually. The first variable identifier is zero and it is not fetched
to report, but is used in configuration.

Item description used in report. If check box on


the left is not selected description is automatically fetched from variable
configuration in database when variable changed. If check box selected, description
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 143


text box is changeable and is not automatically changed even variable is changed.
Also newline (\n) can be used in description.

Item unit used in report. Check box next to description is


locking/unlocking unit same way as described above.

If allow enum text selected for binary variable enumeration text is


printed instead of numerical value.

If hide item selected variable is fetched but not printed to final report.
This is useful if calculated items involved in report and only result is wanted to be
printed.

Variable has three settings concerning value


updating from report. The first check box on the left must be selected to enable item
values to be updated. If history substituded selected updated values are protected
against overwriting by other applications. If span update selected each update is done
in span mode, which guarantees that only manually updated periods are changed.
Other option is point mode, which updates changed periods the same way but does
not check if next periods will be changed too because of missing value. Span update
mode is often the best selection.

Decimals configuration is used for item


period value formation. This formation is also used in additional value formation if
not overwritten. Each item has 4 options:
· general – value is with Excel General style, which means decimals are shown
as much as needed or possible
· past variable takes number of decimals from past configuration variable
definition from database if past variable defined
· future variable takes number of decimals from future configuration variable
definition from database if future variable defined
· manual option enables text box on the right and number of decimals can be
given manually
Other items except zero index has also the fifth option, which is always the first one
in drop-down list. Selecting this first default options means that formation for this
item is taken from zero index configuration.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 144


7.2.6.2.1 Levels – Variable – General tab
More item related configuration is found from Levels - Variables – General tab.

Figure 71 Report configuration: levels – variables - general tab

Report item can be calculated from other items in report. Formula for period from
other item(s) from same period is defined by Excel RC reference style. Formula is
better define with formula helper sheet activated from button next to formula
textbox. Select calculated item from variable identifier before going to definition
helper sheet. Before formula is defined add items to be referenced first.
In example there are two items: the first is fetched from database and the second is
calculated from that.

All items defined in report are printed to first row with description and variable
name. Calculated items has description Calculated. Cell to where Excel formula is
defined is colored yellow and selected automatically. Formula starts in Excel with =.
If reference to other items needed click second row cell under description when
defining formula. Remember press ENTER when formula edition ended to leave cell
editing mode.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 145


Figure 72 Excel formula definition for periods
Return to configuration dialog from report toolbar button Back to configuration.

Defined formula is copied to formula textbox. If formula defined to item there is no


fetch from database even some configuration available in variables and tables.
Calculated value is only available in report.

If show formula selected report adds formula to be visible Report


worksheet if possible (no hided items or filterings). Otherwise only value is copied
Report worksheet.
Calculated item values are always valid.

Item validity setting enables to set validity time


limits to each item to be included to report. If check box selected time component is
set to editable.

Filtering settings enable to skip item


from report if certain condition is realized. If zero filtering selected condition to skip
item printing is if all period values are equal to zero. If invalid check box selected
condition is if all period values are invalid. If missing check box is selected period
values are not printed (repeat check box unselected).
Filtering setting doesn’t mean that only certain periods are left out from report if
condition is true but if all period values fullfill condition the whole item is not
printed.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 146


Current period splitter is option if at Levels –
General – Period tab defined current period splitting is applied to item. If not selected
current period is handled as any other period in report. If check box selected, also
value producing type must be defined from drop-down list. Also remember to use
history table applicable to rounding rule

7.2.6.2.2 Levels – Variable – Past tab


Item related configuration for past periods is found from Levels - Variables – Past
tab.

Figure 73 Report configuration: levels – variables - past tab

Fetch data must be selected if item is wanted to be handled for past


periods (fetch from database or calculated in report).

Repeat selection means that value for period is always shown. If not
selected values are printed only to periods from where stored points found. Do not
leave unselected if not knowing whether value should be stored to each period or not.
Repeat setting is not applied to calculated (in report) items.

Fetching parameters are available if


calculation not defined to item. First combo box is for variable. Variable name is
case sensitive. If variable not found from database, text is colored with blue. If
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 147


variable created while report open, it is not available in combo box. If alias check
box in report General configuration is selected, variable name is defined “alias
@variablename”.
Second combo box is for history table. Also history table is case sensitive and if not
found from database, text is colored with blue. For other items, except zero index,
extra option is available in combo box. First option is always referring selection
made to zero index item.
Third combo box is filter for Vtrin fetch. Filter is rule to Vtrin to manipulate original
raw data. Report is by default producing filter based on history table type. If that not
applicable define proper filter but without period length. Example, if average one
hour table used in one day period values. Default filter is calculating average, but if
raw sum wanted, must be filter given. Correct filter for Vtrin is SUMRAW1DAY,
but because report is adding period length automatically, correct definition is
SUMRAW. Exception to rule is if CALC filter used, also period length must be
included. In filter configuration is also possible to reference to zero index option.
There are several different methods of adding a variable:
· the variable can be chosen from the combo box list
· the name or alias of the variable (assuming the use of aliases has been
selected under general settings) can be typed into the input field
· the variable can be dragged to report toolbar from another Vtrin window, for
example from the list of variables

· mass input can be used. For further information, see 7.7

Scaling is possibility to multiply fetch result


before it is printed to report. It is needed for example if value is shown in report in
different unit that it is stored in database. Define scaling factor to textbox. Also
simple calculation is supported (executed in Excel cell) if scaling started with =, for
example =1/3600.
If time scaling check box selected fetched value is multiplied by number of time unit
periods included to each fetched period. For example if average history table used for
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 148


day value and time scaling in hours defined, day average value is multiplied by
number of hours in each day.

7.2.6.2.3 Levels – Variables – Future tab


Item related configuration for future periods is found from Levels - Variables –
Future tab.

Figure 74 Report configuration: levels – variables - future tab

If future period fetching is wanted to be same as past, same as past


setting is useful. Past parameters are also copied to future tab.
Other configuration in future tab is same as in past tab.
Variable fetch results can be used also for some alternative needs. Usually some
totals are calculated from period values like average or sum (additionals). Period
values and totals can be printed also to Excel charts and own worksheets.

7.2.6.2.4 Levels – Variable – Order tab

Look 7.2.3.2

7.2.6.2.5 Levels – Variable – Additionals tab


If additionals defined in report (7.2.3) those are visible in list in additionals tab.

Figure 75 Report configuration: levels – variables - additionals tab

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 149


These additional settings are done for each variable separately. Different columns
are:
· Additional name : read only here, taken from additional configuration
· In use: if selected, additional value for variable produced
· Formating in use: if not selected, number format (number of decimals) is
taken from item number format definitions used for period values. If true,
number of decimals is separately (next column)
· Decimals: number of decimals. Used only if previous column (Format in use)
true
· Scaling: scaling is possibility to multiply result before it is printed to report.
Also simple calculation is supported (executed in Excel cell) if scaling started
with =, for example =1/3600. Remark! If period value is already scaled,
additional value is already including scaling if it is calculated from period
values.
· History: additional value can be read from history table.
· Time scaling in use: if selected, result multiplied by number of time units
(next column) in fetched time span
· Time unit: time unit used for time scaling
· Formula: additional value can be produced also with Excel formula. In
additional formula is supported to reference to any other additional value or
all periods (own or other variables). Add variables to be referenced before
adding formula. Formula is better define with formula helper sheet activated
from button next to formula textbox. Procedure to define formula is same as
when done to period values except more possibilities to reference. Check
more details from variable period formula definition.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 150


Figure 76 Excel formula definition for additional value
· Show formula: if selected report adds formula to be visible Report worksheet
if possible (no hided items or filterings). Otherwise only value is copied
Report worksheet.

7.2.6.2.6 Levels – Variables – Charts tab


If charts defined in report (7.2.4) those are visible in list in charts tab

Figure 77 Report configuration: levels – variables - charts tab


These chart settings are done for each variable separately. Different columns are:
· Chart name: read only here, taken from chart configuration
· Add: if selected, variable added to chart
· Chart type: chart type for variable. List is same as where default type for
chart is defined except first item is called Default. Default means that type
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 151


taken from chart definition. Remark! If Scattered by only markers (xy
trend)- type used, make sure items are ordered correctly. First is used for x
and second for y (not possible to draw xy from one variable only).
· Value to chart: definition which result is added to trend. List has always
Period as first item and rest are defined additionals in report. For example
line trend is drawn from period values, but pie trend from one value only (one
of additionals)
· Batch: if batch selected, old trends for this item is not deleted before adding
new ones. Idea is that for example reading two or more different intervals,
user can compare those in chart
· Secondary axis: if selected, secondary axis used for variable
· Order: possibility to affect in which order different items in chart are drawn.
Rule for ordering is that all items without order given get number 10000000.
Items with same order number are drawn in the same order as variable
defined in report. If order is no-good, positive or negative numbers can be
given to some or all of items. Smallest order number is drawn first. Special
order is given by adding – (minus) after number. Items which ends to – are
drawn last. If several items have -, they are compared against each other. Idea
of this – rule is to have possibility to move item last without adding order to
all other items.
Above list are also so some optional settings.

If name given, it is used in chart legend


(if that visible)

Color of trend item. If not defined, color is


automatic (by Excel). Otherwise color is defined same way as any other colors in
report by activating color editor dialog from button next to text box. Color is defined
in RGB. Special setting is 0,0,0 which is handled as transparent (if supported to chart
type by Excel)

7.2.6.2.7 Levels – Variable – Sheets tab


If sheets defined in report (7.2.5) those are visible in list in sheets tab

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 152


Figure 78 Report configuration: levels – variables - sheets tab

Adds new item related sheet printing to list. Same item fetch results can
be printed to several sheets and to several ranges. Order of items has no meaning.

Deletes selected item related sheet printing from list. To enable Delete –
button row header must be clicked.
These variable related sheet settings are done for each variable separately. Different
columns are:
· All levels: If selected, setting is valid at all level for same variable index. If
first variable in level 1 has all levels selected, first variables at all other level
will follow the same setting. Setting all levels false is done only at level
where definition done.
· Value to sheet: definition which result is printed. List has always Period as
first item and rest are defined additionals in report.
· Sheet: to which sheet printing is done. Sheets defined in report will be
available in list.
· Range name: range name (cell) to where item is printed in sheet. It is useful
to give good names to cells manually. That can make bigger changes in
layout afterward much more easier to handle. Also Excel default names can
be used like A3 or C5. If range name is inside brackets [], offset to actual
range location is added (do not define brackets to actual range name). Offset
is equal to number of periods.
· Print downward: if there are more than one item to print, defines direction of
items
· Add validity: if selected, same value status coloring added to printing as is
used for template values
· Use formatting: if selected some formatting is added by template report if
applicable. For example number format, horizontal and vertical alignment,
font size and shrink to fit- setting.

7.2.6.3 Levels – Copy tab


Copy level items to other levels.
Variables at each level in report are defined separately, which means that they can be
differ from each other if wanted. When new level added to configuration, variables
from first level are added automatically to new level. When new variable added to
level it is added only to selected level. If variables in different level are wanted to be
same, there is copy functionality supported. That is found from tab Levels – Copy.
Only variables are copied, not other level configuration.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 153


Figure 79 Report configuration: levels – copy tab
Select from left box level from which to copy and from right box level(s) to copy.
After selections Copy all items –button is enabled.

7.2.6.4 Levels – Order tab


Look 7.2.3.2

7.3 Report template toolbar


Report template has always toolbar visible when it is in normal use. All items are not
visible all the time.

Figure 80 Report toolbar

Fetch –button is always visible. Fetch activates reading for selected period of
time. Reading must be activated by user if report auto setting is not in use or report is
in free length mode (both start and end time visible).

Start time is always visible. Start time is


inclusive, which means that periods, which are equal or greater than start time, are
included. Start time can be given by entering numbers or selecting date from popup
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 154


calendar. Selected date can be changed also with arrow keys. Start time is always
rounded down to closest period start based on defined report period configuration.

Backward spin button is reducing time from previous selected start and end time.
Reduced time is defined in level settings. Spin button is activating also reading if
report auto setting in use.

Forward spin button is adding time to previous selected start and end time.
Added time is defined in level settings. Spin button is activating also reading if report
auto setting in use.

End time can be hided when it is calculated. End time is exclusive,


which means that periods less than end time are included. Using of end time
component is similar to start time.

Level selection is visible if more than one level defined in report. When
other level selected for the first time, default fetch time is calculated.

Update button is always visible but normally disabled. Updating values


from report is supported when next requirements are met:
· maintenance of item is allowed in report configuration
· maintenance of updated period is allowed
· user has user rights to update variable and history table in question (and
possible scenario)
· history table period length is matching to report period length (for example
one hour table can be updated only report with one hour period length
definition)
Remark! Periodical average type history tables, which has shorter period
length than report period length, can be also updated (deletion not supported).
Remember that result is only one value in the beginning of report period start.
Span updated mode is deleting other possible values from report period, point
update mode doesn’t. Updated value is not scaled based on any filter.
Values are updated by entering new value to each period. Clearing old value is
handled as deletion of value. Avoid unnecessary deletions while those are rarely
needed.
If all update requirements are met report is coloring background of valid updated
period and update button is enabled. Values are not updated into database unless user
is activating maintenance from update button.
Updating has also different modes which has an effect to protection of the values or
how changes affect to next period. Keep default update parameters (span update
mode and history substituted on) if not familiar with other options.
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 155


Comments button is visible only if selected from report configuration.
Like update button it is disabled unless user makes updates. Comments button is not
directly sending updated values into database but opens comments dialog. Comments
entered from report are not visible in report but in Vtrin history maintenance log.

Recalculation button opens recalculation dialog. Recalculation


activation is often needed by user who changes values manually. Recalculation also
requires certain user rights.

Scenario selection is visible if scenario setting is selected in report


configuration. Scenarios are not defined in report. First option in list is always None
which means no scenario (normal function). If any scenario selected reading and
updating of values and recalculation is done in scenario mode.

Print button is setting report print settings if report template sheet active.
Report (active sheet) is printed to default printer which is also showed in tooltip. If
user wants to use other printer, print dialog can be opened from report toolbar menu.

Stop update is visible only if cyclic fetch is activated from


report toolbar menu. Toolbar shows next fetch time. Stop update cancels cyclic fetch.
Cyclic fetch may be stopped also due to some other user actions.

7.4 Report template toolbar menu


Report template has menu which is accessible by mouse right-click on top of Report
toolbar.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 156


Figure 81 Report toolbar menu

Endtime selection enables to use report as fixed


or free length mode without changing default setting. Normal use is that report level
is configured as fixed length like one day, but selecting endtime setting from menu
will put end time component visible in report ready for any time spans.

Cyclic
fetch is function which activates reading of values in report automatically. Fetch
cycle interval in configured in report configuration, but function is activated by
selecting one of the next choices:
· Default: each time reading is activated, fetch times are calculated by default
time rules for the level.
· Keep distance to current time: brings end time visible. When cyclic fetch
started, report is calculating time different from first period in report to
current time. Each time reading is activated, same time difference is targeted.
Normal use would that user selects first the most interesting periods like
current hour +/- some periods to be located in the middle of report periods.
Then starting cyclic fetch will keep current hour visible to user all the time.
· Previous time interval: no new fetch times are calculated, reading same
periods as the previous fetch.

There are two print settings: first is printing


active worksheet to default printer and other is opening printing dialog for the user.
Both are setting report print settings if report template sheet active.

Fetch results can be saved to Excel file, which


can be attached to email. Created file is template report results from last fetch
without any functionality. Copy includes all worksheets from report. Selecting To
attachment… opens Save as dialog for user to check filename and location.

Save copy as –function enables to copy current report


configuration to new Vtrin tree item. No files are saved, only report configuration.
Vtrin tree dialog is opened for user to select tree item under which new item is
created.

Template report supports using own Excel file if needed. It


is recommended to make changes own Excel file as normal using Excel directly. Any
way Excel file can be opened in write mode also in Vtrin (7.9.1). Because template
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 157


report adds worksheets (template and charts) and pictures (logo) to Excel, it is better
to remove extra items before saving changes to Excel file. Template report is
expecting to add those extra items always when opened and is not removing any
possible old fetch results.

Hide menu setting means if Excel menu/ribbon is wanted to be


hidden when using report. Default is that Excel menu is not visible. Setting is applied
only in the same Vtrin session and is not saved.

Template report toolbar can be hided. Setting is applied


only in the same Vtrin session and is not saved.

Template report toolbar can be


located top or left. Setting is applied only in the same Vtrin session and is not saved.

Configure is opening report configuration dialog


to user. Access to configuration dialog can be limited if no right to save changes.

7.5 Comment dialog


Value updates from report template can be commented if wanted. Comments are not
visible in report, but can be viewed, for example, from Vtrin history updates list.
In comment dialog all update parameters supported are visible and some of them can
be changed. Updates in list are user updates not yet sent to database. Items can be
deleted by clicking row header first, which will enable Delete button below.

Figure 82 Dialog for adding comment to value update


Columns in comment dialog:
· Variable: Variable to be updated, read only.
· Historytable: History table to be updated, read only.
· Timestamp: period start time to be updated, read only.
· Value: new value to be updated, read only. If value missing, deletion done.
· Comment: comment to be added to value update.
· Scenario: scenario as number. read only. Visible only if any of the updates
are for scenario (>0)
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 158


· Type: type of update (update or delete, read only)
· Replaceable: parameter if value to be updated should be protected or not. If
replaceable true, value not protected.
· Call mode: update mode, read only. Span updates are targeted only to
updated periods (recommended), point updates can change also values after
updated periods.
If user wants updates in list to be sent to database, start button below must be pushed.
Close button only closes comment dialog.

7.6 Recalculation dialog


Recalculation means that predefined tasks are activated in database. Tasks are
normally different sort of calculations and recollections. For example if user updates
manually values to variable, which is used as input in any application, automatic
activation of calculation is not done by default. User must activate recalculation for
corrected periods.
Recalculation activation needs some parameters:
· activation name: this defines which kind of tasks must be done. By default
names are similar to history table names. For example AVG1Hour normally
means that some one hour calculation is done and after those one day
averages must be recollected. Chain is usually longer and is configurable.
· start and end time: this defines which period are recalculated
· scenario: this defines if reading and writing is done in scenario mode or not.
Recalculation can be activated from report template using recalculation dialog.
Dialog is opened from button in report toolbar. User must have user
rights to activate recalculations (Read+Create). There are three classes which report
use to activate recalculation:
· RecalculateScenHistory: class sends activation to RTDB-Scheduler which is
included in all installations
Next classes can be available
· RecalculateScenPast: class sends activation to RTDB-EMO-SchedulerH
which can be installed manually after normal installation to give faster
response time. Used for history calculations.
· RecalculateScenFuture: class sends activation to RTDB-EMO-SchedulerF
which can be installed manually after normal installation to give faster
response time. Used for future calculations.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 159


Figure 83 Report recalculation dialog

When all parameters are given button is enabled and user must click it to
send activation. After activation OK button is disabled. Close button only closes
dialog without activation.

Start and end time selection for


recalculation. End time is exclusive, which means that period started with same
timestamp as end time is not included. Date and time can be entered manually or
using popup calendar opened from downward triangle. Start and end time are
initialized with last fetch times, unless user has made updates. In this case times are
initialized with minimum and maximum of period timestamps.

Activations are separated to past


and future periods. Past combo box includes all defined recalculations for past
periods and future combo box for future period. Report template is calculating from
selected time span which periods belong to past and future and activates those if
valid activation name given. Activation names are initialized from report
configuration when first time opened. Activation names are case-sensitive. If name
not found from database, name is colored by blue.

Check boxes next to activation names are settings if scenario selection below
must be considered. If check box not selected, activation is not done in scenario
mode. Otherwise scenario is taken from scenario activation drop-down list selection.
Check boxes are initialized from report level configuration if scenario in use.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 160


Scenario selection to recalculation activation.
Drop-down list includes all defined scenarios. First item is always None, which
means no scenario. Scenario selection is enabled only of either of check boxes next
to activation names are selected.

7.7 Mass input of variables and history tables


When it is necessary to configure a large number of variables in the report, they can
be added all at once. Open the report to be configured in the user interface. First open
the Excel file and define <variablename> as the tag for a cell. Add a RTDB variable
name on each row under the tag cell. The same variable name is added to the past
and future variables.
Accordingly, if you want to enter the name of the past and future history table, add
the tags <tablenamepast> and/or <tablenamefuture> in the columns next to the
variable name tag. Copy the items included in your definition with their tag cells as a
single area to the clipboard and paste them into the open report. Check the definitions
and save.

7.8 Default report – Send To


Template report supports parsing variables selected in another Vtrin display and
adding them to report configuration. Selected item must be instance of Variable class
like rows in variable list or current value component in process display. It means that
predefined reports are not needed for all the variables.
Define proper default report(s) to Vtrin tree. Remember to give rights to these default
reports if those are located in sub folder of not permitted folder. Define to default
report all other items except variables. Check that zero item definition has proper
history table definition for that level, because that will be used for all added
variables.
Send To – functions are defined with UI References list display. Add one definition
for each different default report.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 161


Columns in UI References:
· Text: used as identifier in Send To menu when selecting default display
· Sort Key: order of default items in Send To menu
· Source Type: must be Variable
· Target Type: must be TreeNode
· Target ID: identifier of default report tree item (GUID), which can be looked
for example by selecting tree item and Properties window from Vtrin toolbar.
When UI References definition found to Variable Send To menu will be available
from Variable items like variable list behind right-click.

7.9 Additional Vtrin tree item parameters

7.9.1 User tailored Excel file


By default, template report starts always with new empty workbook. Report template
is adding worksheet called Report to workbook for its own use.
If there is need for own report layout user can use also predefined Excel file.
Template report supports printing results also to other worksheets where user is
designed layout. Prepare Excel file not having worksheet called Report. Preferred
location for file is the server where database is running, because from there file can
be copied to other clients without network mappings. If any other location used take
care that folder is mapped before opening report.
Vtrin is supporting file sharing between clients and server (original file). If file is
located under VtrinShared folder, Vtrin can copy it to client PCs. In addition if file is
modified and saved in client, new version can be copied back to server. Preferred
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 162


location for report Excel files is D:\RTDBData\VtrinShared\R (disc letter may
differ). In Vtrin tree item that is referenced by :R. For example if file name is
MyWorkbook.xls, add ":R\MyWorkbook.xls" to Command line parameter. Make
sure that there is space before additional parameters.

Figure 84 Vtrin tree item configuration for user tailored report


Excel file is opened by default in read-only mode. If user wants to save Excel file
from client, add also /RW after file parameters. Also make sure that original file in
server can be overwritten. When report is closed and Vtrin detects changed file, it
asks if file should be copied to server too (Upload button).

Remark! Remember to use “Save Excel and close” from report menu when there is
need for saving file. Otherwise all extra items (additional worksheet and logos)
added by report template are also saved.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 163


7.9.2 Energy Manager generic balance report
Report template supports creating checking report from EM balance connection point
bookings. One selected balance at the time is supported. Balance can be given
manually or selected from Vtrin Balance class list or EM Contract plugin (Sent to -
function).
When EM check report is needed, add keyword –em to Command line. Additional
keywords can be given separated by semicolon (;) like
EMO-Report-Plugin.ABB.Vtrin.Plugins.cEMOReportTemplatePlugin –em BalanceNumber=1;L=0
Keywords supported are:
· BalanceNumber: no default value, must be bigger than zero
· ParticipantNumber: no default value. Must be found from BalanceNumber.
Limiting connection points selected to report. Connection point and all below
it are only included.
· L: default value 0. 0 means that all connection points are included, 1 means
only top level connection points are included, 2 means that first two level
connection points are included and so on. Not used if ParticipantNumber is
given.
· Caption: this is used for Vtrin tab naming. By default name is
tree item name (Balance name)
String /n/ is replaced by tree item name and /b/ by Balance name
· Remove: default value is true. selection if old items are removed from report
configuration before adding new ones. Selecting no allows user to add
predefined variables also to report.

7.9.3 PDF file creator


Report template supports creating pdf -file when report is opened from vtrin tree.
Excel version must be 12 or newer (using Excel’s own pdf creator). Vtrin does not
support opening reports cyclically, but there is workaround if it is done on server
where CSCommon_Cmd and Vtrin client both are available. Define to Windows
scheduled tasks or RTDB timed task cyclically to run Batch file. In Batch file is
example
"CSCommon_Cmd.exe" -runjobwithtimeout "vtrin.exe -dsn VtrinConnectionString -user username -
pass **** -bounds minimized -form @"report.lst"" 60
Full paths to CSCommon_Cmd.exe, Vtrin.exe and possible report.lst must be added.
CsCommon_Cmd is starting Vtrin.exe and forcing it to end in 60 seconds (last
parameter). For Vtrin must be given connection string (same as to Vtrin login
window), username, password and display(s) to open. Display is given as GUID,
which can be copied from Vtrin. Instead of @"report.lst" can be used “guid” if only
one display opened, but it is better to create file such as report.lst (same Vtrin session
opens several displays) and add there displays as GUID to each row such as
Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 164


“guid1”
“guid2”
Remark! Make sure that the user running Batch file cyclically has at least once
opened Excel and answered for questions made by Excel.
Remark! Make sure that the user running Batch file cyclically has default printer
installed.
Remark! Check that folder called Desktop exists in following paths (add manually if
missing)
· C:\Windows\system32\config\systemprofile\Desktop
· C:\Windows\SYSWOW64\config\systemprofile\Desktop
When pdf creator is needed, add keyword –pdf to Command line. Additional
keywords can be given separated by semicolon (;) like
EMO-Report-Plugin.ABB.Vtrin.Plugins.cEMOReportTemplatePlugin –pdf PDFFolder=C:\Temp
Keywords supported are:
· PDFCheckEnvVar: default is true, which means that there should be
environment variable DOPDF defined otherwise pdf not done. Setting local
environment variable is done normally in Batch file like
SETLOCAL
SET DOPDF=TRUE
Setting value to false means that pdf is created also in normal operation.
· PDFFolder: default is temporarily folder for current Windows user. Prefer
local discs, no network mapping done.
· PDFFilename: default is report level title if defined, else Report.pdf
· PDFTimeFormat:no default value. If given, pdf file creation time is added to
file name end separated by ‘_’. remember to user chars allowed in file name.
Example PDFTimeFormat=yyyy-MM-dd HH_mm_ss
· PDFClose: default value true, which means that report is closed after pdf
creation.
· PDFPrint: default value is false, which means that pdf file is not printed, only
created
· Printer: default value is default printer set to user running pdf creator.
· PDFLog: default value is false, which means no log file created to
PDFFolder. Log file can be useful when finding malfunction. Log file is
named PDFLog.txt and is always overwritten when new pdf created. If no
errors catched only creation time is added to log.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 165


7.9.4 Automatic printing
Report template supports printing report when report is opened from Vtrin tree
(without user’s activation). Vtrin is not supporting opening reports cyclically, but
workaround can be used. Idea is the same as with pdf creator.
When automatic printing is needed, add keyword –print to Command line.
Additional keywords can be given separated by semicolon (;) like
EMO-Report-Plugin.ABB.Vtrin.Plugins.cEMOReportTemplatePlugin –print Printer=MyPrinter
Keywords supported are:
· Printer: default value is default printer set to user running printing
Report is always closed after printing when using –print parameter. Same
information can be set in Batch file to environment variables %PRINT% and
%PRINTER% to avoid report from normal usage.

7.9.5 Keeping original variable names and history table names


Vtrin supports copying displays from other databases. If template report is copied
from other database, it can be useful to keep original variable and history table
definitions as they were in original version. When original definitions are wanted,
add keyword –orig to Command line, when opening report for the first time. After
saving report keyword can be deleted.

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 166


APPENDIX A
Program numbers for EM applications:

Program Name Description


Number
EM Power Monitoring
51 RTDB-O3esm-TieLineMo
EM Forecasts
52 RTDB-O3esm-Forecast
O3ESM Optimization (obsolete)
53 RTDB-O3esm-Optimizat
EM Contracts (obsolete)
54 RTDB-EMO-Contracts
EM Production Forecasts
55 RTDB-EMO-ProdForec
EM Contract Calculation
56 RTDB-EMO-ContractCal
EM Optimization
57 RTDB-EMO-Optimizat
EM Solver
58 RTDB-EMO-Solver
EM Current Scheduler (RTDB Scheduler)
59 RTDB-EMO-SchedulerC
EM Forecast Scheduler (RTDB Scheduler)
60 RTDB-EMO-SchedulerF
EM History Scheduler (RTDB Scheduler)
61 RTDB-EMO-SchedulerH
E
M program numbers are also listed in RTDB table Processes.
select ProcNumber,ProcName from processes WHERE ProcNumber > 50

ProcNumber ProcName
----------- --------------------
1: 51 RTDB-O3esm-TieLineMo
2: 52 RTDB-O3esm-Forecast
3: 53 RTDB-O3esm-Optimizat
4: 54 RTDB-EMO-Contracts
5: 55 RTDB-EMO-ProdForec
6: 56 RTDB-EMO-ContractCal
7: 57 RTDB-EMO-Optimizat
8: 58 RTDB-EMO-Solver
9: 59 RTDB-EMO-SchedulerC
10: 60 RTDB-EMO-SchedulerF
11: 61 RTDB-EMO-SchedulerH

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 167


REVISION

Rev. ind. Page (P) Description Date


Chapt. (C) Dept./Init.
A Original Based on EM&O Configuration and Administration 5 September
Manual Rel 3.5. 2008
AAH/TYL
B All sections for EMO 4.1 version 1 December
2008
C All sections All sections updated for cpmPlus Energy Manager 4.2 13 January
2009

Doc. no. Lang. Rev. ind. Page

ABB Oy 3AFA002671D0001_C_EN en C 168

You might also like