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

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Баг - Трекер » Новые » modbus slave (глюк)
modbus slave
amkuznecov Дата: Среда, 03.05.2017, 16:15 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 1
Репутация: 0
Статус: Offline
не работает 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.05.2017, 16:16
 
ecoins Дата: Пятница, 26.05.2017, 20:05 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 4
Репутация: 4
Статус: Offline
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 для внешнего МАСТЕРА может быть только один.
ОЧЕНЬ ЖАЛЬ. sad
А было бы здорово иметь несколько.

У МАСТЕРА устройств может быть несколько - это понятно.
Прикрепления: modbus-test_wor.flp(367Kb)


Сообщение отредактировал ecoins - Пятница, 26.05.2017, 20:06
 
Rovki Дата: Пятница, 26.05.2017, 20:20 | Сообщение # 3
Генерал-полковник
Группа: Модераторы
Сообщений: 1284
Награды: 29
Репутация: 13
Статус: Offline
Цитата ecoins ()
Неожиданно поняли, что Slave для внешнего МАСТЕРА может быть только один.
ПР200 может быть 2 слейвами ,но это наверное определяется возможностью МК.


Электронщик до мозга костей и не только
 
ecoins1982 Дата: Воскресенье, 28.05.2017, 00:02 | Сообщение # 4
Рядовой
Группа: Проверенные
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
При работе на FLProg с KaSkada реально круто складывается - всё отображение и управление на планшете, а программирование через визуальные средства FLProg. Но при этом очень нужен хотя бы еще один Slave.
Через один планшет подключается например через BlueTooth, а через другой еще один пульт управления (может тоже на KaScada или на компьютере в другой Scada-среде, например через Wi-Fi).
Управление с нескольких пультов с выбором нужного вектора управления по приоритету подключенных пультов, реализовано в опубликованной на сайте - раздел статьи под названием  "Открытая роботозированная лаборатории".


Сообщение отредактировал ecoins1982 - Воскресенье, 28.05.2017, 07:56
 
ecoins Дата: Воскресенье, 28.05.2017, 07:27 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 4
Репутация: 4
Статус: Offline
Mega2560 (или что поновее Due) c пятью Serial (один программный, остальные аппаратные) + SPI мог бы дополнительно к основной программе выполнять роль коммуникатора. На одном порте могли бы сидеть и модули Овена.
Технические вроде ничего не мешает сделать несколько Slave в FLProg, но обмен надо делать по прерываниям.
Разработчик в своих реализациях прерывания не использует (или избегает этого по каким-то соображениям, например для простоты переноса программ на разные контроллеры).
В нынешней реализации ModBus я обнаружил программные задержки - а это засада... Есть и Serial.flush и delay(5).
------
Мог бы попробовать предложить улучшенное решение - но без автора его не перенести в систему (если только как пользовательский блок, но там много своих ограничений) и как критически отнесётся к этому автор?
Да и С++ далеко не на профессиональном уровне, но что-то писать удается.
_______
Пока экспериментируем и изучаем углубленно существующие для Arduino драйверы Modbus - там тоже не все здорово...
 
Форум » Баг - Трекер » Новые » modbus slave (глюк)
Страница 1 из 11
Поиск:

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