NEWS
Драйвер ModBus
-
Можешь создать в папке node_modules/iobroker.modbus файл port.js:
….
А у тебя? `
Насколько я понимаю Вы имеете отношение к разработке данного драйвера? Если так - можно ли дать возможность прямого ввода имени порта, не из списка? Может это поможет?
Есть подозрение что либа которая работает с serial devices (serialport) обламывается при попытке получить какие-то конфигурационные данные с порта, драйвер которого работает не на уровне kernel.
Или подскажите где настройки на порт лежат, может туда можно в ручном режиме внести информацию о нестандартном порте.
Попробуй такПопробовал. Порт внес в ручном режимы, но в ответ в логах:
! host-spy-sh 2016-11-01 14:49:54.569 error instance system.adapter.modbus.0 terminated with code 0 (OK)
! modbus-0 2016-11-01 14:49:54.556 info terminating
! TypeError: 2016-11-01 14:49:54.530 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-11-01 14:49:54.530 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-11-01 14:49:54.530 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-11-01 14:49:54.530 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-11-01 14:49:54.530 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-11-01 14:49:54.530 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-11-01 14:49:54.530 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-11-01 14:49:54.530 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-11-01 14:49:54.530 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-11-01 14:49:54.530 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:229:12)
! TypeError: 2016-11-01 14:49:54.530 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:305:9)
! TypeError: 2016-11-01 14:49:54.530 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:707:35)
! TypeError: 2016-11-01 14:49:54.530 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:773:21
! TypeError: 2016-11-01 14:49:54.530 error at /opt/iobroker/node_modules/iobroker.modbus/main.js:1332:13
! TypeError: 2016-11-01 14:49:54.530 error at clear (/opt/iobroker/node_modules/iobroker.modbus/main.js:1328:22)
! TypeError: 2016-11-01 14:49:54.530 error at Object.start (/opt/iobroker/node_modules/iobroker.modbus/main.js:1738:25)
! TypeError: 2016-11-01 14:49:54.530 error Cannot read property 'on' of null
! uncaught 2016-11-01 14:49:54.529 error exception: Cannot read property 'on' of null
! modbus-0 2016-11-01 14:49:54.521 error Cannot open port "/dev/ttyvirt1" [9600]: TypeError: Cannot read property 'complete' of undefined
! modbus-0 2016-11-01 14:49:54.171 info starting. Version 0.4.5 in /opt/iobroker/node_modules/iobroker.modbusВозможно проблема как раз кроется в этой ошибке: Cannot read property 'complete' of undefined
-
Добрый день,
отчетик по проблеме с виртуальным драйвером 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 (работают оба варианта).
Может кому-то пригодится
-
Добрый день,
отчетик по проблеме с виртуальным драйвером 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 -
Добрый день,
отчетик по проблеме с виртуальным драйвером 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 остаются неизменными?
-
PS: Правильно ли я понял, что если я буду добавлять еще устройства на эту линию RS-485 в паралель, с другими ID, то мне необходимо добавлять еще драйвера modbus.1, modbus.2 и.т.д. Со своими настройками для каждго устройства, интервал опроса, Reconnect time …
А параметрах соединения TCP, Адресс, порт, и тип Master остаются неизменными? `
Да, так и есть. Для каждого Modbus ID свой экземпляр драйвера. Сам mbusd поддерживает несколько одновременных TCP-соединений.
-
Ошибка при обновлении
! ````
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 -
Ошибка при обновлении
!
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`
Игнорировать. -
Коллеги, не могу разобраться…
Оборудование:
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) выводит какую-то ерунду...
Скриншот:
!

<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>" /> -
Коллеги, не могу разобраться…
Оборудование:
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) выводит какую-то ерунду...
Скриншот:
!

<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…
В ПЛК адреса вообще не ставятся... там по порядку...
Есть скрипт, написанный на ruby, читает идеально. Там адреса с 1.
Вообще, если в iobroker.modbus ставить первый адрес 0 - ругается. `
А у тебя какие настройки адресов? Alias или нет? -
нет, не alias…
При alias адреса считаются с 40002... ситуация та же... `
Вот этом и проблема. Alias начинаются с 1.Покажи настройки обоих устройств.
И что, ни по адресу 2 или 3 тоже ничего нет?
Что за адресация такая у овена? Не алиас, но с единицы.
-
Если бы…
Перед тем как писать, перепробовал все... и с 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?
-
В итоге заработало вот так…. метод тыка...
Вопрос был в типах переменных...
!

<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 в iobroker? `
А debug включал?http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце) `
Включал… Честно говоря, debug на мой взгляд, с точки зрения Modbus показался совсем не информативным ( -
Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker? `
А debug включал?http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце)
Включал… Честно говоря, debug на мой взгляд, с точки зрения Modbus показался совсем не информативным (
Да потому что он до сих пор просто работал и выплёвывать 100 сообщений каждую секунду смысла не было. :(
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden