К входу 1 модуля подключен датчик 100М по трехпроводной схеме.
В соответствующие регистры внесен тип этого датчика, взятый из таблицы документации.
В регистре, предназначенном для считывания значений пересчитанного значения в физическую величину отображается значение (например) 3435. Реальное значение модно получить только ЗАДАВ ВРУЧНУЮ вручную умножение на коэффициент 0,01. т.е. пересчет в физическую величину, который по описанию должен производиться автоматически не содержит этого коэффициента. По моему это ошибка.
Добрый день!
В том то и вопрос. Я надеялся именно на то, что для стандартных датчиков коэффициенты учтены в шаблоне. Я явно задаю тип датчика в регистре. Тем не менее для получения правильного значения физической величины (в данном случае температуры) мне пришлось вручную вводить коэффициент.
Дмитрий!
после того, как я прочитал что “для стандартных датчиков, в том числе 100М подключенных по трехпроводной схеме указаны коэффициенты:” и что “их нужно учитывать. В шаблоне MAI6 они учтены.” я и надеялся, что коэффициенты при указании типа стандартного датчика подставятся автоматически (ну раз они учтены в шаблоне). Тем ни менее, до тех пор, пока я не задал коэффициент 0.01 вручную, я получал значение температуры в виде 3545, вместо 35,45. Именно об этом я вам и написал. Для настройки модуля и чтения данных я использовал Riheva Modbus Poll.
Михаил!
Удивили, если честно. Из вашего ответа получается, что шаблоны у вас хранятся не в модуле, хотя он и автономный, Modbus-овский. Или по крайней мере коэффициенты в шаблоны для стандартных датчиков в модуле не хранятся. Все это еще и еще раз убеждает в том, что необходим конфигуратор, если работа с вашим оборудованием ведется в отсутствие контроллера. У меня в вами был об этом разговор по телефону. Файл с конфигурацией для WB-MAI6, как я понимаю вы тоже не выложили на GitHub.
Добрый день! Если честно, я не очень понимаю, какого поведения устройства вы ожидали. В регистре modbus можно хранить только целые числа. Мы там храним для сопротивления число в 0.01 Ома. Т.е. 12.34 Ома - это “1234” в регистре. Да, вам снаружи надо поделить число на 100. Но как хранение дробных чисел можно реализовать ещё? Это совершенно стандартная практика для всех Modbus-устройств.
Я ожидал, что кроме коэффициента пересчета в шаблоне будет еще присутствовать и соответствующий множитель. Видимо это от того, что много работаю с Modbus OPC Server, в котором легко задать формат представления данных как на стороне устройства, так и на стороне сервера, ведущего опрос. Сделайте конфигуратор, тогда подобные вопросы отпадут сами собой. И если уж вы говорите о пересчете в физическую величину, то можно ведь ожидать что вы и отдавать данные можете в формате float (пара регистров для значения на стороне устройства). Ну да ладно. Конфигуратор, вот что поможет вашим пользователям которые заинтересованы использовать ваши модули без вашего контроллера.