Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Редактор проекта TRACE MODE 6 / » Отчет тревог

   
Автор / Author Тема / Topic: Отчет тревог
Helic
Forum Member / Участник форума
Участник № / Member № 3274


Icon 1 отправлено / posted      Профиль для / Profile for Helic           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте. Выходной аргумент программы имеет тип "string" и привязан к атрибуту "Коментарий" канала.Каким образом передать значение аргумента программы в Отчет тревог.
Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вот один из способов [clever / умный] : в вашей программе каждому значению типа string присваиваете порядковый номер от 1 до N. Например:
1 - давление превышено;
2 - температура пониженная;
..
8 - недостаточно горючего.
...
N - экстренный останов.


Далее создаете пользовательский словарь с сообщениями, которые в программе имеют номера.
Далее создаете канал, связанный с системной переменной @Message типа OUTPUT и этот канал связываете с пользовательским словарем. Затем из программы подаете во входное значение созданного канала номер сообщения. В результате вы получите в Отчете тревог ваше значение типа string [Усмешка / Big Grin] .
Если значений типа string больше 8, то придется [duno / незнайка] создать еще один пользовательский словарь с каналом, связанным с системной переменной @Message типа OUTPUT и создать еще один канал Call, который вызывает программу. В этой программе все атрибуты (из предыдущей программы) с номером больше 8 переопределить, т.е.
9 будет 1
10 будет 2
и т.д до 8
И также значения от 1 до 8 посылаете на вход второго созданного канала. Таким образом можете читать в отчете тревог уже 16 [fun / веселый] атрибутов типа string.

Сообщения / Posts 127 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Запись длинных строк в канал CALL

Для канала CALL.STRING:

если в канале установлен флаг Отчет тревог (43,EB), при каждом изменении CALL.STRING.R значение соответствующего аргумента (или комментарий) записывается в ОТ (не более 48 символов);

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если я правильно понял, канал CALL.STRING - это канал Call с типом вызова String. C какого релиза появился данный тип вызова канала Call?
Сообщения / Posts 127 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В текущем релизе данный канал работает.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Что в текущем релизе работает-это понятно [Усмешка / Big Grin] . Скажите, пожалуйста, с какого релиза появился данный канал [Недоумение / Confused] , т.к. мы используем в проектах разные релизы.
Сообщения / Posts 127 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
6.06.2
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за информацию!!
Сообщения / Posts 127 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сделал, как посоветовали во 2ом сообщении темы.
Канал Message_OUT привязан к системной переменной @Message и к Пользовательскому словарю.

Далее в программе на Техно ST отправляю в Отчёт тревог сообщения следующим образом:
code:
Message_OUT_In = 1; // Message#1

Столкнулся с такой проблемой, если сделать так:
code:
Message_OUT_In = 1; // Message#1
...
Message_OUT_In = 2; // Message#2

то в ОТ приходит только одно сообщение Message#2
Получается, что в рамках одного такта программы Message#2 как бы затирает Message#1

Как бы сделать так, чтобы в ОТ приходило и Message#1 и Message#2 ?

Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Действительно, в одном такте канал может выдать только одно сообщение из привязанного к нему "Словаря сообщений".
Чтобы выдать последовательно 2 сообщения, надо предусмотреть, чтобы программа выдавала соответствующие команды последовательно на разных тактах.

Кроме того, если количество передаваемых таким образом сообщений ОТ больше 8, целесообразно использовать не системную переменную @Message и "Пользовательский словарь", а канал HEX16 с установленным флажком "Параметры/Вид представления DEC" (см. документацию "Архивирование/Отчет тревог узла/Сообщения по каналам/Сообщения по каналам HEX16 и HEX32").

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Действительно, этот вариант с HEX16/HEX32 мне больше подходит.
А есть какой-то простой способ прервать выполнение программы и перейти в следующий такт? Не хочется изобретать велосипед.

Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если 2 сообщения всегда должны выводиться в ОТ последовательно, то может быть есть смысл объединить их в одно сообщение?
Если выбор сообщения зависит от каких-то условий, то при правильном построении программы будет выводиться только одно сообщение.

Прервать выполнение ST-программы можно с помощью оператора goto.

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нет, сообщения в ОТ выводятся не последовательно, между ними есть ещё операции, которые тоже могут выводиться в ОТ через Словари сообщений Для_канала_Событие, Для_FLOAT.
Про goto уже догадался. С ним и без того сложная программа получается ещё запутанней.

Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Пришёл к такому не очень красивому, но работающему решению: на каждое сообщение создаю собственный канал и все эти каналы привязываю к одному Словарю сообщений. Тогда вводимые последовательно сообщения будут последовательно отображаться:
code:
Message1_OUT_In = 1; // Message#1
...
Message2_OUT_In = 2; // Message#2


Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2