Страница 1 из 1
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 11:28
				 serghei
				Ситуация такая у меня есть 2 считывателя Rfid RC522 привязанных к 2м  arduino nano работают они в сети rs485 через переходник 
смысл в том что бы у arduino был что то вроде личного номера дабы опрашивая arduino по номеру получать ответы о состоянии считывателя!
я думал что получится сделать через стандартный блок передачи переменной по com порту! 
но как я понял ситуация такая что Arduino в сети 485 подключается как master и сама инициализирует передачу номера карты 
то-есть если подключится напрямую обычным терминалом можно увидеть как считыватель сам  имитирует передачу номера карты ( это к сожалению не совсем подходит) 
вопрос такой, как сделать адресуемый считыватель в сети rs485  преимущественно использовать один порт что бы по очереди опрашивать состояние считывателя и от соответвуешего считывателя получать ответ о его состоянии ?
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 11:48
				 Sancho
				[ref]serghei[/ref], ModBus Ваше всё.
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 13:41
				 serghei
				Sancho писал(а): 28 янв 2019, 11:48[ref]serghei[/ref], ModBus Ваше всё.
 
Спасибо я подозревал! но сомневался! 
тогда такой вопрос! 
данные со считывателя ну код карты должен передаваться в регистрах хранения ? 
и запрос о состоянии считывателя тоже должен передаваться в регистрах хранения?
 
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 14:29
				 Sancho
				[ref]serghei[/ref], По фэншую - переменные, которые не возможно изменить, входы, - через инпут рег. Учитывая, что они принимают только 2 байта, предварительно разобрать код карты, семибайтный наверное,  для двух рег., потом собрать.
Но Вам никто не запрещает использовать holding. 

 
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 15:25
				 Alias
				А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 15:42
				 Sancho
				Alias писал(а): 28 янв 2019, 15:25А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
 
Этого как-бы нет - здесь просто он реализован. 
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
 
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 18:41
				 serghei
				Sancho писал(а): 28 янв 2019, 15:42Alias писал(а): 28 янв 2019, 15:25А где вообще почитать подробности феншуя по МодБасу в флпрог? Куда бы ни сунулся - делается по шаблону, а без понимания повторять не хочется...
 
Этого как-бы нет - здесь просто он реализован. 
Это касается всех сторонних протоколов/приложений и т.д. - модбас, некстион, виртуино, ремоте.
Просто любые данные, которые доступны в режиме "только для чтения", "R", принято располагать в области соответствующих регистров - discret/analog input. Это, как правило, датчики дискретные и аналоговые, версии прошивок, набегающий итог/сумма и т.д.
Остальное, "Доступно чтение и запись", "R/W" - в соответствующих Coil & Holding reg.
 
вроде бы разобрался! по запросу отдает мне значения! 
но еще такой вопрос 
я просматриваю в программе Qmodbus
вроде все работает ок! НО почему в строке Data пишет мне значения 42687 в 0xa6bf hex но номер карты 2797575099 ?
 
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 20:24
				 Sancho
				[ref]serghei[/ref], Я уже писал. Тип данных....
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 28 янв 2019, 21:46
				 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 ?
 
			 
			
					
				разобраться c передачей данных по com/485 связи
				Добавлено: 29 янв 2019, 08:29
				 Sancho
				serghei писал(а): 28 янв 2019, 21:46и еще почему в регистр 0 данные не записываются а только в регистр 1 . рег 0=0 ,1=27975, так же и ,2=0 , 3=75099 ?
 
[ref]serghei[/ref],  А как протестить - Ваш проект не вижу....
На моих, да и у других тоже, всё вроде записывается 
Отправлено спустя      33 секунды:
Для тестов пользуюсь 
инсатовским OPC