FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Пятница, 21.07.2017, 07:44
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Баг - Трекер » Новые » MODBUS Master (ошибка транзакций)
MODBUS Master
ecoins Дата: Воскресенье, 28.05.2017, 09:39 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 56
Награды: 4
Репутация: 4
Статус: Offline
ModBusMaster RTU  (испытание с модулями ОВЕН в качестве Slave) не работает, если в основном цикле всей программы  до  следующего запроса задержка более 5 миллисекунд. Это может другой запрос, обращение к дисплею, для теста вставил пользовательский блок задержки с регулируемой задержкой.

Как преодолевать проблему?
Может быть покопаемся в драйвере сами, но может быть разработчик Сергей уже что-то знает об этом?

Пока изучаем тексты драйвера FLProg и похожих драйверов из GetHub.
Есть вроде наметки где и куда копать, но здорово бы услышать мнение разработчика.

------
Тестовая программа прикреплена.

Добавлено (28.05.2017, 09:39)
---------------------------------------------
Как часто бывает - тревога ложная. Все заработало.
Видимо были проблемы с внешним оборудованием.
Пора искали, разобрались немного с драйвером.
Вставили в него кусочки кода:
//--------------------------------
Serial.print("w="); Serial.print(_modbusMasterBufferSize);
for (int i=0; i<_modbusMasterBufferSize; i++){Serial.print(" ");Serial.print(_modbusMasterBuffer);}
Serial.println(" ##");
//--------------------------------
для чтения посылок

и аналогично
//--------------------------------
Serial.print("r="); Serial.print(_modbusMasterBufferSize);
for (int i=0; i<_modbusMasterBufferSize; i++){Serial.print(" ");Serial.print(_modbusMasterBuffer);}
Serial.println(" ##");
//--------------------------------
для чтения ответов.

Соответственно увидели, что есть запросы и нет на них ответов, а там и заработало...

================
Пожелания остаются:
1. Добавить возможность использовать нескольких Slave;
2. Сделать работу UART, в том числе и в ModBus, по прерываниям,.

Всем Спасибо.
Прикрепления: ModBusMaster_5m.flp(89Kb)


Сообщение отредактировал ecoins - Воскресенье, 28.05.2017, 09:41
 
Форум » Баг - Трекер » Новые » MODBUS Master (ошибка транзакций)
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика