Professional Documents
Culture Documents
TEST UNIVERSE
XRIO
Automation Manual
OMICRON Test Universe
2
XRIO Automation
Table of Contents
1 Introduction ......................................................................................................................... 11
2 XRio Object Diagram ......................................................................................................... 12
3 General Hints ....................................................................................................................... 13
3.1 Lifetime of Object References 13
3.2 RIO Part Restrictions 14
3.3 Commit Changes 14
3.4 Global and Local Test Object 15
3.5 Prepare Automation Clients 17
Omicron Control Center ............................................................................................................................................. 17
Microsoft Excel VBA ................................................................................................................................................. 19
C# (Visual Studio 2003).............................................................................................................................................. 22
Example: ..................................................................................................................................................................... 23
3
OMICRON Test Universe
LoadFromString...................................................................................................................................................... 30
LoadTextRioFromFile ............................................................................................................................................ 30
LoadTextRioFromString......................................................................................................................................... 30
SaveToFile .............................................................................................................................................................. 30
SaveToString .......................................................................................................................................................... 30
SaveTextRioToFile ................................................................................................................................................. 30
SaveTextRioToString ............................................................................................................................................. 30
GetGlobalScript ...................................................................................................................................................... 31
SetGlobalScript ....................................................................................................................................................... 31
GetBlockFromIDs .................................................................................................................................................. 31
GetParamFromIDs .................................................................................................................................................. 31
GetEnumValueFromIDs ......................................................................................................................................... 32
GetIDsPathFromBlock ........................................................................................................................................... 32
GetIDsPathFromParam ........................................................................................................................................... 32
GetIDsPathFromEnumValue .................................................................................................................................. 32
GetUserPathFromBlock .......................................................................................................................................... 32
GetUserPathFromParam ......................................................................................................................................... 32
GetUserPathFromEnumValue ................................................................................................................................ 32
HasRioFunction ...................................................................................................................................................... 33
ClearAllActiveRioFunctions .................................................................................................................................. 33
GetActiveRioFunction ............................................................................................................................................ 33
SetActiveRioFunction............................................................................................................................................. 34
4.2.2 AutoRioSupport ................................................................................................................................... 34
Methods ...................................................................................................................................................................... 34
AddRioFunction ..................................................................................................................................................... 34
4.2.3 AutoCommonData ............................................................................................................................... 34
Properties .................................................................................................................................................................... 34
AccessControl { get } ............................................................................................................................................. 34
IsInputFormatInfoUser { get, set } ......................................................................................................................... 34
IsOutputFormatInfoUser { get, set } ....................................................................................................................... 34
4.3 Document Nodes - Blocks and Parameters 35
4.3.1 AutoBlock and AutoParameter ............................................................................................................ 36
Properties .................................................................................................................................................................... 36
Id {get, set}............................................................................................................................................................. 36
Name {get, set} ...................................................................................................................................................... 36
Description { get, set }............................................................................................................................................ 36
Type {get} .............................................................................................................................................................. 36
ParentElementNode {get} ...................................................................................................................................... 36
Enabled { get, set } ................................................................................................................................................. 37
EnabledFormula { get, set }.................................................................................................................................... 37
HasEnabledFormula { get } .................................................................................................................................... 37
EnabledReferences { get;} ...................................................................................................................................... 37
CustomDataValues { get }...................................................................................................................................... 37
ForeignId { get, set } .............................................................................................................................................. 38
Iec61850 { get }...................................................................................................................................................... 38
UserComment { get, set } ....................................................................................................................................... 38
4
XRIO Automation
Methods ...................................................................................................................................................................... 38
IsParentOf ............................................................................................................................................................... 38
IsValidId ................................................................................................................................................................. 39
IsValidName ........................................................................................................................................................... 39
4.3.2 AutoBlock ............................................................................................................................................ 40
Properties .................................................................................................................................................................... 40
Blocks { get } ......................................................................................................................................................... 40
Parameters { get } ................................................................................................................................................... 40
IsRioFunction { get } .............................................................................................................................................. 40
ExternalEditorExist { get } ..................................................................................................................................... 41
SuppressPrintOut { get, set } .................................................................................................................................. 41
AutoParameter ........................................................................................................................................................ 42
Properties .................................................................................................................................................................... 42
DataType { get } ..................................................................................................................................................... 42
DisplayString { get } .............................................................................................................................................. 42
DisplayReferenceString { get } .............................................................................................................................. 42
ValueFormula { get, set } ....................................................................................................................................... 42
HasReferenceValue { get, set } .............................................................................................................................. 42
HasValueFormula { get } ....................................................................................................................................... 42
ValueReferences { get } ......................................................................................................................................... 42
ParameterBoolean { get } ....................................................................................................................................... 43
ParameterDouble { get } ......................................................................................................................................... 44
ParameterEnum { get } ........................................................................................................................................... 44
ParameterInteger { get } ......................................................................................................................................... 44
ParameterString { get } ........................................................................................................................................... 45
Methods ...................................................................................................................................................................... 46
SetDisplayValue ..................................................................................................................................................... 46
SetDisplayReferenceValue ..................................................................................................................................... 46
4.3.3 AutoParameterDouble .......................................................................................................................... 49
Properties .................................................................................................................................................................... 49
InternalValue { get, set } ........................................................................................................................................ 49
InternalReferenceValue { get, set } ........................................................................................................................ 49
InternalMin { get, set } ........................................................................................................................................... 49
InternalMax { get, set } .......................................................................................................................................... 49
MultiplierSymbol { get, set } .................................................................................................................................. 49
Unit { get, set } ....................................................................................................................................................... 49
DecimalPlaces { get, set } ...................................................................................................................................... 50
Parameter { get } .................................................................................................................................................... 50
Methods ...................................................................................................................................................................... 51
IsValidInternalValue............................................................................................................................................... 51
IsValidInternalMinValue ........................................................................................................................................ 51
IsValidInternalMaxValue ....................................................................................................................................... 51
IsValidMultiplierSymbol ........................................................................................................................................ 51
4.3.4 AutoParameterInteger .......................................................................................................................... 52
Properties .................................................................................................................................................................... 52
ParameterValue { get, set } .................................................................................................................................... 52
5
OMICRON Test Universe
ParameterReferenceValue { get, set } .................................................................................................................... 52
MinValue { get, set } .............................................................................................................................................. 52
MaxValue { get, set } ............................................................................................................................................. 52
Unit { get, set } ....................................................................................................................................................... 52
Parameter { get } .................................................................................................................................................... 52
Methods ...................................................................................................................................................................... 52
IsValidValue ........................................................................................................................................................... 52
IsValidMinValue .................................................................................................................................................... 53
IsValidMaxValue.................................................................................................................................................... 54
4.3.5 AutoParameterBoolean ........................................................................................................................ 55
Properties .................................................................................................................................................................... 55
ParameterValue { get, set } .................................................................................................................................... 55
ParameterReferenceValue { get, set } .................................................................................................................... 55
Parameter { get } .................................................................................................................................................... 55
4.3.6 AutoParameterString ............................................................................................................................ 55
Properties .................................................................................................................................................................... 55
ParameterValue { get, set } .................................................................................................................................... 55
ParameterReferenceValue { get, set } .................................................................................................................... 55
Parameter { get } .................................................................................................................................................... 55
4.3.7 AutoParameterEnum ............................................................................................................................ 56
Properties .................................................................................................................................................................... 56
ParameterValue { get, set } .................................................................................................................................... 56
ParameterReferenceValue { get, set } .................................................................................................................... 56
EnumValues { get } ................................................................................................................................................ 56
Parameter { get } .................................................................................................................................................... 56
4.4 Other Objects 57
4.4.1 AutoEnumValue ................................................................................................................................... 57
Properties .................................................................................................................................................................... 57
ParentElementNode { get }..................................................................................................................................... 57
Id { get, set }........................................................................................................................................................... 57
Name { get, set }..................................................................................................................................................... 57
InternalName { get, set } ........................................................................................................................................ 57
DisplayName { get, set } ........................................................................................................................................ 57
Methods ...................................................................................................................................................................... 58
IsValidId ................................................................................................................................................................. 58
IsValidName ........................................................................................................................................................... 58
4.4.2 AutoFormulaReference ........................................................................................................................ 59
Properties .................................................................................................................................................................... 59
Type { get } ............................................................................................................................................................ 59
Parameter { get } .................................................................................................................................................... 59
EnumValue{ get } .................................................................................................................................................. 59
4.4.3 AutoIec61850 ....................................................................................................................................... 60
Properties .................................................................................................................................................................... 60
ObjectName {get, set } ........................................................................................................................................... 60
Hierarchy { get, set } .............................................................................................................................................. 60
DataTypeCategory { get, set } ................................................................................................................................ 60
6
XRIO Automation
DataType { get, set } .............................................................................................................................................. 60
Constraint { get, set } ............................................................................................................................................. 62
4.5 Collections 64
4.5.1 AutoBlocks........................................................................................................................................... 64
Properties .................................................................................................................................................................... 64
Count { get } ........................................................................................................................................................... 64
Indexer .................................................................................................................................................................... 64
Item......................................................................................................................................................................... 64
Methods ...................................................................................................................................................................... 64
Clear ....................................................................................................................................................................... 64
Contains .................................................................................................................................................................. 64
ContainsId............................................................................................................................................................... 64
ItemId ..................................................................................................................................................................... 65
IndexOf ................................................................................................................................................................... 65
Add ......................................................................................................................................................................... 65
Insert ....................................................................................................................................................................... 65
Remove ................................................................................................................................................................... 66
RemoveAt ............................................................................................................................................................... 66
GetEnumerator........................................................................................................................................................ 66
4.5.2 AutoParameters .................................................................................................................................... 67
Properties .................................................................................................................................................................... 67
Indexer .................................................................................................................................................................... 67
Count { get } ........................................................................................................................................................... 67
Item { get } ............................................................................................................................................................. 67
Methods ...................................................................................................................................................................... 67
Clear ....................................................................................................................................................................... 67
Contains .................................................................................................................................................................. 67
ItemId ..................................................................................................................................................................... 67
IndexOf ................................................................................................................................................................... 67
Add ......................................................................................................................................................................... 68
Insert ....................................................................................................................................................................... 68
Remove ................................................................................................................................................................... 68
RemoveAt ............................................................................................................................................................... 68
GetEnumerator........................................................................................................................................................ 68
Example .................................................................................................................................................................. 68
4.5.3 AutoEnumValues ................................................................................................................................. 69
Properties and Indexer................................................................................................................................................. 69
Indexer .................................................................................................................................................................... 69
Count { get } ........................................................................................................................................................... 69
Item { get } ............................................................................................................................................................. 69
Methods ...................................................................................................................................................................... 69
Clear ....................................................................................................................................................................... 69
Contains .................................................................................................................................................................. 69
ItemId ..................................................................................................................................................................... 69
IndexOf ................................................................................................................................................................... 69
Add ......................................................................................................................................................................... 70
7
OMICRON Test Universe
Insert ....................................................................................................................................................................... 70
RemoveAt ............................................................................................................................................................... 70
GetEnumerator........................................................................................................................................................ 70
4.5.4 AutoFormulaReferences ...................................................................................................................... 71
Properties .................................................................................................................................................................... 71
Indexer .................................................................................................................................................................... 71
Count { get } ........................................................................................................................................................... 71
Item { get } ............................................................................................................................................................. 71
Methods ...................................................................................................................................................................... 71
Clear ....................................................................................................................................................................... 71
Contains .................................................................................................................................................................. 71
IndexOf ................................................................................................................................................................... 71
AddParam ............................................................................................................................................................... 71
AddEnumValue ...................................................................................................................................................... 72
RemoveAt ............................................................................................................................................................... 72
GetEnumerator........................................................................................................................................................ 72
Example ...................................................................................................................................................................... 72
4.5.5 AutoCustomDataValues ....................................................................................................................... 73
Properties and Indexer................................................................................................................................................. 73
Indexer .................................................................................................................................................................... 73
Count { get } ........................................................................................................................................................... 73
Item { get } ............................................................................................................................................................. 73
Methods ...................................................................................................................................................................... 73
Clear ....................................................................................................................................................................... 73
ItemId ..................................................................................................................................................................... 73
GetKey.................................................................................................................................................................... 74
Add ......................................................................................................................................................................... 74
RemoveAt ............................................................................................................................................................... 74
4.6 Errors 75
4.6.1 AutoErrorList ....................................................................................................................................... 75
Properties .................................................................................................................................................................... 75
Indexer .................................................................................................................................................................... 75
Item......................................................................................................................................................................... 75
Count { get; }.......................................................................................................................................................... 75
HasScriptErrors { get } ........................................................................................................................................... 75
Methods ...................................................................................................................................................................... 75
Clear ....................................................................................................................................................................... 75
ClearGroup ............................................................................................................................................................. 75
ClearForNode ......................................................................................................................................................... 76
ClearAllScriptErrors ............................................................................................................................................... 76
AddError ................................................................................................................................................................. 76
AddErrorEx ............................................................................................................................................................ 76
HasEnabledFormulaScriptErrors ............................................................................................................................ 76
HasValueFormulaScriptErrors................................................................................................................................ 76
4.6.2 AutoError ............................................................................................................................................. 77
Properties .................................................................................................................................................................... 77
8
XRIO Automation
Column { get }........................................................................................................................................................ 77
Comment { get } ..................................................................................................................................................... 77
Description { get } .................................................................................................................................................. 77
Group { get } .......................................................................................................................................................... 77
GroupText { get } ................................................................................................................................................... 77
Line { get } ............................................................................................................................................................. 77
IdPath { get } .......................................................................................................................................................... 77
IsScriptError { get } ................................................................................................................................................ 78
Number { get } ....................................................................................................................................................... 78
Type { get } ............................................................................................................................................................ 78
TypeText { get } ..................................................................................................................................................... 78
UserPath { get } ...................................................................................................................................................... 78
Methods ...................................................................................................................................................................... 79
IsEnabledFormulaScriptError ................................................................................................................................. 79
IsValueFormulaScriptError .................................................................................................................................... 79
4.7 Access Control 80
4.7.1 Introduction .......................................................................................................................................... 80
4.7.2 AutoAccessControl .............................................................................................................................. 82
Properties .................................................................................................................................................................... 82
IsDocumentReadOnly { get } ................................................................................................................................. 82
Role { get, set } ...................................................................................................................................................... 82
Methods ...................................................................................................................................................................... 82
GetAccess ............................................................................................................................................................... 82
SetAccess................................................................................................................................................................ 83
GetUIProperty ........................................................................................................................................................ 83
SetUIProperty ......................................................................................................................................................... 83
IsTableColumnVisible ............................................................................................................................................ 83
SetShowTableColumn ............................................................................................................................................ 84
SetDefaultValues .................................................................................................................................................... 84
GetRightName ........................................................................................................................................................ 84
GetUIPropertyName ............................................................................................................................................... 84
4.8 Filter Objects 85
4.8.1 AutoFilters ........................................................................................................................................... 85
Properties and Indexer................................................................................................................................................. 85
Indexer .................................................................................................................................................................... 85
Item......................................................................................................................................................................... 85
Count { get } ........................................................................................................................................................... 85
Methods ...................................................................................................................................................................... 85
ItemId ..................................................................................................................................................................... 85
ExecuteImport ........................................................................................................................................................ 85
GetEnumerator........................................................................................................................................................ 86
4.8.2 AutoFilter ............................................................................................................................................. 86
Properties .................................................................................................................................................................... 86
AssemblyPath { get } ............................................................................................................................................. 86
Id { get } ................................................................................................................................................................. 86
IsExportSupported { get } ...................................................................................................................................... 86
9
OMICRON Test Universe
Name { get } ........................................................................................................................................................... 86
Version { get } ........................................................................................................................................................ 86
VersionString .......................................................................................................................................................... 86
Methods ...................................................................................................................................................................... 87
ExecuteExport ........................................................................................................................................................ 87
ExecuteImport ........................................................................................................................................................ 87
GetParameter .......................................................................................................................................................... 87
SetParameter ........................................................................................................................................................... 87
ShowParameterDialog ............................................................................................................................................ 87
4.9 Dependency Objects 88
4.9.1 AutoDependency .................................................................................................................................. 88
Methods ...................................................................................................................................................................... 88
HasBlockDependencies .......................................................................................................................................... 88
HasEnumValueDependencies ................................................................................................................................. 88
HasParameterDependencies.................................................................................................................................... 88
IsBlockUsed ........................................................................................................................................................... 88
IsEnumValueUsed .................................................................................................................................................. 89
IsParameterUsed ..................................................................................................................................................... 89
4.10 Enumerations and Constants 90
4.10.1 DocState ............................................................................................................................................. 90
4.10.2 ErrorGroup ......................................................................................................................................... 90
4.10.3 ErrorType ........................................................................................................................................... 91
4.10.4 NodeType ........................................................................................................................................... 91
4.10.5 ParamDataType .................................................................................................................................. 91
4.10.6 ParamUnitType .................................................................................................................................. 92
4.10.7 ReferenceType ................................................................................................................................... 92
4.10.8 Context ............................................................................................................................................... 92
4.10.9 Rights ................................................................................................................................................. 93
4.10.10 Role .................................................................................................................................................. 93
4.10.11 UIProperties ..................................................................................................................................... 94
4.10.12 ColumnName ................................................................................................................................... 95
4.10.13 CallerType ........................................................................................................................................ 95
4.10.14 OvcCharType ................................................................................................................................... 95
4.10.15 GroundingFactor .............................................................................................................................. 96
4.10.16 Tolerance .......................................................................................................................................... 96
4.10.17 TransducerFunctionType ................................................................................................................. 97
4.10.18 TransducerOuputType ...................................................................................................................... 97
5 Appendix .............................................................................................................................. 98
10
XRIO Automation
1 Introduction
OMICRON enhanced its way of modeling Test Object data with the Test Universe version 2.0. The
RIO format ("Relay Interface by OMICRON" - a uniform text format for protective relays) was replaced
and enhanced by the XML based XRIO format ("eXtended RIO").
One subset of XRIO is the modeling of the test object data in a similar way RIO did it (but XML based).
This is the part of the data used directly from the OMICRON Test Modules.
Additionally XRIO has a customizable part, where the user can freely define data using blocks and
parameters. Blocks are collections that can contain other blocks or parameters (comparable to
directories in the file system), parameters are like variables of a simple type (string, integer, floating
point …).
This part can be used to model the test object data as they appear in the user interface of a relay.
These two parts can be combined with formulas so that a user can enter data in the same way, as he
knows it from the relay. XRIO automatically calculates the values in the RIO section, these values are
the TO settings used finally from the test modules.
An XRIO file that models both parts and combines these with formulas is called XRIO Converter.
For a more detailed introduction into the RIO and XRIO topics, see reference [1].
11
OMICRON Test Universe
1
1
AccessControl
XRioDocument CommonData +IsDocumentReadOnly
-CommonData 1 +AccessControl +Role
-RioSupport 1 +SetAccess()
-PredefinedReferences +GetAccess()
-Errors RioSupport +SetUIProperty()
-CustomBlock +GetUIProperty()
-RioBlock 1 +SetShowTableColumn()
-Version +AddRioFunction() +IsTableColumnVisible()
+Load() +SetDefaultValues()
+Save() +...()
PredefinedReferences
+SetActiveRioFunction()
+...() 1 Error
+Group
-Type
Errors
0..* -Number
+Count -Line/Column
+HasScriptErrors -Description
1 +AddError() -IdPath/UserPath
1 +Clear() -IsScriptError
+ClearGroup() +IsValueFormulaScriptError()
+ClearForNode() +IsEnabledFormulaScriptError()
Root
+ClearAllScriptErrors()
+...()
1 1
CUSTOM RIO
-Blocks +Blocks
1 1
12
XRIO Automation
3 General Hints
The XRIO Automation Interface implements a COM Interface to access the test object document.
Some methods and properties to configure the XRIO editor are also implemented. The most
interesting client to use the Automation interface is the scripting environment within the Omicron
Control Center. Nevertheless, any language that can work with a COM interface can use the XRIO
automation interface.
Assume a procedure
Sub Test(arg1 As Double, arg2 As Integer)
Debug.Print arg1
Debug.Print arg2
End Sub
13
OMICRON Test Universe
Example:
Public Sub AccessBlock
Dim doc As AutoDocument
Dim b As AutoBlock
Document.TestObjects(1).Activate
The next line refers to the block by using the field b again. However, b is only a valid reference to the
block object, if the user does not cancel the block detail dialog for this block. Also leaving the editor
with the command "Exit without save" results in an invalid reference to the document. The only way to
avoid this is to reassign the objects after calling foreign code outside of your code.
Document.TestObjects(1).Activate
' Reassign the object references !!!
Set doc = Document.TestObjects(1).Specific.XRioDocument
Set b = doc.CustomBlock.Blocks(1)
MsgBox("Block Id and Name: " + b.Id + " " + b.Name)
Test Module
(Local) Test Object
Block Custom \ Device Settings
Nominal Voltage VNom100,00 V
Nominal Current INom5,00 A
Now open the test object dialog for the global test object, change INom to 2 A and add a new
parameter fNom = 50 Hz.
After closing, the report reflects these changes at first only in the global test object.
Test Module
(Local) Test Object
Block Custom \ Device Settings
Nominal Voltage VNom100,00 V
Nominal Current INom5,00 A
You would get the same result, if the following code were executed:
15
OMICRON Test Universe
The reason is that a test module gets a copy of the test object whilst activating the test object. This
copy is called the local test object. Therefore, the test module must be activated to get the changes in
the global test object.
In the tested state, the local copy of the test object is read-only and will not be updated during
activation of the test module.
Automation code can also access the local test object and you have write access, as long as the test
module is not in the state "Tested".
' Access to the local test object
' ===============================
Dim doc As AutoDocument
Dim block As AutoBlock
Dim pDouble As Object
Dim d As Double
Document.TestModules(1).Connect
Set doc = Document.TestModules(1).SpecificTestObject.XRioDocument
Set pDouble = doc.CustomBlock.Blocks(1).Parameters(2).ParameterDouble
pDouble.InternalValue = 6
Document.TestModules(1).CommitChangesTestObject
d = pDouble.InternalValue
With CommitChangesTestObject the new values are applied to the local and the global test
object.
16
XRIO Automation
To get access to the XRIO automation interface execute the following steps.
1. Start OCCenter
2. From the View menu, choose ScriptView.
3. From the Script menu, choose Stop.
4. From the Script menu, choose References. The References dialog box appears.
17
OMICRON Test Universe
' ************************************************************
' This is module *Module1 .
' Automatically generated uses comments are placed here.
' Don't edit these lines.
' {BEGINUSES}
'#Uses "*Module1"
' {ENDUSES}
' ************************************************************
For i = 1 To b.Blocks.Count
Debug.Print b.Blocks(i).Name
Next i
End Sub
18
XRIO Automation
3. From the Tools menu choose References and select the "OMICRON XRIO Main component" and
the "OMICRON XRIO Data management component".
4. Choose Insert → Module and/or Insert Procedure
19
OMICRON Test Universe
Example:
Option Explicit
Sub CreateXRio()
End Sub
End Sub
20
XRIO Automation
row = row + 1
n = block.Parameters.Count
For i = 1 To n
Set p = block.Parameters.Item(i)
Call ProcessParameter(p)
Next i
row = row + 1
End Sub
21
OMICRON Test Universe
A managed .NET application can use the original .NET interfaces and not only the interfaces designed
for an automation client. We strongly recommend that you use the following code as an entry point to
the XRIO application.
using OMXRio;
using OMXRioData;
…
IAutoXRioTestObject xrio;
IAutoXRioDocument xrioDoc;
IAutoXRioBlock b = xrioDoc.RioBlock;
…
22
XRIO Automation
Example:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using OMXRio;
using OMXRioData;
namespace CSharpClient
{
public class FormMain : System.Windows.Forms.Form
{
IAutoXRioTestObject xrio;
IAutoXRioDocument xrioDoc;
string intent = "";
public FormMain()
{
InitializeComponent();
}
[STAThread]
static void Main()
{
Application.Run(new FormMain());
}
23
OMICRON Test Universe
void BlockProperties(OMXRioData.IAutoXRioBlock b)
{
string text = intent + String.Format(
"{0,8} : {1}\r\n", b.Id, b.Name);
textOutput.Text += text;
void ParameterProperties(OMXRioData.IAutoXRioParameter p)
{
string text = intent + String.Format(
"{0,8} : {1} = {2}\r\n", p.Id, p.Name, p.DisplayString);
}
}
}
24
XRIO Automation
4 Object Reference
4.1 Application
4.1.1 XRio
XRio is the top-level application object for using XRIO automation.
Properties:
XRioDocument { get }
Syntax: object.XRioDocument
Type: AutoDocument
Description: Gets the XRio document
Example:
Dim xRio As OMXRio.xRio
Dim doc As OMXRioData.AutoDocument
Methods:
TestObjectDialog
Syntax: object.TestObjectDialog(long ownerWindow)
Return Type: bool
Description: Starts the standard user interface to show, modify, load and store XRio
documents.
Example: success = xRio.TestObjectDialog(0)
25
OMICRON Test Universe
BrowseLinkDialog
Syntax: object.BrowseLinkDialog(string paramPath, string paramName, long
ownerWindow, double min, double max, double factor, bool readOnly)
Return Type: bool
Description: This dialog window is used from test modules to link test parameters to a test
object parameter. You can use this functionality from an automation client as
well. There may be use cases for this dialog.
Example:
Sub BrowseLinkDialog(xRio As OMXRio.xRio)
paramPath = ""
paramName = ""
factor = 1#
End Sub
BrowseLinkBoolDialog
Description: The same as BrowseLinkDialog with the difference that this dialog gets used to
link Boolean values
26
XRIO Automation
4.2 Document
4.2.1 AutoDocument
An XRIO document is a container for test object parameters. Parameters are members of a block. A
block can also contain additional blocks in a parent child relation. The structure of an XRIO document
is a tree, with block nodes and parameters as leaves.
To show the syntax, the following reference of all document properties and document methods
assumes that we have an XRIO document object with name doc.
27
OMICRON Test Universe
Properties:
Version { get }
Syntax: doc.Version
Type: string
Description: Gets the version of the XRio document. Version 1.0 was released with TU 2.0,
version 2.1.0 with TU 2.1
Root { get }
Syntax: doc.Root
Type: AutoBlock
Description: Gets the root (block) of the XRio document.
CustomBlock { get }
Syntax: doc.CustomBlock
Type: AutoXRioBlock
Description: Gets the Custom block of the XRio document.
RioBlock { get }
Syntax: doc.RioBlock
Type: AutoBlock
Description: Gets the Rio block of the XRio document.
CommonData { get }
Syntax: doc.CommonData
Type: AutoCommonData
Description: Gets the CommonData object. Use the CommonData object to use the
access control component. This component allows customizing the XRio editor
for two kinds of user modes (tester and designer).
Errors { get }
Syntax: doc.Errors
Type: AutoErrorList
Description: Gets the list of error entries.
Several errors and warnings are logged into an error list. Most error entries are
produced during the schema validation of an XRio file or in the phase of
compiling the script code, which is used to implement the formulas for data
values and enabled conditions.
Example: see AutoErrorList
PredefinedReferences { get }
Syntax: doc.PredefinedReferences
Type: AutoFormulaReference
Description: Gets the collection of predefined formula references.
28
XRIO Automation
RioSupport { get }
Syntax: doc.RioSupport
Type: AutoSupport
Description: Gets a reference to the RioSupport object. This object implements a method
to add RIO functions.
Example:
Dim rioSupport As AutoRioSupport
rioSupport = doc.rioSupport
rioSupport.AddRioFunction (NodeType_Meter)
Methods:
CreateNew
Syntax: doc.CreateNew
Return Type: void
Description: Deletes the whole document and creates a new document with an empty
CUSTOM block and a DEVICE block inside the RIO block. All parameters in the
device block are initialized with default values.
LoadFromFile
Syntax: [result = ] doc.LoadFromFile(string filePath)
Return Type: DocState
Description: Loads an XRio document from a XRio file (XML).
Return Value: DocState_FatalError if the file does not exist or if the file is not a well formed
XML file.
DocState_Warning if the file has errors.
DocState_NoError if the file was read without an error.
Example (VBA):
Dim xRio As OMXRio.xRio
Dim doc As OMXRioData.AutoDocument
Dim docError As OMXRioData.DocState
docError = doc.LoadFromFile("D:\XRioExamples\Example01.xrio")
Debug.Print docError
If (docError = OMXRioData.DocState_FatalError) Then
Exit Sub
End If
…
doc.CreateNew
29
OMICRON Test Universe
LoadFromString
Syntax: [result = ] doc.LoadFromString(string xRioString)
Return Type: DocState
Description: Loads a document from a string containing the XML document.
Return Value: see LoadFromFile
LoadTextRioFromFile
Syntax: state = LoadTextRioFromFile(string filePath)
Return Type: DocState
Description: Load a RIO document from a file. Use this method to load files with the original
RIO format.
LoadTextRioFromString
Syntax: state = LoadTextRioFromFile(string rioString)
Return Type: DocState
Description: Load a RIO document from a string.
SaveToFile
Syntax: [result = ] doc.SaveToFile(string filePath)
Return Type: bool
Description: Writes the current document to a XRIO file. This is an XML file. Note: Use .xrio
as file extension.
Return Value: True, if the file was successfully saved, otherwise false.
SaveToString
Syntax: [result = ] doc.SaveToString(string xRioString, bool isXRioExport)
Return Type: bool
Description: Writes the XRIO document in XML format into a string. If isXRioExport is
True, then the document is stored with the whole content (multiple function
blocks, disabled blocks and parameters).
SaveTextRioToFile
Syntax: success = SaveTextRioToFile(string filePath)
Return Type: bool
Description: XRio supports import and export of RIO files. Use this method to save the
current XRio document as RIO file. Note: The new XRio features (multiple test
object functions, formulas) are discarded during the transformation to RIO. Only
active functions and enabled blocks and parameters will be exported. The
resulting RIO file does not contain custom blocks and script code and does not
contain formulas.
SaveTextRioToString
Syntax: success = SaveTextRioToString (string rioString)
Return Type: bool
Description: Same as above, but the target is a string.
30
XRIO Automation
GetGlobalScript
Syntax: result = doc.GetGlobalScript()
Return Type: string
Description: An XRio document (converter) can contain a script section with Visual
Basic .NET code. This method returns this script code.
Example (VBA):
Dim script As String
script = doc.GetGlobalScript()
SetGlobalScript
Syntax: doc.SetGlobalScript(string script, bool debug)
Return Type: void
Description: Set the Visual Basic .NET code stored in the string Script as script code. This
call starts the script compiler. Use debug = true to force a compilation in debug
mode.
GetBlockFromIDs
Syntax: b = GetBlockFromIDs(string blockPath)
Return Type: AutoXRioBlock
Description: Each block in the document has a unique pathname to identify it. The pathname
is the concatenation of the block ID's from the document root to the block. A
point is used as level separator.
Example:
Dim b as OMXRioData.AutoBlock
Dim p as OMXRioData.AutoParameter
b = doc.GetBlockFromIDs("RIO.DEVICE.LIMITS")
For Each p In b.Parameters
Debug.Print p.Name; " = "; p.DisplayString
Next p
GetParamFromIDs
Syntax: p = doc.GetParamFromIDs(string paramPath)
Return Type: AutoParameter
Description: Each parameter in the document hierarchy is clearly defined with an absolute
pathname of type "blockId.blockId…paramaterId". This method
returns a reference to the parameter with the given path or null (Nothing) if the
parameter doesn't exist.
Example:
Dim p as AutoXRioParameterDouble
pDouble = doc.GetBlockFromIDs("RIO.DEVICE.LIMITS.IMAX")
Set pDouble = _
doc.GetParamFromIDs("RIO.DEVICE.LIMITS.IMAX").ParameterDouble
Debug.Print pDouble.Name; " = "; pDouble.InternalValue; pDouble.Unit
31
OMICRON Test Universe
GetEnumValueFromIDs
Syntax: enumValue = doc.GetEnumValueFromIDs(string enumValuePath)
Return Type: AutoEnumValue
Description: A parameter of type enumeration has an associated list of valid enumeration
values. This list defines a collection of key (ID) and display value pairs. The ID-
path to the parameter together with the enumeration ID is a unique path to one
of the defined enumeration values.
GetIDsPathFromBlock
Syntax: path = doc.GetIDsPathFromBlock(AutoBlock b)
Return Type: string
Description: Gets the ID path of a block object. Use a reference to the block object as
argument.
GetIDsPathFromParam
Syntax: path = doc.GetIDsPathFromParam(AutoParameter p)
Return Type: string
Description: Gets the ID path of a parameter object. Use a reference to the parameter object
as argument.
GetIDsPathFromEnumValue
Syntax: path = GetIDsPathFromEnumValue(AutoEnumValue enumValue)
Return Type: string
Description: Gets the ID path of an enumeration value object. Use a reference to the
enumeration value object as argument.
GetUserPathFromBlock
Syntax: path = doc.GetUserPathFromBlock(AutoBlock b)
Return Type: string
Description: Gets the concatenation of all block names from the root to the specified block
as a path expression. Note that the names of blocks and parameters are
localized. To identify blocks use the ID path.
GetUserPathFromParam
Syntax: path = doc.GetUserPathFromParam(AutoParameter p)
Return Type: string
Description: Gets the user path (block names and parameter name) for a given parameter.
GetUserPathFromEnumValue
Syntax: GetUserPathFromEnumValue(AutoEnumValue enumValue)
Return Type: string
Description: Gets the user path (block names and parameter name) for a given enumeration
value.
32
XRIO Automation
HasRioFunction
Syntax: result = doc.HasRioFunction(NodeType blockType)
Return Type: bool
Description: Returns true if the document has a test object function of the given type,
otherwise returns false.
Example:
result = doc.HasRioFunction(NodeType_Distance)
ClearAllActiveRioFunctions
Syntax: ClearAllActiveRioFunctions()
Return Type: void
Description: Sets the first function in the function collection as the active test object function.
Example:
Active functions before and after ClearAllActiveRioFunctions
Before After
► DEVICE ► DEVICE
DISTANCE1 ► DISTANCE1
► DISTANCE2 DISTANCE2
VISTARTING1 ► VISTARTING1
VISTARTING2 VISTARTING2
► VISTARTING3 VISTARTING3
GetActiveRioFunction
Syntax: block = GetActiveRioFunction(NodeType blockType)
Return Type: AutoBlock
Description: Gets the current active RIO function for the specified function.
Example (VBA):
Sub ActiveRioFunction(doc As OMXRioData.AutoDocument)
Dim b As OMXRioData.AutoBlock
Set b = doc.GetActiveRioFunction(NodeType_Distance)
Debug.Print "Active function is "; b.ID
Set b = doc.SetActiveRioFunction(NodeType_Distance, "DISTANCE2")
Set b = doc.GetActiveRioFunction(NodeType_Distance)
Debug.Print "Active function is "; b.ID
End Sub
33
OMICRON Test Universe
SetActiveRioFunction
Syntax: SetActiveRioFunction(NodeType blockType, string id)
Return Type: AutoBlock
Description: An XRio document can contain multiple function blocks, for example three
DISTANCE function blocks. Only one of these DISTANCE test objects is the
currently used (active) one. Use this method to select one of the available
function blocks as the active test object function.
4.2.2 AutoRioSupport
Methods
AddRioFunction
Syntax: AddRioFunction (NodeType type)
Return Type: AutoBlock
Description: Adds a RIO function with the specified type and with initial default settings.
Example: doc.RioSupport.AddRioFunction (NodeType_Differential)
4.2.3 AutoCommonData
Properties
AccessControl { get }
Syntax: commonData.AccessControl
Type: AutoAccessControl
Description: Gets a reference to the AccessControl object.
IsInputFormatInfoUser { get, set }
Syntax: commonData.IsInputFormatInfoUser
Type: bool
Description: Gets or sets a flag to specify whether formatting settings (decimal symbol) from
the user specific regional settings are used to parse inputs.
This feature is obsolete because period and colon are accepted as decimal
symbol.
IsOutputFormatInfoUser { get, set }
Syntax: commonData.IsOutputFormatInfoUser
Type: bool
Description: Gets or sets a flag to specify, whether formatting settings (decimal symbol) from
the user specific regional settings are used to produce outputs.
This is an obsolete and unsupported feature.
34
XRIO Automation
ElementNode
Description: string
Enabled: bool
EnabledFormula: string
HasEnabledFormula: bool
EnabledRefererences: FormulaReferences
...
Block Parameter
ParentElementNode: Block DataType: ParamDataType
Blocks: BlockCollection DisplayString: string
Parameters: ParameterCollection ValueFormula: string
HasValueFormula: bool
ValueReferences: FormulaReferences
...
SetDisplayValue(value: string) : bool
...
35
OMICRON Test Universe
Properties
Id {get, set}
Syntax: node.Id
Type: string
Description: Get or set the Id of a block or parameter. The rules for identifiers are the rules
for identifiers in VB.Net. VB.Net identifiers are not case sensitive, XRio allows
only Ids with uppercase letters. The Id must be unique for the collection of child
blocks inside a block and for the parameter collection within a block. XRio uses
the concatenation of the Ids with a point as delimiter as an unambiguous path to
reference a block or parameter.
Name {get, set}
Syntax: node.Name
Type: string
Description: Get or set the name of a block or parameter. This property is only used as an
expressive name for the user. Names should be unique inside a collection but
they must not be unique. There are some slight restrictions to prevent problems,
if the language is switched between the various languages supported by Test
Universe. The name could be localized.
Description { get, set }
Syntax: node.Description
Type: string
Description: Gets or sets the description of a node. This data field can be used to describe
the block or parameter.
Type {get}
Syntax: node.Type
Type: NodeType
Description: Gets the type of a node. The data type NodeType is an enumeration. Important
node types are NodeType_Custom for blocks in the custom section of XRio
(custom blocks), NodeType_Parameter for parameters. All blocks inside
the RIO section have different node types.
ParentElementNode {get}
Syntax: node.ParentElementNode
Type: AutoBlock
Description: Gets the parent node of a block or parameter.
36
XRIO Automation
path = "CUSTOM.B1.PHASES"
Set p = doc.GetParamFromIDs(path)
37
OMICRON Test Universe
Methods
IsParentOf
Syntax: node.IsParentOf(node childNode)
Return Type: bool
Description: Determines whether the node is the parent of a specific childNode.
38
XRIO Automation
IsValidId
Syntax: node.IsValidId(string Id)
Return Type: bool
Description: Determines whether an Id is valid. IsValidId and IsValidName check
only the principal rules for identifiers and names. IsValidId does not check
whether the Id is already used in the current collection.
Example:
Set block = doc.GetBlockFromIDs("CUSTOM.B2.B1")
Debug.Print block.IsValidId("F1")
Debug.Print block.IsValidId("f1")
Debug.Print block.IsValidId("1Phase")
Debug.Print block.IsValidId("IF")
Output from this example code:
True
False Lowercase letters are not allowed.
False Identifier must begin with a letter.
False IF is a Visual Basic key word.
IsValidName
Syntax: node.IsValidName(string name)
Return Type: bool
Description: Determines whether the name is a valid name. Names are Unicode strings with
some minor restrictions to prevent problems with localized versions of Test
Universe.
39
OMICRON Test Universe
4.3.2 AutoBlock
A block is the most important means to build a hierarchical structure of blocks, child blocks and
parameters. A block is like a folder, which contains parameters and blocks of the next level.
Properties
Blocks { get }
Syntax: block.Blocks
Type: AutoBlocks
Description: Gets a reference to the collection of child blocks.
Parameters { get }
Syntax: block.Parameters
Type: AutoParameters
Description: Gets a reference to the collection of parameters.
Example:
Dim xRio As OMXRio.xRio
Dim doc As OMXRioData.AutoDocument
Dim block As OMXRioData.AutoBlock
Dim myBlock As OMXRioData.AutoBlock
Dim p As AutoParameter
Dim errorMsg As String
Dim result As Boolean
block.Blocks.Clear
Set myBlock = block.Blocks.Add("PARAMETERS")
myBlock.Name = "Parameters"
Set p = myBlock.Parameters.Add(ParamDataType_Boolean, "ARCENABLED")
result = p.SetDisplayValue("True", errorMsg)
40
XRIO Automation
ExternalEditorExist { get }
Syntax: block.ExternalEditorExist
Type: bool
Description: The XRio editor shows the XRio block structure in a tree and the parameters in
a table and has the functionality to change all the attributes of blocks and
parameters. On the other side, the well-known test object dialogs (external
editor) to set up the test object properties are still part of the Test Universe
software package. These test object dialogs implement the logic of the test
object and ensure valid settings. These dialogs are not always available. For
example, an OVERCURRENT standalone test module does not have an editor
for the DISTANCE function. The property ExternalEditorExist returns true, if a
specific editor for the current block (RIO function) exist and is available.
SuppressPrintOut { get, set }
Syntax: block.SuppressPrintOut
Type: bool
Description: Flag to suppress printout within TU (for the reporting)
41
OMICRON Test Universe
AutoParameter
XRIO supports different parameter types for values of type "real number" or "double", "integer
numbers", "boolean values", "string" and "enumeration". Internally the classes for these types are
derived from a class "Parameter". AutoParameter implements the properties and methods of the
Parameter class. All these properties and methods are also valid for the objects AutoParameterDouble,
AutoParameterInteger, AutoParameterBoolean, AutoParameterString and AutoParameterEnum.
Properties
DataType { get }
Syntax: p.DataType
Type: ParamDataType
Is one of: ParamDataType_Invalid, ParamDataType_String,
ParamDataType_Enumeration, ParamDataType_Boolean,
ParamDataType_Integer, ParamDataType_Real
Description: Gets the data type of the parameter.
DisplayString { get }
Syntax: p.DisplayString
Type: string
Description: Gets a string representing the current parameter value.
DisplayReferenceString { get }
Syntax: p.DisplayReferenceString
Type: string
Description: Gets a string representing the current reference value.
ValueFormula { get, set }
Syntax: p.ValueFormula
Type: string
Description: Gets or sets the optional formula used to calculate the value from other
parameters.
HasReferenceValue { get, set }
Syntax: p.HasReferenceValue
Type: bool
Description: Gets or sets if a parameter has a reference value;
HasValueFormula { get }
Syntax: p.HasValueFormula
Type: bool
Description: Determines whether the specified parameter has a value formula.
ValueReferences { get }
Syntax: p.ValueReferences
Type: AutoFormulaReferences
Description: Gets a reference to the collection of formula references used in the formula.
42
XRIO Automation
ParameterBoolean { get }
Syntax: p.ParameterBoolean
Type: AutoParameterBoolean
Description: Gets a reference to the AutoParameterBoolean object associated with the
parameter p.
43
OMICRON Test Universe
ParameterDouble { get }
Syntax: p.ParameterDouble
Type: AutoParameterDouble
Description: Gets a reference to the AutoParameterDouble object associated with the
parameter p.
ParameterEnum { get }
Syntax: p.ParameterEnum
Type: AutoParameterEnum
Description: Gets a reference to the AutoParameterEnum object associated with the
parameter p.
ParameterInteger { get }
Syntax: p.ParameterInteger
Type: AutoParameterInteger
Description: Gets a reference to the AutoParameterInteger object associated with the
parameter p.
44
XRIO Automation
ParameterString { get }
Syntax: p.ParameterString
Type: AutoParameterString
Description: Gets a reference to the AutoParameterString object associated with the
parameter p.
Example:
Dim i As Integer
Dim pString As AutoParameterString
Dim pInt As AutoParameterInteger
Dim pDouble As AutoParameterDouble
Dim pBool As AutoParameterBoolean
Dim pEnum As AutoParameterEnum
45
OMICRON Test Universe
Methods
SetDisplayValue
Syntax: p.SetDisplayValue (string newValue, out string errorText)
Return Type: bool
Description: Accepts a string representation of the value to set a new value.
Return Value: true if the string is converted successfully and the value is a valid value
according to the data type and the limits of the parameter value; otherwise,
false
SetDisplayReferenceValue
Syntax: p.SetDisplayReferenceValue(string newValue, out string errorText)
Return Type: bool
Description: Accepts a string representation of the reference value to set a new reference
value
Return type: true if the string is converted successfully and the value is a valid value
according to the data type and the limits of the parameter value; otherwise false
46
XRIO Automation
Example:
Sub AddParameters(b As AutoBlock)
Dim p As AutoParameter
Dim errorText As String
Dim success As Boolean
47
OMICRON Test Universe
End SubAutoParameterBoolean
48
XRIO Automation
4.3.3 AutoParameterDouble
Properties
InternalValue { get, set }
Syntax: p.InternalValue
Type: double
Description: Gets or sets the internal double precision value of the specified parameter.
Note: internalMin <= newValue <= internalMax
InternalReferenceValue { get, set }
Syntax: p.InternalReferenceValue
Type: double
Description: Gets or sets the internal double precision reference value of the specified
parameter. Note: internalMin <= newReferenceValue <= internalMax
InternalMin { get, set }
Syntax: p.InternalMin
Type: double
Description: Gets or sets the internal double precision minimal value of the specified
parameter.
InternalMax { get, set }
Syntax: p.InternalMax
Type: double
Description: Gets or sets the internal double precision maximum value of the specified
parameter.
MultiplierSymbol { get, set }
Syntax: p.MultiplierSymbol
Type: char or int (in WinWrap Basic)
Description: Gets or sets the multiplier used for the string representation of the value. Valid
multiplier symbols are 'u' or 'µ' (10-6), 'm' (10-3), ' ' [blank] (100), k (10+3), M (10+6),
G (10+9)
Example: p.MultiplierSymbol = Asc("m")
Unit { get, set }
Syntax: p.Unit
Type: string
Description: Gets or sets the unit for the specified parameter.
49
OMICRON Test Universe
50
XRIO Automation
Methods
IsValidInternalValue
Syntax: p.IsValidInternalValue(double newDouble, out string errorText)
Parameters: newDouble: The double number containing the data to test.
errorText: A string containing information about the validation error.
Description: Gets a value indicating whether newDouble is a valid internal value.
Condition: internalMinValue <= newInternalValue <= internalMaxValue
Return Type: bool
Return Value: true if newDouble is valid; otherwise false
IsValidInternalMinValue
Syntax: p.IsValidInternalMinValue(double newDouble, out string errorText)
Parameters: newDouble: The double number containing the data to test.
errorText: A string containing information about the validation error.
Description: Gets a value indicating whether newDouble is a valid internal minimum value.
Condition: newInternalMinValue <= internalValue
Return Type: bool
Return Value: true if newDouble is valid; otherwise false
IsValidInternalMaxValue
Syntax: p.IsValidInternalMaxValue(double newDouble, out string errorText
Parameters: newDouble: The double number containing the data to test.
errorText: A string containing information about the validation error.
Description: Gets a value indicating whether newDouble is a valid internal maximum value.
Condition: newInternalMaxValue >= internalValue
Return Type: bool
Return Value: true if newDouble is valid; otherwise false
IsValidMultiplierSymbol
Syntax: p.IsValidMultiplierSymbol (char c, out string errorText)
Parameters: c: The character to test.
errorText: A string containing information about the validation error.
Description: Gets a value indicating whether the character c is a valid multiplier symbol.
Return Type: bool
Return Value: true if c is a valid multiplier; otherwise false
51
OMICRON Test Universe
4.3.4 AutoParameterInteger
Properties
ParameterValue { get, set }
Syntax: p.ParameterValue
Type: int
Description: Gets or sets the value of the specified parameter.
ParameterReferenceValue { get, set }
Syntax: p.ParameterReferenceValue
Type: int
Description: Gets or sets the reference value of the specified parameter.
MinValue { get, set }
Syntax: p.MinValue
Type: int
Description: Gets or sets the minimum value for the specified parameter.
MaxValue { get, set }
Syntax: p.MaxValue
Type: int
Description: Gets or sets the maximum value for the specified parameter.
Unit { get, set }
Syntax: p.Unit
Type: string
Description: Gets or sets the unit for the specified parameter. The unit is only used to display
the values together with a unit.
Parameter { get }
Syntax: p.Parameter
Type: AutoParameter
Description: Gets a reference to the AutoParameter object associated with the parameter p.
Methods
IsValidValue
Syntax: p.IsValidValue (int newInt, out string errorText)
Type: bool
Description: Gets a value indicating whether newInt is a valid value for the specified
parameter.
52
XRIO Automation
IsValidMinValue
Syntax: p. IsValidMinValue (int newInt, out string errorText)
Type: bool
Description: Gets a value indicating whether newInt is a valid internal minimum value.
53
OMICRON Test Universe
IsValidMaxValue
Syntax: p.IsValidMaxValue (int newInt, out string errorText)
Type: bool
Description: Gets a value indicating whether newInt is a valid internal maximum value.
Example:
Sub ParameterIntegerDemo(b As AutoBlock)
Dim p As AutoParameterInteger
Dim msg As String
Set p = b.Parameters.Add(ParamDataType_Integer, _
"DARSHOTE").ParameterInteger
p.Name = "DARShot E"
p.Description = "Number of permissible DAR shots after earth fault"
p.ParameterValue = 4
Dim pp As AutoParameter
Set pp = p.Parameter
Debug.Print "DataTypeNr: "; pp.DataType
Debug.Print pp.DisplayString
Debug.Print "======================================"
End Sub
54
XRIO Automation
4.3.5 AutoParameterBoolean
Properties
ParameterValue { get, set }
Syntax: p.ParameterValue
Type: bool
Description: Gets or sets the value of the specified parameter.
ParameterReferenceValue { get, set }
Syntax: p.ParameterReferenceValue
Type: bool
Description: Gets or sets the reference value of the specified parameter.
Parameter { get }
Syntax: p.Parameter
Type: AutoParameter
Description: Gets a reference to the AutoParameter object associated with the parameter p.
4.3.6 AutoParameterString
Properties
ParameterValue { get, set }
Syntax: p.ParameterValue
Type: string
Description: Gets or sets the value of the specified parameter.
ParameterReferenceValue { get, set }
Syntax: p.ParameterReferenceValue
Type: string
Description: Gets or sets the reference value of the specified parameter.
Parameter { get }
Syntax: p.Parameter
Type: AutoParameter
Description: Gets a reference to the AutoParameter object associated with the parameter p.
55
OMICRON Test Universe
4.3.7 AutoParameterEnum
Properties
ParameterValue { get, set }
Syntax: p.ParameterValue
Type: string
Description: Gets or sets the value of the specified parameter.
ParameterReferenceValue { get, set }
Syntax: p.ParameterReferenceValue
Type: string
Description: Gets or sets the reference value of the specified parameter.
EnumValues { get }
Syntax: p.EnumValues
Type: AutoEnumValues
Description: Gets the collection of associated enumeration values.
Parameter { get }
Syntax: p.Parameter
Type: AutoParameter
Description: Gets a reference to the AutoParameter object associated with the parameter p.
56
XRIO Automation
4.4.1 AutoEnumValue
Enumeration values are a key–value pair, where the key is the Id and the value is the name. The id is
used as internal value. The name may be localized, and is used as display value shown to the user.
The XRIO editor uses a combo box to select one of the defined values.
Properties
ParentElementNode { get }
Syntax: enumValue.ParentElementNode
Type: AutoParameter
Description: Gets the parameter node to which the specified enumeration value belongs.
Id { get, set }
Syntax: enumValue.Id
Type: string
Description: Gets or sets the Id of an enumeration value.
Name { get, set }
Syntax: enumValue.Name
Type: string
Description: Gets or sets the name of an enumeration value.
InternalName { get, set }
Syntax: enumValue.InternalName
Type: string
Description: Gets or sets the internal name of an enumeration value.
DisplayName { get, set }
Syntax: enumValue.DisplayName
Type: string
Description: Gets or sets the display name of an enumeration value.
57
OMICRON Test Universe
Methods
IsValidId
Syntax: enumValue.IsValidId(string Id)
Return Type: bool
Description: Determines whether an Id is valid.
IsValidName
Syntax: enumValue.IsValidName(string name)
Return Type: bool
Description: Determines whether the name is a valid name.
58
XRIO Automation
4.4.2 AutoFormulaReference
Formulas are valid expressions in the script language VB.NET. Numerical constants, identifiers,
functions and operators are the elements of a formula.
Example: VN*SQRT(3)
VN is a formula reference to any parameter in the XRIO document. The name VN is independent from
the parameters id and must only be unique inside the formula.
There are two types of formula references. A formula reference can refer to a parameter or to an
enumeration value. The result of the formula is calculated with the current internal value of the
referenced parameter or enumeration value. The internal value of an enumeration value is the Id.
Properties
Type { get }
Syntax: formulaReference.Type
Type: ReferenceType.Parameter | ReferenceType.EnumValue
Description: Gets the type of a formula reference.
Parameter { get }
Syntax: formulaReference.Parameter
Type: AutoParameter
Description: Gets an object reference to the referenced parameter object.
EnumValue{ get }
Syntax: formulaReference.
Type: AutoEnumValue
Description: Gets an object reference to the referenced enumeration value object.
59
OMICRON Test Universe
4.4.3 AutoIec61850
This optional object allows the definition of same attributes related to the IEC61850 standard. An
Iec61850 Object can be added to blocks and parameters to define some IEC related information. This
information is currently not used from the Test Universe itself, but can be used from any kind of SW
that uses the available automation interfaces.
Access to the Iec61850 object is given through the block and parameter property Iec61850.
Properties
ObjectName {get, set }
Syntax: iec.ObjectName
Type: string
Description: Gets or sets the IEC61850 Object Name.
Syntax: iec.ObjectName
Hierarchy { get, set }
Syntax: iec.Hierarchy
Type: string
Description: Gets or sets the IEC61850 Hierarchy. Following the IEC61850 standard, this
attribute must be:
Undefined | SERVER | LD | LN | DATA | DA | DACC | DACP
DataTypeCategory { get, set }
Syntax: iec.DataTypeCategory
Type: string
Description: Gets or sets the IEC61850 DataTypeCategory. Following the IEC61850
standard, this attribute must be:
CtrlBlock | LNClass | CDClass | DAClass | BasicType
DataType { get, set }
Syntax: iec.DataType
Type: string
Description: Gets or sets the DataType.
Table of DataType values defined in the standard:
If DataTypeCategory is "CtrlBlock":
Undefined
BRCB GoCB GsCB LCB MSVCB
URCB USVCB SGCB
60
XRIO Automation
If DataTypeCategory is "LNClass":
Undefined
ANCR ARCO ATCC AVCO CALH
CCGR CILO CPOW CSWI GAPC
GGIO GSAL IARC IHMI ITCI
ITMI LLN0 LN LPHD MDIF
MHAI MHAN MMTR MMXN MMXU
MSQI MSTA PDIF PDIR PDIS
PDOP PDUP PFRC PHAR PHIZ
PIOC PMRI PMSS POPF PPAM
PSCH PSDE PTEF PTOC PTOF
PTOV PTRC PTTR PTUC PTUF
PTUV PUPF PVOC PVPH PZSU
RADR RBDR RBRF RDIR RDRE
RDRS RFLO RPSB RREC RSYN
SARC SIMG SIML SPDC TCTR
TVTR XCBR XSWI YEFN YLTC
YPSH YPTR ZAXN ZBAT ZBSH
ZCAB ZCAP ZCON ZGEN ZGIL
ZLIN ZMOT ZREA ZRRC ZSAR
ZTCF ZTCR
If DataTypeCategory is "CDClass":
Undefined
ACD ACT APC ASG BCR
BSC CMV CSD CURVE DPL
DEL DPC DPS HDEL HMV
HWYE INC INC8 ING INS
ISC LPL MV SAV SEC
SEQ SPC SPG SPS WYE
If DataTypeCategory is "DAClass":
Undefined
AnalogValue ScaledValueConfig RangeConfig ValWithTrans PulseConfig
Originator Unit Vector Point
If DataTypeCategory is "BasicType":
Undefined
BOOLEAN
INT8 INT16 INT24 INT32 INT128
INT8U INT16U INT24U INT32U
FLOAT32" FLOAT64
ENUMERATED CODED_ENUM
OCTET_STRING VISIBLE_STRING UNICODE_STRING
61
OMICRON Test Universe
Example:
Public Sub IecDemo(block As AutoBlock)
62
XRIO Automation
p.Enabled = False
' add an iec section to the parameter
Set iecSection = p.Iec61850
iecSection.ObjectName = "IecObjectName"
iecSection.Hierarchy = "DACP"
iecSection.DataTypeCategory = "BasicType"
iecSection.DataType = "FLOAT64"
iecSection.Constraint = "BR"
Exit Sub
ErrorHandler:
Debug.Print "Err.Number = "; Err.Number
Debug.Print "Err.Source = "; Err.Source
Debug.Print "Err.Description = "; Err.Description
Err.Clear
Resume Next
End Sub
63
OMICRON Test Universe
4.5 Collections
4.5.1 AutoBlocks
Is a collection to manage the child blocks inside a block. Add, insert and remove blocks, retrieve
blocks by its index, its object reference or by its ID.
Properties
Count { get }
Syntax: blocks.Count
Type: int
Description: Gets the number of blocks contained in the blocks collection.
Indexer
Syntax: blocks[index as Integer]
Type: AutoBlock
Description: Gets the block at the specified index. The value index has to be in the range 1 –
blocks.Count.
Item
Syntax: blocks.Item[index as Integer]
Type: AutoBlock
Description: Gets the block at the specified index.
Methods
Clear
Syntax: blocks.Clear()
Return Type: void
Description: Removes all blocks (parameters and child blocks of these blocks) from the
collection.
Contains
Syntax: blocks.Contains(AutoBlock block)
Return Type: bool
Description: Determines whether the specified block object is in the collection.
ContainsId
Syntax: blocks.ContainsId(string id)
Return Type: bool
Description: Determines whether the block collection contains a block with the specific id.
64
XRIO Automation
ItemId
Syntax: blocks.ItemId(string id)
Return Type: AutoBlock
Description: Gets the block with the specified id. The return value is a null reference
(Nothing in VB) if the id is not found.
IndexOf
Syntax: blocks.IndexOf (AutoBlock block)
Return Type: int
Description: Returns the index of the specified block in the collection.
Add
Syntax: blocks.Add(string id)
Return Type: AutoBlock
Description: Adds a block with the specified id to the end of the block collection. If the id
exists, then the id will be automatically changed by adding a consecutive
number at the end of the id.
Example:
Dim xRio As OMXRio.xRio
Dim doc As OMXRioData.AutoDocument
Dim block As OMXRioData.AutoBlock
Dim myBlock As OMXRioData.AutoBlock
Dim i As Integer
...
block.Blocks.Clear
Set myBlock = block.Blocks.Add("PARAMETERS")
myBlock.Name = "Parameters"
Set myBlock = block.Blocks.Add("EARTHFAULT")
Set myBlock = block.Blocks.Add("AUTORECLOSE")
65
OMICRON Test Universe
Remove
Syntax: blocks.Remove(AutoBlock block)
Return Type: void
Description: Removes the specified block from the collection. This command removes also
all child blocks and parameters contained in the block.
RemoveAt
Syntax: blocks. RemoveAt (int index)
Return Type: void
Description: Removes the block at the specified index.
GetEnumerator
Syntax: blocks.GetEnumerator()
Return Type: IEnumerator
Description: Returns an enumerator that can iterate through the collection.
66
XRIO Automation
4.5.2 AutoParameters
A collection to manage the parameters inside a block. Add, insert and remove parameters, retrieve
parameters by its index, its object reference or by its ID.
Properties
Indexer
Syntax: parameters [int index]
Type: AutoParameter
Description: Gets the parameter at the specified index.
Count { get }
Syntax: parameters.Count
Type: int
Description: Gets the number of parameters contained in the parameter collection.
Item { get }
Syntax: parameters.Item[int index]
Type: AutoParameter
Description: Gets the parameter at the specified index.
Methods
Clear
Syntax: parameters.Clear()
Return Type: void
Description: Removes all parameters from the collection.
Contains
Syntax: parameters.Contains (AutoParameter p)
Return Type: bool
Description: Determines whether the specified parameter object is in the collection.
ItemId
Syntax: parameters.ItemId (string id)
Return Type: AutoParameter
Description: Gets the parameter with the specified id. The return value is a null reference
(Nothing in VB) if the id is not found.
IndexOf
Syntax: IndexOf (AutoParameter p)
Return Type: int
Description: Returns the index of the specified parameter in the collection.
67
OMICRON Test Universe
Add
Syntax: parameters.Add (ParamDataType type, string id)
Return Type: AutoParameter
Description: Adds a new parameter with the specified id to the end of the parameter
collection. If the id exists, then it will be automatically changed by adding a
consecutive number at its end.
Insert
Syntax: parameters.Insert (int index, ParamDataType type, string id)
Return Type: AutoParameter
Description: Inserts a new parameter with the specified id at position index.
Remove
Syntax: parameters.Remove (AutoParameter param)
Return Type: void
Description: Removes the parameter at the specified index.
RemoveAt
Syntax: parameters.RemoveAt (int index)
Return Type: void
Description: Removes the parameter with the specified index.
GetEnumerator
Syntax: parameters.GetEnumerator
Return Type: IEnumerator
Description: Returns an enumerator that can iterate through the collection.
Example
n = block.Parameters.Count
For i = 1 To n
Set p = block.Parameters.Item(i)
Call ProcessParameter(p)
Next i
68
XRIO Automation
4.5.3 AutoEnumValues
Properties and Indexer
Indexer
Syntax: enumValues [int index]
Type: AutoEnumValue
Description: Gets the enumeration value at the specified index.
Count { get }
Syntax: enumValues.Count
Type: int
Description: Gets the number of enumeration values (Id-Name pair) contained in the list of
actually defined enumeration values.
Item { get }
Syntax: enumValues.Item[int index]
Type: AutoEnumValue
Description: Gets the enumeration value at the specified index.
Methods
Clear
Syntax: enumValues.Clear()
Return Type: void
Description: Removes all values from the collection.
Contains
Syntax: enumValues.Contains (AutoEnumValue enumValue)
Return Type: bool
Description: Determines whether the specified enumeration value object is in the collection.
ItemId
Syntax: enumValues.ItemId(string id)
Return Type: AutoEnumValue
Description: Gets the enumeration object with the specified id. The return value is a null
reference (Nothing in VB) if the id is not found.
IndexOf
Syntax: enumValues.IndexOf (object item)
Return Type: int
Description: Returns the index of the specified enumeration value in the collection.
69
OMICRON Test Universe
Add
Syntax: enumValues.Add (string id, string name)
Return Type: AutoEnumValue
Description: Adds a new enumeration item with the specified id and name pair to the
collection of enumeration items.
Insert
Syntax: enumValues.Insert (int index, string id, string name)
Return Type: AutoEnumValue
Description: Inserts a new enumeration item with the specified id and name pair at the
specified index into the collection of enumeration items.
RemoveAt
Syntax: enumValues.RemoveAt (int index)
Return Type: void
Description: Removes the enumeration value at the specified index.
GetEnumerator
Syntax: enumValues.GetEnumerator()
Return Type: IEnumerator
Description: Returns an enumerator that can iterate through the collection.
Example:
70
XRIO Automation
4.5.4 AutoFormulaReferences
Properties
Indexer
Syntax: formulaReferences [int index]
Type: AutoFormulaReference
Description: Gets the formula reference at the specified index.
Count { get }
Syntax: formulaReferences.Count
Type: int
Description: Gets the number of formula references used in the value formula.
Item { get }
Syntax: formulaReferences.Item[int index]
Type: AutoFormulaReference
Description: Gets the formula reference at the specified index.
Methods
Clear
Syntax: formulaReferences.Clear()
Return Type: void
Description: Removes all formula references from the collection.
Contains
Syntax: formulaReferences.Contains(AutoFormulaReferenence fref)
Return Type: bool
Description: Determines whether the specified formula reference object is in the collection.
IndexOf
Syntax: formulaReferences.IndexOf (AutoFormulaReference fref)
Return Type: int
Description: Returns the index of the specified formula reference.
AddParam
Syntax: formulaReferences.AddParam (string id, string path, AutoParameter param)
Return Type: AutoFormulaReference
Description: Adds a new reference to a parameter the list of formula references. Id is the
name used in the formula, path is the unique id path of the parameter, param is
a reference to the parameter.
71
OMICRON Test Universe
AddEnumValue
Syntax: formulaReferences.AddEnumValue (string id, string path, AutoEnumValue
enumValue)
Return Type: AutoFormulaReference
Description: Adds a new reference to an enumeration value to the list of formula references.
Id is the name used in the formula, path is the unique id path of the parameter,
param is a reference to the parameter.
RemoveAt
Syntax: formulaReferences.RemoveAt (int index)
Return Type: void
Description: Removes the formula reference at the specified index.
GetEnumerator
Syntax: formulaReferences.GetEnumerator()
Return Type: IEnumerator
Description: Returns an enumerator that can iterate through the collection.
Example
Sub AddFormula(p As AutoParameter, _
p1 As AutoParameter, p2 As AutoParameter)
End Sub
72
XRIO Automation
4.5.5 AutoCustomDataValues
Properties and Indexer
Indexer
Syntax: customDataValues [index]
Type: string
Description: Gets the data value with the specified index.
Count { get }
Syntax: customDataValues.Count
Type: int
Description: Gets the number of key-value pairs contained in the collection of custom
defined values.
Item { get }
Syntax: customDataValues.Item[int index]
Type; string
Description: Gets the data value with the specified index.
Methods
Clear
Syntax: customDataValues.Clear()
Return Type: void
Description: Removes all custom data values.
ItemId
Syntax: customDataValues.ItemId (string id)
Return Type: string
Description: Returns the data value associated with the specified key (Id).
73
OMICRON Test Universe
GetKey
Syntax: customDataValues.GetKey(int index)
Return Type: string
Description: Gets the key of the key-value pair at the specified index.
Example (VBA):
Sub ShowCustomDataValues(block As OMXRioData.AutoBlock, row As
Integer)
Dim customDataValues As OMXRioData.AutoCustomDataValues
Dim i As Integer
Dim n As Integer
Workbooks(1).Activate
Cells(row, 1).Value2 = "Key"
Cells(row, 2).Value2 = "Item"
For i = 1 To n
Cells(row + i, 1).Value2 = customDataValues.GetKey(i)
Cells(row + i, 2).Value2 = customDataValues.Item(i)
Next i
End Sub
Add
Syntax: customDataValues. Add(string key, string value)
Return Type: bool
Description: Adds a new key-value pair of custom data values to the end of the custom data
values collection.
Example (VBA):
Set customBlock = doc.customBlock
Set block = customBlock.Blocks.Add("SYNCHRO")
success = block.customDataValues.Add("SYNCCHECK", "Yes")
success = block.customDataValues.Add("DUMIN", "2%")
success = block.customDataValues.Add("DUMAX", "2%")
RemoveAt
Syntax: customDataValues.RemoveAt (string key)
Return Type: void
Description: Removes the custom data value with the specified key from the collection.
74
XRIO Automation
4.6 Errors
Errors detected during de-serialization or within the scope of modifying the document with the XRIO
editor are collected in an error list. The user interface optionally shows the errors in a list view at the
bottom of the editor window. Automation enables full control over this error list. An automation client
has access to the collection of errors; the client can read the registered errors, can delete errors and
can add new errors to the collection of errors.
4.6.1 AutoErrorList
Properties
Indexer
Syntax: errorList [int index]
Type: AutoError
Description: Gets the error at the specified index.
Item
Syntax: errorList.Item[int index]
Type: AutoError
Description: Gets the error at the specified index.
Count { get; }
Syntax: errorList.Count
Type: int
Description: Gets the number of errors contained in the error list.
HasScriptErrors { get }
Syntax: errorList.HasScriptErrors
Type: bool
Description: Gets a value indicating whether the script has errors.
Methods
Clear
Syntax: errorList.Clear()
Return Type: void
Description: Removes all errors in the error list.
ClearGroup
Syntax: errorList.ClearGroup (ErrorGroup group)
Return Type: void
Description: Removes all errors with the specified group.
75
OMICRON Test Universe
ClearForNode
Syntax: errorList.ClearForNode (ErrorGroup group, string elementNodePath)
Return Type: void
Description: Removes all errors with the specified group and the specified id path.
ClearAllScriptErrors
Syntax: errorList.ClearAllScriptErrors()
Return Type: void
Description: Removes all script errors.
AddError
Syntax: errorList.AddError (ErrorType type, ErrorGroup group, string number,
int line, int column, string idPath, string userPath, string description)
Return Type: void
Description: Adds an error with the specified properties to the list of errors.
AddErrorEx
Syntax: errorList.AddErrorEx (ErrorType type, ErrorGroup group, string number,
int line, int column, string idPath, string userPath, string description, string
comment)
Return Type: void
Description: Adds an error with the specified properties to the list of errors. The difference to
AddError is the additional argument comment.
HasEnabledFormulaScriptErrors
Syntax: errorList.HasEnabledFormulaScriptErrors (string elementNodePath)
Return Type: bool
Description: Gets a value indicating whether the block or parameter with the specified path
has errors in the formula for the enabled flag.
HasValueFormulaScriptErrors
Syntax: errorList.HasValueFormulaScriptErrors (string parameterPath)
Return Type: bool
Description: Gets a value indicating whether the parameter with the specified path has errors
in the value formula.
76
XRIO Automation
4.6.2 AutoError
Properties
Column { get }
Syntax: error.Column
Type: int
Description: For XML-Validation errors and for VB.NET compiler errors this is the number of
the column where the error was detected.
Comment { get }
Syntax: error.Comment
Type: string
Description: Gets the comment for the specified error. This field is not used from the
software. You can use this field inside your scripting code. To specify a
comment use the method AddErrorEx from the AutoErrorList object.
Description { get }
Syntax: error.Description
Type: string
Description: Gets a description of the error, this is the error text.
Group { get }
Syntax: error.Group
Type: ErrorGroup
Description: Gets the error group to which the error belongs. Errors are classified in different
error groups. See ErrorGroup constants.
GroupText { get }
Syntax: error.GroupText
Type: string
Description: Gets a text describing the error group.
Line { get }
Syntax: error.Line
Type: int
Description: For XML-Validation errors and for VB.NET compiler errors this is the number of
the line with the detected error.
IdPath { get }
Syntax: error.IdPath
Type: string
Description: Gets the Id-path of the block or parameter with an error.
77
OMICRON Test Universe
IsScriptError { get }
Syntax: error.IsScriptError
Type: bool
Description: Returns true, if the error is a compiler error generated during compiling the VB
script code.
Number { get }
Syntax: error.Number
Type: string
Description: Gets the error number.
Type { get }
Syntax: error.Type
Type: ErrorType
Description: Gets the type of the error.
TypeText { get }
Syntax: error.TypeText
Type: string
Description: Gets a text describing the error type.
UserPath { get }
Syntax: error.UserPath
Type: string
Description: Whenever possible, the software stores the path to a block or parameter with an
error in the error entry. This property gets the path in form of the name
concatenation.
78
XRIO Automation
Methods
IsEnabledFormulaScriptError
Syntax: error. IsEnabledFormulaScriptError(string elementNodePath)
Return Type: bool
Description: Returns true, if the error is an error in the formula for the enabled flag of the
specified block or parameter.
IsValueFormulaScriptError
Syntax: error.IsValueFormulaScriptError(string parameterPath)
Return Type: bool
Description: Returns true, if the error is an error in the value formula of the specified
parameter.
Example:
Sheets("Errors").Activate
Rows("2:100").Select
Selection.ClearContents
Rows("2:100").ClearContents
range("A2").Select
End Sub
79
OMICRON Test Universe
4.7.1 Introduction
The XRIO editor implements two operation modes to adapt the user interface to two different kinds of
users. The terms "normal" and "advanced" specify these modes. The idea behind these modes is
that a "tester" uses the normal mode and a "designer" uses the advanced mode. The terms tester
and designer are used as synonyms for normal and advanced mode.
Depending from the mode, menu items, toolbar buttons and all other controls are visible or not visible,
enabled or not enabled to allow or not allow changing values, formulas, add or delete blocks and
parameters. These "rights" are implemented as an access matrix.
An automation client can use the AccessControl object to modify the access matrix and configure the
XRIO editor and grant or deny rights to modify the XRIO document for these two modes.
Although the concept allows configuring UI and rights for both modes, we recommend to leave the
default settings for the advanced mode unchanged and to configure only the normal mode.
A basic XRIO concept is that the RIO part has a strongly defined structure of blocks and parameters
and that the custom part is very flexible. To protect the structure of the RIO part, an operation is only
allowed, if the necessary right is assigned and the RIO grammar allows the operation. Inside RIO only
some collections, e.g. line and arcs in a generic shape or points in a characteristic table can be
changed.
80
XRIO Automation
Default settings for the rights, depending from the context and the user mode.
Context Custom RIO Blocks RIO Parameters
Right Designer Tester Designer Tester Designer Tester
AddBlock X X n/a n/a
AddParameter X X n/a n/a
ChangeBlockCollection X X n/a n/a
ChangeParameterCollection X X X X
Delete X X X X
ChangeType X X X X
ChangeIds X X X X
ChangeNames X X X X
ChangeForeignId X X X X
ChangeComment X X X X
ChangeEnabled X X X X
ChangeEnabledFormula X X X X
ChangeValue n/a n/a X
ChangeValueFormula X n/a n/a X
ChangeReferenceValue X n/a n/a n/a n/a
81
OMICRON Test Universe
4.7.2 AutoAccessControl
Properties
IsDocumentReadOnly { get }
Syntax: accessControl.IsDocumentReadOnly
Type: bool
Description: Returns true, if the document is in a read only state, e.g. after an executed test.
Role { get, set }
Syntax: accessControl.Role
Type: Role
Description: Gets or sets the role for the current user.
Example:
accessControl.Role = Role_Designer
or
accessControl.Role = Role_Tester
Methods
GetAccess
Syntax: accessControl.GetAccess ( Role role, Context context, Rights right)
Return Type: bool
Description: Returns true if the specified right for the specified context is assigned to the
specified role, otherwise the return value is false.
Example: The example writes all rights that a user have in the designer mode to
manipulate blocks in the RIO part into a file.
Print #1
Print #1, "Rights for Context = RioBlock"
Print #1, "------------------------------------------------------"
For myRight = Rights_AddBlock To Rights_ChangeValueFormula
rightName = accessControl.GetRightName(myRight)
fillString = Space$(27-Len(rightName))
p = accessControl.GetAccess(Role_Designer, Context_RioBlock,
myRight)
Print #1, rightName; fillString; p; Chr$(9);
p = accessControl.GetAccess(Role_Tester, Context_RioBlock, myRight)
Print #1, p
Next myRight
Print #1, "------------------------------------------------------"
82
XRIO Automation
SetAccess
Syntax: accessControl.SetAccess ( Role role, Context context, Rights right, bool permit)
Return Type: void
Description: Sets a new value to permit or deny a right for the specified context and the
specified role.
Example:
accessControl.SetAccess(Role_Tester, _
Context_RioParameter, Rights_ChangeValue, False)
GetUIProperty
Syntax: accessControl.GetUIProperty ( Role role, UIProperties uiProperty)
Return Type: bool
Description: Returns true if the specified property is enabled for the specified role otherwise
the result is false.
Example:
Dim t as Role, d as Role
t = Role_Tester
d = Role_Designer
pd = accessControl.GetUIProperty(d,
UIProperties_ViewParameterCommands)
pt = accessControl.GetUIProperty(t,
UIProperties_ViewParameterCommands)
Print #1, "ViewParameterCommands "; pd; Chr(9); pt
pd = accessControl.GetUIProperty(d, UIProperties_ViewRioTree)
pt = accessControl.GetUIProperty(t, UIProperties_ViewRioTree)
Print #1, "ViewRioTree "; pd; Chr(9); pt
SetUIProperty
Syntax: accessControl.SetUIProperty ( Role role, UIProperties uiProperty, bool permit)
Return Type: void
Description: Set a new value to enable or disable a user interface command or to show or
hide user interface controls.
Example:
accessControl.SetUIProperty(Role_Designer,
UIProperties_ViewParameterCommands)
accessControl.SetUIProperty(t, UIProperties_ViewParameterCommands)
IsTableColumnVisible
Syntax: accessControl.IsTableColumnVisible ( Role role, ColumnName colName )
Return Type: bool
Description: Returns true if the specified column is visible in the specified user mode,
otherwise false.
83
OMICRON Test Universe
SetShowTableColumn
Syntax: accessControl.SetShowTableColumn ( Role role, ColumnName colName, bool
newValue
Return Type: void
Description: Use this method to define whether the specified column in the specified user
mode is visible or hidden.
Example:
accessControl.SetShowTableColumn( _
Role_Tester, ColumnName_ForeignId, False)
accessControl.SetShowTableColumn( _
Role_Tester, ColumnName_Description, False)
SetDefaultValues
Syntax: accessControl.SetDefaultValues()
Return Type: void
Description: Resets all rights and user interface settings to the default values.
GetRightName
Syntax: accessControl.GetRightName ( Rights right )
Return Type: string
Description: Gets a string containing the name of the specified right.
Example:
Dim t as Role
t = Role_Tester
For myRight = Rights_AddBlock To Rights_ChangeValueFormula
rightName = accessControl.GetRightName(myRight)
p = accessControl.GetAccess(t, Context_RioParameter, myRight)
Debug.Print rightName; p
Next myRight
GetUIPropertyName
Syntax: accessControl.GetUIPropertyName ( UIProperties uiProperty )
Return Type: string
Description: Gets a string containing the name of the specified user interface setting.
84
XRIO Automation
4.8.1 AutoFilters
This collection hosts all the XRIO Filters that are installed on the current system.
Methods
ItemId
Syntax: filters.ItemId(string id)
Return Type: AutoFilter
Description: Gets the filter object with the specified id. The return value is a null reference
(Nothing in VB) if the id is not found.
ExecuteImport
Syntax: filters. ExecuteImport(AutoFilter selectedFilter, bool withUI)
Return Type: bool
Description: Performs an import using the selectedFilter.
85
OMICRON Test Universe
GetEnumerator
Syntax: filters.GetEnumerator()
Return Type: IEnumerator
Description: Returns an enumerator that can iterate through the collection.
4.8.2 AutoFilter
Properties
AssemblyPath { get }
Syntax: filter.AssemblyPath
Type: string
Description: Gets the path of the current assembly executable file.
Id { get }
Syntax: filter.Id
Type: string
Description: Gets the ID of the current filter object.
IsExportSupported { get }
Syntax: filters.IsExportSupported
Type: bool
Description: Returns true if the current filter also supports export.
Name { get }
Syntax: filter.Name
Type: string
Description: Returns the name of the current filter.
Version { get }
Syntax: filter.Version
Type: double
Description: Gets version information of the filter.
VersionString
Syntax: filter.VersionString
Type: String
Description: Gets version information of the filter as a string.
86
XRIO Automation
Methods
ExecuteExport
Syntax: filter. ExecuteExport
Return Type: bool
Description: Performs an export using the current filter.
ExecuteImport
Syntax: filter. ExecuteImport
Return Type: bool
Description: Performs an import using the current filter.
GetParameter
Syntax: filter.GetParameter(bool isImport, string paramName)
Return Type: string
Description: Gets the parameters of the current filter.
SetParameter
Syntax: filter.GetParameter(bool isImport, string paramName, string paramValue)
Return Type: void
Description: Sets the parameters of the current filter.
ShowParameterDialog
Syntax: filter.ShowParameterDialog(bool isImport)
Return Type: bool
Description: Shows the parameter dialog (that has to be implemented in the filter).
87
OMICRON Test Universe
To fulfill its tasks XRIO has to model the other direction, too. Is a parameter, a block or parts of a sub
block tree referenced by other formulas?
4.9.1 AutoDependency
Methods
HasBlockDependencies
Syntax: dependency.HasBlockDependencies(AutoBlock b)
Return Type: bool
Description: Checks if the current block (or one of its sub blocks, parameters or enumeration
values) contains formula definitions or that it is used by formulas that are
defined outside the block (see IsBlockUsed function).
HasEnumValueDependencies
Syntax: dependency.HasEnumValueDependencies(EnumValue e)
Return Type: bool
Description: Checks if the current enumeration value definition (this is one of the possible
values of an enumeration parameter) contains formula definitions or that it is
used by formulas that are defined outside (see IsEnumValueUsed function).
HasParameterDependencies
Syntax: dependency.HasParameterDependencies(AutoBlock b)
Return Type: bool
Description: Checks if the current parameter (or one of its enumeration values) contains
formula definitions or that it is used by formulas that are defined outside the
block (see IsParameterUsed function).
IsBlockUsed
Syntax: dependency.IsBlockUsed(AutoBlock b)
Return Type: bool
Description: Checks if the current block (or one of its sub blocks, parameters or enumeration
values) is used by formulas that are defined outside the block.
88
XRIO Automation
IsEnumValueUsed
Syntax: dependency.IsEnumValueUsed(EnumValue e)
Return Type: bool
Description: Checks if the current enumeration value definition (this is one of the possible
values of an enumeration parameter) is used by formulas that are defined
outside.
IsParameterUsed
Syntax: dependency.IsParameterUsed(AutoBlock b)
Return Type: bool
Description: Checks if the current parameter (or one of its enumeration values) is used by
formulas that are defined outside the block.
Example:
If dep.HasBlockDependencies(block) Then
MsgBox "BlockDependencies"
End If
If dep.IsBlockUsed(block) Then
MsgBox "IsBlockUsed"
End If
89
OMICRON Test Universe
4.10.1 DocState
This enumeration is the return type of the document methods LoadFromFile and LoadFromString.
Member name Description
FatalError Signals that the operation fails. In this case normally the XML
document is not well formed.
Warnings Signals that the document could be read, but that the XML-document
contains errors (invalid parameter values, validation errors).
NoError The document has no errors.
4.10.2 ErrorGroup
XRIO distinguishes different errors and classifies an error according to the source and the severity of
an error. ErrorGroup enumerates the different errors.
90
XRIO Automation
4.10.3 ErrorType
ErrorType classifies the severity of an error, the members are Error, Warning and Information.
4.10.4 NodeType
Specifies the different node types.
Applies to: Distance test object.
NodeType members:
Member name Description
Root The (XML) root node of an XRIO document
CustomRoot Root node (block) of custom part, is child of Root.
Rio Root node (block) of RIO part, is child of Root.
Script Node with scripting functions as content.
Custom Block in the custom part.
Parameter Parameter in the custom part.
RioGenerator Contains information about the RIO converter (generator).
…
Members for all kinds of
blocks in the RIO part.
4.10.5 ParamDataType
Specifies the different parameter data types.
ParamDataType members:
Member name .NET Type / Description
Boolean bool
Enumeration List of ID and possible localized name pairs. The actual internal value
is one of the unique ID's.
Integer Int32; Range: -2,147,483,648 to 2,147,483,647
Real Double, Range: ±5.0 × 10−324 to ±1.7 × 10308; Precision: 15-16
digits
String Unicode character string.
91
OMICRON Test Universe
4.10.6 ParamUnitType
Specifies the different unit types for parameters.
Applies to: Parameters with floating point data (ParamDataType_Real)
ParamUnitType members:
Member name .NET Type / Description
Direct No conversation between internal value and display value.
Cycles Internal value is a time in seconds.
Kelvin Internal value is a temperature in °C.
Fahrenheit Internal value is a temperature in °C.
4.10.7 ReferenceType
Specifies to different types of formula references.
Applies to: Formulas
ReferenceType members:
4.10.8 Context
The content of an XRIO document must fulfill formal rules defined by a XML schema and test object
specific rules. The blocks and parameters in the RIO part are predefined from OMICRON, the content
of the custom part is defined from a relay manufacturer, a test developer or from the end user. The
software uses the access control component to show or hide, enables and disables menus and
commands to manipulate the content of an XRIO document. Which kind of data manipulations are
allowed for a specific node depends from the node type and the user's role. The context classifies the
different nodes into three groups.
Member name Description
RioBlock A block in the strongly defined RIO part.
RioParameter A parameter in the strongly defined RIO part.
Custom Block or parameter in the custom part.
92
XRIO Automation
4.10.9 Rights
Specifies rights to manipulate a XRIO document. Whether a right is enabled or disabled depends from
the role and the context. Applies to: Access control component
Rights members:
4.10.10 Role
Specifies two different types of roles for the user.
Applies to: Access control
Role members:
Member name Description
Designer Intended for a user, who will develop RIO converters and/or
extensions to the XRIO document.
Tester Intended for a user, who will use a prepared XRIO document to
examine a well defined standalone test or the test in a prepared OCC
document.
93
OMICRON Test Universe
4.10.11 UIProperties
Specifies restrictions for the XRIO editor user interface. Applies to: Access control
UIProperties members:
Member name Description
AddRioFunction The right to add RIO functions.
CanChangeRole The right to change the role from designer to tester and vice
versa.
CanUseExport The right to export (store) a RIO document in a XRIO-file.
CanUseExportFilter The right to use export filters.
CanUseImport The right to import (read) a XRIO document.
CanUseImportFilter The right to use export filters.
CanUseOrganizer The right to use the organizer. The organizer can merge XRIO
files.
CustomizeTableColumns The right to customize the table columns (hides and show
columns).
ViewBlockCommands Determines whether the menu and toolbar buttons for the block
commands are visible.
ViewDisabledNodes Determines whether disabled nodes are visible.
ViewParameterCommands Determines whether the menu and toolbar buttons for the
parameter commands are visible.
ViewRioBlocks Determines whether child blocks of RIO functions are visible, in
other words determines whether the RIO functions can be
expanded.
ViewRioTree Determines whether the RIO node is visible.
CanUseDisplayFilter The right to use display filters.
CanCopyReferenceValueToValue The right to copy the reference value onto the value
CanCopyValueToReferenceValue The right to copy the value onto the reference value
Count Number of enumeration members ( = 16)
94
XRIO Automation
4.10.12 ColumnName
This enumeration enumerates the columns in the parameter table.
The AccessControl object allows you to configure the parameter table for two different user modes.
Use this enumeration to address a column. The value conforms to the column number. Count is the
maximal number of columns.
Member name Column number / Comment
Not defined (Status Icon) 0
Name 1
Id 2
ForeignId 3
Description 4
ReferenceValue 5
Value 6
Unit 7
Min 8
Max 9
Formula 10
Count Number of columns = 11
4.10.13 CallerType
For internal use.
4.10.14 OvcCharType
Enumerates the different types of Overcurrent characteristics.
Applies to: Overcurrent test object.
95
OMICRON Test Universe
4.10.15 GroundingFactor
Specifies methods to define the grounding factor. For further information, refer to the XRIO manual.
Applies to: Distance test object.
4.10.16 Tolerance
Specifies different modes of setting tolerances.
Applies to: Distance test object.
Member name Description
TTOLMINUS Tolerance for tripping times used as t - Δt.
TTOLPLUS Tolerance for tripping times used as t + Δt.
TTOLREL Tolerance for tripping times in relative values.
ZTOLABS Tolerance for Impedance in absolute values.
ZTOLREL Tolerance for Impedance in relative values.
96
XRIO Automation
4.10.17 TransducerFunctionType
Specifies different transducer functions.
Applies to: Transducer test object.
4.10.18 TransducerOuputType
Specifies the transducer output.
Applies to: Transducer test object.
Member name Description
TransducerOutputCurrent Current
TransducerOutputVoltage Voltage
TransducerOutputOpenLoop Open Loop
97
OMICRON Test Universe
5 Appendix
Abbreviations
RIO Relay Interface by OMICRON
XRIO eXtended Relay Interface by OMICRON
XML eXtensible Markup Language
XPath String used to address parts of an XML file
VBA Visual Basic for Applications
VB.Net Visual Basic.Net
Definitions
Test Object Component of the Test Universe software describing the device under test
XRIO Specification for Test Object definitions introduced with Test Universe 2.0
XRIO File Saved XRIO Test Object as a file
XRIO Converter Test Object with automatic calculation of parameters from settings
XRIO Filter Software to import/export data in/from an XRIO Converter
Automation Microsoft technology that enables cross-application programming.
Automation Client Application that controls/programs other application using Automation, e.g. a
scripting environment
98