Modbus TCP/IP

Ответить
Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#1

Сообщение Aplo » 27.02.2021{, 09:24}

Добрый день.

Есть две ESP8266, одна передаёт другой температуру DS18B20 по TCP/IP. Обе подключены к роутеру. Вроде всё стабильно работает. Но эту же температуру со Slаve у меня не получается получить программой KaSkada на телефоне... он подключается и через несколько секунд отваливается.. Значения температуры я ни разу не получил, с любыми настройками...

Вопрос:
1. Возможно ли такое ?? Возможно ли получать данные со Slave на андроид если при этом эти же данные читает с него Master ??

2. Возможно ли при этом получать данные (другие данные) с Master в ту же программу KaSkada по Modbus ??

3.Почему не получается получить данные в телефон, ведь между собой Esp коннектятся ?

Спасибо

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Modbus TCP/IP

#2

Сообщение RedSky » 27.02.2021{, 09:51}

Так вроде мастер может быть только один - каскада. Без проекта не понято как у вас сделано.

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

Modbus TCP/IP

#3

Сообщение KaScada » 27.02.2021{, 11:53}

Добрый день, у вас есть мастер (esp которая подключается) и slave (к которой идет подключение).
Отключите мастера на время и вместо него подключите каскаду с теми же настройками, должно все работать.
Тогда сможете увидеть что к slave на esp могут на один порт подключиться только 1 мастер, это ограничения видимо изза железа, а может программист не доделал.

А теперь как всетаки соединить 3 устройства? Легко, через каскаду. Каскада имеет modbus rtu over tcp сервер на 1502 порту, к нему может подключаться и 2 и 10 устройств одновременно.
Тоесть вам нужно решение которое может отдать данные сразу 2 клиентам, каскада справится, если в проекте можете позволить работать телефону постоянно, узнавайте как это сделать на esp или как вариант на mqtt переходите.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#4

Сообщение Aplo » 27.02.2021{, 12:53}

RedSky писал(а):
27.02.2021{, 09:51}
Так вроде мастер может быть только один - каскада. Без проекта не понято как у вас сделано.
Для чего это мне нужно - -- у меня по сути управление идёт через облако Remote XY.. А датчик связан по MQTT .. всё работает идеально, как мне нужно.. Но, если отсутствует интернет, то естественно у меня вся система "ложится"... , управлять и наблюдать за ней я не могу. Я дополнительно связал датчик с котлом через Modbus(типа как резерв, но MQTT работает стабильнее), а вот с управлением и наблюдение проблема осталась..

Отправлено спустя 1 час 16 минут 4 секунды:
KaScada писал(а):
27.02.2021{, 11:53}
Добрый день, у вас есть мастер (esp которая подключается) и slave (к которой идет подключение).
Отключите мастера на время и вместо него подключите каскаду с теми же настройками, должно все работать.
Тогда сможете увидеть что к slave на esp могут на один порт подключиться только 1 мастер, это ограничения видимо изза железа, а может программист не доделал.

А теперь как всетаки соединить 3 устройства? Легко, через каскаду. Каскада имеет modbus rtu over tcp сервер на 1502 порту, к нему может подключаться и 2 и 10 устройств одновременно.
Тоесть вам нужно решение которое может отдать данные сразу 2 клиентам, каскада справится, если в проекте можете позволить работать телефону постоянно, узнавайте как это сделать на esp или как вариант на mqtt переходите.
Можно было бы создать ещё MQTT сервер внутри ESP (если правильно выразился), но не могу найти такой блок, судя по интернету это возможно... У меня MQTT работает через облако..
Вложения
Котёл_modbus.flp
(1.98 МБ) 49 скачиваний
Датчик комнатной температуры.flp
(1.3 МБ) 41 скачивание

Аватара пользователя
Rovki
Полковник
Сообщения: 4873
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Modbus TCP/IP

#5

Сообщение Rovki » 27.02.2021{, 21:18}

Aplo писал(а):
27.02.2021{, 09:24}
Добрый день.

Есть две ESP8266, одна передаёт другой температуру DS18B20 по TCP/IP. Обе подключены к роутеру. Вроде всё стабильно работает. Но эту же температуру со Slаve у меня не получается получить программой KaSkada на телефоне... он подключается и через несколько секунд отваливается.. Значения температуры я ни разу не получил, с любыми настройками...

Вопрос:
1. Возможно ли такое ?? Возможно ли получать данные со Slave на андроид если при этом эти же данные читает с него Master ??

2. Возможно ли при этом получать данные (другие данные) с Master в ту же программу KaSkada по Modbus ??

3.Почему не получается получить данные в телефон, ведь между собой Esp коннектятся ?

