c # SerialPort MultiDrop соединение - PullRequest
       0

c # SerialPort MultiDrop соединение

1 голос
/ 16 августа 2011

Я читал в Интернете и не могу найти никакой информации о работе с подключением RS485 MultiDrop в c #

Чтобы дать немного понимания. Я написал приложение для связи с последовательным устройством по протоколу MODBUS RTU. Теперь клиент сообщил мне, что устройства могут быть подключены с помощью многоточечных каналов связи. Будучи новичком, когда дело доходит до работы с последовательными устройствами, я немного растерялся здесь.

Мой вопрос прост: с чего мне начать? поиск Google до сих пор производил только аппаратные конвертеры и записи в википедии для различных стандартов последовательной связи.

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 августа 2011

RS485 - это стандарт, который определяет электрические характеристики конкретного многоканального сетевого устройства. Однажды я использовал его как внутреннюю шину для прибора - главная плата управления управляла различными насосами, которые были расположены в сети RS485.

Вы можете получить полудуплексный и полнодуплексный режим (наполовину означает, что одно устройство может говорить одновременно - полный означает, что отправка и получение могут происходить одновременно).

На самом деле его использование не сильно отличается от использования RS232 или последовательного порта, и, как вы видели, вы можете получить преобразователи последовательный в RS485. Вы можете использовать драйверы последовательного порта в C #, чтобы использовать его.

Класс SerialPort

Ваша основная проблема заключается в том, что RS485 на самом деле не описывает, как его следует использовать - это довольно низкоуровневые электрические характеристики, он не определяет, как вы должны использовать его для обеспечения связи.

Основная проблема, которую вам необходимо рассмотреть, - как вы собираетесь координировать все это. С RS232 - связаны две вещи, которые облегчают это - обычно компьютер и какое-то устройство. С RS485 связано много вещей. Так что вам нужен какой-то способ адресации каждого устройства. Вы не предоставляете никаких сведений об упомянутом здесь «устройстве» - но если они предназначены для подключения по RS485 - тогда будет способ их адресации. Однако есть несколько способов, которыми это может сработать - поэтому я не могу помочь вам в деталях без более подробной информации. С разработанной мною системой вся связь была инициирована «ведущим» устройством (т. Е. Моей платой управления - или, например, вашим приложением на c #), и каждое отправленное сообщение содержало адрес получателя, поэтому правый насос знал, что инструкция предназначена за это.

Надеюсь, это поможет. На самом деле это не так сложно, но вам нужно подумать о том, что делают эти устройства, как они адресованы, и подумать о сообщениях, которые вам нужно отправлять туда и обратно. Вы можете использовать классы C # SerialPort для фактического выполнения работы.

Кстати, книга, упомянутая в другом ответе, выглядит великолепно. Я действительно рассмотрел бы покупку этого, если это все ново для Вас. Он охватывает связь через последовательный порт и имеет главу по RS485.

0 голосов
/ 16 августа 2011

Я не работал с RS485, но эта книга может помочь в понимании последовательного порта и USB.

здесь - это еще одна ссылка, в которой обсуждаются спецификации и здесь другое.Я не думаю, что они будут легко реализованы в C #, но могли бы быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...