modbus slave

В данный форум Вы можете заносить найденные Вами ошибки.При добавления ошибки пожалуйста приложите файлик error.log который находится в папке с установленной программой
Ответить
Аватара пользователя
amkuznecov
Рядовой
Сообщения: 20
Зарегистрирован: 16 фев 2016, 18:51
Откуда: Москва
Имя: Андрей

modbus slave

Сообщение amkuznecov »

не работает 1 слейв, второй в норме

Arduino: 1.8.1 (Windows 10), Плата:"Arduino Nano, ATmega328"

pr94:245: error: redefinition of 'bool _modbuseSetSlEnable1_SlId'

exit status 1
redefinition of 'bool _modbuseSetSlEnable1_SlId'

Добавлено (03.05.2017, 16:15)
---------------------------------------------
Два раза объявляет

modbuseSetSlEnable1_SlId

modbuseSetSlEnable1_SlId

Я так понимаю должно быть

modbuseSetSlEnable1_SlId

modbuseSetSlEnable2_SlId

????
Последний раз редактировалось amkuznecov 03 май 2017, 16:16, всего редактировалось 1 раз.
ecoins
Полковник
Сообщения: 3209
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер

modbus slave

Сообщение ecoins »

MODBUS
Начали пробовать подключение оборудования ОВЕН и выявились серьезные проблемы с драйвером MODBUS.
Приложена тестовая программа:
Опрашивает один канал только при двух условиях:
1. Не включен еще один канал - (плата №2  отключена, если включить её - перестаёт считывать температуру).
2. Если включается дисплей  - в программе пин 6 соединить с GND - перестаёт считывать температуру.
-------
ОТДЕЛЬНО №1.
Сделан опрос каждого действия:
1. Задача 1 - переписывание регистров 4 мкс (фактчиески меньше);
2. Задача 2 - формирование сообщений 920 мкс;
3. Задача 3 - вывод в UART (примерно 25 символов) - 16 мкс;
4. Задача 4 - вывод на дисплей (8 символов) - 13150 мкс (13 мс).

Дисплей LCD 4x20, подключен через i2c. Ну очень много - в некоторых реальных программах лучше не использовать, так как задержка уже 5 мс (200Гц) заметно на глаз и слух.

ОТДЕЛЬНО №2.
Очень полезно оказывается измерение времени задач - избавляет от многих заблуждений при отладке и настройки программ с кнопками, светодиодами, зуммером и т.п.
Но приходиться использовать два собственных пользовательских блоков (в программе присутствуют) и вводить дополнительную плата - иначе без вмешательства автора Сергея не получается.

Сергей, ПРОСЬБА! Сделай пожалуйста блок на выходе которого будет только один параметр - время исполнения текущей платы.

Добавлено (26.05.2017, 20:05)
---------------------------------------------
По двум Slave.
Неожиданно поняли, что Slave для внешнего МАСТЕРА может быть только один.
ОЧЕНЬ ЖАЛЬ.
А было бы здорово иметь несколько.

У МАСТЕРА устройств может быть несколько - это понятно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 26 май 2017, 20:06, всего редактировалось 1 раз.
Аватара пользователя
Rovki
Полковник
Сообщения: 4899
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Контактная информация:

modbus slave

Сообщение Rovki »

ecoins писал(а):Неожиданно поняли, что Slave для внешнего МАСТЕРА может быть только один.
ПР200 может быть 2 слейвами ,но это наверное определяется возможностью МК.
Электронщик до мозга костей и не только
ecoins
Полковник
Сообщения: 3209
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер

modbus slave

Сообщение ecoins »

Mega2560 (или что поновее Due) c пятью Serial (один программный, остальные аппаратные) + SPI мог бы дополнительно к основной программе выполнять роль коммуникатора. На одном порте могли бы сидеть и модули Овена.
Технические вроде ничего не мешает сделать несколько Slave в FLProg, но обмен надо делать по прерываниям.
Разработчик в своих реализациях прерывания не использует (или избегает этого по каким-то соображениям, например для простоты переноса программ на разные контроллеры).
В нынешней реализации ModBus я обнаружил программные задержки - а это засада... Есть и Serial.flush и delay(5).
------
Мог бы попробовать предложить улучшенное решение - но без автора его не перенести в систему (если только как пользовательский блок, но там много своих ограничений) и как критически отнесётся к этому автор?
Да и С++ далеко не на профессиональном уровне, но что-то писать удается.
_______
Пока экспериментируем и изучаем углубленно существующие для Arduino драйверы Modbus - там тоже не все здорово...
Ответить

Вернуться в «Новые»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость