41 CC D0 9E - Float - Big Endian (ABCD) 25.6018639 (предположу, если это температура)
https://www.scadacore.com/tools/prog...hex-converter/
41 CC D0 9E - Float - Big Endian (ABCD) 25.6018639 (предположу, если это температура)
https://www.scadacore.com/tools/prog...hex-converter/
В общем с компа я этот датчик опрашиваю, получается. Не пойму как сформировать такие же команды с ПРкиСнимок экрана (428).png
Указать что это флоат, команда 0х03, выставить правильно положение слов и байтов.
Так вы вообще другое отправляете через ComPort ToolKit
Не надоело вам ещё?
ПР не может сформировать любой запрос (это может только ПЛК), она работает только по стандарту Модбас RTU, всё что вам надо, это проверить чтение Float функцией 03, проверив перестановку байт и регистров. Больше вы ничего не сможете изменить.
Проверять надо на датчике, чтобы получить то же значение. Если принимается не правильно, переставить регистры (байты).
Из ваших байт получается 25.60186
Последний раз редактировалось kondor3000; 19.08.2024 в 19:54.
Надоедает уже))) ну да температуру я и считывал всё правильно. Да вот это и пытаюсь понять может ли ПР сформировать нужную команду. За ссылку спасибо! Я и на датчике пробую не отвечает он, уже перепробовал наверное все варианты. Я просто думаю может ещё какие то нюансы я не знаю или не понимаю, поэтому спрашиваю. Толковой инструкции нет.
Работал с такими датчиками, только ПЛК их нормально опрашивает, на ПР ничего не получится.
Все получится, просто надо периодически посылать команду для измерения. И потом просто настроив чтение фильтровать данные. Должно получиться.
а фильтровать каким образом?
Stas/// программой. Например если вы читаете регистр без команды "измерить" он что присылает? старое значение, ну и незачем фильтр, если 0, то учесть его не показывать зря.
если без команды измерить присылает старое значение, приходится по очереди отсылать измерить а потом считать.