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

Создание аларма из двух переменных

Модератор: Глоб.модераторы

Ответить

Автор темы
Serega77
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 30 ноя 2011, 15:36
Имя: Сидоров С.И.
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Создание аларма из двух переменных

Сообщение Serega77 »

Добрый день.
Система передает в WinCC 8.0 три переменные.
Tag1 - основное событие (останов, пуск)
Tag2 причина, вызвавшая первое событие останов (низкое давление, низкое напряжение и пр.)
Tag3 причина, вызвавшая первое событие пуск (автоматически, вручную и пр.)

Tag1 , Tag2, Tag3 - тип Int. Кодировка расшифровывается по документации (1- пуск, 2-останов и тп).Точнее Tag1 расшифровывается по состоянию взведенного бита, а Tag2 и 3 по его целочисленному значению.


Вопрос- Как реализовать Alarm, чтобы в одном поле было сообщение типа "Останов низкое давление"?
При этом, если Tag1 всегда обновляется, т.е. событие в системе приводит к смене значения тега, то Tag2 и Tag3 могут остаться неизменными . Например три цикла пуск (автоматически)-останов(низкое давление) приведут к изменению только Tag1 . Tag2 и 3 останутся не измененными.

И таких систем около сотни заведено в WinCC.
[+]
2024.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Создание аларма из двух переменных

Сообщение Eugen123 »

Как вариант, если написать глобальный скрипт, который будет по формуле tag_sys_1= (tag1*1000+ tag2*10 + tag3) получать уникальное число, которому можно поставить в соответствие уникальное состояние

Допустим, tag1=1(запущен) tag2=3(по высокому уровню) tag3=1 (в авто режиме)
tag_sys_1=1*1000+3*10+1=1031 - двигатель запущен в автоматическом режиме по высокому уровню и т.п. Далее в Alarm Logging создать сообщения в Limit Monitoring забить все возможные сообщения для tag_sys_1.

Далее, на каждую систему из сотни создать по такому тэгу состояния.

Автор темы
Serega77
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 30 ноя 2011, 15:36
Имя: Сидоров С.И.
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Создание аларма из двух переменных

Сообщение Serega77 »

Eugen123 писал(а): 03 июн 2024, 08:19 Как вариант, если написать глобальный скрипт.
Со скриптом у меня такая реализация нарисовывается.
1. Создается внутренний текстовый тег . Скрипт пишет в него текст исходя из числового значения внешнего тега (Tag 2 или Tag3 ), Select Case. Скрипт вызывается по изменению внешнего тега (Tag2 или Tag 3). В настройках Alarma заведено Process Value, где значение берется из внутреннего текстового тега. В тексте сообщения делаю добавление к тексту значения Process Value. И сам Alarm генерируется по Tag1.
[+]
2024_2.jpg
Была надежда без создания кучи скриптов\экшенов реализовать, средствами Alarm Logging.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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