NEWS
Драйвер ModBus
-
Спасибо за ответы! Насколько я понял, если использовать 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/
-
Есть 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. -
-
Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP. `
Я то и подавно не понимаю… А как-же
@dito85:Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/ `
И там и там порт 502 по умолчанию и упоминается Modbus TCP, может это все-же оно?Хоть кусочек примера дайте… куда вписывать ID от Slave устройства, номер регистра...
-
Если я правильно понимаю Modbus TCP RTU и Modbus over TCP разные протоколы. Драйвер поддерживает только Modbus over TCP. `
Я то и подавно не понимаю… А как-же
@dito85:Так как проблема с отсутствием в ioBroker ModBus RTU так и не решилась, вот один из вариантов как подключать устройства с RTU и интерфейсом 485 к ioBroker по ModBus TCP. Может кому пригодится. http://esp8266.ru/forum/threads/modbus- … erver.911/ `
И там и там порт 502 по умолчанию и упоминается Modbus TCP, может это все-же оно?Хоть кусочек примера дайте… куда вписывать ID от Slave устройства, номер регистра... `
А ты можешь к своему устройству напрямую через serial порт подключится?Тогда можно попробовать https://www.npmjs.com/package/jsmodbus
` > MODBUS TCP is a protocol that has a specification.
MODBUS RTU and MODBUS ASCII are protocols that have specifications.
TCP/IP is a protocol that has a specification.
MODBUS over TCP means a MODBUS RTU packet wrapped in a TCP packet. (A)
MODBUS TCP means a MODBUS TCP packet wrapped in a TCP packet. (B)
A and B are not compatible. They transfer like data but have different structures. `
Здесь можно посмотреть структуру пакетов: -
Тогда можно попробовать https://www.npmjs.com/package/jsmodbus `
Для меня это непосильный труд… Я мало что понимаю в том, куда я должен это поставить?Есть виртуалка с IOB,
Есть Win10 c USB-COM-портом к которому подключен RS-485
Есть ESP8266 c RS-485 ( Modbus TCP to RTU)
Есть Ардуинка с RS-485 (могу залить любой скетч).
Если постараться, то могу прокинуть USB-COM с RS485 внутрь IOB на виртуалку.
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