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.
    • 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
                                          • L
                                            leshyi last edited by

                                            Если не забуду, и как время будет…

                                            Но я бы добавил бы нормальное описание типов переменных... Мне, как не очень знающему Modbus, было сложно понять ху из ху...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            452
                                            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