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

помогите разобраться как правильно передавать и получать данные по com/485 связи

Ответить
serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13.09.2018{, 09:27}
Репутация: 0
Имя: Sergheimd

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

#1

Сообщение serghei » 28.01.2019{, 11:28}

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

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

вопрос такой, как сделать адресуемый считыватель в сети rs485 преимущественно использовать один порт что бы по очереди опрашивать состояние считывателя и от соответвуешего считывателя получать ответ о его состоянии ?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#2

Сообщение Sancho » 28.01.2019{, 11:48}

serghei, ModBus Ваше всё.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13.09.2018{, 09:27}
Репутация: 0
Имя: Sergheimd

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

#3

Сообщение serghei » 28.01.2019{, 13:41}

Sancho писал(а):
28.01.2019{, 11:48}
serghei, ModBus Ваше всё.
Спасибо я подозревал! но сомневался!
тогда такой вопрос!
данные со считывателя ну код карты должен передаваться в регистрах хранения ?
и запрос о состоянии считывателя тоже должен передаваться в регистрах хранения?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#4

Сообщение Sancho » 28.01.2019{, 14:29}

serghei, По фэншую - переменные, которые не возможно изменить, входы, - через инпут рег. Учитывая, что они принимают только 2 байта, предварительно разобрать код карты, семибайтный наверное, для двух рег., потом собрать.
Но Вам никто не запрещает использовать holding. :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

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

#5

Сообщение Alias » 28.01.2019{, 15:25}

А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#6

Сообщение Sancho » 28.01.2019{, 15:42}

Alias писал(а):
28.01.2019{, 15:25}
А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
Этого как-бы нет - здесь просто он реализован.
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13.09.2018{, 09:27}
Репутация: 0
Имя: Sergheimd

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

#7

Сообщение serghei » 28.01.2019{, 18:41}

Sancho писал(а):
28.01.2019{, 15:42}
Alias писал(а):
28.01.2019{, 15:25}
А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
Этого как-бы нет - здесь просто он реализован.
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
вроде бы разобрался! по запросу отдает мне значения!
но еще такой вопрос
я просматриваю в программе Qmodbus
вроде все работает ок! НО почему в строке Data пишет мне значения 42687 в 0xa6bf hex но номер карты 2797575099 ?
Вложения
Screenshot_19.png

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#8

Сообщение Sancho » 28.01.2019{, 20:24}

serghei, Я уже писал. Тип данных....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

serghei
Рядовой
Сообщения: 17
Зарегистрирован: 13.09.2018{, 09:27}
Репутация: 0
Имя: Sergheimd

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

#9

Сообщение serghei » 28.01.2019{, 21:46}

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

и еще почему в регистр 0 данные не записываются а только в регистр 1 . рег 0=0 ,1=27975, так же и ,2=0 , 3=75099 ?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#10

Сообщение Sancho » 29.01.2019{, 08:28}

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

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

Ответить

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