разобраться c передачей данных по com/485 связи

Ответить
serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13 сен 2018, 09:27
Имя: Sergheimd

разобраться c передачей данных по com/485 связи

Сообщение serghei »

Ситуация такая у меня есть 2 считывателя Rfid RC522 привязанных к 2м arduino nano работают они в сети rs485 через переходник
смысл в том что бы у arduino был что то вроде личного номера дабы опрашивая arduino по номеру получать ответы о состоянии считывателя!

я думал что получится сделать через стандартный блок передачи переменной по com порту!
но как я понял ситуация такая что Arduino в сети 485 подключается как master и сама инициализирует передачу номера карты
то-есть если подключится напрямую обычным терминалом можно увидеть как считыватель сам имитирует передачу номера карты ( это к сожалению не совсем подходит)

вопрос такой, как сделать адресуемый считыватель в сети rs485 преимущественно использовать один порт что бы по очереди опрашивать состояние считывателя и от соответвуешего считывателя получать ответ о его состоянии ?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Sancho »

[ref]serghei[/ref], ModBus Ваше всё.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13 сен 2018, 09:27
Имя: Sergheimd

разобраться c передачей данных по com/485 связи

Сообщение serghei »

Sancho писал(а): 28 янв 2019, 11:48[ref]serghei[/ref], ModBus Ваше всё.
Спасибо я подозревал! но сомневался!
тогда такой вопрос!
данные со считывателя ну код карты должен передаваться в регистрах хранения ?
и запрос о состоянии считывателя тоже должен передаваться в регистрах хранения?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Sancho »

[ref]serghei[/ref], По фэншую - переменные, которые не возможно изменить, входы, - через инпут рег. Учитывая, что они принимают только 2 байта, предварительно разобрать код карты, семибайтный наверное, для двух рег., потом собрать.
Но Вам никто не запрещает использовать holding. :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27 ноя 2017, 13:15
Откуда: Rus44
Имя: Michael
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Alias »

А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Sancho »

Alias писал(а): 28 янв 2019, 15:25А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
Этого как-бы нет - здесь просто он реализован.
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13 сен 2018, 09:27
Имя: Sergheimd

разобраться c передачей данных по com/485 связи

Сообщение serghei »

Sancho писал(а): 28 янв 2019, 15:42
Alias писал(а): 28 янв 2019, 15:25А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
Этого как-бы нет - здесь просто он реализован.
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
вроде бы разобрался! по запросу отдает мне значения!
но еще такой вопрос
я просматриваю в программе Qmodbus
вроде все работает ок! НО почему в строке Data пишет мне значения 42687 в 0xa6bf hex но номер карты 2797575099 ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Sancho »

[ref]serghei[/ref], Я уже писал. Тип данных....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13 сен 2018, 09:27
Имя: Sergheimd

разобраться c передачей данных по com/485 связи

Сообщение serghei »

Sancho писал(а): 28 янв 2019, 20:24[ref]serghei[/ref], Я уже писал. Тип данных....
Я как бы понял !
верно ли будет мое решение если я 2797575099 разобью на 2 части 1-27975 2-75099 запишу их в регистры 0-1 и 2-3 получатся 2 переменные
это будет правильным решением?
или как то иначе?

и еще почему в регистр 0 данные не записываются а только в регистр 1 . рег 0=0 ,1=27975, так же и ,2=0 , 3=75099 ?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

разобраться c передачей данных по com/485 связи

Сообщение Sancho »

serghei писал(а): 28 янв 2019, 21:46и еще почему в регистр 0 данные не записываются а только в регистр 1 . рег 0=0 ,1=27975, так же и ,2=0 , 3=75099 ?
[ref]serghei[/ref], А как протестить - Ваш проект не вижу....
На моих, да и у других тоже, всё вроде записывается :)

Отправлено спустя 33 секунды:
Для тестов пользуюсь инсатовским OPC
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Помогите, а то я "нимагу"»

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

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