• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Modbus TCP / RTU RS-485 + WEB server

pvvx

Активный участник сообщества
Ага, спасибо, сначала пришлось залезть в исходники, там закомментировать, потом попался на глаза чекбокс, с этим разобрался. Теперь непонятка на странице настроек модбас, в некоторых полях отображаются вопросительные знаки, и после изменения на числа и сохраненения, все остается по старому. Как побороть?
Странслировать с указанием, что это прошивка RS485, а не TCP2UART в user_config.h:
[inline][HASHTAG]#define[/HASHTAG] PROGECT_NUMBER 1[/inline]
А так-же использовать WEBFilesRS485 для сборки файлов диска...
 

Urbas81

Member
Именно так все и странслировано, все страницы с транзакторами есть, не сохраняются переменные только на этой странице, причем пока я боролся со сбросом, этого не было, т.е все параметры выводились и сохранялись, одно поборол, другое появилось.

Загрузил отдельно еще раз код через эклипс FlashCode, все заработало как надо, единственное я посмотрел, страница GPIO в таблице должна выводить номера GPIO, а у меня первая колонка пустая, и на странице mdb.htm у меня пустые таблицы, я пока не понял может надо что-то еще заполнить или по умолчанию там уже должно что-то отображаться?
 
Последнее редактирование:

Urbas81

Member
Разобрался сегодня немного с web интерфейсом, в другом браузере отображаются все надписи. Обменивался информацией с таким ус-вом http://www.owen.ru/uploads/pr200_cait_2.png. Появился вопрос насколько сложно добавить поддержку битовых команд чтения и записи.
 

Вложения

pvvx

Активный участник сообщества
С тем что я работал была поддержка, я и решил проверить.
Это дополнение ведет к увеличению размера кода и сокращению объема flash под диск. По этой и примерно аналогичным причинам не дописывал в данной версии. Прошивка c RS485 это пример, а не готовая реализация под все нужны. Можно вырезать лишнее и его там много, но пока не вижу в этом нужды. Конструктор и есть конструктор - исходники даны...
 

ILSHAT

New member
Добрый день.
Очень крутой проект получается. Настроил прозрачный беспроводной мост между двумя устройствами, все круто работает. Возник вопрос: можно ли добавить еще один ESP к этому мосту? К сожалению проверить этот вариант нет возможности, потому что не имею третьего устройства ESP8266. Заранее благодарен за ответы.
 

Urbas81

Member
Добрый день! Можно ли получить подсказку где в проекте находятся файлы или область кода, где реализована поддержка функций модбас, интересно посмотреть, вдруг получиться добавить поддержку битовых функций, работаю сейчас с проектом на AVR где эти функции реализованы, посмотрел исходники, там не так много писать.
 

pvvx

Активный участник сообщества
Добрый день! Можно ли получить подсказку где в проекте находятся файлы или область кода, где реализована поддержка функций модбас, интересно посмотреть, вдруг получиться добавить поддержку битовых функций, работаю сейчас с проектом на AVR где эти функции реализованы, посмотрел исходники, там не так много писать.
Основной разбор на функции тут: esp8266web/mdbfunc.c at master · pvvx/esp8266web · GitHub
Требуются добавки и там: esp8266web/mdbrs485.c at master · pvvx/esp8266web · GitHub
 

serg28serg

New member
подключал ли кто к этому проекту ds18b20 или другое устройство на 1-ware ?
или может кто то видел аналогичные реализации в родственных проектах ?
 

alikxus

New member
Доброго время суток. Пытаюсь разобраться с этой темой, подскажите пожалуйста, минимум необходимых действий для подключения Modbus TCP / RTU RS-485 + WEB server в качестве slave устройства. В качестве сервера используется nodemcu v3. Т.е.
 

DorianGray

New member
Добрый день!

Есть несколько вопросиков, касаемо проекта.
1. Смотрел-смотрел исходники и так и не понял где задается дефолтное значение ножки управления направлением данных для RS485.
2. Как в переменные для Web-а записываются значения ? и где эти значения физически хранятся(в каком файле). Я так понимаю определенный кусок кода переписывает какой-то файл на WEB-диске.
3. Возможно ли как-то в WEB-редакторах открыть именно проект для веба. В тех что я открывал, редактор не воспринимал строки аля ~inc:menu.inc~.

Сори за тупые вопросы, но уж слишком смутили меня эти вставки "~inc:menu.inc~". Если б вы подсказали что это, было б очень здорово.
Спасибо.
 

pvvx

Активный участник сообщества
1) Сохраняются в эмуляторе EEPROM в Flash. esp8266web/flash_eep.c at master · pvvx/esp8266web · GitHub
2) Ничего в Web диске не переписывается. Он read-only для скорости работы.
3) Нет. Надо обратно линковать все inc:
inc:имя_файла_на_диске - это включение другого файла. Поддерживаются вложения до 4-х итераций. Т.е. во включаемом файле может быть тоже inc:... и так до глубины в 4-ре вложения. Можно и более, но не будет возврата к первому файлу. :) Ограничение на одновременно открытые файлы стоит - 31 шт. Можно поставить больше :) Но этого вроде хватает на запросы от нескольких клиентов эксплореров по 5-ть потоков одновременно. Один эксплорер, при обращении к HTTP по порту 80 открывает за раз не менее 5-ти соединений. По скорости существует некое среднее для оптимизации. Всё в один файл или несколько файлов = больше запросов и открытых соединений. Тема разбиралась в основной ветке web-свалки.
 
Последнее редактирование:

alikxus

New member
to pvvx - я выше спрашивал, не подскажите по моему вопросу? не могу разобраться толи у меня мой 485 глючит, то ли я чего то не так делаю
 

pvvx

Активный участник сообщества
to pvvx - я выше спрашивал, не подскажите по моему вопросу? не могу разобраться толи у меня мой 485 глючит, то ли я чего то не так делаю
Вопрос не четкий. Не ясно о чем и не понятно на с какого уровня начинать. Тут раздел тем как-бы про владеющих знаниями как запустить UDK и сборки проектов на SDK. Конкретизируйте вопросы.
В первом сообщении всё описано и даны ссылки
Вам наверно надо это Установки Modbus.
 

alikxus

New member
Вопрос не четкий. Не ясно о чем и не понятно на с какого уровня начинать. Тут раздел тем как-бы про владеющих знаниями как запустить UDK и сборки проектов на SDK. Конкретизируйте вопросы.
В первом сообщении всё описано и даны ссылки
Вам наверно надо это Установки Modbus.
Тогда по порядку - прошил свой nodemcu v3 - последней версией Modbus TCP / RTU RS-485 + WEB server. На странице установки модбас стоят следующие параметры (см вложение). Через эмулятор мастера и адаптер RS 485 пытаюсь прочитать содержимое ячеек со страницы Modbus data путем передачи запроса на чтение регистров (3 функция) - ответа нет. Пытаюсь понять, что я делаю не так. Спасибо
 

Вложения

pvvx

Активный участник сообщества
Тогда по порядку - прошил свой nodemcu v3 - последней версией Modbus TCP / RTU RS-485 + WEB server. На странице установки модбас стоят следующие параметры (см вложение). Через эмулятор мастера и адаптер RS 485 пытаюсь прочитать содержимое ячеек со страницы Modbus data путем передачи запроса на чтение регистров (3 функция) - ответа нет. Пытаюсь понять, что я делаю не так. Спасибо
Всё должно читаться. Было проверено неоднократно. Может у вас не правильное аппаратное подключение?
"адаптерЫ RS 485" должны быть с двух сторон.
 

alikxus

New member
Всё должно читаться. Было проверено неоднократно. Может у вас не правильное аппаратное подключение?
"адаптерЫ RS 485" должны быть с двух сторон.
У меня адаптер позволяет использовать его в качестве 485 по схеме 1 и по схеме 2 (с первой страницы этой темы)
пробую реализовать подключение по схеме 2 - с одной стороны модбас мастер - адаптер USB - TTL - с него RX на TX и TX на RX nodemcu, GND на GND. Теперь подозреваю, что это не правильно?
 

pvvx

Активный участник сообщества
У меня адаптер позволяет использовать его в качестве 485 по схеме 1 и по схеме 2 (с первой страницы этой темы)
пробую реализовать подключение по схеме 2 - с одной стороны модбас мастер - адаптер USB - TTL - с него RX на TX и TX на RX nodemcu, GND на GND. Теперь подозреваю, что это не правильно?
С "parity" поиграйтесь. Может не соответствует установкам с другой стороны модуля.
 
Сверху Снизу