Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 36

Тема: ПР-200 переменные с плавающей точкой Float32 и Home assistant

  1. #1

    Unhappy ПР-200 переменные с плавающей точкой Float32 и Home assistant

    Подскажите как считать значение сетевой переменной с плавающей точкой
    необходимо считать температуру с сенсора Pt100 и передать её в сеть для дальнейшей обработки
    данные с сенсора считал а вот передать их в home assistant не могу
    уже неделю воюю все форумы перечитал
    для включения света все получилось но там целочисленная переменная


    - type: rtuovertcp
    host: 192.168.43.45
    port: 502
    name: "hub1"
    close_comm_on_error: true
    delay: 5
    timeout: 5
    lights:

    - name: "Гостевая"
    slave: 16
    address: 521
    verify:
    а вот для сетевых переменных с плавающей запятой засада выдает постоянно рандомные числа
    - type: rtuovertcp
    host: 192.168.43.45
    port: 502
    name: "hub1"
    close_comm_on_error: true
    delay: 5
    timeout: 5
    sensors:
    - name: sensor1
    slave: 16
    address: 528
    data_type: float32
    Последний раз редактировалось sergkovalev; 28.01.2022 в 22:28.

  2. #2
    Пользователь
    Регистрация
    31.01.2019
    Адрес
    РФ/РБ
    Сообщений
    917

    По умолчанию

    Вы по какому протоколу обмениваетесь?

  3. #3

    По умолчанию

    modbus rtu over tcp

  4. #4
    Пользователь
    Регистрация
    31.01.2019
    Адрес
    РФ/РБ
    Сообщений
    917

    По умолчанию

    Цитата Сообщение от sergkovalev Посмотреть сообщение
    modbus rtu over tcp
    Интересно. Home Assistant щупаю давно, но Modbus на нем ни разу не использовал.
    Попробую числа 1-2.
    Есть Owen, B&R, Siemens. Поэкспериментирую.

    а вот для сетевых переменных с плавающей запятой засада выдает постоянно рандомные числа
    У Owen это похоже в целом проблема, только недавно тема была.

  5. #5

    По умолчанию

    буду ждать ибо у самого уже мозгов не хватает

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,666

    По умолчанию

    У ПР200 порядок байт 2301 (3412 если хотите) для float. Ищите в своем Асистансе как переставлять байты или регистры. Все.

    Проблема не в Овен, проблема в головах (с)

  7. #7

    По умолчанию

    Цитата Сообщение от sergkovalev Посмотреть сообщение
    Подскажите как считать значение сетевой переменной с плавающей точкой
    необходимо считать температуру с сенсора Pt100 и передать её в сеть для дальнейшей обработки
    данные с сенсора считал а вот передать их в home assistant не могу
    уже неделю воюю все форумы перечитал
    для включения света все получилось но там целочисленная переменная
    Самый простой способ настроить передачу float, задать в логике константу, например 10.0, а дальше в настройках HA искать где настраивается режим передачи порядка байт/регистров, и подобрать настройки чтоб значение передавалось корректно.
    А что для освещения использовалось, как данные передаются?, я делал для ПР через HomeKit в HA, тут есть демонстрация: https://www.youtube.com/watch?v=Sv_1fKA8-IU, там же через режим датчиков можно и температуру заводить, работает пока только по отдельности либо выключатели либо датчики.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  8. #8
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    У ПР200 порядок байт 2301 (3412 если хотите) для float. Ищите в своем Асистансе как переставлять байты или регистры. Все.

    Проблема не в Овен, проблема в головах (с)
    +100500
    т.к стандарт модбас ничего не говорит о порядке регистров для каких-то там float и даже не знает о их существовании.
    И каждый производитель ПЛК, использующий протокол модбас, волен интерпретировать набор регистров(байтов) и их порядок следования как ему больше нравиться.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #9
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,666

    По умолчанию

    petera я думаю тут не воля интерпретации, а прямая зависимость от типа примененного процессора в устройстве, зачем заставлять маломощное устройство делать постоянно лишнюю работу, когда на верхнем уровне можно разобрать так, как требуется верхнему уровню.

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,666

    По умолчанию

    Валенок фигню несете, просто регистры переставлены местами а не байты еще.

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Как разбить одно число с плавающей точкой, на два целых?
    от Сыродел в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 06.04.2020, 23:17
  2. Ответов: 3
    Последнее сообщение: 09.11.2018, 08:05
  3. Сетевой обмен данными с плавающей точкой
    от LamSer в разделе Программируемые реле
    Ответов: 13
    Последнее сообщение: 10.03.2017, 14:44
  4. Выбор из чисел с плавающей точкой
    от anthrwpos в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 14.02.2017, 10:03
  5. Ответов: 1
    Последнее сообщение: 22.10.2010, 10:24

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •