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

Передача значения тэга с АРМа на сервер

Ответить

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Передача значения тэга с АРМа на сервер

Сообщение Eugen123 »

Добрый день! Возникла необходимость передать значение тэга с АРМа на сервер без участия контроллера. Пусть это будет значение корректировки показаний счетчика. Корректировку оператор забивает со своего АРМа. Под значение корректировки в WinCC проекте на АРМ создал отдельный тэг, который называется также, как тэг на сервере. Теперь его каким-то образом нужно передать в тэг на сервере

Обычно, на клиентах никаких вычислений быть не должно, вся информация берется с Сервера. Изменение показаний на любом АРМе приводит к изменению значений на серверах. Однако в данном случает АРМ и Сервер имеют два одинаковых не связанных между собой тэга и значения в них разные.

Возможно, стоит удалить тэг с АРМа?
Или нужно прогрузить АРМ?

AlexandrGr
освоился
освоился
Сообщения: 223
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 3 раза
Поблагодарили: 18 раз

Передача значения тэга с АРМа на сервер

Сообщение AlexandrGr »

Что такое АРМ и сервер?

Dmitriy1983
здесь недавно
здесь недавно
Сообщения: 74
Зарегистрирован: 29 окт 2017, 19:52
Имя: Дмитрий
Благодарил (а): 5 раз
Поблагодарили: 17 раз

Передача значения тэга с АРМа на сервер

Сообщение Dmitriy1983 »

Добрый день. Если у Вас два одинаковых тэга на разных машинах, то так
SetBit(Server:"Имя тэга", GetBit(Local:"Имя тэга")
Local - значит машина та, с которой берется тэг
Server - имя машины сервера.
Set bit - любая команда

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Передача значения тэга с АРМа на сервер

Сообщение Eugen123 »

Вообще надо было писать в раздел PCS7.
АРМ - комп, где запущен клиент WinCC.
Сервер -комп, где крутится рантайм.
На сервере у меня написан скрипт автоматической записи показаний счетчиков в БД Ms sql server. . Корректировку для этого скрипта должен задавать оператор с АРМа. Скрипт пишет значение с сервера, а то, что вводит оператор, пишется в тэг-дубликат, который я ручками забил в тэг менеджер.
На клиенте вообще схем *.pdl быть не должно. Однако, я скопировал pdl в папку GraCS проекта клиента ручками и в tagmanager создал дубликаты для тэгов, что очевидно, косячное решение.
Забыл отметить нюанс главный, что нельзя выполнить компиляцию проекта ВУ из-за "особенностей" проекта на объекте.
Dmitriy1983 писал(а): 11 апр 2024, 14:02 SetBit(Server:"Имя тэга", GetBit(Local:"Имя тэга")
Благодарю, попробую Ваш метод

Dmitriy1983
здесь недавно
здесь недавно
Сообщения: 74
Зарегистрирован: 29 окт 2017, 19:52
Имя: Дмитрий
Благодарил (а): 5 раз
Поблагодарили: 17 раз

Передача значения тэга с АРМа на сервер

Сообщение Dmitriy1983 »

Немного не так, оштбся. Вот так правильней.
SetBit("Server::Имя тэга", GetBit("@local::Имя тэга")

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Передача значения тэга с АРМа на сервер

Сообщение Eugen123 »

попробовал считать тэг типа float с сервера АРМом

АРМ называется PCS-UPG
тэг на Арме - "Tag_Correction"

На сервере кинул кнопку с кодом:

Код: Выделить всё

float aa;
aa=GetTagFloat("PCS-UPG::Tag_Correction");
printf("Tag:%f",aa");
Скрипт выдает ошибку
"Tag unknown, timeout or conversion failed"
"Tag not exist"

Получается, GetTagFloat тэг с АРМа не видит

AlexandrGr
освоился
освоился
Сообщения: 223
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 3 раза
Поблагодарили: 18 раз

Передача значения тэга с АРМа на сервер

Сообщение AlexandrGr »

Прочитать или записать можно серверный тег. Он у вас на клиенте должен быть виден в выборе тегов.

Dmitriy1983
здесь недавно
здесь недавно
Сообщения: 74
Зарегистрирован: 29 окт 2017, 19:52
Имя: Дмитрий
Благодарил (а): 5 раз
Поблагодарили: 17 раз

Передача значения тэга с АРМа на сервер

Сообщение Dmitriy1983 »

На АРМе напишите скрипт
SetTagFloat("Server::aa",GetTagFloat("@local::Tag_Correction");

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Передача значения тэга с АРМа на сервер

Сообщение Eugen123 »

Я решил проблему по-другому, перенес корректировки на мнемосхему, которая ранее уже была в проекте ВУ. Если бы можно было безболезненно провести компиляцию проекта, я не столкнулся бы с этой проблемой. На АРМах не должно быть тэгов, и описанная выше проблема - лишний раз тому подтверждение.
Ответить

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