1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Как получить имя тэга через адрес тэга VBS скриптом?

Ответить

Автор темы
AnSter
новенький
новенький
Сообщения: 1
Зарегистрирован: 29 мар 2022, 08:26
Имя: Антон
Страна: Россия

Как получить имя тэга через адрес тэга VBS скриптом?

Сообщение AnSter »

Как получить имя тэга через адрес тэга VBS скриптом?
Пример: есть адрес DB110.DBW22 который подвязан к определенному тэгу возможно ли получить имя этого тэга для последующей обработки в VBS скрипте?
Нашел VBS скрипты позволяющие поменять адресацию на ходу и получить адрес тэга по названию ?
Возможен ли обратный процесс?
------------------------------------------------------------------- ----------------------
Function SetAddress(Tagname,Address)
Dim HG, strVariableName
Set HG = CreateObject("HMIGenObjects.HMIGO")
HG.GetTag Tagname
HG.TagS7S5Address = Address
HG.CommitTag
Set HG = Nothing
End Function
------------------------------------------------------------------- ----------------------

Function GetAddress(Tagname) 'Returns Tag Address as String
Dim HG, strVariableName
Set HG = CreateObject("HMIGenObjects.HMIGO")
HG.GetTag Tagname
GetAddress = HG.TagS7S5Address
Set HG = Nothing
End Function
------------------------------------------------------------------- ----------------------

stesl
эксперт
эксперт
Сообщения: 1008
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Как получить имя тэга через адрес тэга VBS скриптом?

Сообщение stesl »

AnSter, мне кажется нет. Имя - символьное представление переменной, адрес - абсолютное. Исходя из парадигм программирования, по символу найти адрес обычное дело, ну и далее по адресу - значение. Решение обратной задачи - не встречал ни в одном из языков. Хотя... Какая то связь же есть ))) Некая таблица, в которой указаны имя и адрес. В общем не встречался с такой задачей, трудно сказать однозначно.

iceman
здесь недавно
здесь недавно
Сообщения: 22
Зарегистрирован: 15 фев 2018, 07:17
Имя: Александр
Поблагодарили: 7 раз

Как получить имя тэга через адрес тэга VBS скриптом?

Сообщение iceman »

День добрый.

В конфигурационной БД проекта есть таблица MCPTVARIABLEDESC.
Поля:
VARIABLENAME - имя тега
ADDRESSPARAMETER - адрес

Запрос к БД через C-Script или VBS не важно. Примеров много найдете.
Только менять что-нибудь в этой таблице не советую.
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2330
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 1990 раз
Поблагодарили: 176 раз

Как получить имя тэга через адрес тэга VBS скриптом?

Сообщение keysansa »

AnSter писал(а): 29 мар 2022, 08:48 Function GetAddress(Tagname) 'Returns Tag Address as String
Вот же функция, которая по имени тэга получает его адрес.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.

LexSL
осмотрелся
осмотрелся
Сообщения: 192
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 65 раз
Поблагодарили: 46 раз

Как получить имя тэга через адрес тэга VBS скриптом?

Сообщение LexSL »

keysansa писал(а): 01 апр 2022, 16:42 Вот же функция, которая по имени тэга получает его адрес.
ТС нужна обратная функция (которой нет) - по адресу получить имя тега. Уже сказали, что покопавшись в таблице MCPTVARIABLEDESC базы данных проекта, можно найти имя тега. Только тут не учтено, что тегов может быть несколько (с разными есст-но именами) с одинаковым адресом (потому что WinCC это не запрещает).
Ответить

Вернуться в «WinCC»