Добрый день, коллеги!
Возник вот такой вопрос: Есть ли возможность в WinCC "на ходу" изменять целевые адреса для тегов? Во Флексе делал следующим образом - привязывал адреса тегов к внутренним тегам и у этих внутренних менял значения скриптами. В итоге конечные теги меняли ссылки на адреса онлайн. Фактически - штатная возможность. А вот в "большой" SCADA не нашел как сделать. Покажите, куда копать, пожалуйста!
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Косвенная адресация в WinCC.
Модератор: Глоб.модераторы
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
-
- осмотрелся
- Сообщения: 128
- Зарегистрирован: 12 авг 2010, 01:49
- Имя: Сергей
- Благодарил (а): 2 раза
- Поблагодарили: 10 раз
Re: Косвенная адресация в WinCC.
можно сделать циклический скрипт и там накидать всяких кейсов. Это такой метод решения в лоб. Есть ли там возможность переконфигурировать тэги на лету - не знаю.
Правильно поставленная задача – уже наполовину решенная
-
- авторитет
- Сообщения: 878
- Зарегистрирован: 21 авг 2009, 14:25
- Имя: Василий Иванович
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Косвенная адресация в WinCC.
В лоб делать - не получится. Даже если это делать ручками, надо отключить рантайм. Не в лоб - тяжко. Можно задекларировать строковую переменную, которая содержит имя тега, и использовать ее при опросе данных из скрипта. Ну или использовать функцию SetLink для динамики графических элементов. Но это, думаю, не совсем то, что Вам надо. А как красиво сделать - не знаю...
-
- осмотрелся
- Сообщения: 128
- Зарегистрирован: 12 авг 2010, 01:49
- Имя: Сергей
- Благодарил (а): 2 раза
- Поблагодарили: 10 раз
Re: Косвенная адресация в WinCC.
Я имел в виду следующее:
1. делаем экшн с циклическим триггером.
2. в теле экшна ставим оператор типа кейс, в котором, в зависимости от условий, присваиваем внутреннему тэгу значения какого-то из внешних.
3. profit!
Но это только для заранее сконфигурированных внешних тэгов.
Еще хочу спросить: а насколько это нужно? Может быть, задача решается проще и не надо городить огород?
1. делаем экшн с циклическим триггером.
2. в теле экшна ставим оператор типа кейс, в котором, в зависимости от условий, присваиваем внутреннему тэгу значения какого-то из внешних.
3. profit!
Но это только для заранее сконфигурированных внешних тэгов.
Еще хочу спросить: а насколько это нужно? Может быть, задача решается проще и не надо городить огород?
Правильно поставленная задача – уже наполовину решенная
-
- осмотрелся
- Сообщения: 128
- Зарегистрирован: 12 авг 2010, 01:49
- Имя: Сергей
- Благодарил (а): 2 раза
- Поблагодарили: 10 раз
Re: Косвенная адресация в WinCC.
Древние греки были мудрые люди. Они говорили - обязательно читайте мануалы!
Поиск по тексту "VBA in Tag Management" во встроенном хелпе дает следующее.
Поиск по тексту "VBA in Tag Management" во встроенном хелпе дает следующее.
Даже в одном месте код приводятVBA in Tag Management
Introduction
VBA allows you to create tags directly from the program code, modify and delete them, and read out and change their properties, types, and values.
Sub CreateTag()
'HMIGO_000
Dim hmiGOTag as New HMIGO
On Error GoTo ErrorHandlerHMIGO
hmiGOTag.CreateTag "NewTag", TAG_BINARY_TAG, "ExistingConnection", "DB1,DD0,QC", "NewOrExistingGroupName"
'...
Exit Sub
ErrorHandlerHMIGO:
MsgBox ("Error: " & Err.Number & " " & Err.Description & " " & Err.Source)
Resume Next
End Sub
Правильно поставленная задача – уже наполовину решенная
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Re: Косвенная адресация в WinCC.
Спасибо! Как говориться, иногда нужен хороший пинок :) Буду читать!
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 28 дек 2013, 20:24
- Имя: Ковалев Антон Русланович
- Страна: РФ
- город/регион: Екатеринбург
- Поблагодарили: 1 раз
Re: Косвенная адресация в WinCC.
У меня, вроде, похожая задача.
Нужно в WinCC перебрать всю DB - шку, т.е прочитать все данные. тип данных реал, кол - во 300 шт.
На ум приходит цикл for , но как организовать перебор адресов в цикле не понятно. не создавать же 300 внешних тегов а?.
Нужно в WinCC перебрать всю DB - шку, т.е прочитать все данные. тип данных реал, кол - во 300 шт.
На ум приходит цикл for , но как организовать перебор адресов в цикле не понятно. не создавать же 300 внешних тегов а?.