PDA

Просмотр полной версии : RS-485 (ModBus) - реализация



filter91
20.08.2019, 03:10
Уважаемые, доброе утро. Подскажите решение проблемы с RS-485( ModBus):
Имеется NodeMCU и Овен ПР-200. Необходимо их связать по протоколу.
Вчера столкнулся с двумя проблемами:
1) При NodeMCU - мастер, и ПР200-слейв - Не могу мастером считать значение из слейва, но успешно записываю данные в него.
2) При ПР200-мастер, NodeMCU-слейв - могу записать данные в слейв, но считать их из слейва не получается.

Задача стоит: изменение переменной задания в RemoteXY, передача его в ПР200, и далее, он начинает регулировать температуру по заданию. По сути NodeMCU служит промежуточным звеном между интернетом и регулятором.

P.S. Работаю с целочисленными значениями (Integer). Джамперы на плате переключал согласно инструкции.

Сергей0308
20.08.2019, 04:51
Уважаемые, доброе утро. Подскажите решение проблемы с RS-485( ModBus):
Имеется NodeMCU и Овен ПР-200. Необходимо их связать по протоколу.
Вчера столкнулся с двумя проблемами:
1) При NodeMCU - мастер, и ПР200-слейв - Не могу мастером считать значение из слейва, но успешно записываю данные в него.
2) При ПР200-мастер, NodeMCU-слейв - могу записать данные в слейв, но считать их из слейва не получается.

Задача стоит: изменение переменной задания в RemoteXY, передача его в ПР200, и далее, он начинает регулировать температуру по заданию. По сути NodeMCU служит промежуточным звеном между интернетом и регулятором.

P.S. Работаю с целочисленными значениями (Integer). Джамперы на плате переключал согласно инструкции.

У Овена есть такой шлюз для подключению по вай-фай(как вы хотите) к сервису OwenCloud: https://owen.ru/product/pv210
Из него и меняйте уставку, чего здесь мудрить?

Ревака Юрий
20.08.2019, 07:29
Уважаемые, доброе утро. Подскажите решение проблемы с RS-485( ModBus):
Имеется NodeMCU и Овен ПР-200. Необходимо их связать по протоколу.
Вчера столкнулся с двумя проблемами:
1) При NodeMCU - мастер, и ПР200-слейв - Не могу мастером считать значение из слейва, но успешно записываю данные в него.
2) При ПР200-мастер, NodeMCU-слейв - могу записать данные в слейв, но считать их из слейва не получается.

Задача стоит: изменение переменной задания в RemoteXY, передача его в ПР200, и далее, он начинает регулировать температуру по заданию. По сути NodeMCU служит промежуточным звеном между интернетом и регулятором.

P.S. Работаю с целочисленными значениями (Integer). Джамперы на плате переключал согласно инструкции.

Смотрите канал у меня в подписи, RemoteXY там нет, но все остальное найдете.

filter91
20.08.2019, 09:09
У Овена есть такой шлюз для подключению по вай-фай(как вы хотите) к сервису OwenCloud: https://owen.ru/product/pv210
Из него и меняйте уставку, чего здесь мудрить?


Спасибо за совет. Данного шлюза у меня нет, и покупать - нет времени ожидания на доставку.

filter91
20.08.2019, 09:41
Смотрите канал у меня в подписи, RemoteXY там нет, но все остальное найдете.

Юрий, я посмотрел Ваши видео. Но ответа на свой вопрос так и не нашёл.
Вы используете в своих проектах ESP8266, но настраиваете в непонятном мне WEB-интерфейсе.
Вообщем я так и не нашёл информации о связи между этими компонентами.
Кстати спасибо Вам, что ведёте такой канал. Очень много хороших вещей.

Ревака Юрий
20.08.2019, 10:13
Юрий, я посмотрел Ваши видео. Но ответа на свой вопрос так и не нашёл.
Вы используете в своих проектах ESP8266, но настраиваете в непонятном мне WEB-интерфейсе.
Вообщем я так и не нашёл информации о связи между этими компонентами.
Кстати спасибо Вам, что ведёте такой канал. Очень много хороших вещей.

На git есть прошивки и схемы, решающие проблемы связи по RS, то что у Вас не получается, единственное я использую всегда в качестве master, (по аналогии с панелями оператора), дальше обмен переменными по RS485 через разные протоколы с разными вариантами визуализации данных как на ПК так и на mobile.

filter91
20.08.2019, 11:01
На git есть прошивки и схемы, решающие проблемы связи по RS, то что у Вас не получается, единственное я использую всегда в качестве master, (по аналогии с панелями оператора), дальше обмен переменными по RS485 через разные протоколы с разными вариантами визуализации данных как на ПК так и на mobile.

Да вроде прошиваю NodeMCU в FLProg (не реклама), там уже есть библиотека своя на ModBUS. Думаю поиграться скоростями. Сейчас 115 кб, попробую поставить 19200. И в ПР увеличу время ожидания ответа.

Сема
20.08.2019, 11:11
Это для института проект? Или на реальном объекте для себя? Или производства? Я бы на вашем месте очень сильно задумался ставить NodeMCU на производстве. Он во первых виснет периодически, для него свои мозги надо ставить, чтобы перезагружать. Во вторых Remote XY мёртвый проект. Если так сильно печёт Node MCU ставить поставьте лучше Kaskada. Можете в ветке SCADA - другие SCADA посмотреть.

Легче уже подождать доставку с хорошим шлюзом и с хорошим Веб-сервисом с хорошей тех. поддержкой. Подумайте, стоит того ваша убитая нервная система. Неврные клетки не восстанавливаются.

filter91
20.08.2019, 11:17
Это для института проект? Или на реальном объекте для себя? Или производства? Я бы на вашем месте очень сильно задумался ставить NodeMCU на производстве. Он во первых виснет периодически, для него свои мозги надо ставить, чтобы перезагружать. Во вторых Remote XY мёртвый проект. Если так сильно печёт Node MCU ставить поставьте лучше Kaskada. Можете в ветке SCADA - другие SCADA посмотреть.

Легче уже подождать доставку с хорошим шлюзом и с хорошим Веб-сервисом с хорошей тех. поддержкой. Подумайте, стоит того ваша убитая нервная система. Неврные клетки не восстанавливаются.

Проект для себя. Частный дом - отопление. Живу в Сибири, и у нас уже прохладные дни и ночи начались. Нужно запускать отопление. Почему remoteXY? Потому что в программе FLProg есть готовая библиотека для работы с этим сервисом.
Добавлю, что в моём первоначальном вопросе проблема со взятием данных из Slave. Сам RemoteXY отлично работает, передаёт данные на NodeMCU. Далее эти данные я записываю в локальную переменную и передаю в сетевую. А из этой сетевой ПР200 забирать задание не хочет. Но зато успешно передаёт данные о температуре. Т.е. записывать-записывает, а забирать не хочет.

Сергей0308
21.08.2019, 04:06
Проект для себя. Частный дом - отопление. Живу в Сибири, и у нас уже прохладные дни и ночи начались. Нужно запускать отопление. Почему remoteXY? Потому что в программе FLProg есть готовая библиотека для работы с этим сервисом.
Добавлю, что в моём первоначальном вопросе проблема со взятием данных из Slave. Сам RemoteXY отлично работает, передаёт данные на NodeMCU. Далее эти данные я записываю в локальную переменную и передаю в сетевую. А из этой сетевой ПР200 забирать задание не хочет. Но зато успешно передаёт данные о температуре. Т.е. записывать-записывает, а забирать не хочет.

Такие оправдания не проходят, на ПР200 должно быть продублировано управление и всё работать даже без интернета, короче, по интернету только изменения режимов управления или уставок, иначе, Вы явно сделали принципиально неверно!

Ревака Юрий
21.08.2019, 08:07
Я бы на вашем месте очень сильно задумался ставить NodeMCU на производстве. Он во первых виснет периодически, для него свои мозги надо ставить, чтобы перезагружать.

Если нормально сделано, ничего не виснет, работает месяцами. Это только у ардуинщиков виснет, оно и не удивительно, в несколько оберток засунуть простейший код. Да и NodeMCU не лучший вариант исполнения.

filter91
21.08.2019, 08:36
Такие оправдания не проходят, на ПР200 должно быть продублировано управление и всё работать даже без интернета, короче, по интернету только изменения режимов управления или уставок, иначе, Вы явно сделали принципиально неверно!

Я как раз и пытаюсь сделать, как Вы написали. Интернет мне нужен только для удалённого контроля температуры и уставки задания.

filter91
21.08.2019, 15:04
Вообщем перепробовал все возможные варианты и ничего.
Думаю проблема как в последнем посте этой темы https://owen.ru/forum/showthread.php?t=27806&page=2
Попробую сделать так-же.
Спасибо всем откликнувшимся.