Alhim
Junior Member / Новичок
Участник № / Member № 3831
отправлено / posted
Столкнулся со сбоем в обработке данных типа REAL, может быть кто-то поможет найти причину. Суть в следующем: Необходимо периодически опрашивать параметры счетчика ВКГ-2 через RS-232-й интерфейс по протоколу Modbus ( Протокол обмена ВКГ-2 ). Использую для этого источники/приемники MODBUS.R_FIFO_Queue и привязанные к ним каналы CALL (данная пара для каждого запроса). Для цикличности запростов используется "единицы измерения""свой поток". При опросе параметра "трубопровод" необходимо принимать 12 регистров типа float(real). Странность состоит в том, что если данный запрос отправляется первым, то принимаемые данные обрабатываются как нужно ( 1.05; 0.88; 0.683; -5; 0.4; 0.299892; 0; 0; 0; 0.683; 2.97169; 0.880004 ), если вторым или последущим - данные принимаются неверно ( 3.67336e-041; 2.57138e-041; и т.д. ), хотя ответ прибора абсолютно идентичен.
отправлено / posted
Есть некоторые ошибки в работе канала MODBUS.R_FIFO_Queue. В следующем релизе они будут исправлены.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alhim
Junior Member / Новичок
Участник № / Member № 3831
отправлено / posted
Это связано с особеностями протокола обмена ВКГ-2 (Ссылка на протокол): 1.Различные команды мастера при запросе(0х3 или 0х4 в зависимости от требуемых данных). 2.Различное количество запрашиваемых байтов данных, в зависимости от запроса (5-6-й байты запроса)
Alhim
Junior Member / Новичок
Участник № / Member № 3831
отправлено / posted
Т.е. параметр-2 относится конечно же к каналу CALL.
Если Вы имеете в виду ошибку MODBUS.R_FIFO_Queue версии TM6.06.02 (запись ответа в нулевой и первый аргументы) то я о ней прочитал, и установил предыдущий релиз ТМ6.06. Дело в том что остальные ответы обрабатываются нормально, и в первом и в последующих циклах. Дело в типе данных, или в чем-то другом, определить не могу, т.к. другой запрос "Доп. датчики Р" с ответом типа REAL содержит только нули, вследствие отсутствия подключения датчиков к прибору.
Сообщения / Posts 5 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alhim
Junior Member / Новичок
Участник № / Member № 3831
отправлено / posted
С запростом "Доп. датчики Р" то же самое. Обрабатывается корректно только на старте. Вероятно дело в типе даных.
Подскажите, как в ТМ распологаются мантисса и порядок в типе REAL, попробую принять пответ в INT и программно преобразовать в REAL.
Сообщения / Posts 5 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alhim
Junior Member / Новичок
Участник № / Member № 3831