Несколько последовательных устройств на одном порту

16397
adopilot

Я занимаюсь разработкой программного обеспечения для управления парковкой. Система предназначена для использования четырех устройств HID RFID для авторизации клиентов на воротах. Каждое устройство должно быть подключено к серверу через последовательный порт RS232.

Теперь мне интересно, есть ли какое-либо устройство или метод для подключения всех этих устройств на одном устройстве и после этого к единственному кабелю RS232, который я подключил к серверу? Моя проблема в том, что, поскольку считыватели RFID-карт - простые (глупые) устройства, я ничего не могу изменить.

Мне нравится знать, с какого конкретного устройства поступает вход. Что я хочу сделать с этим новым устройством, которое должно объединить четыре считывателя, так это добавить суффикс или префикс в строку, отправленную с устройства считывания карт RFID. Таким образом, я могу определить устройство, которое отправляет номер карты на мой сервер. Я разрабатываю свою систему на платформах Win.

0

6 ответов на вопрос

6
Peter M

RS-232 является двухточечным, поэтому вы не можете делать ничего другого, кроме как перенести все устройства на ваш сервер по отдельным линиям. Вы можете использовать какой-либо концентратор (чистый RS-232 или RS-232 / USB-конвертер), однако проблема физического соединения, с которой вы сталкиваетесь, уже давно решена в промышленных процессах и представляет собой RS-485 . Это позволяет использовать двухточечную и многоточечную сетевую топологию для физического уровня и имеет гораздо больший диапазон, чем RS232. Для связи с устройствами вам нужно запустить какой-нибудь интеллектуальный протокол, который адресован каждому узлу. (Обычно что-то вроде Modbusбудет использоваться). Таким образом, ваше оконечное оборудование должно было бы стать достаточно интеллектуальным, чтобы реагировать на сетевую адресацию. Это также выполнит ваше требование добавления префикса к потоку данных - это будет сетевой адрес. Но недостатком является то, что ваша программная реализация на стороне сервера также должна стать более сложной, чтобы говорить по тому же протоколу и учитывать такие вещи, как конфигурация сети.

ИМХО, если у вас есть только небольшое количество устройств для подключения, вам, вероятно, лучше использовать многопортовую последовательную карту на вашем сервере и запускать все устройства в одном месте. Однако это зависит от того, сколько кабелей вам придется использовать параллельно. Может случиться так, что общая стоимость кабелей может подтолкнуть вас в сферу интеллектуально спроектированной сетевой системы (каламбур).

Редактировать Обратите внимание, что, учитывая, что ваше приложение является парковочным гаражом, я полагаю, что длина вашей кабельной системы легко превысит максимальные расстояния RS-232 (50 футов). В этом случае вам также нужно будет реализовать какой-либо медиаконвертер на каждом конце кабеля, чтобы вы получили что-то вроде:

RFID Device ==> RS232/RS485 ====(long cable)====> RS485/RS232 ===> Serial port ===> Server 

(Обратите внимание, что вы также можете заменить RS485 своим любимым физическим уровнем - включая оптоволокно)

Редактировать Не то, чтобы я использовал их, но вы можете получить расширители RS232 / Ethernet, которые также могут работать вместо RS485. Cat5 - это хорошо известная кабельная система (поэтому должна быть дешевле в управлении), а Ethernet имеет большую дальность, чем RS232. Но как только вы превысите радиус действия Cat5 (100 м, около 328 футов), вам также понадобится какой-нибудь медиаконвертер.

1
Ignacio Vazquez-Abrams

Не с голым RS232. Может быть возможно создать «концентратор», который мог бы собирать все сообщения от каждого устройства и отправлять их на ПК с предшествующим заголовком, но самое простое, что нужно сделать, это просто запустить USB и использовать конвертеры в конце ,

Спасибо мне за то, что проблема с USB в том, что они работают как клавиатура в основном время. Если у меня больше головной боли, чтобы распознать, какое устройство отправляет данные, можете ли вы порекомендовать любой USB-считыватель RFID-карт, который подходит для моих нужд adopilot 13 лет назад 0
Преобразователи. Как в конвертерах USB-RS232. Ignacio Vazquez-Abrams 13 лет назад 0
1
dbasnett

Вы можете получить концентратор USB и достаточно последовательных USB-адаптеров для устройств RFID, но есть ограничения по расстоянию для RS232.

1
Spiff

Доступны 4-портовые последовательные карты . Другие предложения по использованию нескольких USB-последовательных адаптеров тоже неплохие.

В начале истории вычислений наиболее распространенной потребностью в большем количестве последовательных устройств, чем у вас было портов, было подключение всех ваших последовательных терминалов (VT100 или еще много чего). Класс устройств для решения этой проблемы стал известен как «терминальные серверы». Задача терминального сервера - предоставить множество физических последовательных портов для терминалов или других последовательных устройств, к которым они будут подключаться, и туннелировать их соединения по сетевому соединению с псевдо-терминальными устройствами на вашем хосте. Даже после того, как последовательные терминалы исчезли, серверы терминалов работали как способ подключения набора модемов для PPP-подключения, а также как способ подключения ко всем последовательным портам консоли всего вашего сетевого оборудования и серверов в стойке. Так что вы можете посмотреть на терминальных серверах.

Кроме того, имейте в виду, что и RS-232, и USB имеют ограничения по длине, поэтому вам, вероятно, уже понадобится какой-нибудь специальный ретранслятор большой дальности RS-232. Вероятно, вам лучше всего поговорить со своей компанией, читающей RFID, и спросить их, какое оборудование они использовали для решения подобных проблем в прошлом.

1
Jim C

Ищите порт RS 485. RS 485 также известен как EIA 485. Он поддерживает несколько соединений.

0
robert

Вы можете посмотреть на этот сайт . Ищите коммутаторы последовательных данных. Они предлагают последовательные порты с несколькими RS232 (до 17), управляемые ОДНЫМ последовательным портом RS232.

Похожие вопросы