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

      @MSapogov:

      Что-то покраснел 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 Reply Last reply Reply Quote 0
      • M
        MSapogov last edited by

        @Bluefox:

        @MSapogov:

        Что-то покраснел 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
        ```` `  
        

        А настройки? Адреса? Тип адресов? `
        IP адрес партнера: 192.168.11.205

        Порт: 502

        ID устройства: 5

        Тип: Master

        В шлюзе ничего не менялось.

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

          @MSapogov:

          IP адрес партнера: 192.168.11.205

          Порт: 502

          ID устройства: 5

          Тип: Master

          В шлюзе ничего не менялось. `
          Какой адрес и какой тип регистра. Какой максимальный и какой минимальный адреса для данного типа регистра?

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

            @Bluefox:

            @MSapogov:

            IP адрес партнера: 192.168.11.205

            Порт: 502

            ID устройства: 5

            Тип: Master

            В шлюзе ничего не менялось. Какой адрес и какой тип регистра. Какой максимальный и какой минимальный адреса для данного типа регистра?
            ??? Только Holding (40001-40009)

            Опрос 200 мс.

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

              @MSapogov:

              @Bluefox:

              @MSapogov:

              IP адрес партнера: 192.168.11.205

              Порт: 502

              ID устройства: 5

              Тип: Master

              В шлюзе ничего не менялось. Какой адрес и какой тип регистра. Какой максимальный и какой минимальный адреса для данного типа регистра?
              ??? Только Holding (40001-40009)

              Опрос 200 мс. `
              Я надеюсь с Aliases?

              А лучше скрин настроек и страницы с регистрами

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

                @Bluefox:

                @MSapogov:

                @Bluefox:

                Какой адрес и какой тип регистра. Какой максимальный и какой минимальный адреса для данного типа регистра? `
                ??? Только Holding (40001-40009)

                Опрос 200 мс. `
                Я надеюсь с Aliases?

                А лучше скрин настроек и страницы с регистрами `

                Да с ними.

                Может я в настройках что не учел…

                ! 643_iobroker.admin.png
                643_iobroker.admin_1_.png
                643_esp8266ex_modbus_tcp_rtu_rs_485_1_.png
                643_qmodbus.png

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

                  @dito85:

                  @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. `
                  У меня пока 2 устройства RTU c ID 5 и ID 10 у обоих только Holding 40001-40009. Опрос 2 раза секунду.

                  Подскажите, как правильно настроить ESP , что-бы можно было использовать 1 экземпляр драйвера на IOB.

                  И как тогда в IOB правильно прописать 2 устройства 5 и 10.

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

                    @MSapogov:

                    У меня пока 2 устройства RTU c ID 5 и ID 10 у обоих только Holding 40001-40009. Опрос 2 раза секунду.

                    Подскажите, как правильно настроить ESP , что-бы можно было использовать 1 экземпляр драйвера на IOB.

                    И как тогда в IOB правильно прописать 2 устройства 5 и 10. `

                    Чтобы подсказать, нужно знать какие используются девайсы, какие у них настройки связи (скорость, четность, и т.д.).

                    Сразу скажу, что если эти два девайса сделаны на основе Arduino и используется стандартная библиотека ModBus slave, то в настройках ESP ставьте очень большое время ожидания ответа, потому как стандартная библиотека работает очень медленно и не соответствует стандарту в 3,5 символа.

                    Так же правильно настройте транзакторы. Подробное описание настройки ESP есть на соответствующем форуме.

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

                      Не стал дожидаться посылки из Китая. Сделал опрос по ModBus TCP из IOB (опрашивается программный ModBus Slave).

                      Первое на что обратил внимание, это смещение адресов в Coils и discreteinputs. Например в slave взвожу coil с адресом 3, а в IOB взводится coil с адресом 1

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

                        @dito85:

                        Не стал дожидаться посылки из Китая. Сделал опрос по ModBus TCP из IOB (опрашивается программный ModBus Slave).

                        Первое на что обратил внимание, это смещение адресов в Coils и discreteinputs. Например в slave взвожу coil с адресом 3, а в IOB взводится coil с адресом 1 `
                        В modbus есть два типа адресации. Прямые адреса от 0 до 65536 плюс тип регИстра или так называемые Aliases: например Coils от 1 до 1000

                        Потом есть устройства, где адреса перевернуты при Aliases, а где нет.

                        Вопрос: Aliases или нет.

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

                          ` > У меня пока 2 устройства RTU c ID 5 и ID 10 у обоих только Holding 40001-40009. Опрос 2 раза секунду.

                          Подскажите, как правильно настроить ESP , что-бы можно было использовать 1 экземпляр драйвера на IOB.

                          И как тогда в IOB правильно прописать 2 устройства 5 и 10. `
                          Для каждого Slave надо свою инстанцию заводить в iob. Как настраивать esp я не знаю, но вижу, что это rtu over tcp, а это пока не поддерживается.

                          Можешь сделать запись wireshark? Я проверил твои настройки с симулятором, работает.

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

                            @Bluefox:

                            ` > У меня пока 2 устройства RTU c ID 5 и ID 10 у обоих только Holding 40001-40009. Опрос 2 раза секунду.

                            Подскажите, как правильно настроить ESP , что-бы можно было использовать 1 экземпляр драйвера на IOB.

                            И как тогда в IOB правильно прописать 2 устройства 5 и 10. `
                            Для каждого Slave надо свою инстанцию заводить в iob. Как настраивать esp я не знаю, но вижу, что это rtu over tcp, а это пока не поддерживается.

                            Можешь сделать запись wireshark? Я проверил твои настройки с симулятором, работает. `
                            Я понял, что Modbus TCP для меня пока не по силам. Решил испытать себя в Modbus RTU.

                            Выбрал в настройке драйвера Serial. А вот порт не ввести не выбрать на дает (нажимаю на треугольничке, а ничего не вылазиет).

                            Лог установки на ESXi (Ubuntu 14.04 LTS). Драйвер есть, в настройках нет выбора COM порта.

                            ! ````
                            $ ./iobroker url "https://github.com/ioBroker/ioBroker.modbus/tarball/master" modbus --debug
                            install https://github.com/ioBroker/ioBroker.modbus/tarball/master
                            npm install https://github.com/ioBroker/ioBroker.modbus/tarball/master --production --prefix "/opt/iobroker" (System call)
                            serialport@2.1.2 install /opt/iobroker/node_modules/iobroker.modbus/node_modules/serialport
                            node-pre-gyp install --fallback-to-build
                            ! module.js:327
                            throw err;
                            ^
                            ! Error: Cannot find module 'nopt' at Function.Module._resolveFilename (module.js:325:15)
                            at Function.Module._load (module.js:276:25)
                            at Module.require (module.js:353:17)
                            at require (internal/module.js:12:17)
                            at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.modbus/node_modules/serialport/node_modules/node-pre-gyp/lib/node-pre-gyp.js:14:12)
                            at Module._compile (module.js:409:26)
                            at Object.Module._extensions..js (module.js:416:10)
                            at Module.load (module.js:343:32)
                            at Function.Module._load (module.js:300:12)
                            ! at Module.require (module.js:353:17)
                            npm

                            WARN

                            optional dep failed, continuing
                            serialport@2.1.2

                            serialport@4.0.3 install /opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport
                            node-pre-gyp install --fallback-to-build
                            ! [serialport] Success: "/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/node_modules/serialport/build/Release/serialport.node" is installed via remote
                            iobroker.modbus@0.4.0 opt/iobroker/node_modules/iobroker.modbus├── stampit-log@0.3.0
                            ├── stampit-state-machine@0.2.1
                            ├── stampit-event-bus@0.1.1
                            ├── put@0.0.6
                            ├── stampit@2.1.2 (supermixer@1.0.3, lodash@3.10.1)
                            └── jsmodbus@1.2.4 (q@1.0.1, crc@3.4.0, serialport@4.0.3)
                            ! got /opt/iobroker/node_modules/iobroker.modbus/admin
                            upload [10] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/modbus.png modbus.png image/png
                            upload [9] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.min.js lib/js/jsgrid.min.js application/javascript
                            upload [8] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/js/jsgrid.js lib/js/jsgrid.js application/javascript
                            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
                            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
                            upload [5] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.min.css lib/css/jsgrid.min.css text/css
                            upload [4] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid.css lib/css/jsgrid.css text/css
                            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
                            upload [2] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/lib/css/jsgrid-theme.css lib/css/jsgrid-theme.css text/css
                            upload [1] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/index.html index.html text/html
                            upload [0] modbus.admin /opt/iobroker/node_modules/iobroker.modbus/admin/img/plc_back.png img/plc_back.png image/png
                            process exited with code 0</anonymous>

                            Переходник на виртуалке lsusb
                            

                            Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                            Bus 002 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
                            Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
                            Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
                            Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

                            Порты на виртуалке ls -l /dev/ttyS* /dev/ttyUSB*
                            
                            >! ````
                            crw-rw---- 1 root dialout   4, 64 окт 19 13:29 /dev/ttyS0
                            crw-rw---- 1 root dialout   4, 65 окт 19 13:29 /dev/ttyS1
                            crw-rw---- 1 root dialout   4, 74 окт 19 13:29 /dev/ttyS10
                            crw-rw---- 1 root dialout   4, 75 окт 19 13:29 /dev/ttyS11
                            crw-rw---- 1 root dialout   4, 76 окт 19 13:29 /dev/ttyS12
                            crw-rw---- 1 root dialout   4, 77 окт 19 13:29 /dev/ttyS13
                            crw-rw---- 1 root dialout   4, 78 окт 19 13:29 /dev/ttyS14
                            crw-rw---- 1 root dialout   4, 79 окт 19 13:29 /dev/ttyS15
                            crw-rw---- 1 root dialout   4, 80 окт 19 13:29 /dev/ttyS16
                            crw-rw---- 1 root dialout   4, 81 окт 19 13:29 /dev/ttyS17
                            crw-rw---- 1 root dialout   4, 82 окт 19 13:29 /dev/ttyS18
                            crw-rw---- 1 root dialout   4, 83 окт 19 13:29 /dev/ttyS19
                            crw-rw---- 1 root dialout   4, 66 окт 19 13:29 /dev/ttyS2
                            crw-rw---- 1 root dialout   4, 84 окт 19 13:29 /dev/ttyS20
                            crw-rw---- 1 root dialout   4, 85 окт 19 13:29 /dev/ttyS21
                            crw-rw---- 1 root dialout   4, 86 окт 19 13:29 /dev/ttyS22
                            crw-rw---- 1 root dialout   4, 87 окт 19 13:29 /dev/ttyS23
                            crw-rw---- 1 root dialout   4, 88 окт 19 13:29 /dev/ttyS24
                            crw-rw---- 1 root dialout   4, 89 окт 19 13:29 /dev/ttyS25
                            crw-rw---- 1 root dialout   4, 90 окт 19 13:29 /dev/ttyS26
                            crw-rw---- 1 root dialout   4, 91 окт 19 13:29 /dev/ttyS27
                            crw-rw---- 1 root dialout   4, 92 окт 19 13:29 /dev/ttyS28
                            crw-rw---- 1 root dialout   4, 93 окт 19 13:29 /dev/ttyS29
                            crw-rw---- 1 root dialout   4, 67 окт 19 13:29 /dev/ttyS3
                            crw-rw---- 1 root dialout   4, 94 окт 19 13:29 /dev/ttyS30
                            crw-rw---- 1 root dialout   4, 95 окт 19 13:29 /dev/ttyS31
                            crw-rw---- 1 root dialout   4, 68 окт 19 13:29 /dev/ttyS4
                            crw-rw---- 1 root dialout   4, 69 окт 19 13:29 /dev/ttyS5
                            crw-rw---- 1 root dialout   4, 70 окт 19 13:29 /dev/ttyS6
                            crw-rw---- 1 root dialout   4, 71 окт 19 13:29 /dev/ttyS7
                            crw-rw---- 1 root dialout   4, 72 окт 19 13:29 /dev/ttyS8
                            crw-rw---- 1 root dialout   4, 73 окт 19 13:29 /dev/ttyS9
                            crw-rw---- 1 root dialout 188,  0 окт 19 13:29 /dev/ttyUSB0
                            >! ````
                            Что-то не везет мне. А так хочется насосы и датчики в теплице по modbus включить… но до весны еще далеко... разберусь.
                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              А драйвер запущен? В логе есть что нибудь при уровне Debug?

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

                                @Bluefox:

                                @dito85:

                                Не стал дожидаться посылки из Китая. Сделал опрос по ModBus TCP из IOB (опрашивается программный ModBus Slave).

                                Первое на что обратил внимание, это смещение адресов в Coils и discreteinputs. Например в slave взвожу coil с адресом 3, а в IOB взводится coil с адресом 1 `
                                В modbus есть два типа адресации. Прямые адреса от 0 до 65536 плюс тип регИстра или так называемые Aliases: например Coils от 1 до 1000

                                Потом есть устройства, где адреса перевернуты при Aliases, а где нет.

                                Вопрос: Aliases или нет. `

                                Посмотрел запросы, которые шлет IOB при опросе Coils и discreteinputs. Независимо от количества и адресов переменных. Запрос всегда выглядит одинаково - 10 регистров с нулевого адреса.

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

                                  @dito85:

                                  @Bluefox:

                                  @dito85:

                                  Не стал дожидаться посылки из Китая. Сделал опрос по ModBus TCP из IOB (опрашивается программный ModBus Slave).

                                  Первое на что обратил внимание, это смещение адресов в Coils и discreteinputs. Например в slave взвожу coil с адресом 3, а в IOB взводится coil с адресом 1 `
                                  В modbus есть два типа адресации. Прямые адреса от 0 до 65536 плюс тип регИстра или так называемые Aliases: например Coils от 1 до 1000

                                  Потом есть устройства, где адреса перевернуты при Aliases, а где нет.

                                  Вопрос: Aliases или нет. `

                                  Посмотрел запросы, которые шлет IOB при опросе Coils и discreteinputs. Независимо от количества и адресов переменных. Запрос всегда выглядит одинаково - 10 регистров с нулевого адреса. `
                                  Вопрос: Aliases или нет.

                                  В wireshark видны только прямые адреса. И iob перекодирует Aliases в прямые адреса при запросе.

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

                                    @Bluefox:

                                    А драйвер запущен? В логе есть что нибудь при уровне Debug? `
                                    Уж не помню где дебаг включается в новой админке…

                                    ! ````
                                    modbus-0 2016-10-19 14:27:50.315 info terminating
                                    RangeError: 2016-10-19 14:27:50.302 error at Socket.Readable.push (_stream_readable.js:111:10)
                                    RangeError: 2016-10-19 14:27:50.302 error at readableAddChunk (_stream_readable.js:153:18)
                                    RangeError: 2016-10-19 14:27:50.302 error at Socket.emit (events.js:169:7)
                                    RangeError: 2016-10-19 14:27:50.302 error at emitOne (events.js:77:13)
                                    RangeError: 2016-10-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-tcp-client.js:129:22)
                                    RangeError: 2016-10-19 14:27:50.302 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-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:135:17)
                                    RangeError: 2016-10-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:91:33)
                                    RangeError: 2016-10-19 14:27:50.302 error at Buffer.readUInt8 (buffer.js:718:5)
                                    RangeError: 2016-10-19 14:27:50.302 error at checkOffset (buffer.js:680:11)
                                    RangeError: 2016-10-19 14:27:50.302 error index out of range
                                    uncaught 2016-10-19 14:27:50.301 error exception: index out of range
                                    modbus-0 2016-10-19 14:27:50.292 info Connected to slave 192.168.11.205
                                    modbus-0 2016-10-19 14:27:50.239 warn Serial is not available
                                    modbus-0 2016-10-19 14:27:50.235 info starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.modbus
                                    host-Bee-IoT 2016-10-19 14:27:49.803 info instance system.adapter.modbus.0 started with pid 4679
                                    host-Bee-IoT 2016-10-19 14:27:47.318 info instance system.adapter.modbus.0 terminated with code 0 (OK)
                                    modbus-0 2016-10-19 14:27:47.307 info terminating
                                    host-Bee-IoT 2016-10-19 14:27:47.298 info stopInstance system.adapter.modbus.0 killing pid 4668
                                    host-Bee-IoT 2016-10-19 14:27:47.298 info stopInstance system.adapter.modbus.0
                                    host-Bee-IoT 2016-10-19 14:27:47.298 info object change system.adapter.modbus.0
                                    modbus-0 2016-10-19 14:27:39.556 warn Module serialport is not available
                                    modbus-0 2016-10-19 14:27:12.621 info Connected to slave 192.168.11.205
                                    modbus-0 2016-10-19 14:27:12.571 warn Serial is not available
                                    modbus-0 2016-10-19 14:27:12.567 info starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.modbus
                                    host-Bee-IoT 2016-10-19 14:27:12.129 info instance system.adapter.modbus.0 started with pid 4668
                                    host-Bee-IoT 2016-10-19 14:27:12.126 info object change system.adapter.modbus.0
                                    host-Bee-IoT 2016-10-19 14:27:09.269 info object change system.adapter.modbus.0
                                    host-Bee-IoT 2016-10-19 14:26:36.974 info object change system.adapter.modbus.0
                                    host-Bee-IoT 2016-10-19 14:16:51.782 info Do not restart adapter system.adapter.modbus.0 because disabled or deleted
                                    host-Bee-IoT 2016-10-19 14:16:51.782 error instance system.adapter.modbus.0 terminated with code 3 (Adapter disabled or invalid config)
                                    host-Bee-IoT 2016-10-19 14:16:38.916 info object change system.adapter.modbus.0
                                    host-Bee-IoT 2016-10-19 14:16:21.327 info Restart adapter system.adapter.modbus.0 because enabled
                                    host-Bee-IoT 2016-10-19 14:16:21.327 error instance system.adapter.modbus.0 terminated with code 0 (OK)
                                    Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:773:21
                                    Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/main.js:1150:13
                                    Error: 2016-10-19 14:16:21.302 error at clear (/opt/iobroker/node_modules/iobroker.modbus/main.js:1147:22)
                                    Error: 2016-10-19 14:16:21.302 error at Object.main.start (/opt/iobroker/node_modules/iobroker.modbus/main.js:1631:53)
                                    Error: 2016-10-19 14:16:21.302 error at Object.Factory [as complete] (/opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/dist/stampit.js:177:48)
                                    Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/node_modules/lodash/internal/createForEach.js:15:9
                                    Error: 2016-10-19 14:16:21.302 error at arrayEach (/opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/node_modules/lodash/internal/arrayEach.js:15:9)
                                    Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/dist/stampit.js:185:31
                                    Error: 2016-10-19 14:16:21.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-serial-client.js:119:9)
                                    Error: 2016-10-19 14:16:21.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-serial-client.js:19:23)
                                    Error: 2016-10-19 14:16:21.302 error No portname.
                                    uncaught 2016-10-19 14:16:21.301 error exception: No portname.
                                    modbus-0 2016-10-19 14:16:21.234 warn Serial is not available

                                    Если удаляю драйвер, а затем его ставлю вновь, то список с COM портами раскрывается (на выбор "Выбирите порт" и "Not available")
                                    
                                    Если сохранить изменения и снова зайти в настройки, то выбора уже никакого нет.
                                    
                                    А поддерживаются только ttyS* порты, или ttyUSB* тоже?
                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dito85 last edited by

                                      @Bluefox:

                                      Для каждого Slave надо свою инстанцию заводить в iob. Как настраивать esp я не знаю, но вижу, что это rtu over tcp, а это пока не поддерживается. `

                                      Нет в ESP не rtu over tcp, там именно ModBus TCP. Драйвер ModBusTCP в IOB опрашивает ESP без проблем

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

                                        @MSapogov:

                                        @Bluefox:

                                        А драйвер запущен? В логе есть что нибудь при уровне Debug? Уж не помню где дебаг включается в новой админке…
                                        Настройки драйверов_режим эксперта_уровень_debug

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

                                          @Bluefox:

                                          @dito85:

                                          @Bluefox:

                                          В modbus есть два типа адресации. Прямые адреса от 0 до 65536 плюс тип регИстра или так называемые Aliases: например Coils от 1 до 1000

                                          Потом есть устройства, где адреса перевернуты при Aliases, а где нет.

                                          Вопрос: Aliases или нет. `

                                          Посмотрел запросы, которые шлет IOB при опросе Coils и discreteinputs. Независимо от количества и адресов переменных. Запрос всегда выглядит одинаково - 10 регистров с нулевого адреса. `
                                          Вопрос: Aliases или нет.

                                          В wireshark видны только прямые адреса. И iob перекодирует Aliases в прямые адреса при запросе. `

                                          Попробую объяснить… например, в IOB, я задаю опрашивать три подряд Holding регистра начиная с адреса X (не важно aliases или нет), в запросе от IOB я вижу, что стартовый адрес X и длина запрашиваемых регистров равна трем. Если же я запрашиваю, например, три Coils регистра, то в запросе от IOB я всегда вижу, что стартовый адрес 00 и длина запрашиваемых регистров равна 10. Всегда!!! Даже если я добавлю 15 переменных в Coils, запрос всегда одинаковый.

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

                                            @MSapogov:

                                            @Bluefox:

                                            А драйвер запущен? В логе есть что нибудь при уровне Debug? `
                                            Уж не помню где дебаг включается в новой админке…

                                            ! ````
                                            modbus-0 2016-10-19 14:27:50.315 info terminating
                                            RangeError: 2016-10-19 14:27:50.302 error at Socket.Readable.push (_stream_readable.js:111:10)
                                            RangeError: 2016-10-19 14:27:50.302 error at readableAddChunk (_stream_readable.js:153:18)
                                            RangeError: 2016-10-19 14:27:50.302 error at Socket.emit (events.js:169:7)
                                            RangeError: 2016-10-19 14:27:50.302 error at emitOne (events.js:77:13)
                                            RangeError: 2016-10-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-tcp-client.js:129:22)
                                            RangeError: 2016-10-19 14:27:50.302 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-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:135:17)
                                            RangeError: 2016-10-19 14:27:50.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-client-core.js:91:33)
                                            RangeError: 2016-10-19 14:27:50.302 error at Buffer.readUInt8 (buffer.js:718:5)
                                            RangeError: 2016-10-19 14:27:50.302 error at checkOffset (buffer.js:680:11)
                                            RangeError: 2016-10-19 14:27:50.302 error index out of range
                                            uncaught 2016-10-19 14:27:50.301 error exception: index out of range
                                            modbus-0 2016-10-19 14:27:50.292 info Connected to slave 192.168.11.205
                                            modbus-0 2016-10-19 14:27:50.239 warn Serial is not available
                                            modbus-0 2016-10-19 14:27:50.235 info starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.modbus
                                            host-Bee-IoT 2016-10-19 14:27:49.803 info instance system.adapter.modbus.0 started with pid 4679
                                            host-Bee-IoT 2016-10-19 14:27:47.318 info instance system.adapter.modbus.0 terminated with code 0 (OK)
                                            modbus-0 2016-10-19 14:27:47.307 info terminating
                                            host-Bee-IoT 2016-10-19 14:27:47.298 info stopInstance system.adapter.modbus.0 killing pid 4668
                                            host-Bee-IoT 2016-10-19 14:27:47.298 info stopInstance system.adapter.modbus.0
                                            host-Bee-IoT 2016-10-19 14:27:47.298 info object change system.adapter.modbus.0
                                            modbus-0 2016-10-19 14:27:39.556 warn Module serialport is not available
                                            modbus-0 2016-10-19 14:27:12.621 info Connected to slave 192.168.11.205
                                            modbus-0 2016-10-19 14:27:12.571 warn Serial is not available
                                            modbus-0 2016-10-19 14:27:12.567 info starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.modbus
                                            host-Bee-IoT 2016-10-19 14:27:12.129 info instance system.adapter.modbus.0 started with pid 4668
                                            host-Bee-IoT 2016-10-19 14:27:12.126 info object change system.adapter.modbus.0
                                            host-Bee-IoT 2016-10-19 14:27:09.269 info object change system.adapter.modbus.0
                                            host-Bee-IoT 2016-10-19 14:26:36.974 info object change system.adapter.modbus.0
                                            host-Bee-IoT 2016-10-19 14:16:51.782 info Do not restart adapter system.adapter.modbus.0 because disabled or deleted
                                            host-Bee-IoT 2016-10-19 14:16:51.782 error instance system.adapter.modbus.0 terminated with code 3 (Adapter disabled or invalid config)
                                            host-Bee-IoT 2016-10-19 14:16:38.916 info object change system.adapter.modbus.0
                                            host-Bee-IoT 2016-10-19 14:16:21.327 info Restart adapter system.adapter.modbus.0 because enabled
                                            host-Bee-IoT 2016-10-19 14:16:21.327 error instance system.adapter.modbus.0 terminated with code 0 (OK)
                                            Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:773:21
                                            Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/main.js:1150:13
                                            Error: 2016-10-19 14:16:21.302 error at clear (/opt/iobroker/node_modules/iobroker.modbus/main.js:1147:22)
                                            Error: 2016-10-19 14:16:21.302 error at Object.main.start (/opt/iobroker/node_modules/iobroker.modbus/main.js:1631:53)
                                            Error: 2016-10-19 14:16:21.302 error at Object.Factory [as complete] (/opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/dist/stampit.js:177:48)
                                            Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/node_modules/lodash/internal/createForEach.js:15:9
                                            Error: 2016-10-19 14:16:21.302 error at arrayEach (/opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/node_modules/lodash/internal/arrayEach.js:15:9)
                                            Error: 2016-10-19 14:16:21.302 error at /opt/iobroker/node_modules/iobroker.modbus/node_modules/stampit/dist/stampit.js:185:31
                                            Error: 2016-10-19 14:16:21.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-serial-client.js:119:9)
                                            Error: 2016-10-19 14:16:21.302 error at Object. (/opt/iobroker/node_modules/iobroker.modbus/node_modules/jsmodbus/src/modbus-serial-client.js:19:23)
                                            Error: 2016-10-19 14:16:21.302 error No portname.
                                            uncaught 2016-10-19 14:16:21.301 error exception: No portname.
                                            modbus-0 2016-10-19 14:16:21.234 warn Serial is not available

                                            Если удаляю драйвер, а затем его ставлю вновь, то список с COM портами раскрывается (на выбор "Выбирите порт" и "Not available")
                                            
                                            Если сохранить изменения и снова зайти в настройки, то выбора уже никакого нет.
                                            
                                            А поддерживаются только ttyS* порты, или ttyUSB* тоже? `  
                                            

                                            Я уже вижу

                                            Serial is not available

                                            А build-essential поставлены?

                                            cd /opt/iobroker 
                                            sudo apt-get install build-essential 
                                            iobroker stop modbus
                                            npm install iobroker.modbus
                                            iobroker start modbus
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            603
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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