Страница 2 из 2
modbus rtu
Добавлено: 16 мар 2018, 02:17
Халил
modbus rtu
Добавлено: 16 мар 2018, 02:34
ZeRG
Пробовал версию 3.0 вроде тоже не работает
modbus rtu
Добавлено: 16 мар 2018, 08:35
Max
Какие Ардуино применяете? Не Нано, или Микро часом? Вообще даже прошиваться у меня не хотели. Блоки питания разные?
У меня так же было недавно. ИНТ данные не в какую не хотел RTU передавать. Откатил обновления плат в Ардуино IDE на более ранние. Заработало.
modbus rtu
Добавлено: 16 мар 2018, 09:58
KSP
ZeRG у Вас неправильно назначены адреса регистров inpyt и holding , это один и тот же регистр, т.е Вы пытаетесь записать и прочитать из одного файла. Назначьте разные номера регистров. А Coil не рекомендую использовать FLProg на них хуже работает. И QModbus установите ей можно слейвы проверять. А версия FLProg здесь не при чем. Попозже исправлю Ваши проекты и прикреплю.
Отправлено спустя 1 час 16 минут 59 секунд:
Я так понял, что при редактировании прикрепить ничего нельзя. Исправленные файлы прикрепил, что непонятно пишите поможем.
modbus rtu
Добавлено: 16 мар 2018, 10:56
ZeRG
общим проверил
сигнал с мастера на слеф идет кнопка 1 работает
с датчика температуры выводит 0 на мастер то есть со слейва на мастер не выводит данные
Отправлено спустя 2 минуты 14 секунд:
но кнопка 1 жестко тормозит даже без отправки в уарт
Отправлено спустя 3 минуты 21 секунду:
Как-то так выглядит эксперимент
Отправлено спустя 20 минут 15 секунд:
KSP писал(а): 16 мар 2018, 09:58ZeRG у Вас неправильно назначены адреса регистров inpyt и holding , это один и тот же регистр, т.е Вы пытаетесь записать и прочитать из одного файла. Назначьте разные номера регистров.
если я правильно понимаю строение модбаса и его структуру то
1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).
это значит что Read Input Registers у него адрес в моем случае 400001, а у Read Holding Registers адрес 300001 просто фл прог убирает первую цифру и нули перед адресом
Отправлено спустя 1 минуту 25 секунд:
это два разных адреса
[spoiler]
893A9EC0-DBBD-48A9-B07A-A4CD799765BF.jpeg
[/spoiler]
modbus rtu
Добавлено: 16 мар 2018, 11:21
Sancho
[ref]ZeRG[/ref],
Попробуй
Отправлено спустя 5 минут 56 секунд:
Выбирай порты правильно, смотри, что и куда отправляешь...
modbus rtu
Добавлено: 16 мар 2018, 11:39
Dev1
ZeRG писал(а): 16 мар 2018, 10:56если я правильно понимаю строение модбаса и его структуру то
1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).
Это всего лишь функции(команда) в запросе-ответе мастер-слейв.
Посмотрите структуру запроса-ответа в
описании.
modbus rtu
Добавлено: 16 мар 2018, 12:05
ZeRG
общим говоря работает но ответ от датчика где то минут 10 - 15 как можно ускорить сей процесс?
modbus rtu
Добавлено: 16 мар 2018, 12:08
KSP
Вставлять цитаты я не умею:
[spoiler]
1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).
[/spoiler]
это значит что Read Input Registers у него адрес в моем случае 400001, а у Read Holding Registers адрес 300001 просто фл прог убирает первую цифру и нули перед адресом,
но Вы сами дали ответ FLProg убирает первую цифру вернее не убирает , а работает по этой цифре но цифра эта справа по протоколу сначала идет команда , а потом адрес. Я в исправленных файлах ВАРТ не подключал. Поэтому что и где у Вас тормозит непонятно.
modbus rtu
Добавлено: 16 мар 2018, 12:10
Sancho
ZeRG писал(а): 16 мар 2018, 12:05но ответ от датчика где то минут 10 - 15 как можно ускорить сей процесс?
Вы о чём?
Генератор корректно работает в ответах со слэйва? счёт на увеличение посекундный.
Кнопки работают?
modbus rtu
Добавлено: 16 мар 2018, 12:14
ZeRG
Sancho, кнопки все работают но температура изменяется в районе 10 - 15 минут
modbus rtu
Добавлено: 16 мар 2018, 12:20
Sancho
Sancho писал(а): 16 мар 2018, 12:10Генератор корректно работает в ответах со слэйва? счёт на увеличение посекундный.
Ответ?
modbus rtu
Добавлено: 16 мар 2018, 12:30
KSP
Я немного исправил проекты Sancho попробуйте их.
modbus rtu
Добавлено: 16 мар 2018, 12:53
Sancho
Дорогие форумчане.
Напоминаю, проверенно 100%
для версий 3 и выше, даже и в ранних, но не скажу с какой именно.
Регистры Inpyt и Holding не пересекаются в адресах, каждые имеют свой массив!!!
Поэтому не стоит разносить их по номерам, типа, что-бы не пересекались!
Начинайте ВСЕ с нулевого и не парьтесь, программа полностью поддерживает "стандарт".
ПРОВЕРЕННО!!!!
Старайтесь делать нумерацию в секциях/таблицах ( Input, coil, holding) подряд, без пропусков регистров, тогда их (секции/таблицы) считать можно в один запрос на каждую.
modbus rtu
Добавлено: 16 мар 2018, 13:17
ZeRG
KSP писал(а): 16 мар 2018, 12:30Я немного исправил проекты Sancho попробуйте их.
не работает
Отправлено спустя 2 минуты 48 секунд:
работает только кнопка
Отправлено спустя 10 минут 53 секунды:
не работает ответ от слейва
modbus rtu
Добавлено: 16 мар 2018, 13:42
KSP
Даже в свете сообщения от Sancho мой проект тоже должен работать, И2С конечно тормозит процессор но на скорости 9600 все должно работать, как вариант попробуйте поменять порт на Меге , кто-то писал , что у нее не все порты работают одинаково с Modbus , да и железо еще раз проверьте.
И еще на картинке компьютер подключен к какой -то платке , у Вас прямого шнура от Меги до ЮСБ нету.
И еше DC18 тоже подгружает систему попробуйте вот с этим блоком.
modbus rtu
Добавлено: 16 мар 2018, 14:25
Sancho
Отключите слэйв 2, физически.
Для нормальной настройки/проверки очень желательно=необходимо иметь свисток usb/485.
Как уже неоднократно описывалось на нашем форуме, платы 485, как на Вашем фото - та ещё монетка - работает, не работает. Гимора народ с ними хапнул неподецки.
Итого, для начала, почитать немного
тут
и тут читать до конца
сам использую
Рекомендую
О засадах с платами Mega Вам уже писали...
modbus rtu
Добавлено: 19 июл 2018, 15:20
Serg_Grn
Доброго дня! Прошу помощи разобраться в Modbus RTU.
Не могу пока разобраться в подразделах дерева проекта.
А именно: есть разделы Master и Slave. Но при этом в разделе Master можно также "добавить Slave", не могу понять смысла... При этом появляются загадочные параметры: "период синхронизации", "активность слейва" и т.д.
Разобрался бы сам, но не нашёл в программе и на сайте пояснений по этой части... Если это где-то есть, прошу кинуть в меня ссылкой.
Спасибо!
modbus rtu
Добавлено: 19 июл 2018, 16:08
Sancho
Serg_Grn писал(а): 19 июл 2018, 15:20есть разделы Master и Slave. Но при этом в разделе Master можно также "добавить Slave", не могу понять смысла... При этом появляются загадочные параметры: "период синхронизации", "активность слейва" и т.д.
Разобрался бы сам, но не нашёл в программе и на сайте пояснений по этой части... Если это где-то есть, прошу кинуть в меня ссылкой.
Спасибо!
не спеша.
1. а. При активации "модбас слэйв" Вы добавляете ещё один serial или tcp для работы контролера уже в качестве ведомого(слэйва). Просто как-то этот параметр затесался не в тот раздел. При этом на порту "модбас мастер" он им и остаётся.
б. При "Добавить Slave" Вы просто добавите ещё одного ведомого.
2. "период синхронизации" - периодичность опроса ведомого.
3. "активность слейва" - есть описание блока. В двух словах - опрашивать или нет и статус, будет опрашиваться или нет.
[spoiler]
screenshot_18-07-19_16-07-47.png
[/spoiler]