Customizing PowerControls Library

<< Click to Display Table of Contents >>

 

Customizing PowerControls Library

Customizing PowerControls library requires some attention. It is important to remember that this library is developed and maintained by Elipse Software, that is, if users perform any modification on an XControl of this library, this customization is lost when this library is eventually updated. For this scenario, this exercise demonstrates the recommended way to customize PowerControls library, which consists in creating a new library containing an instance of the standard library.

In this application, all Breakers must contain an icon of Protection 79 near the object. To do so, let's create a customized version of a Breaker object.

1.Delete the ProtectionItem object created on Screen in the previous exercise.

2.Create a new XControl using Organizer's Insert XControl in option, then selecting the <New Library> option.

Insert XControl in option

Insert XControl in option

3.Configure a name for this new library.

4.Rename the object created from "XControl1" to "BreakerCustom".

5.Instantiate a Breaker object inside BreakerCustom object.

Insert a Breaker object

Insert a Breaker object

 

NOTE

When instantiating an XControl inside another one, this creates a dependency between libraries. Now, the BreakerCustom object from the library just created only works correctly if the PowerControls library is also available in the Domain.

 

6.Create the SourceObject property, which must be exactly the same as the original XControl.

SourceObject property

SourceObject property

7.Link the SourceObject property to the same library's internal property. To do so, select the Design tab of the BreakerCustom object, right-click Breaker1 object, and then select the Links tab. Link the SourceObject property of Breaker1 object to SourceObject property of BreakerCustom object, according to the next figure.

Link with the SourceObject property

Link with the SourceObject property

8.After this procedure, create the points referring to terminals. This must be performed using the Edit Connection Points Edit Connection Points tool. The first one must be named "Terminal1", and its suffix must be incremented according to the number of points needed (in this case, "Terminal1" and "Terminal2").

Creating Terminal 1

Creating Terminal 1

Creating Terminal 2

Creating Terminal 2

9.In addition to SourceObject property, the Screen Importer needs Orientation, ShowTerminals, and ColorMode properties to perform the import process of customized objects to an operation Screen. As with the SourceObject property, create Orientation, ShowTerminals, and ColorMode properties, according to the next figure.

Creating properties

Creating properties

NOTE

The ColorMode property is only available in applications created in Elipse Power's version 4.7 or later.

 

10.Link those properties just created to their respective library's internal properties, as shown previously on this exercise.

Links for the new properties

Links for the new properties

11.For the changes needed, let's insert a ProtectionItem object. To do so, select the Design tab of the BreakerCustom object, right-click the gray area and select the Insert - PowerProtectionControls - ProtectionItem item.

Inserting a ProtectionItem object

Inserting a ProtectionItem object

12.Place this object near the Breaker.

Placing the ProtectionItem object

Placing the ProtectionItem object

13.Right-click this object and select the Properties item. On Links tab, click AppBrowser on the right side of ProtectionSource property to open AppBrowser.

14.By using AppBrowser, select the SourceObject of BreakerCustom object.

15.Complete the expression by typing ".Protections.[79]". The final expression must be similar to the next figure.

SourceObject property with expression

SourceObject property with expression

NOTE

The ProtectionItem XControl, configured this way, only works correctly if exists, inside the linked Breaker, a Protections folder and a Protection named 79. Notice that Domain Verifier indicates that this Link is incorrect, coloring this expression in red. If the application follows this proposed rule, this indication can be ignored.

 

16.Save all changes.

17.Right-click Organizer's Objects Library item and select the Register Loaded Libraries Register Loaded Libraries option.

18.Finally, import the Screen again, but now using the BreakerCustom object. To perform this import process, right-click the PowerConfiguration item on Server Objects - Power - Configuration and select the Electrical Model - Import to Screen(s) option.

Import to Screen(s) option

Import to Screen(s) option

19.On the Import to Screens window, select the Preferences option.

20.On the Import to Screens Preferences window, disable the Use default classes from PowerControls.lib library option and, on the Breaker object, select the customized Breaker (BreakerCustom), by clicking Select class on the Class column.

Import to Screens Preferences window

Import to Screens Preferences window

NOTE

If all configurations are executed successfully (properties and terminals), the name of the class appears in bold, informing that this class is not a default class. Otherwise, a message is displayed indicating which points are not configured successfully.

 

21.Click OK and, on Import to Screens window, select the SE1 Substation and the Screen to where this Substation must be imported. Import to the Screen and check if that Screen is imported with the object created previously.

22.Execute the application and check this new functionality.

 

NOTE

This format of customizing libraries allows updating Elipse Software's base library (PowerControls.lib) and any improvement performed on the base object is applied automatically to the customized library. However, if this feature is not needed and users want to perform a change more quickly, they can simply create these new features on the standard library. Therefore, all Screens already imported receive this new functionality.

 

CHALLENGE XII

Create a Display, near the Breaker, to indicate whether it is in Local or Remote mode. Execute this configuration inside the library.

Was this page useful?