sugar
Forum Professor / Завсегдатай форума
Участник № / Member № 1198
отправлено / posted
Имеются 4 регистра с данными формата INT 0-3 запрос 0х3 данные получаю через CallReGr используя com-порт. Проблема в том что после нескольких циклов опроса все 4 аргумента ,используемые в канале Call, сбрасываются в ноль, потом все значения восстанавливаются.Ситуация постоянно повторяется. Такое происходит при использовании модбас-симулятора и при опросе самого прибора(термодат). 1.На что обратить внимание чтоб нормализовать обмен? 2.Можно ли получить данные со знаком (формате int),не проводя дополнительных преобразований , получаяемых данных?( пробовал менять тип данных в аргументах,но отрицательных чисел не получил).
Сообщения / Posts 152 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Проблемы, скорее всего, на аппаратном уровне у COM-порта. Можно получить в протоколе профайлера диагностику обмена, если задать в *.cnf-файле ключ DEBUGON=70000200 Можно перехватить трафик COM-порта любым PortMon.
2. В Modbus нет определения знаковых чисел. Передается 16-битовый регистр. Дальше - вопрос интерпретации: - в программе можно обозначить соответствующий аргумент как INT (знаковое целое), - на экране надо задать тип данных аргумента INT и подобрать соответствущий формат отображения ("По умолчанию" или "Integer %hd").
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sugar
Forum Professor / Завсегдатай форума
Участник № / Member № 1198
отправлено / posted
обмен смотрели проходит все нормально на каждый запрос приходит ответ(корректный).
Сообщения / Posts 152 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dlesnikov
Forum Member / Участник форума
Участник № / Member № 4358
отправлено / posted
Может аргументы в 0 сбрасывает другой канал или программа, привязанная к этим аргументам? Что привязано к аргументам канала Call? Случайно не реальное значение другого канала?
Сообщения / Posts 50 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Вопрос от dlesnikov правомерен.
А в моменты, когда аргументы ChGroupReq сбрасываются в ноль, ответы тоже корректные, ненулевые? Сколько Modbus-контроллеров Вы опрашиваете? В профайлере с указанным ключом диагностики есть сообщения о запросах/ответах, ошибках?
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sugar
Forum Professor / Завсегдатай форума
Участник № / Member № 1198
отправлено / posted
Спасибо разобрался.Аргуненты CALL поставил OUT(привязаны к каналам HEX)
Сообщения / Posts 152 | Из / From: Россия
| IP / IP: IP адрес / IP address |