Форум 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 » Общие вопросы / Common questions » ChGroupReq

   
Автор / Author Тема / Topic: ChGroupReq
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421


Icon 1 отправлено / posted      Профиль для / Profile for Alex210271           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
Имеется устройство с обменом по протоколу Modbus RTU. Данные 4 байтные беззнаковые целые числа. Поддерживает 3 и 4 функции Modbus. Создал источник Rin_Float(4), привязал к каналу НЕХ32, все работает замечательно данные идут идеально. Создал канал CALL ChGroupReq привязал к тому же источнику, аргументы типа UDINT - Обмен идет а аргументы всегда нули (даже если всего один аргумент канала ChGroupReq). Сканер портов показывает что обмен идет нормально, также как в случае с НЕХ32:
Запрос:09.08.2012 (A108-1) 11:22:43.09064 (+0.1016 seconds)

01 04 00 01 00 02 20 0B ...... .

Ответ:09.08.2012 (A108-1) 11:22:43.11364 (+0.0225 seconds)

01 04 04 00 00 55 78 C4 F6
должен бы показывать значение аргумента 21880 а там ноль. Если Аргумент задать типа REAL он начинает показывать числа, но неправильно. Как использовать канал ChGroupReq для данных типа 4 байтные беззнаковые целые?

Сообщения / Posts 80 | Из / 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 
По стандарту Modbus нет стандартных функций для чтения 4-байтовых беззнаковых целочисленных переменных.
Поэтому Вам надо использовать ChGroupReq с привязкой к переменной Rin_word(4), задать у него 2 аргумента типа UINT, а затем программно объединить эти 2 регистра в одно число типа UDINT.
Другой вариант - привязать ChGroupReq к переменной R_FIFO_Queue и в его аргументах скунструировать нужный запрос и разборку ответа в нужном Вам формате.

Сообщения / Posts 17338 | Из / 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