@ekopiy

Возможно ли отправить данные с двух RS-232 портов в один?

Есть два компьютера на windows, отправляющий данные в COM порт, назовём их A, B. Есть устройство, получающее данные по RS-232 и обрабатывающее их, назовём его C. Возможно ли согласованно, без конфликтов отправлять данные на устройство C? Если возможно, то в какую сторону смотреть? Сам искал, но ничего не нашел, кроме хабов за 15к+. Важная деталь здесь, чтобы не возникало конфликтов, т.е. во время отправки данных из компьютера А в устройство С, компьютер В не отправлял данные, а сохранял их в какой-то буфер для отправки, когда линия освободится. Также необходимо, чтобы всё это работало стабильно, т.к. устройство С это ККМ.
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ответы на вопрос 2
Kalombyr
@Kalombyr
Вставала похожая проблема.
Пришлось делать самописное решение.
Основная проблема - общение двустороннее и могут быть выставлены тайминги ожидания отправки/приёма результата, поэтому по-простому не получится.
Сделал собственный драйвер ком-порта, ставился на каждый пк, с которого нужен был доступ к устройству. Основная задача драйвера - общение с сервером и зависнуть при попытке открытия ком порта, пока на хосте (отдельный пк, к которому физически подключено устройство) ком-порт не закроют (т.е. обмен с устройством будет полностью завершён) и передавать туда-сюда запросы. Гемор знатный вышел.
Ответ написан
Комментировать
hahenty
@hahenty
('•')
Возможно, для этого компьютеры А и В должны следить за сигналами готовности (RTS, DTR) и выбирать подходящее время для начала передачи. В протоколе tcp есть такая штука — "collision resolve" в общем понимании последовательной передачи — там чипы выбирают случайное время для попыток передачи.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы