Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. ioBroker драйвера
  5. Драйвер ModBus

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Драйвер ModBus

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
174 Beiträge 25 Kommentatoren 54.5k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #20

    @electric69:

    Производитель вроде пишет, что должен работать по ModBUS TCP. Посоветуйте какой тестер модбаса - хотя бы попробовать… `
    Я думаю, что твой прибор работает в режиме slave.

    http://www.tuomio.fi/ananas/

    http://en.radzio.dxp.pl/modbus-master-simulator/

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #21

      @dito85:

      Или ModBus RTU тоже можно как то запустить? `
      Я тоже не с нуля писал, а использовал вот эту библиотеку:

      https://github.com/TooTallNate/node-modbus-stack

      Очень плохого качества и мне пришлось многое дописывать самому. Так что поддержку RTU мне придётся делать самому.

      Есть ещё такой пакет:

      https://www.npmjs.com/package/modbus-rtu

      Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port?

      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        electric69
        schrieb am zuletzt editiert von
        #22

        @Bluefox:

        Есть ещё такой пакет:

        https://www.npmjs.com/package/modbus-rtu

        Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? `
        Bluefox, а для ModBUS RTU есть варианты? Он вроде только через RS485/RS232 не?

        А еще в документации к https://www.npmjs.com/package/modbus-rtu указано: NOTE! node-serialport doesn't support node 0.11.11+

        Т.е. с версией ноды 0.12.7 уже не будет работать…

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          Haus
          schrieb am zuletzt editiert von
          #23

          @electric69:

          @Bluefox:

          Есть ещё такой пакет:

          https://www.npmjs.com/package/modbus-rtu

          Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? `
          Bluefox, а для ModBUS RTU есть варианты? Он вроде только через RS485/RS232 не?

          А еще в документации к https://www.npmjs.com/package/modbus-rtu указано: NOTE! node-serialport doesn't support node 0.11.11+

          Т.е. с версией ноды 0.12.7 уже не будет работать… `
          Я не углублялся, гдето читал что стабильной считают node 0.10… и даже вроде с установкой iobroker в node 0.12 были warning

          js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

          admin: 3.6.0

          javascript: 4.1.10

          web: 2.4.1 vis: 1.1.10

          cloud: 2.6.2

          Server: DELL FX170 / linux: Debian 9.5 Stretch

          Adapter: MegaD-2561, Mega-ES…

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #24

            @electric69:

            @Bluefox:

            Есть ещё такой пакет:

            https://www.npmjs.com/package/modbus-rtu

            Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? ****Bluefox****, а для ModBUS RTU есть варианты?
            Вроде как, ModBUS RTU over TCP (не путать с ModBUS TCP)

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              dito85
              schrieb am zuletzt editiert von
              #25

              @Bluefox:

              Есть ещё такой пакет:

              https://www.npmjs.com/package/modbus-rtu

              Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port `

              Bluefox, если есть возможность прикрути, очень нужная вещь. Конечно слать запросы RTU по TCP было бы удобнее, но и с COM портом пойдет. Можно преобразователь на крайний случай поставить.

              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                electric69
                schrieb am zuletzt editiert von
                #26

                @dito85:

                Bluefox, если есть возможность прикрути, очень нужная вещь. `
                +1

                Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU…

                1 Antwort Letzte Antwort
                0
                • V Offline
                  V Offline
                  vtec
                  schrieb am zuletzt editiert von
                  #27

                  @electric69:

                  Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU… `
                  По случаю достался? Или покупался. Если покупался, то для каких целей?

                  1 Antwort Letzte Antwort
                  0
                  • E Offline
                    E Offline
                    electric69
                    schrieb am zuletzt editiert von
                    #28

                    @vtec:

                    @electric69:

                    Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU… По случаю достался? Или покупался. Если покупался, то для каких целей?
                    По случаю мне досталось много чего - типа ПЛК-100, сименс лого и прочего, но мне ничего не понадобилось пока((

                    ПЛК-63 хочу использовать для управления отоплением в квартире.

                    Корпус под модульку (у меня шкаф из http://cs-cs.net/shhity-dlya-elektriki-edf -панелей).

                    Аналоговые входы 8 шт. - подключение термометров сопротивления (в теплые полы, на обратку, температура воздуха в помещении и пр.)

                    Дискретные входы/выходы - управление насосами/задвижками.

                    Аналоговые выходы - управление задвижками и приводами.

                    Порта Ethernet нету.

                    Но это только в планах))

                    А пока есть железки с которыми можно потренироваться…
                    4531_zwischenablage01.jpg

                    1 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      ford7
                      schrieb am zuletzt editiert von
                      #29

                      @electric69:

                      По случаю мне досталось много чего - типа ПЛК-100, сименс лого и прочего, но мне ничего не понадобилось пока(( `
                      Вот про сименс очень интересно что там "досталось", мне сейчас не хватает портов ввода для s7-1200, вдруг у вас без дела пылится?

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        dito85
                        schrieb am zuletzt editiert von
                        #30

                        Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          dimon
                          schrieb am zuletzt editiert von
                          #31

                          Всем привет!

                          А есть хоть какая нибудь инструкция, как пользоваться этим драйвером? Никак не пойму.

                          Есть шлюз MODBUS TCP - MODBUS RTU.

                          Как передать значение 500 на устройство с ID 10 во 2 регистр?

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #32

                            Есть 4 типа регистров:

                            • бинарные read only

                            • бинарные read/write

                            • аналоговые регистры входа

                            • holding регистры.

                            О каких идёт речь? И какого типа аналоговый регистр: short, int32, float?

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              dimon
                              schrieb am zuletzt editiert von
                              #33

                              @Bluefox:

                              Есть 4 типа регистров:

                              • бинарные read only

                              • бинарные read/write

                              • аналоговые регистры входа

                              • holding регистры.

                              О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? `

                              holding регистры.

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MSapogov
                                schrieb am zuletzt editiert von
                                #34

                                @dimon:

                                @Bluefox:

                                Есть 4 типа регистров:

                                • бинарные read only

                                • бинарные read/write

                                • аналоговые регистры входа

                                • holding регистры.

                                О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? `

                                holding регистры. `
                                Да… мини инструкции не хватает.

                                Собрал переходник Modbus TCP RTU RS-485 http://esp8266.ru/forum/threads/modbus- … erver.911/

                                Тоже думал осилю настройку драйвера методом тыка, но увы :-(

                                Программой QModBus подаю запрос (Подсмотрел тут http://www.iobroker.net/?page_id=4643&l … ModBus_RTU)

                                05 03 00 00 00 09

                                В ответ получаю 9 строк со значением состояний входов и датчиков.

                                При записи новых значений

                                05 06 00 02 значения, меняются.

                                Как теперь из запихнуть в IOB?

                                Вот кусок кода из arduin-ки

                                ! ````
                                #include <simplemodbusslave.h>
                                ! //////////////////// Макроопределения портов и настройки программы ///////////////////
                                #define TxEnablePin 13 // Tx/Rx пин RS485
                                #define baud 9600 // скоростьобмена по последовательному интерфейсу. (UART)
                                #define Slave_ID 5 // Адрес Slave устройсва
                                ! enum
                                {
                                // just add or remove registers and your good to go...
                                // The first register starts at address 0
                                P0,
                                P1,
                                P2,
                                P3,
                                P4,
                                P5,
                                P6,
                                P7,
                                P8,
                                HOLDING_REGS_SIZE /// Это не удалять размер массива HOLDING_REGS.
                                //общее количество регистров для функции 3 и 16 разделяет тотже самый массив регистров
                                //т.е. то же самое адресное пространство
                                };
                                !
                                unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array</simplemodbusslave.h>

                                1 Antwort Letzte Antwort
                                0
                                • BluefoxB Offline
                                  BluefoxB Offline
                                  Bluefox
                                  schrieb am zuletzt editiert von
                                  #35

                                  @MSapogov:

                                  @dimon:

                                  @Bluefox:

                                  Есть 4 типа регистров:

                                  • бинарные read only

                                  • бинарные read/write

                                  • аналоговые регистры входа

                                  • holding регистры.

                                  О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? `

                                  holding регистры. `
                                  Да… мини инструкции не хватает.

                                  Собрал переходник Modbus TCP RTU RS-485 http://esp8266.ru/forum/threads/modbus- … erver.911/

                                  Тоже думал осилю настройку драйвера методом тыка, но увы :-(

                                  Программой QModBus подаю запрос (Подсмотрел тут http://www.iobroker.net/?page_id=4643&l … ModBus_RTU)

                                  05 03 00 00 00 09

                                  В ответ получаю 9 строк со значением состояний входов и датчиков.

                                  При записи новых значений

                                  05 06 00 02 значения, меняются.

                                  Как теперь из запихнуть в IOB?

                                  Вот кусок кода из arduin-ки

                                  ! #include <simplemodbusslave.h> ! //////////////////// Макроопределения портов и настройки программы /////////////////// #define TxEnablePin 13 // Tx/Rx пин RS485 #define baud 9600 // скоростьобмена по последовательному интерфейсу. (UART) #define Slave_ID 5 // Адрес Slave устройсва ! enum { // just add or remove registers and your good to go... // The first register starts at address 0 P0, P1, P2, P3, P4, P5, P6, P7, P8, HOLDING_REGS_SIZE /// Это не удалять размер массива HOLDING_REGS. //общее количество регистров для функции 3 и 16 разделяет тотже самый массив регистров //т.е. то же самое адресное пространство }; ! unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array</simplemodbusslave.h> `
                                  Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP.

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    MSapogov
                                    schrieb am zuletzt editiert von
                                    #36

                                    @Bluefox:

                                    Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP. `
                                    Я то и подавно не понимаю… А как-же
                                    @dito85:

                                    Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/ `
                                    И там и там порт 502 по умолчанию и упоминается Modbus TCP, может это все-же оно?

                                    Хоть кусочек примера дайте… куда вписывать ID от Slave устройства, номер регистра...

                                    1 Antwort Letzte Antwort
                                    0
                                    • BluefoxB Offline
                                      BluefoxB Offline
                                      Bluefox
                                      schrieb am zuletzt editiert von
                                      #37

                                      @MSapogov:

                                      @Bluefox:

                                      Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP. `
                                      Я то и подавно не понимаю… А как-же
                                      @dito85:

                                      Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/ `
                                      И там и там порт 502 по умолчанию и упоминается Modbus TCP, может это все-же оно?

                                      Хоть кусочек примера дайте… куда вписывать ID от Slave устройства, номер регистра... `
                                      А ты можешь к своему устройству напрямую через serial порт подключится?

                                      Тогда можно попробовать https://www.npmjs.com/package/jsmodbus

                                      ` > MODBUS TCP is a protocol that has a specification.

                                      MODBUS RTU and MODBUS ASCII are protocols that have specifications.

                                      TCP/IP is a protocol that has a specification.

                                      MODBUS over TCP means a MODBUS RTU packet wrapped in a TCP packet. (A)

                                      MODBUS TCP means a MODBUS TCP packet wrapped in a TCP packet. (B)

                                      A and B are not compatible. They transfer like data but have different structures. `
                                      Здесь можно посмотреть структуру пакетов:

                                      http://www.simplymodbus.ca/TCP.htm
                                      48_adu_pdu.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        MSapogov
                                        schrieb am zuletzt editiert von
                                        #38

                                        @Bluefox:

                                        Тогда можно попробовать https://www.npmjs.com/package/jsmodbus `
                                        Для меня это непосильный труд… Я мало что понимаю в том, куда я должен это поставить?

                                        Есть виртуалка с IOB,

                                        Есть Win10 c USB-COM-портом к которому подключен RS-485

                                        Есть ESP8266 c RS-485 ( Modbus TCP to RTU)

                                        Есть Ардуинка с RS-485 (могу залить любой скетч).

                                        Если постараться, то могу прокинуть USB-COM с RS485 внутрь IOB на виртуалку.

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          MSapogov
                                          schrieb am zuletzt editiert von
                                          #39

                                          Немного продвинулся…

                                          При помощи все того-же переходника на ESP8266 - Modbus TCP to Modbus RTU получилось прочитать данные. Значит переходник работает!!!

                                          Делал так: в IOB в конфигурации modbus установил следующее:

                                          IP адрес партнера: 192.168.11.205

                                          Порт: 502

                                          ID устройства: 5

                                          Тип: Slave

                                          Еще были созданы Holding регистры 40001-40009. При записи значений в эти регистры, я могу их прочитать при помощи все тойже QModBus.

                                          Получается что я создал эмулятор slave устройства!!!

                                          А теперь вопросы:

                                          1. Как сделать так, чтобы IOB был как мастер? (Что нужно указать в конфиге)

                                          2. Опрос slave устройства с номером 6 2 раза в секунду?

                                          3. Драйверов modbus должно быть столько-же, сколько и Slave устройств?

                                          4. На каждый slave свой драйвер?

                                          PS: Отвечаю сам.

                                          1. Выбрать IP адрес партнера: 192.168.11.205

                                          Порт: 502

                                          ID устройства: 6

                                          Тип: Master.

                                          2. Интервал опроса: 500

                                          Правильно ли я понял, что в этой связке я не подключу еще устройства на шину RS-485.

                                          Даже создав новый драйвер modbus.1 и указав в нем то-же IP 192.168.11.205, только изменив ID устройства например на 10, у меня уже неполучается считать данный с 10-го устройства.

                                          Выходит что для каждого устройства нужен свой Modbus TCP to Modbus RTU шлюз.

                                          А если в качестве мастера будет Modbus TCP to Modbus RTU шлюз, то как в этом случае настраивать драйвер?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          815

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe