EM Configuration and Administration Manual 4 - 3
EM Configuration and Administration Manual 4 - 3
Release 4.3
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.
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
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
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
ABB Oy 3AFA002671D0001_C_EN en C 7
1. Overview
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
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.
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.
ABB Oy 3AFA002671D0001_C_EN en C 11
Production Site
Production Area
Production Line
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.
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.
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.
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.
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).
You open the window for configuring the production data from the toolbar
button in the Energy Demand Planning window in the Figure 2.
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].
ABB Oy 3AFA002671D0001_C_EN en C 17
Ø To change the column titles and box names of columns Other1 – Other3, right-
(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.
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.
Clicking the button opens the Week Profiles window (see the figure
below).
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:
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.
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):
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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)”.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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).
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)
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
Balance tree
and connection
points Descriptions of
connection points
Preview window
Connection
window
Calculation log
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.
ABB Oy 3AFA002671D0001_C_EN en C 45
connection points:
· Unit price
· Maximum flow
· Minimum flow
· Optimum flow
· Cost of flow
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.
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.
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.
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
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.
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.
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
OR
· Click a balancing area or a connection point and click F2 on the keyboard
· Enter a name for the item.
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).
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).
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.
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.
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).
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 (\).
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).
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
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).
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.
ABB Oy 3AFA002671D0001_C_EN en C 63
5.7.1 Basic data -tab
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.
ABB Oy 3AFA002671D0001_C_EN en C 65
5.7.2 Current period -tab
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.
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.
ABB Oy 3AFA002671D0001_C_EN en C 68
Tariff
Class
Class definition
· 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.
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.
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.
ABB Oy 3AFA002671D0001_C_EN en C 71
Figure 26 Tariff Check dialog box
· Click to continue.
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.
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.
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.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.
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.
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.
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.
ABB Oy 3AFA002671D0001_C_EN en C 77
5.10.6 Scenario
On the Scenario tab (Figure 35), you see pre-defined Scenarios.
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.
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.
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.
ABB Oy 3AFA002671D0001_C_EN en C 80
Max. Calculation Time Span
Calculation Instance:
History
Equation: History testing
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
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) [-]
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.
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
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.
Additional information:
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:
ABB Oy 3AFA002671D0001_C_EN en C 87
Field Description
(Comments)
Process area Optional process area of the equation (integer value).
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.”.
ABB Oy 3AFA002671D0001_C_EN en C 88
Figure 44 Equations tab: Order (without automatic equation sorting)
Description
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
ABB Oy 3AFA002671D0001_C_EN en C 90
The corresponding reference appears in the drop-down list:
Reference
drop-down
list
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.
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):
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
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):
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.
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.
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.
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
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.
Results
Results Archives
Results
Data
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.
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.
6.6 EM Solvers
EM Solver serves the Flow Optimizer service to solve the problems using an
integration to a 3rd party optimization engine.
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.
Figure 59 Vtrin tree dialog for report configuration saving to new tree item
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.
Values settings
enables to define how fetched values are aligned, usage of thousand separator and
font size. Alignment can be center, right or left.
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.
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 show headings selected Excel row numbers and column letters are
set to visible.
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.
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.
Adds new chart to configuration. New chart is added the last in the list of
charts.
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.
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.
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 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
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.
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.
Margin unit.
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.
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.
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
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.
Look 7.2.3.2
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.
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).
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.
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.
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.
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.
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.
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.
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.
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