RUS  ENG 

Как выделить аварийный участок

Страницы: 1
RSS
Как выделить аварийный участок
 
Добрый вечер!
Подскажите пожалуйста, как на карте показать участок, который нужно вывести в ремонт?
Выделяю аварийный участок(моргает), потом нахожу изолирующие устройства(GetCuttingNodes).
Перевожу их в другое состояние(OverloadElemState), смотрю состояние каких устройств изменилось(NetWorkRecalc).
Так нахожу только отключенных потребителей. А как получить список участков?
Пробовала ставить флажки на изолирующие устройства и поискать путь - ерунда получается.
Спасибо.
 
NetWorkRecalc приводит к реальному переключению на сети. Т.е. к ее редактированию. Это может быть нехорошо.
1. Можно попробовать поставить флажок (или флажки) на источник и от него найти Layer.NetworkTools.FindConnected
2. Читаете Layer.NetworkTools.Results и куда-то запоминаете тех, кто связан. Если не знаете, куда записать, можно временно записать как
Layer.Selection.ModifyByKeys (eSelCreate, Layer.NetworkTools.Results)
3. Дальше применяете OverloadElemState и опять получаете Layer.NetworkTools.FindConnected
4. Ну и сравниваете кто раньше был, кого не стало.

В принципе, если подождете недельку, можем метод добавить, который бы это внутри все сам сделал по списку ключей, предполагаемых для переключения.
 
Не получается. Например, отключается магистральная задвижка. При таком способе в результат попадают все кто "ниже по течению".
Если после аварийного участка есть еще задвижки, то группы товарищей после этих задвижек из результата нужно исключить.
У меня сервер zulu 6 версии, боюсь, новая библиотека со старым ядром не подружатся :)
 
Пришлите пожалуйста телефон для связи на [email protected]
 
Цитата:
NetWorkRecalc приводит к реальному переключению на сети. Т.е. к ее редактированию. Это может быть нехорошо.
1. Можно попробовать поставить флажок (или флажки) на источник и от него найти Layer.NetworkTools.FindConnected
2. Читаете Layer.NetworkTools.Results и куда-то запоминаете тех, кто связан. Если не знаете, куда записать, можно временно записать как
Layer.Selection.ModifyByKeys (eSelCreate, Layer.NetworkTools.Results)
3. Дальше применяете OverloadElemState и опять получаете Layer.NetworkTools.FindConnected
4. Ну и сравниваете кто раньше был, кого не стало.

В принципе, если подождете недельку, можем метод добавить, который бы это внутри все сам сделал по списку ключей, предполагаемых для переключения.

Подскажите, а этот метод уже работает, и как его получить или скачать?
 
Метода нет, т.к. задача пользователем была решена без него
 
Добавили метод для моделирования переключений на сети без ее редактирования:
Function Layer.NetworkSwitchAnalyze(States As ZElemsStates, nFlags As Long) As IZSwitchStates

На входе коллекция объектов ID + режим в который объект (участок или задвижку) хотим переключить. На выходе коллекция IZSwitchStates объектов ID + состояние которых в результате предполагаемого переключения изменится.
0 - подключатся к источнику, 1 - отключатся от источника.
В зависимости от nFlags в ответ могут попасть потребители (1), узлы любых типов(2), участки (4). Значения флагов можно складывать.
Страницы: 1