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.
    • V
      VictorS last edited by

      Добрый день,

      отчетик по проблеме с виртуальным драйвером serial порта и modbus драйвером к IOB.

      Проблема описана вот тут: http://stackoverflow.com/questions/3232 … up-in-list

      И кроется в каком-то внутреннем нежелании либы serialport работать с портами сделанными socat и не только.

      Поскольку времени (да и особого опыта в JS) ковырять чужие либы нету, был найден workarround, а именно - устанавливаем на сервере IOB шлюз Modbus RTU <-> Modbus RTU over TCP. http://mbus.sourceforge.net/index.html

      В результате шлюз общается в serial созданным socat, а драйвер IOB modbus видит данные с шлюза по протоколу TCP или RTU over TCP (работают оба варианта).

      Может кому-то пригодится

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

        @VictorS:

        Добрый день,

        отчетик по проблеме с виртуальным драйвером serial порта и modbus драйвером к IOB.

        Проблема описана вот тут: http://stackoverflow.com/questions/3232 … up-in-list

        И кроется в каком-то внутреннем нежелании либы serialport работать с портами сделанными socat и не только.

        Поскольку времени (да и особого опыта в JS) ковырять чужие либы нету, был найден workarround, а именно - устанавливаем на сервере IOB шлюз Modbus RTU <-> Modbus RTU over TCP. http://mbus.sourceforge.net/index.html

        В результате шлюз общается в serial созданным socat, а драйвер IOB modbus видит данные с шлюза по протоколу TCP или RTU over TCP (работают оба варианта).

        Может кому-то пригодится `
        Отличная новость. Мне надо внести это решение в readme.md

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

          @VictorS:

          Добрый день,

          отчетик по проблеме с виртуальным драйвером serial порта и modbus драйвером к IOB.

          Проблема описана вот тут: http://stackoverflow.com/questions/3232 … up-in-list

          И кроется в каком-то внутреннем нежелании либы serialport работать с портами сделанными socat и не только.

          Поскольку времени (да и особого опыта в JS) ковырять чужие либы нету, был найден workarround, а именно - устанавливаем на сервере IOB шлюз Modbus RTU <-> Modbus RTU over TCP. http://mbus.sourceforge.net/index.html

          В результате шлюз общается в serial созданным socat, а драйвер IOB modbus видит данные с шлюза по протоколу TCP или RTU over TCP (работают оба варианта).

          Может кому-то пригодится `
          Скомпилил…

          Запускаю - mbusd -p /dev/ttyUSB0 -s 9600 -m 8N1 -P 502

          И теперь работает!!! Даже после разрыва RS-485 и восстановлении связи опрос продолжается.

          Даже после перезапуска mbusd опрос взобновляется через Reconnect time в настройках.

          Спасибо!

          PS: Правильно ли я понял, что если я буду добавлять еще устройства на эту линию RS-485 в паралель, с другими ID, то мне необходимо добавлять еще драйвера modbus.1, modbus.2 и.т.д. Со своими настройками для каждго устройства, интервал опроса, Reconnect time ...

          А параметрах соединения TCP, Адресс, порт, и тип Master остаются неизменными?

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

            @MSapogov:

            PS: Правильно ли я понял, что если я буду добавлять еще устройства на эту линию RS-485 в паралель, с другими ID, то мне необходимо добавлять еще драйвера modbus.1, modbus.2 и.т.д. Со своими настройками для каждго устройства, интервал опроса, Reconnect time …

            А параметрах соединения TCP, Адресс, порт, и тип Master остаются неизменными? `

            Да, так и есть. Для каждого Modbus ID свой экземпляр драйвера. Сам mbusd поддерживает несколько одновременных TCP-соединений.

            1 Reply Last reply Reply Quote 0
            • H
              Haus last edited by

              Ошибка при обновлении

              ! ````
              iobroker 2016-11-09 07:18:34.694 info exit 0
              iobroker 2016-11-09 07:18:34.667 info Adapter "modbus" updated
              iobroker 2016-11-09 07:18:34.512 info upload [0] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/img/plc_back.png img/plc_back.png image/png
              iobroker 2016-11-09 07:18:34.433 info upload [1] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/index.html index.html text/html
              iobroker 2016-11-09 07:18:34.344 info upload [2] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid-theme.css lib/css/jsgrid-theme.css text/css
              iobroker 2016-11-09 07:18:34.254 info upload [3] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid-theme.min.css lib/css/jsgrid-theme.min.css text/css
              iobroker 2016-11-09 07:18:34.179 info upload [4] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.css lib/css/jsgrid.css text/css
              iobroker 2016-11-09 07:18:34.114 info upload [5] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.min.css lib/css/jsgrid.min.css text/css
              iobroker 2016-11-09 07:18:34.039 info upload [6] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/grid.locale-de.js lib/js/grid.locale-de.js application/javascript
              iobroker 2016-11-09 07:18:33.971 info upload [7] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/grid.locale-ru.js lib/js/grid.locale-ru.js application/javascript
              iobroker 2016-11-09 07:18:33.888 info upload [8] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.js lib/js/jsgrid.js application/javascript
              iobroker 2016-11-09 07:18:33.754 info upload [9] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.min.js lib/js/jsgrid.min.js application/javascript
              host.Server-PC 2016-11-09 07:18:33.737 info object change system.adapter.modbus.0
              iobroker 2016-11-09 07:18:33.721 info Update "system.adapter.modbus.0"
              iobroker 2016-11-09 07:18:33.626 info upload [10] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/modbus.png modbus.png image/png
              iobroker 2016-11-09 07:18:33.589 info got /opt/iobroker/node_modules/iobroker.modbus/admin
              iobroker 2016-11-09 07:18:33.268 info npm WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/debug,npm WARN unmet dependency which is version 2.3.0
              iobroker 2016-11-09 07:18:33.262 info WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack requires debug@'~2.2.0' but will load
              iobroker 2016-11-09 07:18:33.250 info npm
              iobroker 2016-11-09 07:18:26.658 info npm install --production --prefix "/opt/iobroker/node_modules/iobroker.modbus" (System call)
              iobroker 2016-11-09 07:18:26.072 info npm WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/debug,npm WARN unmet dependency which is version 2.3.0
              iobroker 2016-11-09 07:18:26.065 info WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack requires debug@'~2.2.0' but will load
              iobroker 2016-11-09 07:18:26.058 info npm
              iobroker 2016-11-09 07:17:18.870 info npm install iobroker.modbus --production --prefix "/opt/iobroker" (System call)
              iobroker 2016-11-09 07:17:16.912 info upgrade modbus

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

                @Haus:

                Ошибка при обновлении

                ! iobroker 2016-11-09 07:18:34.694 info exit 0 iobroker 2016-11-09 07:18:34.667 info Adapter "modbus" updated iobroker 2016-11-09 07:18:34.512 info upload [0] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/img/plc_back.png img/plc_back.png image/png iobroker 2016-11-09 07:18:34.433 info upload [1] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/index.html index.html text/html iobroker 2016-11-09 07:18:34.344 info upload [2] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid-theme.css lib/css/jsgrid-theme.css text/css iobroker 2016-11-09 07:18:34.254 info upload [3] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid-theme.min.css lib/css/jsgrid-theme.min.css text/css iobroker 2016-11-09 07:18:34.179 info upload [4] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.css lib/css/jsgrid.css text/css iobroker 2016-11-09 07:18:34.114 info upload [5] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.min.css lib/css/jsgrid.min.css text/css iobroker 2016-11-09 07:18:34.039 info upload [6] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/grid.locale-de.js lib/js/grid.locale-de.js application/javascript iobroker 2016-11-09 07:18:33.971 info upload [7] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/grid.locale-ru.js lib/js/grid.locale-ru.js application/javascript iobroker 2016-11-09 07:18:33.888 info upload [8] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.js lib/js/jsgrid.js application/javascript iobroker 2016-11-09 07:18:33.754 info upload [9] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.min.js lib/js/jsgrid.min.js application/javascript host.Server-PC 2016-11-09 07:18:33.737 info object change system.adapter.modbus.0 iobroker 2016-11-09 07:18:33.721 info Update "system.adapter.modbus.0" iobroker 2016-11-09 07:18:33.626 info upload [10] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/modbus.png modbus.png image/png iobroker 2016-11-09 07:18:33.589 info got /opt/iobroker/node_modules/iobroker.modbus/admin iobroker 2016-11-09 07:18:33.268 info npm WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/debug,npm WARN unmet dependency which is version 2.3.0 iobroker 2016-11-09 07:18:33.262 info WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack requires debug@'~2.2.0' but will load iobroker 2016-11-09 07:18:33.250 info npm iobroker 2016-11-09 07:18:26.658 info npm install --production --prefix "/opt/iobroker/node_modules/iobroker.modbus" (System call) iobroker 2016-11-09 07:18:26.072 info npm WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/debug,npm WARN unmet dependency which is version 2.3.0 iobroker 2016-11-09 07:18:26.065 info WARN unmet dependency /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack requires debug@'~2.2.0' but will load iobroker 2016-11-09 07:18:26.058 info npm iobroker 2016-11-09 07:17:18.870 info npm install iobroker.modbus --production --prefix "/opt/iobroker" (System call) iobroker 2016-11-09 07:17:16.912 info upgrade modbus `
                Игнорировать.

                1 Reply Last reply Reply Quote 0
                • L
                  leshyi last edited by

                  Коллеги, не могу разобраться…

                  Оборудование:

                  Raspberry pi2

                  iobroker.admin 1.6.6

                  js-controller 0.13.2

                  iobroker.modbus 0.4.7

                  ОВЕН ПЛК150

                  Настройки:

                  ПЛК150: Modbus slave id 1

                  iobroker.modbus: master

                  Переменные все float начиная с первого адреса.

                  Проблема:

                  В ПЛК первая переменная REAL: 14655.73

                  iobroker первая переменная (Float (Big Endian)) 14600.24

                  C остальными такая же беда…

                  Читаю другими средствами, все совпадает. Чистый вывод iobroker.modbus нигде не нашел как увидеть, даже в debug. String (Zero end) выводит какую-то ерунду...

                  Скриншот:

                  ! ![](</s><URL url=)<link_text text="https://4.downloader.disk.yandex.ru/dis ... 9127195a6b">https://4.downloader.disk.yandex.ru/disk/c3ca535dfa58336381d0937fb6660e9eeb8178b05bc74b0fa32fcb895ddf2ccc/58470c13/XGn0l5evRjfE4mkLQiECFfCGje_dBUTHUzY2X_mHX_c00lPD1EEz3Bb4XSc3R94PJJjsFCrrZnGZGInNRpcWtQ%3D%3D?uid=0&filename=2016-12-06_18-04-26.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=180743&hid=73c5d9980ea0f4cee1db84f47ddeb706&media_type=image&tknv=v2&etag=d46c1b9fa0aaa38c6ad36b9127195a6b</link_text>" />

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

                    @leshyi:

                    Коллеги, не могу разобраться…

                    Оборудование:

                    Raspberry pi2

                    iobroker.admin 1.6.6

                    js-controller 0.13.2

                    iobroker.modbus 0.4.7

                    ОВЕН ПЛК150

                    Настройки:

                    ПЛК150: Modbus slave id 1

                    iobroker.modbus: master

                    Переменные все float начиная с первого адреса.

                    Проблема:

                    В ПЛК первая переменная REAL: 14655.73

                    iobroker первая переменная (Float (Big Endian)) 14600.24

                    C остальными такая же беда…

                    Читаю другими средствами, все совпадает. Чистый вывод iobroker.modbus нигде не нашел как увидеть, даже в debug. String (Zero end) выводит какую-то ерунду...

                    Скриншот:

                    ! ![](</s><URL url=)<link_text text="https://4.downloader.disk.yandex.ru/dis ... 9127195a6b">https://4.downloader.disk.yandex.ru/disk/c3ca535dfa58336381d0937fb6660e9eeb8178b05bc74b0fa32fcb895ddf2ccc/58470c13/XGn0l5evRjfE4mkLQiECFfCGje_dBUTHUzY2X_mHX_c00lPD1EEz3Bb4XSc3R94PJJjsFCrrZnGZGInNRpcWtQ%3D%3D?uid=0&filename=2016-12-06_18-04-26.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=180743&hid=73c5d9980ea0f4cee1db84f47ddeb706&media_type=image&tknv=v2&etag=d46c1b9fa0aaa38c6ad36b9127195a6b</link_text>" /> ` А адреса какие? С нуля или с 1 начинаются?

                    1 Reply Last reply Reply Quote 0
                    • L
                      leshyi last edited by

                      с 1…

                      В ПЛК адреса вообще не ставятся... там по порядку...

                      Есть скрипт, написанный на ruby, читает идеально. Там адреса с 1.

                      Вообще, если в iobroker.modbus ставить первый адрес 0 - ругается.

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

                        @leshyi:

                        с 1…

                        В ПЛК адреса вообще не ставятся... там по порядку...

                        Есть скрипт, написанный на ruby, читает идеально. Там адреса с 1.

                        Вообще, если в iobroker.modbus ставить первый адрес 0 - ругается. `
                        А у тебя какие настройки адресов? Alias или нет?

                        1 Reply Last reply Reply Quote 0
                        • L
                          leshyi last edited by

                          нет, не alias…

                          При alias адреса считаются с 40002... ситуация та же...

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

                            @leshyi:

                            нет, не alias…

                            При alias адреса считаются с 40002... ситуация та же... `
                            Вот этом и проблема. Alias начинаются с 1.

                            Покажи настройки обоих устройств.

                            И что, ни по адресу 2 или 3 тоже ничего нет?

                            Что за адресация такая у овена? Не алиас, но с единицы.

                            1 Reply Last reply Reply Quote 0
                            • L
                              leshyi last edited by

                              Если бы…

                              Перед тем как писать, перепробовал все... и с alias, и без.. и с 0, и с 1, и с 2, и с 40001, и с 40000, и с 40002

                              Более менее близкий результат: с 1 без alias и с 40002 с alias... При этом результаты в обоих случаях одинаковые в точности, но не соответствуют ПЛК... сдвиг не помогает...

                              В ПЛК же настроек адресов Modbus вообще нет. Это скорее не ОВЕН, а Codesys 2.3... Просто добавляем модуль Modbus (slave), указываем адрес устройства (в данном случае 1), ставим порт (502).

                              Дальше добавляем переменные. в том порядке как добавили, они и встают начиная с 1 адреса и занимают соответствующий размер.

                              Самое главное, библиотека Ruby Modbus выдавала четкий результат в соответствии со спецификацией Modbus, и все работало...

                              Поищу код на ruby...

                              Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker?

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

                                @leshyi:

                                Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker? `
                                А debug включал?

                                http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце)

                                1 Reply Last reply Reply Quote 0
                                • L
                                  leshyi last edited by

                                  В итоге заработало вот так…. метод тыка...

                                  Вопрос был в типах переменных...

                                  ! ![](</s><URL url=)<link_text text="https://3.downloader.disk.yandex.ru/dis ... d4619486ef">https://3.downloader.disk.yandex.ru/disk/33316f878bf0c0f92f0a79ebb4b92b0bfef7ce6eb4d047cd0991c99e3786b303/5848a99b/XGn0l5evRjfE4mkLQiECFY8STJ-p9RKQv9kfKf9-UKwJc_s1v1eSJYuPo4MI-TrXqubXGZw5JrlMnsuJMV4u5w%3D%3D?uid=0&filename=2016-12-07_23-29-43.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=79001&hid=cf1d1013be1183be6978b9e29201e6b6&media_type=image&tknv=v2&etag=6524f79167d915b1412869d4619486ef</link_text>" />

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    leshyi last edited by

                                    @Bluefox:

                                    @leshyi:

                                    Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker? `
                                    А debug включал?

                                    http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце) `
                                    Включал… Честно говоря, debug на мой взгляд, с точки зрения Modbus показался совсем не информативным (

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

                                      @leshyi:

                                      @Bluefox:

                                      @leshyi:

                                      Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker? `
                                      А debug включал?

                                      http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце) Включал… Честно говоря, debug на мой взгляд, с точки зрения Modbus показался совсем не информативным (
                                      Да потому что он до сих пор просто работал и выплёвывать 100 сообщений каждую секунду смысла не было. 😞

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

                                        И ты точно правильные типы использовал? Какие ты используешь?

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          leshyi last edited by

                                          @Bluefox:

                                          И ты точно правильные типы использовал? Какие ты используешь? `
                                          Я в спойлерах прикладываю скриншоты… два поста выше

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

                                            @leshyi:

                                            В итоге заработало вот так…. метод тыка...

                                            Вопрос был в типах переменных...

                                            ! ![](</s><URL url=)<link_text text="https://3.downloader.disk.yandex.ru/dis ... d4619486ef">https://3.downloader.disk.yandex.ru/disk/33316f878bf0c0f92f0a79ebb4b92b0bfef7ce6eb4d047cd0991c99e3786b303/5848a99b/XGn0l5evRjfE4mkLQiECFY8STJ-p9RKQv9kfKf9-UKwJc_s1v1eSJYuPo4MI-TrXqubXGZw5JrlMnsuJMV4u5w%3D%3D?uid=0&filename=2016-12-07_23-29-43.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=79001&hid=cf1d1013be1183be6978b9e29201e6b6&media_type=image&tknv=v2&etag=6524f79167d915b1412869d4619486ef</link_text>" /> ` ~~Как то я пропустил это сообщение. Для меня, как знающего modbus всё выглядит логично.

                                            Может накидаешь word или telegra.ph документ: Как подключить овен. А я бы выложил… ;)~~

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            460
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            174
                                            49542
                                            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