Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    676

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Драйвер ModBus

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
174 Beiträge 25 Kommentatoren 58.1k Aufrufe 2 Beobachtet
  • Ä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.
  • 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
                                    • D Offline
                                      D Offline
                                      dito85
                                      schrieb am zuletzt editiert von
                                      #40

                                      @MSapogov:

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

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

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

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

                                      Вы, видимо, не совсем разобрались в настройках и принципах работы самого шлюза. Шлюз, как бы, состоит из двух устройств:

                                      1. ModBus RTU master -который опрашивает и управляет устройствами на линии 485 (я подключал 6 устройств). Причем опрос устройств на стороне RTU происходит независимо от запросов со стороны TCP(скорость опроса, сами запросы настраиваются в шлюзе) . Ответы от каждого устройства записываются в определенный участок памяти.

                                      2. ModBus TCP slave - устройство, которое и должно отвечать вашему IOB, это устройство видит ту же область памяти что и ModBus RTU. Поэтому в IOB достаточно одного экземпляра драйвера ModBus TCP. Просто обращайтесь к определенному участку памяти где лежат данные от нужного устройства.

                                      P.S. На стороне TCP данный шлюз, так же поддерживает GET запросы, которыми можно управлять и опрашивать устройства на стороне RTU.

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

                                        Bluefox анонсировал доработку Modbus, версия на git

                                        Bluefox:
                                        Допилил Modbus RTU
                                        

                                        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
                                          #42

                                          На гите лежит версия, которая поддерживает rtu по rs485.

                                          Пришлось, правда, поменять код и для tcp мастера и слейва. Так же поменяна адресация при использовании alias.

                                          Если кто то использует tcp: просьба протестить.

                                          И пути назад нет. Надо что бы новая библиотека заработала, т.к. прошлый используемый пакет был в зачаточном состоянии и не изменялся уже 2 года.

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          438

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          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