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.1k

Драйвер 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.
  • 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
                                    • D Offline
                                      D Offline
                                      dito85
                                      schrieb am zuletzt editiert von
                                      #43

                                      @Bluefox:

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

                                      Жду с Китая Orange PI Plus 2 и детали на очередной шлюз ESP8266 TCP/RTU.

                                      Как все приедет, соберу и буду тестить )

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

                                        @dito85:

                                        @Bluefox:

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

                                        Жду с Китая Orange PI Plus 2 и детали на очередной шлюз ESP8266 TCP/RTU.

                                        Как все приедет, соберу и буду тестить ) `
                                        У меня все это есть и ESP8266 и Orange PI PC :

                                        Шлюз ESP8266 TCP/RTU делаю по верхней схеме http://esp8266.ru/forum/threads/modbus- … erver.911/

                                        На странице Modbus setting в ESP8266 что прописать, что-бы протестировать?

                                        Драйвер поставил 0.4.0.

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

                                          Что-то покраснел modbus при выборе TCP и master.

                                          host-Bee-IoT	2016-10-18 21:07:39.679	info	Restart adapter system.adapter.modbus.0 because enabled
                                          host-Bee-IoT	2016-10-18 21:07:39.679	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
                                          modbus-0	2016-10-18 21:07:39.671	info	terminating
                                          RangeError:	2016-10-18 21:07:39.651	error	at Socket.Readable.push (_stream_readable.js:111:10)
                                          RangeError:	2016-10-18 21:07:39.651	error	at readableAddChunk (_stream_readable.js:153:18)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Socket.emit (events.js:169:7)
                                          RangeError:	2016-10-18 21:07:39.651	error	at emitOne (events.js:77:13)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-tcp-client.js:129:22)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Object.emit (/opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit-event-bus/src/stampit-event-bus.js:20:38)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:135:17)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:91:33)
                                          RangeError:	2016-10-18 21:07:39.651	error	at Buffer.readUInt8 (buffer.js:718:5)
                                          RangeError:	2016-10-18 21:07:39.651	error	at checkOffset (buffer.js:680:11)
                                          RangeError:	2016-10-18 21:07:39.651	error	index out of range
                                          uncaught	2016-10-18 21:07:39.651	error	exception: index out of range
                                          modbus-0	2016-10-18 21:07:39.620	info	Connected to slave 192.168.11.205
                                          modbus-0	2016-10-18 21:07:39.565	warn	Serial is not available
                                          modbus-0	2016-10-18 21:07:39.561	info	starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.modbus
                                          host-Bee-IoT	2016-10-18 21:07:39.136	info	instance system.adapter.modbus.0 started with pid 23265
                                          host-Bee-IoT	2016-10-18 21:07:26.437	info	Restart adapter system.adapter.modbus.0 because enabled
                                          host-Bee-IoT	2016-10-18 21:07:26.437	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
                                          uncaught	2016-10-18 21:07:26.423	error	exception: index out of range
                                          modbus-0	2016-10-18 21:07:26.403	info	Connected to slave 192.168.11.205
                                          modbus-0	2016-10-18 21:07:26.353	warn	Serial is not available
                                          
                                          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

                                          949

                                          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