Librarian Configuration Workspace
This section provides information on object models, import rules, and handling fault events.
In order to represent an IEC61850 device in the management station, you must first define an object model using one of the following procedures:
- Designing the object model by browsing an online IEC 61850 device
- Designing the object model using the offline method
When you define an object model, the following two files are created and stored in the Temp folder on your system:
- IEC_OM.csv – Contains information of the defined object model.
- Rules.xml – Contains the Import Rules for the defined object model.
Using these files, you can alternatively define Import Rules from the Libraries folder and modify the Import Rules. In order to modify the Import Rules, you must merge the contents of Rules.xml from your Temp folder with the Rules.xml located at GMSCustomerProject\libraries\EnergyandPower_Device_IEC61850_HQ_1\ImportRules.
After defining an object model, you must configure it with additional properties, if you want the IEC61850 device to support events. For information on configuring additional properties, see Configuring an Object Model for Event Support.
In order to create instances of IEC61850 devices, you must create the engineering data in the form of a comma-separated value (CSV) file. A CSV file contains data in which values are represented as text and separated using a separator such as comma a (,). The file in the CSV format can be edited in text editors such as Wordpad or Notepad. More elaborate editing can be done using advanced word processing tools, like Excel. The Importer can only parse CSV files which use a comma (,) as a separator.
The CSV file contains mandatory, as well as non-mandatory data. The following table provides more information related to the parsing of data with reference to mandatory and non-mandatory information in the CSV file.
Error Condition | Result |
Value of a mandatory field is incorrect in a CSV file row | The data in the entire row is not allowed for import. |
Value of a mandatory field is blank in a CSV file row | The data in the entire row is not allowed for import. Information is logged as error message in the Analysis Log and Trace Viewer. |
Value of a non-mandatory field is incorrect in a CSV file row | The value of that particular field is not allowed for import. However, the other values in the row are imported. Information is logged as a warning message in the Analysis Log and Trace Viewer. |
Value of a non-mandatory field is blank in a CSV file row | The entire row is imported. However, if the Discipline or Type fields are empty, then the corresponding Subdiscipline and Subtype fields are ignored. This information is logged as a warning message in the Analysis Log and Trace Viewer. |
For some mandatory fields, such as Port Number, if the value is not entered or is incorrect, then the default port value of 102 is used and the data for that row is imported, as long as all the other mandatory fields have correct data.
The Importer parses the CSV file row by row and imports the data in that row if it does not have any of the above mentioned error conditions. On successful import, the objects are created below the IEC61850 network node in the System Browser.
Validations for Parsing the CSV File Entries for Device Connections
- If the number of tokens is less than the required number, which is essential for validation (in this case, 6), then the line is invalid.
- If the token value is empty or null, then it is treated as invalid.
- If the given device connection name contains invalid characters, then it is treated as invalid.
- If the given device connection name contains special characters other than underscore( _ ), then it is treated as invalid.
- If the given device connection name already exists in the same CSV, then the newer entry of the interface is treated as invalid.
- If the IP address token is not in the format xxx.xxx.xxx.xxx where xxx is 0 through 255, then it is treated as invalid.
- If the port number is of a type other than a number, then it is treated as invalid.
Validations for Parsing the CSV File Entries for Logical Devices
- If the number of tokens is less than the required number which is essential for validation, then the line is invalid.
- If a token value is empty or null, then it is treated as invalid.
- If the given logical device name contains invalid characters, then it is treated as invalid.
- If the given logical device name contains special characters other than underscore( _ ), then it is treated as invalid.
- If the given logical device name already exists in the same CSV file, then the new entry is treated as invalid.
- If a token value is empty or null, then the value is ignored.
- If an ObjectModel that is mentioned in the CSV file does not exist in the system, then it is treated as invalid
- In the CSV file, if only the device connection or logical device entries are present, then those entries are ignored.
- If any logical device entry is present above Device Connection entry, then that device entry is ignored. A Logical Device is always present below the Device Connection entry.
- If two consecutive entries of Device Connections are present without the logical device entry below the second Device Connection entry in the CSV file, then both the Device Connection entries of the Device Connection are ignored.
- If two consecutive entries of Device Connections are present with the logical device entry below the second Device Connection entry in the CSV file, then first entry of the Device Connection is ignored.
- If there are any logical device entries present without parent entry of the Device Connection, then those logical device entries are ignored.
- There can be multiple logical device entries under a Device Connection entry in the CSV file.
You can convert an older version of the CSV file to a newer version using the IEC61850CSVConverter utility. This utility is available in the bin folder of the GMSMainProject folder of your machine.
This conversion is required when you must upload the data from an older version of the CSV file to the management station. Instead of copying the data from the older version of the CSV file and manually pasting it to the new format, you can use the IEC61850CSVConverter.
Updates Performed to the Existing Data During Conversion
- The
[DRIVER]
section will be added - Update to the
[FILEVERSION]
section - The Address Profile column will be added in
[DEVICES]
After you have defined your object model, you must configure the Import Rules on the Objects and Properties expander.
Objects and Properties Expander: Objects
Objects Fields | |
Item | Description |
Object Model | Custom IEC61850 Object Models as imported in the custom library. |
Power Quality Monitoring | Select the Power Quality Monitoring check box to support the alert generation in the management station using the HDR file. |
Has HDR File | Select the Has HDR File check box to generate alerts using an HDR file. The HDR file provides information regarding the cause of the fault, the fault number, the time when the fault was triggered, and so on. |
Objects and Properties Expander: Address Profiles
You can create multiple address configurations for an object model by creating multiple address profiles. These profiles are required to support multiple address configurations that can be applied to a particular device instance.
After creating the address profiles, you may provide the address configurations for these profiles from the Properties section. You can also have empty address configurations for any of the properties of the object model. You can set one of the address profiles as the default profile.
When importing the CSV file, the address configuration of the any address profile can be associated with the device instance. If no address profile is specified with the device instance in the CSV file, then the default profile from the Import Rules will be applied automatically.
However, if the configured address profile from the CSV file is not present in the Import Rules, then the instance of device will not be created in the Management Platform and an error message will display in the analysis log.
Address Profiles Fields | |
| Description |
Profile Name | Address Profile for the selected object model. |
Default | Allows you to select the Address Profile that is to be set as the default profile. When importing a CSV file that does not have an address profile associated with a device instance, the importer will use the address configuration of the default address profile during import. |
Add | Allows you to create a new address profile. |
Copy | Allows you to create a copy of an existing address profile along with its address configuration. You can then rename this profile to a new profile and modify the displayed address configuration for the new profile in the Properties section. This ensures that you do not need to manually specify the address configuration for each individual property. |
Remove | Removes an existing address profile. |
Objects and Properties Expander: Properties
Properties Fields | |
Item | Description |
Property Name | Name of the property of the selected object model. |
Data Type | Data type of the selected property. |
Direction | Select the direction. |
Transformation Type | Select a transformation type from a list of types supported by that Data Type. |
Reference | Hardware reference address on the device where the selected property will write to or read from. |
Active | Enables or disables the address configuration of the selected property. If you disable this field, then the value of the property instances will not communicate with the field device. |
Visibility | Select the Visibility check box if you want the property of the selected object model to be displayed in the Operations and Extended Operations pane. By default this check box is selected, however, if you do not want to display this property, you must deselect this box. |
Low Level Comparison | Low Level Comparison is applicable for only those properties with Direction as Input or InOut. By default, this check box is unchecked. If this box is selected, then the driver sends only the changed property values to the device. |
Reference find | Enter the text to be replaced in Reference. |
Replace with | Enter the new text which you want to replace with the text specified in Reference find. |
Replace | Replaces all the instances of the text in Reference. |
The IEC61850 device generates Fault events whenever the value of the frequency, voltage, or current goes beyond the configured limit. The type of Fault events that generates depend on the configuration in the IEC61850 device. Depending on the type of faults, the events can be classified majorly as follows:
- Voltage Dip: the value of voltage goes below the configured lower limit
- Voltage Swell: the value of voltage goes above the configured upper limit
- Low Current: the value of current goes below the configured lower limit
- High Current: the value of current goes above the configured upper limit
- Under Frequency: the value of frequency goes below the configured lower limit
- Over Frequency: the value of frequency goes above the configured upper limit
To get information regarding the power quality measurements within the device, you must download the PQDIF file which is a binary file format. The PQDIF files are downloaded according to the time interval specified in the Files Download Interval property in the Extended Operation tab. The default time interval is 1 hour. In order to download the PQDIF files, you must enable the Download Files property in the Extended Operation tab. You can access this file from the following location in your customer project, \data\IEC61850\DR\<Device cns path>\OtherFiles.
Whenever there is a fault in the IEC61850 device, a corresponding Comtrade file having either of the following file formats (.HDR, .CFG, or .DAT) is generated if the device supports the generation of the file. These Comtrade fault files start downloading at the following location as soon as the connection with the device is established, \data\IEC61850\DR\<Device cns path>\FaultFiles.
For Comtrade files, you need to install the comtrade viewer that is available at the path …\AdditionalSW\ComtradeViewer on the distribution media.
For PQDiff files we recommend PQDiffractor, which can be downloaded from http://www.pqview.com/pqdiffractor/.
Alert Generation on the basis of HDR file
The HDR file is a Fault file that is generated when a fault occurs in the IEC61850 device. To support the alert generation in the management station using the HDR file, you must select the Power Quality Monitoring and Has HDR file options for the object model in the respective library in the Import Rules application. The HDR file provides information regarding the cause of the fault, the fault number, the time when the fault was triggered and so on. After the HDR file is generated in the IEC61850 device, it is downloaded at the following location in your customer project, \data\IEC61850\DR\<Device cns path>\FaultFiles. Thereafter, the contents of the file are sent as a Request in order to parse its contents. To parse this file, you must write a Java script in the Scripting EM, which you must install, along with the installation of the Management Station. After the contents of the HDR file are parsed by the script, a response is generated and the fault alarm displays in the Alarm Status window. This alarm can only be acknowledged; it cannot be reset.
Alert Generation without an HDR file
In this case, whenever a fault triggers in the IEC61850 device, the Value.info.FaultNumber property of the object model is incremented and an event is generated. The Fault files (Comtrade files) are downloaded at a default interval of 5000 milliseconds. You can change this default value by updating the value of the Value.info.FaultFilePollInterval property.
In order to parse the contents of the HDR file and fetch the fault event details, you must write a java script using the Scripting EM and this script must be present within the Scripts folder in the System Browser. You must also ensure that the Execution mode of the script is set to automatic in the Extended Operations tab.
The format of the content of the HDR file may vary across different IEC61850 devices. Accordingly, the parsing logic of the HDR file will also vary across these devices. Therefore, this logic is placed in a Java Script and not in the IEC61850 extension module. This enables the librarian to modify the parsing logic as required.
The Java script subscribes to the Value.info.Request property to get information such as the name and the content of the HDR file. The first line of the Value.info.Request property contains the name of the fault file. After parsing the contents of the HDR file, a response is generated and written by Java script to the Value.info.Response property.
While formulating a response in the Java script file, you must observe the following syntax. The response elements must be separated by a semicolon “;”.
[File name;Text group name;Index;Came time;Went time;Message text].
For example, FR_00408.HDR;TxG_IEC_AlertTexts;2;1489142059908;;Fault number = 00408.
Response Element | Description | Example |
File name | Name of the fault file received from the Value.info.Request property . This file name is used to maintain context between request and response. This is a compulsory field. | FR_00408.HDR |
Text group name | Name of the text group where you have specified the texts for fault causes. If this value is not specified then, the event text from the TxG_IEC61850Alert text group of the IEC61850 base library displays. | TxG_IEC_AlertTexts |
Index | Corresponding text group index where the text for a particular fault cause is specified. This text is used as the event text in the alert. If this value is not specified in the response we take the event text from TxG_IEC61850Alert text group from the IEC61850 base library. | 2 |
Came time | Date and Time of generation of the fault. The date and time value for Came Time must be specified in milliseconds as per the UTC time scale. This value can be left blank, if it is not present in the fault file. | 1489142059908 |
Went time | Date and Time when the fault is handled. The date and time value for Went Time must be specified in milliseconds as per the UTC time scale. This value can be left blank, if it is not present in the fault file. | In the above example, Went time is not specified, hence this value is left blank. |
Message text | Text to be displayed as an alert message when a fault is generated. | Fault number = 00408 |
In the HDR fault file, the Came time and Went time are specified in UTC date time format. For example,
UTC Date/Time | UTC date time in milliseconds since midnight Jan 1 1970 |
3/10/2017 10:34:19 A.M. | 1489142059908 |
Different situations related to Event Went time and Event Came time
- If the Event Came time is present but Event Went time is not present in the Java script response, then the IEC61850 extension module considers the Event Went time as equal to Event Came time.
- If both, Event Came time and Event Went time are missing from the Java Script response, then the IEC61850 extension module substitutes the current time for Event Came and Event Went time.
- If Event Came time is not present in the Java script response, but Event Went time is present, then the IEC61850 extension module considers the Event Came time as equal to Event Went time.
The format of the engineering data in the CSV file is structured as follows:
From the above diagram related to the format of the engineering data, there are two main parts; the connection and the device. Each device has a unique connection specification. Hence, before a device is declared, its connection should precede it.
Header
The Header section contains two separators, a List Separator and a Decimal Separator. Both these separators are placed in the same sequence on two subsequent lines. These separators are placed inside quotes for easy identification.
The List Separator is used as a delimiter for parsing of row data in the CSV file.
The Decimal Separator is used for parsing of fields having values as floating point numbers.
Driver
Specifies the name of the subsystem (For example, IEC61850) to which the CSV file is associated with.
FileVersion
Displays the current version of the CSV file.
Connections
Connection Fields | |
Item | Description |
ConnectionName1) | Name of the IEC61850 connection. |
ConnectionDescription1) | Description of the IEC61850 connection. |
IP_Address1) | IP address of the connection of the IEC61850 network. This field should be in the format xxx.xxx.xxx.xxx where x is numeric and xxx is 0 through 255; both values inclusive. In the IEC61850 tab in the Device Connection expander, you can edit the IP address after import. |
Port | TCP port number to be assigned to the Device Connection. It must be numeric and in the range of 0 through 65535. |
Active | Specifies whether or not a connection with the IEC61850 device is to be established. It can have either of the following two values: |
Alias | Alias associated with the connection. The alias is unique across the management station. |
FunctionName | The associated function of the object. |
DisciplineID | Category of the discipline (for example, Building Infrastructure). |
SubdisciplineID | Description of the object (for example, Elevators for Building Infrastructure discipline). |
TypeID | Category of the corresponding type (for example, Boiler). |
SubtypeID | Description of the object (for example, Variable for type Boiler). |
1) | Mandatory field |
Devices
Device Fields | |
Item | Description |
ParentConnectionName1) | Name of the Connection to which the device should be associated with. The value in this field must be identical to the ConnectionName field. |
DeviceName1) | Name of the IEC61850 device. |
DeviceDescription1) | Description of the IEC61850 device. |
ObjectModel1) | Object Model of the device. You need to define and import an Object Model in the system before you can use this field. Refer to section Using an Object Model to Represent an IEC61850 Device for more information on object models. |
AddressProfile | AddressProfile associated with the object model to be applied with the device instance. |
Alias | Alias associated with the device. The alias is unique across the management station. |
FunctionName | The associated function of the object. |
DisciplineID | Category of the discipline (for example, Building Infrastructure). |
SubdisciplineID | Description of the object (for example, Elevators for Building Infrastructure discipline). |
TypeID | Category of the corresponding type (for example, Boiler). |
SubtypeID | Description of the object (for example, Variable for type Boiler). |
LogicalHierarchy | Logical Hierarchy of the device in the logical view. The logical hierarchy path in the CSV file must start and end with a backslash (\). |
UserHierarchy | User hierarchy of the device in the user-defined view. The user hierarchy path in the CSV file must start and end with a backslash (\). |
1) | Mandatory field |