Professional Documents
Culture Documents
User Manual
Table of Contents
1 Introduction .............................................................................................................................................. 5
2 RIO and XRIO............................................................................................................................................ 5
2.1 Purpose of Data in RIO and XRIO ...................................................................................................... 5
2.2 RIO and its Limitations ........................................................................................................................ 6
2.3 XRIO and its Enhancements ............................................................................................................... 6
3 The Test Object User Interface ............................................................................................................... 8
3.1 User Roles........................................................................................................................................... 8
3.2 The Generic User Interface ................................................................................................................. 8
3.2.1 Standard Mode .............................................................................................................................. 9
3.2.2 Advanced Mode........................................................................................................................... 11
3.3 The Classic User Interface ................................................................................................................ 13
4 The XRIO Structure ................................................................................................................................ 14
4.1 Technical Details behind XRIO ......................................................................................................... 14
4.2 Blocks and Parameters ..................................................................................................................... 14
4.3 Block Properties ................................................................................................................................ 15
4.4 Parameter Properties ........................................................................................................................ 16
5 Global Test Object with Multiple Function Blocks ............................................................................. 18
6 Custom Section Create your own Parameters................................................................................. 20
7 XRIO Scripting........................................................................................................................................ 21
7.1 Setting up Formulas for Values and Enabled Flags.......................................................................... 21
7.1.1 Basics about Formulas ................................................................................................................ 22
7.1.2 Arithmetic Operators.................................................................................................................... 24
7.1.3 Comparison Operators ................................................................................................................ 24
7.1.4 Logical Operators ........................................................................................................................ 24
7.1.5 IIF Statement ............................................................................................................................ 24
7.1.6 Predefined References................................................................................................................ 25
7.2 Script Functions Section with Global Functions ................................................................................ 25
7.2.1 Programming in the Script Functions Section ............................................................................. 27
7.2.2 Adding Script References............................................................................................................ 28
7.2.3 Compilation and Execution of the Script in the Background ....................................................... 28
8 Organizing XRIO files ............................................................................................................................ 29
8.1 Left Tree The Test Object .............................................................................................................. 29
8.2 Right Tree The XRIO File............................................................................................................... 30
8.3 Merging the two Trees....................................................................................................................... 30
8.3.1 Blocks with fixed Destination ....................................................................................................... 30
8.3.2 Blocks with variable Destination.................................................................................................. 30
9 XRIO Converter Input Genuine Relay Settings ................................................................................ 31
10 Testing and Debugging of XRIO Converter....................................................................................... 33
11 Filters..................................................................................................................................................... 35
12 Fully Parameterized Tests LinkToXRIO .......................................................................................... 37
Glossary
Abbreviations
OTU
RIO
XRIO
OCC
XML
SEL
VB.Net
MSDN
SDK
:
:
:
:
:
:
:
:
:
:
:
:
:
Component of the Test Universe software describing the device under test
Specification for Test Object definitions introduced with Test Universe 2.0
Saved XRIO Test Object as a file
Test Object with automatic calculation of parameters from settings
Definitions
Test Object
XRIO
XRIO File
XRIO Converter
1 Introduction
The XRIO concept was introduced with the OMICRON Test Universe (OTU) 2.0 as an improvement of the
Relay Interface by OMICRON (RIO). It represents the second generation to model test objects in the OTU.
A test object can be a protection relay, a meter, or other devices, which are physical test objects in a
protection environment.
The purpose of this manual is to illustrate the features of XRIO. All the explanations in this manual are
based on an example XRIO converter for the protection relay SEL-421 from Schweitzer Engineering
Laboratories and show the concept behind XRIO. With this knowledge, it should be possible to create
XRIO files with XRIO converter functionality for any test object. It is also shown how to use the XRIO files
in a test plan in the OMICRON Control Center (OCC).
It is required to be familiar with the OTU, the OCC and RIO before reading this manual.
The following chapter points out the reason for introducing XRIO in the OTU 2.0 and the advantages
compared to RIO, which was used in previous versions of the OTU.
The XRIO concept introduced in the OTU 2.0 is based on the RIO file technology. The "X" in the name
XRIO stands for eXtended RIO. XRIO implements some enhancements to RIO to overcome its limitations
and fulfill future requirements of automated testing. The most important aspect of XRIO is that a tester can
work directly with the relay specific parameter settings. Therefore, a XRIO file includes additional
information and functionality compared to a RIO file.
TEST OBJECT
Relay Specific Parameters
RIO Converter
XRIO File
RIO File
Generally, there are three sections in XRIO to group the data file according to its purpose and origin.
The RIO section holds conventional RIO blocks for function specific test modules which are required for
the test modules in the OTU. The structure of this section is based on the RIO specification.
The Custom section can be freely defined. The main purpose is to map the relay specific parameter
settings. These parameters are the same as the parameters which an engineer uses to configure the test
object. Additionally, the Custom section can include other user-defined helper parameters.
The Script Functions section has no sub-blocks and parameters. In this section it is possible to declare
global functions which are used for the transformation of the relay specific parameters into the RIO
parameters.
The XRIO tree structure with its three sections is shown in Figure 3. The detailed structure of XRIO is
described in chapter 4 The XRIO Structure.
XRIO Structure
Hierarchical tree structure with blocks, sub-blocks, and parameters.
XRIO Scripting
Creation of formulas in the RIO section for converting the relay specific parameters in the Custom
section into the RIO parameters. Global functions can be defined in the Script Functions section.
XRIO Organizer
A tool to organize the content of XRIO files. There are import, merge, and export functions.
Filters
Import/Export relay settings into a XRIO file.
LinkToXRIO
The OTU test modules can link test settings to any Test Object parameter in the XRIO file.
The above mentioned enhancements included in the XRIO concept are explained in detail in chapters 4
to 12. In the following chapter, the features and commands of the new Test Object user interface are
shown.
Test Designer
The test designer creates OCC documents, where he imports an existing Test Object and models
the test settings. XRIO allows him to link test settings to any Test Object parameter. This concept
is called LinkToXRIO and is described in chapter 12.
Tester
The tester primarily executes the test. Sometimes he switches to the test designer role to make
some adaptations to the test.
Figure 4: Generic user interface of Test Object in standard mode (Custom section)
or
parameter has a disabled value formula.
In the RIO section, it is only possible to view or edit the OMICRON Test Object settings in the classic user
interfaces (with the exception of the CB Configuration function block that has no classic user interface).
The inner structure of the function specific blocks in the RIO section is not visible to a user in standard
mode. Instead of the parameter table there is an Edit button to open the classic user interfaces for the
device settings and the function specific blocks.
Figure 5: Generic user interface of Test Object in standard mode (RIO section)
Standard Commands
The standard commands of the Test Object are available in both standard and advanced mode. These
commands are used to work with existing XRIO files.
FILE menu commands:
REVISION
Display and update the XRIO Converter Version
EDIT
Show the classic test object user interface of the RIO function.
ADVANCED
This switches between standard and advanced mode of the Test Object. In advanced mode, a
check mark is shown.
RIO
Show or hide the RIO subtree of the XRIO file.
ERRORS
A list of information, warnings, and errors of the current XRIO file.
In Figure 7 there is the Errors view window shown of a sample XRIO file with its error messages. The
amount of errors, warnings, and information in a XRIO file are also shown in the status bar of the Test
Object (see bottom of Figure 5).
Figure 6: Number of errors, warnings, and information shown in the status bar
Besides the three mentioned categories, there are different groups of messages for each category. The
line and column number of the errors and warnings in the XRIO file are also displayed in the Errors view.
Additionally, there is a Description, the Name-Path, and the Id-Path shown for each message. With all this
information it is possible to find errors and warnings in a XRIO file.
If the source of an error can directly been viewed in the XRIO user interface (parameter, formula code,
script,), the context menu of the error entry contains the "Goto Error" command that directly jumps to
the cause of the error. This is also possible with just double-clicking the error entry.
10
11
The data type, Min value, Max value, Name, ID, and Description of RIO parameters cannot be changed.
Block names can be changed to distinguish blocks of the same type (e.g. labels for distance zones).
Function specific RIO sub block can only be changed by a designer in the classic user interfaces of the
specific functions blocks and/or with the integrated XRIO organizer, which is described in chapter 8.
Additionally, the Script Functions section of a XRIO file is accessible. The purpose of the Script Functions
section is described in chapter 7.2.
Advanced Commands
FILE menu commands:
ORGANIZE
Opens the XRIO organizer. The organizer includes two panes. There is one for the Test Object
and one for a XRIO file, which can be imported and exported.
BLOCK and PARAMETER menu commands:
ADD
DELETE
CUT
COPY
PASTE
DETAILS
MOVE UP
MOVE DOWN
SET AS ACTIVE FUNCTION
As mentioned above, blocks and parameters can be added in the Custom section in the generic Test
Object user interface. In the RIO section only test module function blocks can be added as sub block of
the RIO block. For this reason there are different block or parameter commands available depending on
which block or parameter is marked. There is also a toolbar available which includes the import button
and buttons to add, remove, and show details of blocks and parameters.
12
Figure 12: Classic user interface (Distance) and Characteristic Editor for distance zones
Note that the classic test object user interface is not directly aware of the XRIO specific infrastructure like
formulas and their dependencies. If for example a value is changed in an edit field that is a calculation
result of a formula, the corresponding formula will be disabled as the value is not any more the result of
the calculation.
When the classic UI is closed with the OK button, XRIO checks for such problems and warns the user if
he has destroyed formulas by changing values. The user can cancel the changes.
13
Figure 13: Block structure (tree view left side) and parameters of
a block (parameter table right side)
Parameters and blocks have some common properties. Actually the parameters have the same properties
as the blocks plus the value properties. The properties can be edited in the appropriate details pages.
14
Name
Short name for a block or a parameter.
ID
An identifier for a block or a parameter. It must start with a letter (A..Z) and must be a unique key
(sequence of capitalized letters and digits) for all parameters and sub blocks within a block. The
frequently used character ">" (for overcurrent pick up levels I>, I>>) is not allowed in ID's.
Identifiers are used as names for variables in the formulas. Therefore, IDs have to be different
from the keywords of the script language (VB .Net).
Description
A comment to describe the block and parameter.
Foreign ID
Supplier specific parameter address.
Comment
Any additional information about the parameter can be stored here.
Enabled
This flag enables a block or parameter. A logical expression can be used to calculate the Enabled
flag. Whether a block or parameter is enabled or not then depends on a formula which can
include other parameters and global functions.
The Enabled flag is available in the Custom section and the RIO section. Generally, blocks and
parameters which are disabled are not visible in the standard mode. In the advanced mode, they are
visible but marked as disabled blocks or parameters. Note that the disabled blocks and parameters in the
RIO section are not passed to the test modules of the OTU. All disabled blocks and parameters are still
available for the references used in a XRIO converter and the LinkToXRIO concept.
15
Data Type
The data type can be String, Enumeration, Boolean, Integer, or Real.
This information is also used to provide a comfortable data input (e.g. a combo box for
Enumeration type and a checkbox for Boolean type).
The Define Values button opens a dialog to define the values of an enumeration. Each
enumeration item contains an internal used identifier and a name.
If a Boolean type is chosen the value can only be true or false. The Integer and Real types have
minimum and maximum values.
Formula
It is possible to define a formula for a parameter value. Therefore, a parameter can be set directly
with a new value or the value is the result of an expression defined in the formula element.
17
Figure 17: Set RIO function block as active function in the Test Object
In an OCC document only one global Test Object needs to be included. In the test modules of the OCC
document, a specific block is selected as the active function as shown above.
To reduce the complexity for the user, there are the following rules defined:
Each test module must have a corresponding function block. Therefore, a default function block is
generated and filled with default values at startup of the Test Object.
One of the multiple function blocks of the same kind is the active one.
The local Test Object shows the settings of the currently assigned block.
In an OCC document, there are some additional aspects for the global Test Object to know:
If a test module (e.g. Overcurrent) is inserted into an OCC document, then the default overcurrent
function block is assigned to the module.
In the Test Object settings of a test module the assignment can be changed.
18
Figure 18: OCC document with a global Test Object, hardware configuration, and four test modules
A Test Object can change due to example by deleting a RIO function block or importing a RIO function
block from a file in the XRIO organizer. In such situations the existing assignments to the available
function blocks remain as valid assignments. If an assignment could not be resolved the default function
block is assigned.
19
Figure 19: Custom section with the relay parameter of the SEL-421 relay (advanced mode)
It is recommended to create the Custom section with the same structure as in the relay handbook or the
relay settings software. The creation of the Custom section is done in the advanced mode. A tester works
in the standard mode and should be able to enter all the relay settings in the Custom section.
Mostly, availability of settings depends on logical conditions. For example, this means that only the
parameters for enabled relay functions are editable. This mechanism should also be implemented in the
Custom section. The figure below shows such an example of a logical condition.
20
7 XRIO Scripting
All the calculations in the XRIO concept are implemented in a script-language. Microsoft VB.Net is used.
The XRIO scripting is needed to create XRIO converter functionality. Generally, there are two cases
where XRIO scripting is used:
There are some different rules for scripting in these two cases which are illustrated below. The VB.Net
scripting language is a high-level programming language and is powerful enough to satisfy the needs of
experienced programmers. Generally, all features of the .Net framework are available but only some of
them are needed for XRIO.
The System.Math namespace is very useful for implementing formulas and script functions in the XRIO
concept. Therefore, it is included by default. This has the advantage that frequently used mathematical
operations can be written in the short form (e.g. TAN() instead of MATH.TAN()). Note that VB.Net
scripting language is not case-sensitive.
In this manual only some basics of the VB.Net scripting language are shown which are typically needed
for modeling a XRIO converter. For detailed information on the VB.Net scripting language refer to the
MSDN VB.Net documentation 1 .
http://msdn.microsoft.com/library/en-us/vbls7/html/vbSpecStart.asp
21
VNOM / SQRT(3)
(INOM IMEAS) / 2
Z1ANG + 180
22
23
Operator
Example
Result
+
*
/
\
^
pow
sqrt
sin
cos
2.25+2.5
5.5-3
3.25*2
11 / 4
11 \ 4
2.5 ^2
pow(2.5,2)
sqrt(3)
sin(30 * PI/180)
cos(45 * PI/180)
4.75
2.5
6.5
2.75
2
6.25
6.25
1.732
0.5
0.71
True if
False if
Operator
Example
Result
AND
OR
NOT
true
true
false
Figure 26: Example of an IIF Statement (NFREQ enumeration shown in Figure 16)
24
Figure 27: List box with often used parameters in formulas (Ctrl+Shift+I)
25
The line element 4 only exists when the following constraint is true. Otherwise the element is disabled and
the shape only exists of three remaining line elements.
RG <
XG
cos( Z1ANG )
Since the same constraint is used for all the quadrilateral ground distance zones, it is useful to define a
function in the Script Functions section, which calculates the right side of the equation.
The following figure shows the Script Functions section for the Schweitzer SEL-421 User Manual.xrio file
(located in OMICRON Test Library) with the function to calculate the constraint for the line element 4 of
the quadrilateral distance protection zones.
Figure 29: Script Functions section for global functions (e.g. SEL-421 constraint)
The constraint is used for the Enabled flag of the line element 4 (e.g. for zone 1). The verification of the
constraint can be done directly in the formula field of the Enabled flag as shown below.
Figure 30: Calculation of the constraint for line element 4 in the block Enabled formula
As an alternative the constraint can be verified in a new Boolean helper parameter in the Custom section.
In this case, only the helper parameter has to be referenced in the formula field of the Enabled flag for the
line element 4. The Enabled flag of the blocks in the Custom section which contain such helper
parameters should be false. As a result, these blocks are not visible in the standard mode, which is
described in detail in chapter 3.2.
Figure 31: Definition of the constraint as a Boolean helper parameter in the Custom section
26
Defining Constants:
Const c1 as Integer = 10
Defining Variables:
Dim R as Double
Structure of a Function:
Function TheFuncName(Par1 As Double, Par2 As Double) As Double
Dim R As Double
Const Deg2Rad As Double =PI / 180
R = Par1 + Par2
Return R
End Function
27
28
There are many different use cases where these operations of the XRIO organizer are used. An example
scenario is that over time several XRIO converters are developed for a device. Maybe one XRIO
converter supports the distance protection and another one supports the overcurrent protection. The
software does not have to merge two XRIO converters automatically into one file. The XRIO organizer can
be used to merge two converters temporarily.
With the menu FILE | ORGANIZE in the advanced mode a Test Object and a XRIO file can be organized.
The organizer includes two XRIO trees as shown in the figure below.
29
Custom section
Copies all blocks in the Custom section of the source tree to the Custom section in the destination
tree. Identical blocks (same ID's) can be overwritten or skipped and new blocks are added to the
Custom section of the destination tree.
Custom section blocks (no selection in the Custom section of the destination tree)
Insert the selected block in the source tree as a child of the Custom root block of the destination
tree.
RIO section
Copies the RIO section of the source tree to the destination tree. Identical blocks (same ID's) can
be overwritten or skipped and new blocks are added to the RIO section of the destination tree.
All blocks in the RIO section except the sub blocks of the RIO root block
The right destination according to the RIO specification has to be selected in the destination tree.
30
Parameters can be calculated from relay parameters with a simple formula (e.g. Z = ZSM / 2)
The number of items in a collection of blocks or parameters depends on the relay settings
Note that the XRIO converter logic is not protected. Any user can read and copy the complete content of
the file including values, formulas and constraints.
The integrated XRIO converter uses the formula field of a parameter to calculate its value from other
parameters. The formulas of the Enabled flag are used to determine if blocks and parameters are enabled
or not. The operands of these expressions are mainly relay parameters of the Custom section. A formula
can use any parameter in the Test Object as an operand. Circular references are not permitted and
therefore detected.
A XRIO converter must implement this mechanism for at least one of the RIO function blocks. If a XRIO
converter supports a RIO function block, the parameters of this block must be calculated from relay
settings, wherever possible. The final goal of the integrated XRIO converter is that only the relay settings
describe the Test Object.
The following figure shows the different sections of a XRIO file with its dependencies. It is obvious that the
RIO section is generated out of the Custom and Script Functions section.
XRIO file
Custom Section:
Blocks with relay
settings. Each
parameter has a unique
identifier.
Script Functions
Section:
Global script
functions.
(e.g. for constraint
calculation,)
RIO Section:
The Enabled flag and
the RIO parameter
values are calculated.
Script functions and
parameter identifiers are
used in formulas.
Only a designer of a
XRIO converter needs
to modify this section. A
tester has only access
to the classic user
interfaces.
31
It is recommended for a designer of a Test Object with integrated XRIO converter to use the following
sequence of steps. Note that a designer has to work in the advanced mode.
Step 1:
Figure 36: Add new test module function blocks to the RIO section
These RIO function blocks are filled with the default values which can be changed in the
corresponding classic user interface.
It is recommended that designers always generate the maximum content in the RIO section
with the classic user interface before adding formulas in step 4 (e.g. maximum zone elements
for distance protection zones).
Step 2:
Step 3:
Step 4:
Add Formulas for the XRIO Converter Functionality in the RIO Section:
In the generic user interface, formulas can be added for calculation of parameter values in the
RIO section. Additionally formulas for the Enabled flags of parameters and blocks can be
defined. All parameters and script functions can be used in formulas.
After completing the design a Test Object with XRIO converter functionality has to be verified. There is a
recommended checklist for testing of XRIO converter in the following chapter. Sometimes it can be
necessary to debug a XRIO converter.
32
Limits and default values match the ones from the device
Minimum and maximum values do not lead to problems within formulas (e.g. invalid
characteristics)
All formulas and functions used in the Test Object are used and verified
One test plan for each protective function of the relay is created
Besides the recommendations listed above, the most important thing is that there is no need for the user
to enter RIO parameters.
As mentioned, syntax errors and warnings are shown in the Errors view but there is no information about
a calculation in the XRIO converter which returns a wrong result. If there are many complex formulas and
script functions in a XRIO converter, it is difficult to find the reason for such a wrong calculation. For this
task, the Test Object offers the possibility of debugging. The debug feature is available in the Script
Functions section. The associated debugger loads the VB.Net script which is always generated in the
background of the Test Object. This VB.Net script includes all formulas and script functions of the Test
Object. Setting of breakpoints in the debugger makes it easy to analyze critical parts of the XRIO
converter and watch the results of each single calculation. The following figure shows the debugging of
the script function for the calculation of the constraint of line element 4 of quadrilateral zones in the
SEL-421 protection relay. For this example, the Microsoft Common Language Runtime (CLR) debugger is
used.
Figure 37: Debugging of the SEL-421 XRIO converter with the CLR Debugger
33
Figure 38: Enabling just-in time debugging for "Common Language Runtime" in the CLR debugger
http://www.microsoft.com/downloads/
34
11 Filters
Typically, the Custom section holds the relay specific settings. If the configuration of a test object is
changed, the same changes have to be applied to the parameters in the Custom section. This can be a lot
of work if there are many relay parameters involved. Additionally, it has to be verified that the
configuration values of the physical test object are identical with the parameter values in the Custom
section.
For the automation of these tasks, filters can be used. A filter is software that reads/writes data from/to an
external source. A standard XML filter is shipped with the OTU. User specific filters can be developed and
installed if necessary.
Relay
Software
Export Function
for Relay
Parameter Values
XML
File
Standard XML
Filter
Test Object
Figure 39: Filling the parameters of the Custom section with the standard XML filter
If another data format is used a corresponding filter is needed.
The structure of a filter allows import and export functionality. Some filters will provide both, some only
import depending on the usage of the filter.
There are many situations where it is useful to import data from a different source outside the OTU. For
example, this can be a relay settings file of any format created by a relay software. In this case, the values
of the parameters in the Custom section have to be updated. Another scenario is that relay settings from
IEC61850-conformant devices will be read either from a file or even directly from a protection device. The
data input is not only possible from a file but in general from any source.
Normally, a filter only manipulates the data in the Custom section. However, there is the possibility to
change the complete XRIO tree.
Filters are accessed via the FILE | IMPORT RELAY SETTINGS menu in the Test Object. The
following dialog offers the possibility to select one of the available filters and set it as the default one.
Export is in the moment only accessible via Automation.
35
An excerpt of a XML file with configuration data of the SEL-421 protection relay is shown below. This XML
file can be used to update the Custom section's relay parameters of the SEL-421 XRIO converter with the
standard XML filter.
<?xml version="1.0" encoding="utf-8"?>
<CUSTOM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<LINECONFIG>
<Z1MAG>5</Z1MAG>
<Z1ANG>84</Z1ANG>
<Z0MAG>24.80</Z0MAG>
<Z0ANG>81.50</Z0ANG>
</LINECONFIG>
<RELAYCONFIG>
<E21P>4</E21P>
<E21MG>0</E21MG>
<E21XG>4</E21XG>
</RELAYCONFIG>
<ZLDIR>
<DIR3>R</DIR3>
<DIR4>F</DIR4>
<DIR5>F</DIR5>
</ZLDIR>
<MHOPHASEREACH>
<Z1P>4</Z1P>
<Z2P>6</Z2P>
<Z3P>10</Z3P>
<Z4P>10</Z4P>
<Z5P>15</Z5P>
</MHOPHASEREACH>
</CUSTOM>
Note that filters can be developed separately and added as additional packages to the OTU.
36
Figure 42: LinkToXRIO in the context menu of a value in the Test view
LinkToXRIO is only possible if this feature is activated for the value. This command opens a dialog to
browse the XRIO tree. The LinkToXRIO dialog remembers the last selected parameter to reconstruct the
state of the tree from the last usage. If the dialog is called for an already linked value, then the linked
parameter is selected.
37
38