NEWS
Драйвер ModBus
- 
					
					
					
					
 Добрый день, отчетик по проблеме с виртуальным драйвером 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 - ругается. 
- 
					
					
					
					
 с 1… В ПЛК адреса вообще не ставятся... там по порядку... Есть скрипт, написанный на ruby, читает идеально. Там адреса с 1. Вообще, если в iobroker.modbus ставить первый адрес 0 - ругается. ` 
 А у тебя какие настройки адресов? Alias или нет?
- 
					
					
					
					
 нет, не alias… При alias адреса считаются с 40002... ситуация та же... 
- 
					
					
					
					
 нет, не 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? 
- 
					
					
					
					
 Еще вопрос: реально увидеть изначальный ответ в Modbus в iobroker? ` 
 А debug включал?http://www.iobroker.net/docu/?page_id=2991&lang=ru (в конце) 
- 
					
					
					
					
 В итоге заработало вот так…. метод тыка... Вопрос был в типах переменных... !  <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 сообщений каждую секунду смысла не было. 
- 
					
					
					
					
 И ты точно правильные типы использовал? Какие ты используешь? 
- 
					
					
					
					
 И ты точно правильные типы использовал? Какие ты используешь? ` 
 Я в спойлерах прикладываю скриншоты… два поста выше
- 
					
					
					
					
 В итоге заработало вот так…. метод тыка... Вопрос был в типах переменных... !  <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 документ: Как подключить овен. А я бы выложил… ;)~~ 
- 
					
					
					
					
 Если не забуду, и как время будет… Но я бы добавил бы нормальное описание типов переменных... Мне, как не очень знающему Modbus, было сложно понять ху из ху... 
- 
					
					
					
					
 Тоже интересен небольшой help по подключению по modbus. У меня контроллер wago, так и не смог его подключить с этим драйвером, подключил через nodered, правда почему-то не могу записать значения, читает нормально данные но не пишет. У nodered типы FC1-FC5, тут же в драйвере 30000 и т.п., но даже указывая вроде бы верные значения не читает почему-то, плюс куча типов переменный, какой нужно выбрать не очень понятно. При исполдьзовании FC1 данный прямо из helpa контроллера берутся, номер канала с 0 и далее, всё понятно, тут же в драйвере сложно разобраться. 
 
		
	