Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
мой профиль / 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 » Связь с контроллером CombiGauge. (Страница / Page 2)

  Этот топик включает в себя следующие страницы /
This topic is comprised of pages 1  2 
 
Автор / Author Тема / Topic: Связь с контроллером CombiGauge.
Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
Почти получилось, но вот в чём проблема: ответ приходит вот такой <0 14:Vid=0.55, Umes=6.17182, Press=0.00006815223. Длина ответа 50 байт, что я и указал в запросе: SENDCMD=>0:SensDiag 0;ASCII;CR;BYTESREAD=50;SEPARATOR==;SREAD=:;
ARG_001 и ARG_002 выводятся правильно, а вот ARG_000=5, хотя по ответу видно что он должен быть равен 0,55. Если задаю длину ответа 49 байт, то значения выводятся так ARG_000=0, ARG_001=0,55, ARG_002=6.17182. В чём может быть проблема?

Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
BYTESREAD= не надо задавать(только для бинарки)
Длина ответа зависит от значений параметров в нем
CR -> означает в запрос добавить последний символ
а при чтении ответа читать пока не придет CR

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


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо.
Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
У нас разработан драйвер обмена по ASCII-протоколу с вакуумными контроллерами
CombiGauge. Проблема заключается в том что одновременно подаётся 3-4 запроса
к каждому контроллеру и он просто не успевает на них отвечать. При этом
данные одного ответа на запрос записываются в другой ответ и при выводе на экране
значения с одного датчика отображаются на 2-х датчиках. Ставил период пересчёта больше,
всё равно тоже самое так как запросы идут подряд по одному COM-порту.
Данные со снифера ком-порта:
<0 14:Vid=0.68, Umes=8.92390, Press=0.372117
>0:SensDiag 2
>0:SensDiag 2
<0 14:Vid=0.21, Umes=5.70142, Press=1.192571
>0:SensDiag 0
=ё¶N“ЮZVЉrҒҒbC«µ•нхµ·SңОКg±®ҢYҮҮВr‚ЉЉКљВұj>0:SensDiag 1
<0 14:Vid=0.68, Umes=8.92394, Press=0.3722374
>0:SensDiag 2
>0:SensDiag 0
<0 14:Vid=0.55, Umes=5.71798, Press=0.01193793
>0:SensDiag 2
<0 14:Vid=0.21, Umes=5.70137, Press=1.19242
>0:SensDiag 0
<0 14:Vid=0.55, Umes=5.71798, Press=0.01193793
>0:SensDiag 1
<0 14:Vid=0.68, Umes=8.92390, Press=0.372094

Да и кстати периодически с контроллера приходит вообще не понятный ответ
какие-то иероглифы, но это уже как я понимаю проблема самого контроллера.

И наконец вопрос можно ли сделать так чтобы следующий запрос не подавался пока не пришёл ответ
на предыдущий, чтобы избежать данной ситуации. Так как эти значения в дальнейшем буду использовать для
автоматики, то данная ситуация просто неприемлема.

Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
TM c COM портами работает в полудуплексном режиме:
запрос - чтение ответа или таймаут( и ни как иначе).

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


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
Поставил таймаут 5000 мс на СОМ4, на который подаются запросы к 3 датчикам. При отключенных контроллерах каждый запрос, как и положено, подаётся с периодом 5 секунд; но при включении контроллеров, все запросы подаются один за другим и только после этого идёт задержка(но не 5 секунд как положено, а около 1 секунды). Почему так происходит?
Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
И ещё вопрос. А как настроить режим: запрос - чтение ответа?
Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
Причём задержка такая же как и при таймауте 0 мс. То есть выставленный таймаут просто игнорируется при подаче запросов к контроллеру.
Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Таймаут - это не задержка между транзакциями, а максимальное время ожидания ответа. Если ответ придет раньше, транзакция завершится и будет сформирован следующий запрос.
Когда контроллеры выключены, время ожидания ответа максимально (5 с), когда контроллеры включены, время ожидания равно задержке ответа со стороны контроллера (видимо, 1 с).
Таймаут Вам необходимо оставить сушественным, например, 1500 мс.
Попробуйте подобрать значение параметра RS-передача:
"RS-передача – задержка (в миллисекундах) между транзакциями (процедурами ЗАПРОС/КОМАНДА+ОТВЕТ)".

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


Icon 1 отправлено / posted      Профиль для / Profile for Kairat           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте, уважаемая Тех. поддержка!
Я посмотрел обучающее видео по использованию произвольного протокола и у меня возник вопрос.
В примере для декодирования используется специальная программа и значения записываются в канал HEX_16. У меня ответы приходят как показано выше. И я просто использую аргументы канала CALL.Vector, типа real. Не использую никаких программ, просто вывожу на экран значения аргументов канала. Так можно делать или надо именно как в примере? И можно ли потом использовать аргументы канала CALL.Vector в программе автоматизации или их нужно записывать в отдельные каналы?

Сообщения / Posts 67 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Если Вас удовлетворяет формат получаемых данных, дополнительные преобразования осуществлять не нужно.

Если Вам в программе автоматизации нужны только текущие значения параметров, запрашиваемых с помощью каналов CALL.Vector, дополнительные каналы для этих параметров не нужны.

Необходимо также учитывать лицензионные ограничения, связанные с ипользованием CALL.Vector (см. описание канала CALL.Vector).

Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
По причине перегруженности вопросами, слабо связанными с исходной темой, топик закрывается.
Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
  Этот топик включает в себя следующие страницы /
This topic is comprised of pages 1  2 
 

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2