Support : Knowledge base

Knowledge Base

Welcome to OPAL-RT’s Knowledge Base

OPAL-RT offers a repository of support information for optimal use of its technology.

Loading…

Please note that OPAL-RT knowledge base is not fully optimized for mobile platforms.

For optimal experience, use a desktop computer.

Reference Number: AA-01990// Views: AA-01990// Created: 2021-02-05 20:04:52// Last Updated: 2021-02-05 20:55:35
eMEGASIM
DEMO: Reconfigurable breakers in a model with multiple configurations

The real-time simulation of models with a very high number of breakers can be challenging. Even SSN may not be able sometimes to handle correctly cases with more than 100 switches typically; limiting number of switches under 9 to 12 in each SSN groups may lead to a very high number of SSN nodes and poor performances.

In many cases however, it is not required to operate all the breakers in a single test. Using the Reconfigurable Breakers block, one can connect many more than 9-12 switches/breaker blocks per SSN groups as long as it activate only 9 to 12 >per test case<. This approach is useful to avoid maintaining several model variant for each test case.


This demo is provided directly in our software, here is how you can get it:

If you do not have our software installed, here is the link to download it.

1. First access ARTEMiS demos by typing demo blockset artemis in the MATLAB command prompt and press ENTER:


2. In the pop-up window. You will have many ARTEMiS examples. The specific example you are looking for is under SSN advanced application. Simply click on the desired demo (note that depending on the MATLAB version used the following image could be different for you but the path is the same) and then click on Open this Example.


Here is further explanation on how to implement and use these reconfigurable breakers:

1. First replace breakers in your model by reconfigurable breakers (simply copy the blocks from the example) and give significant names to those breakers. The objective here will be to 'activate', 'close' or 'open' specific breakers for specific test scenarios. In the following example, there will be 3 breakers.

2. Once all breakers are replaced, run cfbrk=ConfigureSSNSwitches(bdroot,1) to see the list of reconfigurable breakers seen by ARTEMiS SSN. The list helps in knowing the right order of breakers as seen by ARTEMiS SSN.

3. Decide what will be status of the breakers for one test scenario and define them running the command conf with the vector of status. If in the first test scenario, the user knows the breakers will all be closed, then run command conf={'on','on','on'}

4. Configure the breakers by running the command ConfigureSSNSwitches(bdroot,2,cfbrk,conf) where conf corresponds to the previously defined configuration.


Note that ARTEMIS SSN now sees 0 switches. 

Now for test scenario 2, the user wants all breakers to be opened . Run command conf={'off','off','off'} then command ConfigureSSNSwitches(bdroot,2,cfbrk,conf):

 

Note that ARTEMIS SSN now sees 0 switches. 

Now for test scenario 3, the user wants all the breakers to change during the simulation. Run command conf={'dy','dy','dy'} then command ConfigureSSNSwitches(bdroot,2,cfbrk,conf):


Note that ARTEMIS SSN now sees 9 switches. 

Now for test scenario 4, the user wants all breakers to change during the simulation except the breaker name breaker 2 (actually third in the list) - that one would remain open. Run command conf={'dy','dy','off'} then command ConfigureSSNSwitches(bdroot,2,cfbrk,conf):


Note that ARTEMIS SSN now sees 6 switches. 

How to do this for 100+ breakers and multiple test scenarios:

1. Create a parameter file.m and list the test scenarios. In our example with 3 breakers and 4 test scenarios, the file would look like that:


2. Before running the model in real-time, you will need to open the model, write the test scenario you want to run replacing conf1 (which corresponds to test scenario 1 in the example) in the file by conf2 (which corresponds to test scenario 2 in the example), or conf3, etc and run the file. The model will also need to be saved and recompiled before loading and executing in real-time.