AlarmComment

Вопросы, не попадающие в другие разделы.

AlarmComment

Сообщение Ugin887 » Чт ноя 16, 2017 6:19 pm

Добрый день, здравствуйте. Начинающий пользователь системы InTouch, возникла проблема, и не могу ее решить:
Когда возводится авария( тег принимает значение от 0 до 255) происходит привязка Аларм комментария к другому тегу, который в свою очередь равен тегу1 как:
"tag1.AlarmComment = tag2.Comment".
При этом отображение в alarm display происходит, но! Когда значение тега1 меняется на другое число, то коммент не изменяется в Аларм дисплей, хотя при выводе сообщения: изменится.
Код:
IF tag1 == 0 THEN tag2.Comment = "текст"; tag1.AlarmComment = tag2.Comment;
И таких строк порядка 25, пробовал тип как i/o integer и mem discrete, так и i/o real.
Так же вся моя конструкция работает если этот код есть в самом рабочем окне так и в DataChange.

Взорвал уже всю голову, не могу решить проблему. Подскажите хотя бы куда капать.
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Чт ноя 16, 2017 6:40 pm

1. Система Alarm-ов в InTouch (и не только в нём) - отдельная система, т.е. работает максимально независимо. Т.о. вполне может сначала сработать Alarm со старым комментом, а затем отработать скрипт/условие по изменению коммента.
2. Динамически в в Alarm-дисплее уже отображённые комменты и не должны меняться. Будут/могут меняться комменты различных состояний одного и того же Alarm-а (возникновение, квитирование, выход из аварийного состояния). Ибо Alarm-дисплей ссылается не на коммент тега напрямую, а на буфер памяти/БД, в который попадает запись об Alarm-е при его возникновении/изменении состояния.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: AlarmComment

Сообщение Ugin887 » Вт ноя 21, 2017 9:53 am

Но суть то веть в том что одно стостояние/условие один тег, может быть равен нескольким значениям, в результате чего, и меняется коммент
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Вт ноя 21, 2017 3:08 pm

Суть в том, что ни в одном из Ваших постов нет вопроса.
Попробуйте:
- сформулировать задачу
- описать последовательность действий
- описать результаты
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: AlarmComment

Сообщение Ugin887 » Вт ноя 21, 2017 4:18 pm

Разве? Ну да ладно..

Моя задача задействовать Алармы, так что бы при возникновении некоторого числа в теге, тег меня свой комментарий.

Мой принцип действия: (P.S. как я выше писал)
IF Tag1 == 0 THEN tag2.Comment = " текст"; tag2.Comment = tag1.AlarmComment; ENDIF;
IF Tag1 == 1 THEN tag2.Comment ="текст2"; -/- END IF

Это дело все работает, только когда скрипт есть в Windows script и DataChange. В дисплейАлармов отображается 1 значение когда идет опрос, после того как значение изменится, то он вместо "текст2" пишет "текст".

Вопрос в следующем, как сделать так, что бы при изменении значения tag1 AlarmComment вписался именно тот который я прописал/присвоил ему.

PS в окне отображение и изменение происходит нормально, привязанно к Value Display/String/Tag2.Comment.
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Вт ноя 21, 2017 4:30 pm

Ugin887 писал(а):Моя задача задействовать Алармы, так что бы при возникновении некоторого числа в теге, тег меня свой комментарий.

Типа счётчика, понял ещё тогда.

IF Tag1 == 0 THEN tag2.Comment = " текст"; tag2.Comment = tag1.AlarmComment; ENDIF;
IF Tag1 == 1 THEN tag2.Comment ="текст2"; -/- END IF

Зачем в одном условии два разных присваивания одной и той же переменной?
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: AlarmComment

Сообщение Ugin887 » Вт ноя 21, 2017 4:33 pm

Потому что в Алармы взводится Tag1.
И Tag1 может быть равен от 0 до 255, при этом на каждое число свой комментарий.
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Вт ноя 21, 2017 4:56 pm

Тогда всё ещё веселее :)
Вашу запись
IF Tag1 == 0 THEN tag2.Comment = " текст"; tag2.Comment = tag1.AlarmComment; ENDIF;
можно перефразировать:
Если у Иванова гангрена, то отрежьте Петрову руку, отрежьте Петрову ногу; HappyEnd;

Т.е. проверяется на наличие Аларма значение Tag1, а всякие комменты рисуются в поля Tag2
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: AlarmComment

Сообщение Ugin887 » Вт ноя 21, 2017 5:03 pm

Во время работы проекта, открываю Аларм дисплей:
Там написано что у Ивана Горыныча 12 попугайчиков,
А когда к нему пришла жена стало ноль.

Мне же надо что бы было не ноль попугайчиков, а 13.

Как это сделать?

Напрашивается тег, который по мере опроса плк может менять свои значения от 0 до 255, и во время изменения значения менялся бы и Аларм коммент.
При этом тег уже пробую с типом и/о реал, а в аск модель Алармы 1. И хай лимит 0 с приоритетом 100
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Вт ноя 21, 2017 5:20 pm

Ugin887 писал(а):Во время работы проекта, открываю Аларм дисплей:
Там написано что у Ивана Горыныча 12 попугайчиков,
А когда к нему пришла жена стало ноль.

Мне же надо что бы было не ноль попугайчиков, а 13.

Как это сделать?

Вот и постановка задачи.
Предложение:
Tag1 - I/O Integer (из контроллера, без алармов)
Tag2 - Mem Integer (с алармами)
Скрипт (где-нибудь):
IF Tag1 == 12 Then Tag2.HiHiLimit = Tag2-1; Tag2.Comment = "Текст 12"; Tag2.AlarmComment = "Аларм текст 12"; Tag2.HiHiLimit = Tag1 - 1; Tag2 = Tag1; EndIf;
IF Tag1 == 13 Then Tag2.HiHiLimit = Tag2-1; Tag2.Comment = "Текст 13"; Tag2.AlarmComment = "Аларм текст 13"; Tag2.HiHiLimit = Tag1 - 1; Tag2 = Tag1; EndIf;
В AlarmView выводить записи от Tag2, естественно.
...
Немного обновил текст скрипта
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: AlarmComment

Сообщение Ugin887 » Ср ноя 22, 2017 6:12 pm

Спасибо вам большое, пример помог, правда пришлось маленько с бубном потанцевать- но получилось реализовать задуманное
Ugin887
 
Сообщения: 6
Зарегистрирован: Чт ноя 16, 2017 6:07 pm

Re: AlarmComment

Сообщение Генератор зла » Ср ноя 22, 2017 7:20 pm

Да, бубен - это наше всё.
А вот с танцами у меня проблемы :( Вечно что-нибудь мешает...
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm


Вернуться в Другое

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30