Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер ModBus

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Драйвер ModBus

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dito85 last edited by

      Спасибо за ответы! Насколько я понял, если использовать MQTT, то к каждому контроллеру нужно тянуть витую пару для Ethernet, что в итоге приведет к большому количеству проводов. При использовании RS485, это всего два провода (питание не в счет).
      @aurodionov:

      Как вариант использовать это

      OpenMODBUS/TCP to RS-232/485 MODBUS RTU gateway

      https://github.com/3cky/mbusd `

      Если возможно, подскажи как и к чему это можно прикрутить?

      1 Reply Last reply Reply Quote 0
      • aurodionov
        aurodionov last edited by

        @dito85:

        Спасибо за ответы! Насколько я понял, если использовать MQTT, то к каждому контроллеру нужно тянуть витую пару для Ethernet, что в итоге приведет к большому количеству проводов. При использовании RS485, это всего два провода (питание не в счет).
        @aurodionov:

        Как вариант использовать это

        OpenMODBUS/TCP to RS-232/485 MODBUS RTU gateway

        https://github.com/3cky/mbusd `

        Если возможно, подскажи как и к чему это можно прикрутить? `
        Насчет mqtt возможно есть гейт в модбас

        по поводу шлюза , пока сам разбираюсь, будет что рассказать буду тут отписыватся

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @electric69:

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

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

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

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @dito85:

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

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

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

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

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

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

            1 Reply Last reply Reply Quote 0
            • E
              electric69 last edited by

              @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 Reply Last reply Reply Quote 0
              • H
                Haus last edited by

                @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

                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  @electric69:

                  @Bluefox:

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

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

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

                  1 Reply Last reply Reply Quote 0
                  • D
                    dito85 last edited by

                    @Bluefox:

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

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

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

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

                    1 Reply Last reply Reply Quote 0
                    • E
                      electric69 last edited by

                      @dito85:

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

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

                      1 Reply Last reply Reply Quote 0
                      • V
                        vtec last edited by

                        @electric69:

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

                        1 Reply Last reply Reply Quote 0
                        • E
                          electric69 last edited by

                          @vtec:

                          @electric69:

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

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

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

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

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

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

                          Порта Ethernet нету.

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

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

                          1 Reply Last reply Reply Quote 0
                          • F
                            ford7 last edited by

                            @electric69:

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

                            1 Reply Last reply Reply Quote 0
                            • D
                              dito85 last edited by

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

                              1 Reply Last reply Reply Quote 0
                              • D
                                dimon last edited by

                                Всем привет!

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

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

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

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

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

                                  • бинарные read only

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

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

                                  • holding регистры.

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

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dimon last edited by

                                    @Bluefox:

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

                                    • бинарные read only

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

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

                                    • holding регистры.

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

                                    holding регистры.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MSapogov last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • M
                                          MSapogov last edited by

                                          @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 Reply Last reply Reply Quote 0
                                          • Bluefox
                                            Bluefox last edited by

                                            @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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            977
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            174
                                            49305
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo