Can I create a report for a specific relay type listing only few settings of interest?


Yes, this task can be done by using our Python Scripting feature.

For example, create a report of the I>, I>> and I>>> functions of a P139 relay.

Do the following three operations:

  1. Define the "Default" layout.
  2. Activate the PDF/HTML/Excel layout option.
  3. Write a Python script to fill the report with data.
  • Defining the "Default" layout: Definition of the information that will be represented in the report. For example:
 <Table tableXpath="./P139" rowXpath="./Row">
<Item label="Index" valueXpath="./Index" width="4%" />
<Item label="Substation" valueXpath="./Substation" width="8%" />
<Item label="DeviceName" valueXpath="./DeviceName" width="8%" />
<Item label="Type" valueXpath="./Type" width="8%" />
<Item label="CTpri [A]" valueXpath="./CTpri" width="9%" />
<Item label="CTsec [A]" valueXpath="./CTsec" width="9%" />
<Item label="I> [Inom]" valueXpath="./Ig" width="9%" />
<Item label="t> [sec]" valueXpath="./Tg" width="9%" />
<Item label="I>> [Inom]" valueXpath="./Igg" width="9%" />
<Item label="t>> [sec]" valueXpath="./Tgg" width="9%" />
<Item label="I>>> [Inom]" valueXpath="./Iggg" width="9%" />
<Item label="t>>> [sec]" valueXpath="./Tggg" width="9%" />
  • Activation of the PDF/HTML/Excel layout.
  • Write a Python script to assign values from StationWare to reserved <Items> defined in the default layout.
    • If we have a list of all devices in StationWare, we will loop through the list to find the device type of interest.
    • Start addressing values that will be written in the rowXpath="./Row" from the default layout by using WriteStartElement() method.
    • Get a list of all available settings in a device and look for the one that is in the phase Applied.
    • If you have accessed the Applied setting, look for the settings groups and settings of interest.
    • By using Output.WriteElementString(valueXpath,Value) you can assign the value of interest to this one specific <Item> in the active rowXpath="./Row" of the report.
for eachDevice in allDevices:
if eachDevice.DeviceType.Name=="P139_602_EN":
 Output.WriteStartElement("Row") # <Row>
for eachSettings in listOfSettings:
if eachSettings.PhaseName=="Applied":
for eachSettingsGroupInfo in SettingGroupInfosList:
if eachSettingsGroupInfo.Name=="Parameters->Function parameters":
for eachsettingsGroupParameter in settingsGroupParameters:
if eachsettingsGroupParameter.Name=="x010_u002E_001":
if eachsettingsGroupParameter.Name=="x010_u002E_003":

if eachsettingsGroupParameter.Name=="x017_u002E_002":
if eachsettingsGroupParameter.Name=="x017_u002E_007":
Output.WriteEndElement()# </Row>