[Модуль] ModBus (modbus)
Модератор: immortal
-
- Сообщения: 85
- Зарегистрирован: Пт фев 06, 2015 10:19 am
- Благодарил (а): 16 раз
- Поблагодарили: 9 раз
Re: модуль modbus
Может кто знает как сделать по битное считывание и запись c использованием встроенного модуля?
У меня есть контролер Beckhoff на нем крутиться основной цикл управления светом в доме, контроллер поддерживает Modbus TCP.
Встроенный модуль Modbus позволяет считывать из памяти контролера значения переменных, это происходит это по байтно и считывается два байта целиком (а это как раз все переменные в моем случае, так как у меня у правление только светом и переменные bool).
В ОPC сервере есть такая функция, как считывание и запись побитно, когда указывается адрес (фактически считывается и записывается два байта) и смещение для того что бы указать нужный бит.
Я как понимаю это стандартная задача для тех кто использует Modbus. Может у кого есть наработки. Или может добавить такой функционал во встроенный модуль?
У меня есть контролер Beckhoff на нем крутиться основной цикл управления светом в доме, контроллер поддерживает Modbus TCP.
Встроенный модуль Modbus позволяет считывать из памяти контролера значения переменных, это происходит это по байтно и считывается два байта целиком (а это как раз все переменные в моем случае, так как у меня у правление только светом и переменные bool).
В ОPC сервере есть такая функция, как считывание и запись побитно, когда указывается адрес (фактически считывается и записывается два байта) и смещение для того что бы указать нужный бит.
Я как понимаю это стандартная задача для тех кто использует Modbus. Может у кого есть наработки. Или может добавить такой функционал во встроенный модуль?
Модуль "Modbus" отсутствует поле "Номер порта"
При подключение Modbus- устройства столкнулся с проблемой отсутствия поля ввода "Номер порта TCP/UDP".
После просмотра исходников, обнаружил что используется константы "502", подправил под свой нужды в "5555".
При подключении нескольких modbus- устройств они могут слушать разные порты, например "4444" на одном и "5555" на другом.
Просьба к разработчикам:
1) внесите поле "Номер порта TCP/UDP" в таблицу "modbusdevices"
2) добавьте поле ввода "Номер порта TCP/UDP" в форме добавления modbus-устройства.
После просмотра исходников, обнаружил что используется константы "502", подправил под свой нужды в "5555".
При подключении нескольких modbus- устройств они могут слушать разные порты, например "4444" на одном и "5555" на другом.
Просьба к разработчикам:
1) внесите поле "Номер порта TCP/UDP" в таблицу "modbusdevices"
2) добавьте поле ввода "Номер порта TCP/UDP" в форме добавления modbus-устройства.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "Modbus" отсутствует поле "Номер порта"
Добавил номер порта в настройку устройства.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 38
- Зарегистрирован: Вт фев 17, 2015 1:52 pm
- Благодарил (а): 11 раз
- Поблагодарили: 0
Re: модуль modbus
А поддержка Modbus RTU планируется ли ?
Было бы очень хорошо, очень много приборов и датчиков на нем.
Было бы очень хорошо, очень много приборов и датчиков на нем.
-
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
- Благодарил (а): 6 раз
- Поблагодарили: 26 раз
Re: модуль modbus
Превратить последовательный интерфейс MODBUS в сетевой можно используя преобразователь usb-to-rs485 можно так:
На севере MDM (или любой другой линуксовой машине) поднимаем ser2net (apt-get install ser2net)
Настраиваем его на физический порт который создает на переходник,а сетевой на стандартный порт modbus
после этого уже с помощью модуля MDM MODBUS конектимся к этой машине(если на другой компе) или на localhost (если на этой же) и получаем/отправляем данные.
У меня работает на ура
На севере MDM (или любой другой линуксовой машине) поднимаем ser2net (apt-get install ser2net)
Настраиваем его на физический порт который создает на переходник,а сетевой на стандартный порт modbus
после этого уже с помощью модуля MDM MODBUS конектимся к этой машине(если на другой компе) или на localhost (если на этой же) и получаем/отправляем данные.
У меня работает на ура
- Рейтинг: 3.49%
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: модуль modbus
Я вас правельно понимаю .что можно вашим методом подключить по MODBUS RTU к MDM ?Geban писал(а):Превратить последовательный интерфейс MODBUS в сетевой можно используя преобразователь usb-to-rs485 можно так:
На севере MDM (или любой другой линуксовой машине) поднимаем ser2net (apt-get install ser2net)
Настраиваем его на физический порт который создает на переходник,а сетевой на стандартный порт modbus
после этого уже с помощью модуля MDM MODBUS конектимся к этой машине(если на другой компе) или на localhost (если на этой же) и получаем/отправляем данные.
У меня работает на ура
У меня есть несколько сегнетиковских ПЛК SMH2010 с интервейсом RS485
С помощью конвертера ICP CON i-7561 он подключаеься к ПК
Но у этого конвертера USB порт - вашим способом получится подключить к Алисе ? или нужно докупать костыли ((
-
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
- Благодарил (а): 6 раз
- Поблагодарили: 26 раз
Re: модуль modbus
Ну если при подключении конвертера к компу создается виртуальный COM-порт на котором присутствуют данные MODBUS с конвертера, то конечно можете. в конфиге ser2net указываете устройство ( например /dev/ttyUSB0) и будет вам счастье.
По сути это тоже костыль..но бесплатный и программный )
По сути это тоже костыль..но бесплатный и программный )
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: модуль modbus
Подскажите я правельно внес данные ?
;Direction - направление (read & write)
;Type - тип (битовые или регистровые)
;Baudrate - скорость слэйва
;Address - адрес слэйва в сети RS-485
;var(0-n) - адрес#тип#символьное имя#комментарий
[Request0]
Direction=read
Type=bit
Baudrate=115200
Address=0
Period=100
var0=3800#bool#stolovaya galuzi
var1=380b#bool#stolovaya t
[Request2]
Direction=read
Type=reg
Baudrate=115200
Address=0
Period=100
var0=a000#real#t
;Direction - направление (read & write)
;Type - тип (битовые или регистровые)
;Baudrate - скорость слэйва
;Address - адрес слэйва в сети RS-485
;var(0-n) - адрес#тип#символьное имя#комментарий
[Request0]
Direction=read
Type=bit
Baudrate=115200
Address=0
Period=100
var0=3800#bool#stolovaya galuzi
var1=380b#bool#stolovaya t
[Request2]
Direction=read
Type=reg
Baudrate=115200
Address=0
Period=100
var0=a000#real#t
- Вложения
-
- 888.jpg (72.41 КБ) 14472 просмотра
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: модуль modbus
В конфиге указал такGeban писал(а):Ну если при подключении конвертера к компу создается виртуальный COM-порт на котором присутствуют данные MODBUS с конвертера, то конечно можете. в конфиге ser2net указываете устройство ( например /dev/ttyUSB0) и будет вам счастье.
По сути это тоже костыль..но бесплатный и программный )
502:raw:0:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS
как проверить что не так ?