Добрый день. Выход в режиме измерения термосопротивления Вы тоже в INT переводите, или во float передаете? Для режима там нет никаких особенностей, главное выбрать правильный тип НСХ датчика, как проверяете что 0, через Modbus или онлайн отладку?
Вид для печати
Проверяю через modbus.
Передаю и Int, и напрямую float для отладки.
В режиме ТС
Вложение 51744
В режиме сопротивления с макросом 50М
Вложение 51745
P.S.: также хотел бы уточнить, в каком формате по modbus'у передается float. Как перевести числа из регистров 518-519 в "обычный вид".
float в формате IEEE чего-то там, полностью стандартный. порядок байт только определить правильно и все.
в обоих случаях это не число на которое можно обращать внимание
ЗЫ это число сильно стремящееся к нулю, поэтому и INT верно показывает ноль
Я вижу значение t=91 и его же во float, только нужно правильно преобразовать. Для такой проверки лучше использовать Modbus Poll, там это сразу делается.
По особенностям работы с float информация : https://www.youtube.com/watch?v=NMTvVy9ABVc
В первом варианте что-то явно не так, попробуйте другой канал использовать, или другую характеристику выбрать.
Благодарю за пояснения, с float'ом разобрался.
Пробовал три канала (AI1, AI2, AI3), везде одинаковый результат: в режиме ТС - нули. В режиме измерения сопротивления - сопротивление измеряется нормально, пробовал с датчиком и с потенциометром.
Предполагаю, что дело в выборе типа датчика. У меня датчик ДТС324-50М.В3.41 имеет НСХ 50М. Пробовал настраивать вход как TCM Cu 500 (пробовал с разными альфами), везде нули. Есть ли какое-то подробное описание типов датчиков, на которые настраивается вход?
Датчик трехпроводной, имеет один белый и два красных провода (запараллеленных). При температуре помещения сопротивление 54 Ом между белым и одним из красных (измерял обычным мультиметром).
К прибору подключен: белый - COM2, красный - AI3.
Когда вход AI3 в OwenLogic настроен на измерение сопротивления ("Тип датчика аналогового входа - 0..300 кОм"), то показания - не нули, и они соответствуют действительности. resist1 показывает сопротивление датчика 53 Ом, temper1 - температуру 16 градусов, tempFloat - 15,62 градуса.
Вложение 51771
Нули появляются, если "Тип датчика аналогового входа" для AI3 настроить как TCM Cu 500 или аналогичный.
Мне одному кажется, что "50" и "500" - это разные цифры?!
Короче, в менеджере компонентов есть макрос для данного типа термосопротивления!
Если хотите точнее(по-человечьи) надо нормирующий преобразователь встроенный в датчик или отдельно:
https://owen.ru/product/npt