Ошибки при чтении по ModBus

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
  • Автор
    Сообщения
  • #27103
    Mikhail
    Модератор

    Попробуйте, пожалуйста, деактивировать все остальные группы, кроме проблемной. Ошибка повторится?
    Шаблон выложите в виде файла для скачивания, пожалуйста.

    #27105
    manjey73
    Участник

    @Allmy должен понимать, у вас же указывается тип данных, float, int, double и так далее.

    Кстати в какой-то из версий для 6-ки вроде была ошибка, связанная с этим

    #27106
    Mikhail
    Модератор

    Да, драйвер должен быть из самого свежего дистрибутива. Отсчёт версий модулей начался после официального выхода 6-й версии, поэтому могло быть несколько DLL версии 6.0.0.0.

    #27110
    Allmy
    Участник

    Все, разобрался, при работе с аналоговыми данными контроллер в явном виде использует размер регистра в 4 байта.
    Драйвер SCADA поддерживает размер регистра в стандартные 2 байта.

    Я попросил при возможности переделать прошивку для контроллера.

    Вопросы к разработчикам драйвера:
    1) есть ли возможность во встроенный драйвер ввести возможность выбора размера регистра?
    2) есть ли возможность добавить еще функции ModBus — например, для приточных установок Breezart нужны еще функции WriteSingleRegister (6) и WriteMultipleRegisters (16)?

    #27111
    manjey73
    Участник

    @Allmy получается производитель контроллера отступил от Modbus?

    У Modbus регистр = 2 байта и точка, что вы там собрались дорабатывать?

    еще функции WriteSingleRegister (6) и WriteMultipleRegisters (16) — так они есть, если вы пишите float то это будет функция 16, если int то функция 6

    #27112
    manjey73
    Участник

    У вас в контроллеры аналоговый сигнал (который четыре байта) какой номер регистра?
    Следующий за ним сигнал какой имеет номер регистра ?

    #27116
    Allmy
    Участник

    По порядку, начиная с 0, до 5.
    Если использовать 16-битный регистр, то да, идет через 1. При указании 5 регистров (по количеству входов) считывает только 3 (0-1, 2-3, 4-5). При указании 6-ого регистра уже говорит — illegal address.
    Если использовать 32-битный регистр, то идет по порядку, начиная с 0. При указании 5-ти регистров (по количеству входов) считывает все 5.
    Картинки по ссылке

    https://drive.google.com/drive/folders/1qSKmbjEF3v3Uxp-Efqw8dKmt8qb1eamX?usp=sharing

    Это специфика прошивки контроллера, работающего с 32-битными регистрами, обещали переделать.

    Меня больше волнует про еще бы пару функций в драйвер ModBus (6 и 16) — тогда бы вентустановки можно было под полный контроль поставить

    • Этот ответ был изменен 2 недели назад от Allmy.
    • Этот ответ был изменен 2 недели назад от Allmy.
    • Этот ответ был изменен 2 недели назад от Allmy.
    #27120
    manjey73
    Участник

    Вы читаете прибор при помощи Simply Modbus без ошибок ?
    если да, просто правильно настройте шаблон…

    еще раз вам говорю, 6 и 16 функции в драйвере есть, иначе как вы думаете записываются float в устройства, имея 2 регистра?

    #27121
    baur
    Участник

    https://store.chipkin.com/products/tools/cas-modbus-scanner

    Сразу подбирает все возможные типы и адресы

    #27125
    Allmy
    Участник

    Спасибо, хороший сканер, а то из некоторых китайских производителей сложно вытащить карту регистров их устройств.

    #27154
    Mikhail
    Модератор

    Вопросы к разработчикам драйвера:
    1) есть ли возможность во встроенный драйвер ввести возможность выбора размера регистра?
    2) есть ли возможность добавить еще функции ModBus — например, для приточных установок Breezart нужны еще функции WriteSingleRegister (6) и WriteMultipleRegisters (16)?

    1. Для нестандартных вариаций Модбас разрабатываются отдельные драйвера. Например, есть драйвер Enron Modbus https://www.simplymodbus.ca/Enron.htm
    2. Функции 6 и 16 являются стандартными функциями записи регистров и присутствуют в драйвере.

    #27162
    JurasskPark
    Участник

    Огоооо… 4 байта… Мои любимый размер регистра. 😅
    Скажу, что я бы с вами поделился драйвером modbus c поддержкой 4 байтового регистра… Но он вам не поможет, т.к. нужно считать количество регистров. А в моем драйвере я ещё не сделал. 😅

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
  • Вы должны авторизироваться для ответа в этой теме.