Спасибо
У вас мастер есп должен обращаться к двум слейвам , один слейв это есп ,а второй слейв это каскада (модбас слейв RTU поверх TCP)/ Поэтому измените протокол в 1 есп на RTU over TCP и работайте ...
Электронщик до мозга костей и не только

Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#6

Сообщение Aplo » 01.03.2021{, 20:43}

Rovki писал(а):
27.02.2021{, 21:18}
Aplo писал(а):
27.02.2021{, 09:24}
Добрый день.

Есть две ESP8266, одна передаёт другой температуру DS18B20 по TCP/IP. Обе подключены к роутеру. Вроде всё стабильно работает. Но эту же температуру со Slаve у меня не получается получить программой KaSkada на телефоне... он подключается и через несколько секунд отваливается.. Значения температуры я ни разу не получил, с любыми настройками...

Вопрос:
1. Возможно ли такое ?? Возможно ли получать данные со Slave на андроид если при этом эти же данные читает с него Master ??

2. Возможно ли при этом получать данные (другие данные) с Master в ту же программу KaSkada по Modbus ??

3.Почему не получается получить данные в телефон, ведь между собой Esp коннектятся ?

Спасибо
У вас мастер есп должен обращаться к двум слейвам , один слейв это есп ,а второй слейв это каскада (модбас слейв RTU поверх TCP)/ Поэтому измените протокол в 1 есп на RTU over TCP и работайте ...
Если я в мастере или слейве меняю" TCP " на "RTU поверх TCP", то MOSBUS перестаёт между ними работать вообще, не говоря уже о Kaskada... так ни разу и не подключилась )). Я уже методом тыка все варианты перепробовал, вроде всё просто, но как-то сложно.

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Modbus TCP/IP

#7

Сообщение texbez » 01.03.2021{, 21:17}

Сделать локальный mqtt брокер,с него значения могут читать хоть хоть сто устройств. Вообще наличие мастера (т.е. главного) и слейв (т.е. слуг) является главной "Ахилесовой пятой" протокола модмас (сугубо моё мнение,не кидаться какашками :no: ) в вопросе построения современной сети так называемых умных домов.

Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#8

Сообщение Aplo » 01.03.2021{, 21:24}

texbez писал(а):
01.03.2021{, 21:17}
Сделать локальный mqtt брокер,с него значения могут читать хоть хоть сто устройств. Вообще наличие мастера (т.е. главного) и слейв (т.е. слуг) является главной "Ахилесовой пятой" протокола модмас (сугубо моё мнение,не кидаться какашками :no: ) в вопросе построения современной сети так называемых умных домов.
локальный mqtt брокер подразумевает " + ещё одно физическое устройство в системе ??" ... т.е. отдельного сервера.. ?

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Modbus TCP/IP

#9

Сообщение texbez » 01.03.2021{, 22:14}

Да, а в случае с модбас - у вас тоже в качестве мастер доп устройство, зато в случае с mqtt нет не "главных", не "слуг" - все равны. К тому же если у вас предполагается не большая сеть ,то можно брокер поднять и на esp.Когда то на форуме была а этот счёт тема, поищите.

Аватара пользователя
Rovki
Полковник
Сообщения: 4873
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Modbus TCP/IP

#10

Сообщение Rovki » 02.03.2021{, 17:13}

Aplo писал(а):
01.03.2021{, 20:43}
Вернуться к началу
Работа модбас RTU поверх ТСР это вопрос к автору ФЛ , вроде в 6.3 работало ...Я до сих пор в 6.3 работаю и не могу открыть ваш проект :(
Электронщик до мозга костей и не только

Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#11

Сообщение Aplo » 05.03.2021{, 23:59}

Удалось сделать MQTT Broker внутри роутера MI MINI c прошивкой от Padavan_ если кому интересно вот тема - https://pikabu.ru/story/ustanovka_mqtt_ ... re_8021285 // наткнулся случайно.

Есть вопросы по работе MQTT , мне не понятно как отправлять на MQTT значения тактовых кнопок (единица, ноль).. Ведь используется "String". Т.е. как потом декодировать это сообщение из строки (надеюсь правильно объяснил).

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Modbus TCP/IP

#12

Сообщение Phazz » 06.03.2021{, 22:59}

Aplo, отправлять через switch, принимать через сравнение строк

Aplo
Рядовой
Сообщения: 14
Зарегистрирован: 23.08.2019{, 20:25}
Репутация: 0
Имя: Артём

Modbus TCP/IP

#13

Сообщение Aplo » 07.03.2021{, 09:23}

Phazz писал(а):
06.03.2021{, 22:59}
Aplo, отправлять через switch, принимать через сравнение строк
/
Да, в принципе так и получилось сделать, методом научного тыка )). Спасибо

Ответить

Вернуться в «Помогите, а то я "нимагу"»