Русский
English
Главная
RastrWin
Программа
Последние изменения
Часто задаваемые вопросы
Аннотация
Лицензирование и защита от копирования
Права Windows для пользователя RastrWin
Курсы
Компонентная архитектура
Интерфейс
Инструкция по установке
Документация, видео, презентации
Свидетельство о регистрации
RastrKZ
RastrMDP
RastrOS
ZamerSeti
Архив
Bars-Lincor
Расчетная модель
Система моделирования
Последние изменения
Программа
Инструкция пользователя
Инсталляция
RUStab
Загрузка
Последние изменения
Поддержка
Поддержка
Форум
Техподдержка
Персональная
Макро студия
Макро студия
Автоматизация
Работа с SQL
Оценка параметров ЛЭП и ТР
Эффективность размыкания сети
Анализ напряжений в Excel
Автоматизация с "AutoIt"
Создание графа сети из режима
Передача графики в SVG
Вариантные расчеты
Импортозамещение
О нас
О компании
Фотогалерея
Пользователи
Отчеты об использовании своего имущества
Реквизиты
Поддержка
Форум
Техподдержка
Персональная
Авторизация
Запомнить меня на этом компьютере
Забыли свой пароль?
Регистрация
Поиск по сайту
Подписка
Новости Bars- Lincor
Новости RastrWin
Общие новости
Новости RUStab
Изменение параметров
Hits
67418235
9585
Hosts
3608877
1914
Visitors
53570785
9255
100
Главная
/
Поддержка
/
Форумы
/
Макро
Форум «Макро»
Версия для печати
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Тема: «
макрос для оборудования рустаба
» в форуме:
Макро
Просмотров: 7934
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
19.09.2017 16:17:20
Добрый день. Помогите пожалуйста с макросом для Рустаба. задача: включение/отключение навесного оборудования у генератора в зависимости от его состояния. Генератор отключил, запускаем макрос, и автоматом запускается отключение АРВ, возбудителя, РС,.... И наоборот. Скорее всего можно доработать макрос по отметке ветвей, связанных с отмеченным узлом. Сам к сожалению пока не осилю (.
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
20.09.2017 01:07:56
Ну вот в качестве
заготовки
можно такое что-нибудь
Код
Set spTableAndLinks = CreateObject("Scripting.D
ictionary")
Set spGeneratorTable = Rastr.Tables("Generator")
' Заполняем карту переходов между таблицами
' Первый параметр - имя таблицы, из которой будут делаться переходы
' Второй - список пар имя таблицы : имя ключевого поля, разделенных запятыми
' Пример:
spTableAndLinks.Add "Generator", "Exciter:Exciter,ARS:ARS,
DFWIVActuator:IVActuator,
DFWIEEE421:Exciter"
' Из таблицы Generator можно попасть в таблицу Exciter, по ключевому полю ExciterId (Id добавляется автоматически)
' а также в таблицу ARS, по полю ARSId,
' в таблицу DFWIVActuator по полю IVActuatorId
' и в таблицу DFWIEEE421 по полю ExciterId
' Все переходы между таблицами обрабатываются рекурсивно
spTableAndLinks.Add "Exciter", "Forcer::Forcer,ExcContro
l::ExcControl"
spTableAndLinks.Add "ARS", "DFWGovernorIV:Governor"
spTableAndLinks.Add "DFWGovernorIV", "DFWTGovernor:TGovernor"
spTableAndLinks.Add "DFWIEEE421", "DFW421UEL:UEL,DFWOELUNIT
ROL:OEL,DFWIEEE421PSS13:P
SS,DFWIEEE421PSS4B:PSS"
Sub SwitchEquipment(TableName
,Id, State)
Set spTable = Rastr.Tables(TableName)
Set spSta = spTable.Cols("sta")
spTable.SetSel "Id=" & Id
'Rastr.PrintP spTable.Name & "-" & Id
nObjectIndex = spTable.FindNextSel(-1)
if nObjectIndex >= 0 Then
Rastr.PrintP spTable.Name & "-" & Id & "-" & nObjectIndex
spSta.Z(nObjectIndex) = State
if spTableAndLinks.Exists(Ta
bleName) Then
Links = spTableAndLinks.Item(Tabl
eName)
LinksArray = Split(Links,",")
For Each Link in LinksArray
LinkPair = Split(Link,":")
Set spTargetId = spTable.Cols(LinkPair(1) + "Id")
SwitchEquipment LinkPair(0), spTargetId.Z(nObjectIndex
), State
next
End If
End If
End Sub
Sub SwitchGeneratorEquipment(
GeneratorId)
spGeneratorTable.SetSel "Id=" & GeneratorId
nObjectIndex = spGeneratorTable.FindNext
Sel(-1)
' Тут чтобы видно было что работает состояние генератора инвертируется
if nObjectIndex >= 0 Then SwitchEquipment spGeneratorTable.Name, GeneratorId, Not spGeneratorTable.Cols("st
a").Z(nObjectIndex)
'if nObjectIndex >= 0 Then SwitchEquipment spGeneratorTable.Name, GeneratorId, spGeneratorTable.Cols("st
a").Z(nObjectIndex)
End Sub
' Указать номер генератора, состояние оборудования которого нужно изменить
SwitchGeneratorEquipment 40807023
Профиль
Наверх
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
20.09.2017 09:42:24
Спасибо, потом поэксперементирую)
Профиль
Наверх
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
09.01.2020 14:57:27
Добрый день. Подобный вопрос. Как сделать макрос зачистки всего оборудования, связанного с удаляемым узлом? Т.е удаляем просто узел (можно + ветви) и чтобы все оборудование, связанное с этим узлом тоже удалялось (арв,арс,возбудитель, турбина......)
Профиль
Наверх
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
12.11.2021 14:12:02
Добрый день. Попробовал протестить этот макрос, изменений в работе нет, оборудование не отключает. Подскажите пожалуйста, как его подправить. Как вариант еще предложение, может предусмотреть данную настройку в УР или ДУ? чтобы у пользователя была возможность выбора, отключать все оборудование в отключенных узлах или нет. Будет достаточно удобная функция.
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
12.11.2021 19:50:59
Здравствуйте. Прошу обратить внимание что макрос, который Вы попробовали потестировать спустя 4 года и 2 месяца после публикации, является заготовкой, как указано в посте. Его надо настроить и вызывать для заданных генераторов.
Профиль
Наверх
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
29.11.2021 09:26:27
Доброе утро. В то время получилось без макроса обойтись, мельком его глянул и забылось. Подскажите пожалуйста, как можно его настроить? можно просто без вызова генераторов, чтобы состояние всего навесного соответствовало состоянию ТГ. Тем более сейчас в протоколе выводится информация по не связанным устройствам.
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
29.11.2021 10:59:34
Да можно. Обойти циклом все отключенные генераторы и вызывать для каждого SwitchGeneratorEquipment.
Вроде бы внутри для всего кроме пользовательских моделей так делается автоматически, за редким исключением.
Профиль
Наверх
ale
Заслуженный посетитель
Всего сообщений:
304
Дата регистрации:
31.03.2009
Создано:
02.12.2021 16:37:54
своими силами пока не получается осилить макросы( может если время будет, у Вас получится сделать для общего доступа данный макрос? Можно даже в составе растра его потом включить, думаю будет востребован у пользователей со временем. Спасибо.
Профиль
Наверх
Читают тему
гостей:
1
, пользователей:
0
, из них скрытых:
0
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019