NEWS
Драйвер ModBus
- 
					
					
					
					
 Доброго всем дня! Вот решил вступить в ряды пользователей ioBroker. На данном этапе больше всего интересует протокол ModBus, драйвер установил и попробовал. Появился вопрос, ребят, а на данный момент реализован только протокол ModBus TCP? Или ModBus RTU тоже можно как то запустить? ` 
 Вроде на гитхабе https://github.com/ioBroker/ioBroker.modbus#iobrokermodbus "Actually only Modbus over TCP is supported"
 @dito85:И вот встала проблема выбора скады, а это, как оказалось, большая проблема. В отличии от промышленных скада-систем, скады для умного дома плохо знают промышленные протоколы (((. С самим проектом ioBroker знаком плохо, первое впечатление хорошее, но хочется понять подойдет ли он для моих хотелок. Поэтому и спрашиваю, как обстоит дело с протоколом ModBus RTU? Может я что то упустил и RTU можно прикрутить. ` 
 Могу поделиться опытом по надежности, запустил несколько объектов с ioBroker и контроллерами на основе ардуино и пр. по протоколу MQTT в основном. Некоторые работают уже более 100 дней без сбоев, вот прям щас посмотрел - аптайм 127 дней.В качестве сервера использую платку бананапи/кубитрак/кубибоард/оранжпи и образ системы http://www.armbian.com/. 
 @dito85:Aurodionov, ты, как я понял, подключаешь болидовское оборудование к iobroker? И насколько я помню, болид использует свой протокол "орион" и чтобы его перегнать в modbus нужно использовать C2000-ПП. А этот девайс работает с протоколом modbus rtu и не будет отвечать на modbus tcp. И если у тебя получилось интегрировать его в iobroker, значит ты нашёл решение и моей проблемы ). Расскажи что делал и получилось ли? ` 
 Здесь http://forum.iobroker.net/viewtopic.php?f=33&t=2020 прост - MQTT)))З.Ы. У меня есть контроллер http://shop.entels.ru/index.php?route=product/product&path=20_80&product_id=230 (это тот же Овен http://www.owen.ru/catalog/programmiruemij_logicheskij_kontroller_oven_plk_100/opisanie, только исполнительная у него http://shop.entels.ru/index.php?route=product/category&path=60_65) Производитель вроде пишет, что должен работать по ModBUS TCP. Посоветуйте какой тестер модбаса - хотя бы попробовать… 
- 
					
					
					
					
 Как вариант использовать это OpenMODBUS/TCP to RS-232/485 MODBUS RTU gateway 
- 
					
					
					
					
 Спасибо за ответы! Насколько я понял, если использовать MQTT, то к каждому контроллеру нужно тянуть витую пару для Ethernet, что в итоге приведет к большому количеству проводов. При использовании RS485, это всего два провода (питание не в счет). 
 @aurodionov:Как вариант использовать это OpenMODBUS/TCP to RS-232/485 MODBUS RTU gateway Если возможно, подскажи как и к чему это можно прикрутить? 
- 
					
					
					
					
 Спасибо за ответы! Насколько я понял, если использовать MQTT, то к каждому контроллеру нужно тянуть витую пару для Ethernet, что в итоге приведет к большому количеству проводов. При использовании RS485, это всего два провода (питание не в счет). 
 @aurodionov:Как вариант использовать это OpenMODBUS/TCP to RS-232/485 MODBUS RTU gateway Если возможно, подскажи как и к чему это можно прикрутить? ` 
 Насчет mqtt возможно есть гейт в модбаспо поводу шлюза , пока сам разбираюсь, будет что рассказать буду тут отписыватся 
- 
					
					
					
					
 Производитель вроде пишет, что должен работать по ModBUS TCP. Посоветуйте какой тестер модбаса - хотя бы попробовать… ` 
 Я думаю, что твой прибор работает в режиме slave.
- 
					
					
					
					
 Или ModBus RTU тоже можно как то запустить? ` 
 Я тоже не с нуля писал, а использовал вот эту библиотеку:https://github.com/TooTallNate/node-modbus-stack Очень плохого качества и мне пришлось многое дописывать самому. Так что поддержку RTU мне придётся делать самому. Есть ещё такой пакет: https://www.npmjs.com/package/modbus-rtu Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? 
- 
					
					
					
					
 Есть ещё такой пакет: https://www.npmjs.com/package/modbus-rtu Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? ` 
 Bluefox, а для ModBUS RTU есть варианты? Он вроде только через RS485/RS232 не?А еще в документации к https://www.npmjs.com/package/modbus-rtu указано: NOTE! node-serialport doesn't support node 0.11.11+ Т.е. с версией ноды 0.12.7 уже не будет работать… 
- 
					
					
					
					
 Есть ещё такой пакет: https://www.npmjs.com/package/modbus-rtu Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? ` 
 Bluefox, а для ModBUS RTU есть варианты? Он вроде только через RS485/RS232 не?А еще в документации к https://www.npmjs.com/package/modbus-rtu указано: NOTE! node-serialport doesn't support node 0.11.11+ Т.е. с версией ноды 0.12.7 уже не будет работать… ` 
 Я не углублялся, гдето читал что стабильной считают node 0.10… и даже вроде с установкой iobroker в node 0.12 были warning
- 
					
					
					
					
 Есть ещё такой пакет: https://www.npmjs.com/package/modbus-rtu Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port? ****Bluefox****, а для ModBUS RTU есть варианты?
 Вроде как, ModBUS RTU over TCP (не путать с ModBUS TCP)
