Форум 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 / Algorithm Programming Languages » Программная обработка атрибута 46 (QE)

   
Автор / Author Тема / Topic: Программная обработка атрибута 46 (QE)
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120


Icon 1 отправлено / posted      Профиль для / Profile for ddkel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день! При работе такой программы:
PROGRAM
VAR_INOUT tc : UINT; END_VAR
VAR_INOUT qe : UINT; END_VAR
if (tc) then tc = 0;
if (qe) then qe = 3;
end_if;
end_if;
END_PROGRAM
где к tc привязана ГЭ Кнопка с прямой передачей "1", а к qe привязан атрибут 46 (QE) канала HEX16, атрибут 46 обнуляется без квитирования в ОТ даже при tc = 0. В чем загвоздка?

Сообщения / Posts 82 | Из / 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 
Перепроверили. Не воспроизвелось.
Пришлите, пожалуйста, проект с пояснениями на hotline@adastra.ru.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120


Icon 1 отправлено / posted      Профиль для / Profile for ddkel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Тестовый проект отправил. Проверил на ТМ607 и ТМ60707. Результаты одинаковы.
Сообщения / Posts 82 | Из / 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 
Уточнение.
Обнуление атрибута 46 такой программы действительно происходит (без квитирования). Таковы свойства именно этого атрибута. Программа всегда возвращает значение в аргумент OUT. Возврат "1" обнуляет атрибут 46.
Но это никак не сказывается на операции квитирования последней записи в ОТ при последующей передаче tc = 1. Квитирование осуществляется правильно.
Не ясно, зачем передавать сигнал квитирования через программу. Ведь можно напрямую передать его с экрана.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120


Icon 1 отправлено / posted      Профиль для / Profile for ddkel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
По-моему "свойство атрибута" здесь не причем; я передаю значение в программу по ссылке, значение в программе не меняется при tc = 0, а при выходе из программы значение атрибута с "особым свойством" изменяется, при этом в каналах с другим типом вызова (Screen) через аргумент типа OUT или INOUT "особое свойство" атрибута не проявляется. Из чего ясно, что это ошибка, а Ваш ответ - отписка. На особые свойства можно списать многое. А зачем использовать квитирование через программу написал в письме с приложенным тестовым проектом.
Сообщения / Posts 82 | Из / 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 
Особое свойство атрибута 46 проявляется в том, что при подаче в него какого-либо значения он отрабатывает соответствующую функцию. Программа всегда передает какое-то значение в аргумент OUT. А канал CALL.Screen - только при воздействии оператора на управляющий ГЭ.
В этом и разница.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120


Icon 1 отправлено / posted      Профиль для / Profile for ddkel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Теперь понял, согласен что не ошибка, сразу бы так ответили, спасибо. Извиняюсь за "отписку". Попробую через канал вызова программы типа OUTPUT.
Сообщения / Posts 82 | Из / 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 
Не следует бояться этого "обнуления".
Текст программы можно упростить:
VAR_INOUT tc : UINT; END_VAR
VAR_INOUT qe : UINT; END_VAR
if (tc) then tc = 0;
qe = 3;
end_if;
END_PROGRAM

Квитирование будет выполняться правильно.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120


Icon 1 отправлено / posted      Профиль для / Profile for ddkel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Не в этом дело, как я написал в письме, квитирование в ОТ должно происходить не только по нажатию определенной кнопки, на эту кнопку "заведено" через другую программу несколько каналов, поэтому мне надо в программе выяснить по какому каналу произошло изменение и произвести квитирование, плюс еще надо проконтролировать изменения в приборе, и только после этого производить квитирование в ОТ. Да и команды (tc) разные - две кнопки предают в tc. А это тестовый пример, акцентирующий внимание на сути вопроса, без деталей. В общем все довольно путанно, спасибо за помощь.
Сообщения / Posts 82 | Из / 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