PDA

Просмотр полной версии : ПЛК110-30[м02] + датчик влажности DHTS-XX0R100-C04-C



Dzherenov
27.07.2022, 08:50
Здравствуйте, подскажите как в CoDeSys осуществляется подключение таких датчиков? На сайте производителя датчика информации по нему мало, есть только таблица переменных Modbus, которые как я понимаю он непрерывно спамит в сеть, как прочитать ее в контроллере?

kondor3000
27.07.2022, 09:01
Здравствуйте, подскажите как в CoDeSys осуществляется подключение таких датчиков? На сайте производителя датчика информации по нему мало, есть только таблица переменных Modbus, которые как я понимаю он непрерывно спамит в сеть, как прочитать ее в контроллере?

Датчик не может спамить, он слейв всегда. А вот ПЛК мастер должен его опросить, для этого и нужны все параметры датчика.
Смотрите видео опроса модулей аналогового ввода, с датчиками имеющими Модбас, всё так же https://www.youtube.com/watch?v=hOhLY8GVbMo

Dzherenov
27.07.2022, 10:26
Спасибо теперь хоть понятно с чего начать разбираться.

Dzherenov
30.07.2022, 10:21
Подскажите еще один момент, подключение датчика настроил данные получаю (кстати чтоб подключить датчик питание пришлось подать на 24+ и на Hout -, что без документации нифига не очевидно))), данные приходят в таком формате:
если создать real input module - в виде чиста с плавающей точкой оканчивающегося на е в степени.
если создать register input module - в виде WORD например 345 что соответствует 34.5 градуса.

Я вот чет не понимаю как в CoDeSys перевести 345 в 34.5? Простое деление просто обрезает до 34.

Пока вопрос решился созданием промежуточной переменной типа REAL и ее делением на 10.

kondor3000
30.07.2022, 11:34
Подскажите еще один момент, подключение датчика настроил данные получаю (кстати чтоб подключить датчик питание пришлось подать на 24+ и на Hout -, что без документации нифига не очевидно))), данные приходят в таком формате:
если создать real input module - в виде чиста с плавающей точкой оканчивающегося на е в степени.
если создать register input module - в виде WORD например 345 что соответствует 34.5 градуса.

Я вот чет не понимаю как в CoDeSys перевести 345 в 34.5? Простое деление просто обрезает до 34.

Пока вопрос решился созданием промежуточной переменной типа REAL и ее делением на 10.

Из целочисленной переменной так и делается (INT_TO_REAL)/10, можно так INT/10.0
По поводу переменной с плавающей точкой, для корректного отображения надо переставить местами регистры (байты). В ПЛК это делается установкой последней настройки UMD (универсал модбас девайс) в Nativ (перестановка регистров, в большинстве случаев).
либо применением Функц. блока для перестановки регистров, мой пример есть тут https://owen.ru/forum/showthread.php?t=35094#10
тут тоже подобное с перестановкой регистров (байт) https://owen.ru/forum/showthread.php?t=36596
На скрине возможные варианты перестановок 61920

Вова13
15.09.2022, 21:07
345*0,1=34,5 или 345/10.0=34.5

62657