- 
					
					
					
					
 Есть ещё такой пакет: https://www.npmjs.com/package/modbus-rtu Но он только по последовательному порту. Я бы мог его прикрутить. У тебя RS485 на serial port ` Bluefox, если есть возможность прикрути, очень нужная вещь. Конечно слать запросы RTU по TCP было бы удобнее, но и с COM портом пойдет. Можно преобразователь на крайний случай поставить. 
- 
					
					
					
					
 Bluefox, если есть возможность прикрути, очень нужная вещь. ` 
 +1Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU… 
- 
					
					
					
					
 Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU… ` 
 По случаю достался? Или покупался. Если покупался, то для каких целей?
- 
					
					
					
					
 Через некоторое время планирую подключать в систему ПЛК63 ОВЕН, там только RS485/RS232 и ModBUS RTU… По случаю достался? Или покупался. Если покупался, то для каких целей?
 По случаю мне досталось много чего - типа ПЛК-100, сименс лого и прочего, но мне ничего не понадобилось пока((ПЛК-63 хочу использовать для управления отоплением в квартире. Корпус под модульку (у меня шкаф из http://cs-cs.net/shhity-dlya-elektriki-edf -панелей). Аналоговые входы 8 шт. - подключение термометров сопротивления (в теплые полы, на обратку, температура воздуха в помещении и пр.) Дискретные входы/выходы - управление насосами/задвижками. Аналоговые выходы - управление задвижками и приводами. Порта Ethernet нету. Но это только в планах)) А пока есть железки с которыми можно потренироваться… 
 4531_zwischenablage01.jpg
- 
					
					
					
					
 По случаю мне досталось много чего - типа ПЛК-100, сименс лого и прочего, но мне ничего не понадобилось пока(( ` 
 Вот про сименс очень интересно что там "досталось", мне сейчас не хватает портов ввода для s7-1200, вдруг у вас без дела пылится?
- 
					
					
					
					
 Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/ 
- 
					
					
					
					
 Всем привет! А есть хоть какая нибудь инструкция, как пользоваться этим драйвером? Никак не пойму. Есть шлюз MODBUS TCP - MODBUS RTU. Как передать значение 500 на устройство с ID 10 во 2 регистр? 
- 
					
					
					
					
 Есть 4 типа регистров: - 
бинарные read only 
- 
бинарные read/write 
- 
аналоговые регистры входа 
- 
holding регистры. 
 О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? 
- 
- 
					
					
					
					
 Есть 4 типа регистров: - 
бинарные read only 
- 
бинарные read/write 
- 
аналоговые регистры входа 
- 
holding регистры. 
 О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? ` holding регистры. 
- 
- 
					
					
					
					
 Есть 4 типа регистров: - 
бинарные read only 
- 
бинарные read/write 
- 
аналоговые регистры входа 
- 
holding регистры. 
 О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? ` holding регистры. ` 
 Да… мини инструкции не хватает.Собрал переходник Modbus TCP RTU RS-485 http://esp8266.ru/forum/threads/modbus- … erver.911/ Тоже думал осилю настройку драйвера методом тыка, но увы  Программой QModBus подаю запрос (Подсмотрел тут http://www.iobroker.net/?page_id=4643&l … ModBus_RTU) 05 03 00 00 00 09 В ответ получаю 9 строк со значением состояний входов и датчиков. При записи новых значений 05 06 00 02 значения, меняются. Как теперь из запихнуть в IOB? Вот кусок кода из arduin-ки ! ```` 
 #include <simplemodbusslave.h>
 ! //////////////////// Макроопределения портов и настройки программы ///////////////////
 #define TxEnablePin 13 // Tx/Rx пин RS485
 #define baud 9600 // скоростьобмена по последовательному интерфейсу. (UART)
 #define Slave_ID 5 // Адрес Slave устройсва
 ! enum
 {
 // just add or remove registers and your good to go...
 // The first register starts at address 0
 P0,
 P1,
 P2,
 P3,
 P4,
 P5,
 P6,
 P7,
 P8,
 HOLDING_REGS_SIZE /// Это не удалять размер массива HOLDING_REGS.
 //общее количество регистров для функции 3 и 16 разделяет тотже самый массив регистров
 //т.е. то же самое адресное пространство
 };
 !
 unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array</simplemodbusslave.h>
- 
- 
					
					
					
					
 Есть 4 типа регистров: - 
бинарные read only 
- 
бинарные read/write 
- 
аналоговые регистры входа 
- 
holding регистры. 
 О каких идёт речь? И какого типа аналоговый регистр: short, int32, float? ` holding регистры. ` 
 Да… мини инструкции не хватает.Собрал переходник Modbus TCP RTU RS-485 http://esp8266.ru/forum/threads/modbus- … erver.911/ Тоже думал осилю настройку драйвера методом тыка, но увы  Программой QModBus подаю запрос (Подсмотрел тут http://www.iobroker.net/?page_id=4643&l … ModBus_RTU) 05 03 00 00 00 09 В ответ получаю 9 строк со значением состояний входов и датчиков. При записи новых значений 05 06 00 02 значения, меняются. Как теперь из запихнуть в IOB? Вот кусок кода из arduin-ки ! #include <simplemodbusslave.h> ! //////////////////// Макроопределения портов и настройки программы /////////////////// #define TxEnablePin 13 // Tx/Rx пин RS485 #define baud 9600 // скоростьобмена по последовательному интерфейсу. (UART) #define Slave_ID 5 // Адрес Slave устройсва ! enum { // just add or remove registers and your good to go... // The first register starts at address 0 P0, P1, P2, P3, P4, P5, P6, P7, P8, HOLDING_REGS_SIZE /// Это не удалять размер массива HOLDING_REGS. //общее количество регистров для функции 3 и 16 разделяет тотже самый массив регистров //т.е. то же самое адресное пространство }; ! unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array</simplemodbusslave.h>`
 Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP.
- 
 
		
	 
		
	