Rare RS232
Сборище информации про околокомпьютерные девайсы, подключаемыех на COM port (последовательный порт, интерфейс).
Зачастую очень редкие.
Или не очень.

Итак, данная страница посвящена последовательному интерфейсу RS232S, в просторечии COM порту, а по англицки - COM port. Иногда его еще называют UARTом. А в нашей стране его также именуют УАПП. Описание физического интерфейса, разъемов и разводок (распиновок), логической работы порта и его низкоуровневое программирование приведено приведено здесь (78 Кб) - в формате Word. Данный документ является комбинацией отрывков из нескольких книг посвященных программированию, и так или иначе описывающих работу COM портов, и их программирование, в первую очередь под MS-DOS на низком уровне. Basic и Visual Basic тоже упомянуты. Весь этот сборник - часть дипломного проекта, посвященного подключению одного девайса на COM порт. А вот здесь (13 кб) - документация по программированию последовательного порта под Windows, на языке Си (C или CPP - кому как нравиться). Ниже будут приведены ссылки и документацию для конкретных устройств и логическийх протоколов обмена информацией по последовательному интерфейсу. И хотя перечислены не все устройства, которые вешаются на COM порт, но хотелось бы упомянуть не самые типичные.
Внимание! Последовательные порты не предназначены для горячего подключения и чуствительны к внешним возмущениям. Желательно всегда производить манипуляции с кабелями исключительно при отключенном питании всех приборов, а лучьше - выткнуть сетевые вилки. Во многих случаях такое подключение происходит безболезнено, но нередко порт вылетает в самый непоходящий момент. Причем зачастую вылетает только одна линия, которая может применяться в одних устройствах, и не применяться в других - то есть порт частично использовать можно. Бывали случаи когда такой порт выходил из строя практически сам по себе, абсолютно неожиданно, прямо в процессе работы, а не подключения. Короче - я предупредил!
Промышленный контроллер Ремиконт Р-130

Этой штукой мне пришлось заниматься в университете. Надо было состыковать его с IBM PC. Сразу уточню - шлюза БШ-1 я в глаза не видел, подключение осуществлялось непосредственно к сети "Транзит". Сеть эта использует интерфейс ИРПС (Интерфейс радиальный последовательной связи), которая отличаеться от RS-232 уровнем сигналов данных, служебные линии не используються. Проблемма есть только в логическом протоколе. Куски моего диплома посвященного Ремиконт Р-130 в формаите MS Word, в том числе схема подключения к ПК - здесь (108 kb). Есть так же притивные исходникина ASM для MS-DOS (7 кб) (только работоспособные наметки) и на Visual Basic 6 (5 кб), (шаблон полноценной программы). А как работать с шлюзом и дистанционно загружать программу в контроллер я не знаю. Многочисленные поиски не дали вразумительных результатов. Есть некоторые догадки, но желающих экспериментировать пока не нащлось :( Еще один документ (29 кб) - похоже фирменное описание, но комманд загрузки алгоритмов в нем тоже нет.
Сайт завода изготовителя. Здесь можно найти демонстрационную версию кросс-системы (для MS-DOS), предназначенной для редактирования и дистанционной загрузки алгоритмом на Ремиконт Р-130. трансляции сети Тразит на сервис DDE. То есть, можно писать программу для Р-130 под Windows, не волнусь проблеммами поддержки протокола. Еще один сайт, посвященный данному контроллеру.
DDA-33 (Diamond powder ststic strenght tester)

Некий лабораторный прибор под названием DDA-33 - специализированный лабороторный измеритель твердости. В его комплект входит нормальное ПО. Но ... его разработчик (а точнее - один из авторов) канул в Лету, оставив после себя ошметки исходников, но не описание протокола. Мои изыскания по данному вопросу вылились в наметки программы для Visual Basic 6 (несовем работоспособные, хотя графики распределения реализован неплохо), и текстовый файл с примерным описанием протокола.
Под этот прибор написана класная софтина, корторая уже пару лет проходит обкатку на паре предпреятий. Проводились детальные исследования процесса возникновения ошибок при обмене данными. Реализован удобный интерфейс пользователя, распечатываемый график может настраиваться по многим параметрам, редактируються многие текстовые поля на сраспечатке, используеться оригинальная способ представления сохранненых данных. Заинтересованных лиц производитель прибора уже должен оповсетить, так же можно обращаться по нижеуказанному e-mail. Возможна поставка демоверии, практически полноценной, только распечатываемый отчет может использоваться исключительно в ознакомительных целях.
Программы мониторинга

Программы мониторинга последовательных портов предназначены для захвата данных проходящих через COM-порт, отображения их на дисплее и записи в файл. Причем сами они порт не открывают, а перехватывают все обращения к нему от других программ. Таким образом логика работы не нарушаеться. Это позволяет исследовать протоколы обмена между программами и устройствами, подключенными к COM-порту.
Существуют два метода перехвата данных - програмный и аппаратный. Програмный способ не требует никакого дополнительного аппаратного обеспечения. Практически все программы, котороые работают в режиме (программных) шпионов исспользуют VxD и SYS драйвера для перехвата обращений к портам. Внимание. Происходит это не совсем гладко, по крайней мере под Windows98. Использование практически всех шпионов вызывало аварийный выход исследуемой программы, причем зачастую порт оставался открытым и чтобы до него достучаться была необходима перезагрузка.
Существует более интересный вариант програмного перехвата данных: необходимо создать драйвер виртуального порта с перенаправлением потока на реальный порт. Тогда весь поток будет захвачен культурно и безглючно.
Аппаратный способ требует создания или приобретения специального кабеля, а главное необходимо наличие одного или даже двух (взависимости от ситуации) дополнительных COM-портов. Зато никаких экцессов: все что захвачено - то захвачено.
Ниже будут упомянуты наиболее распростараненные программы.
LGCOMSpy++ - шедевр исскуства мониторинга. Писана нашим человеком для фирмы LG Electronics Inc. еще в 2001ом году и с тех пор не обновлялась. Есть русская докумментация. Приведенный сайт - похоже оффициальный, но кроме него программу эту возможно найти и на многих других сайтах.
Программа эта действительно хороша во многом. Она многоконная: для каждого из четырех (увы только четырех) портов можно открыть свое окошко, плюс еще окно для всех портов одновременно. Настраиваеться подсветка, есть фильтр событий. Некоторое неудобство вызывает то, что вроде бы сразу надо включать запись в файл - архивацию, причем она включаеться только после того, как на экране чтото отобразилось, а имя файла можно ввводить при закрытии окна или всей программы. Иначе полученные данные отобразяться только на экране - опции Save (As) как таковой не предусмотрено. Их даже можно будет повыделять мышкой, но не скопировать в буффер обмена.
Для того, чтобы появлялись новые версии надо будет очень сильно просить фирму LG, поскольку автор программулины работает сейчас в другом месте и не собираеться просто так что то делать.
Portmon for Windows NT/9x - классика жанра, прекрасная утилита для мониторинга работы портов, работающая в шпионском режиме. Она показывает все данные принятые или посланные портом, смену служебных сигналов и т.д. Только вот при исследовании протокола для прибора DDA-32 она стабильно вылетала. Похоже она не работиает с утилитами, написанными на Visual Basic (по крайней мере - версия для Windows 98). Зато никаких лицензионных ограничений.
COM Port Toolkit - отечественная программа для работы с портами и мониторинга проходящих данных. Плагинов нет, но есть мощный язык макросов. Передаваемые стринги вводятся в дополнительном окошке, можно ввести три произвольных стринга и выдавать их при нажатии кнопки на тулбаре. Либо выодить на порт содержимое файла. При определенных обстоятельствах это может оказаться очень кстати. Оригинальныая задумка - многооконность a la Opera. Причем каждое окно заведует не своим портом, а своим устройством (с произвольно задаваемым именем) подключенному к этому порту. Руссифицированая, но небесплатная :(
Com Port Visual Control - весьма навороченный программынй монитор последовательных портов. Работает он на уровне физических портов ввода-ввыода и информацию отбображает весьма низкоуровневую и очень подробную. И в LOG файл пишется детальное состояние порта. Данная информация весьма избыточна, если необходимо только прослеживать какие байты передаються и принимаются. На сайте есть аналогичные программы для LPT порта. А главное - есть их исходные тексты, а значит любой желающий может написать мощный монитор, не вдаваясь в тонкости программирования низкоуровневых драйверов.
FTS - это как бы целый набор программ предназначенных для мониторинга различного рода соединений, в том числе и COM-портов. На самом деле это единая программа, которая может переключатся в разные режимы. Навороченно всего немало! Даже для последовательного порта есть несколько вариантов, с поддержкой различноых вариантов захвата потока (программно - не уверен. аппаратно - точно), в том числе и с применением специальных устройств. Визуально все очень насыщено, много всякой статистики, графиков. А главное - пакетный декодер, который работает в нескольких вариантах. Сделано очень здорово: структуры пакетов (байтов) описаны в специальных компилируемых скриптах. Принимаеиые данные отображаються в виде списка и (или только) древа, ветви которого отображают структуру пакетов. Причем можно выбрать соответвуюющую ветвь или конкретное поле и программа выделит цветом соответствующее значение в окошках с шестнаццатиричном, текстовым и битовым представлением этого пакета. И наоборот. Захваченные данные сохраняются вместе с времеными отметками (с выскокой точностью) и состоянием служебных линий. Кроме того можно легко экспортировать данные из кучи всяких разных программ. Короче - вещь! Единственное что разочаровывает: к с качиванию доступна только 29Mb демоверсия в которую засунуты все варианты декодеров, причем все это дело работаент не с реальным оборудованием, а сприлагаемыми данными в файлах (с эмуляцией реальной работы).
Eltima Software - несколько программ для работы с виртуальными портами: виртуальный нуль-модемный кабель (с созданием двух виртуальных портов, по некоторым сведениям автор - Marianna Gorenstein), разветвитель COM порта (для работы нескольких программ с одним портом и др. Кроме того есть две мощнейшие программы для работы с последовательными портами: Advanced Serial Port Monitor и Advanced Serial Data Logger. Обе программы сильно похожи, только в последней добавлено побольше опций настройки Log-файлов. Они умеют как самостоятельно работать с портами, так и перехватывать поток данных между портом и приложением. Отображение данных очень широко настраиваеться. Поддерживаеться работа с плагинами, которые могут фильтровать данные, перенаправлять их, а также симулировать работу виртуальных устройств. Домашняя страница фирмы производителя AGG Software - на ней есть последние версии этих программ, плагины и множество докумментации. На самом деле Eltima GmbH Software это сообщество из нескольких программных фирмочек (или что то в этом духе) MKS Software, Show.kit Team, SoftInfinity, которые обьединились в единое целое и сайты у них дублируют один другого. А AGG Software подходит к ним только одним боком, и ее продукцию можно найти и на всех этих сайтах, а также и на куче других.
SecureCRT - Это очень навороченная терминалка. В первую очередь она предназначена для работы с TCP/IP. Но поддержка COM-портов - это весьма существенный бонус. Тем более, что наворотов в этой программе много: многооконность, поддржка именованных сессий, поддержка скриптов (на VB, Java, Perl) при помощи ActiveX, печать, поддержка ZModem и XModem протоклов, полностью настраиваемая терминальная часть: цвета, кодировки, разбивка клавиатуры. В части COM-портов - стандартный набор настроек, выбор из списка COM1-COM50, пара таймингов. Зато нет отображения в шестнадцатиричном виде, тем более настраиваемого.
HHD Software - здесь есть Serial Monitor - другая утилита для мониторинга последовательных портов. Существует в трех версих, отличающихся ценой и возможностями. Есть такие интересные навороты, как анализатор протоколов, просмотр с откатом, есть SDK. К сожаленю - только для Windows 2K/XP. Существует редирект прямо на страницу загрузки этой программы.
Universal Serial Data Monitor - очень старенькая программа. Она поддерживает аппаратный перехват, то есть задействуется еще один или два порта, которые и ловят проходящий поток данных.
Serial Sniffer - Также поддерживает аппаратный перехват с двумя дополнительными портами, но второй порт може находиться на другом компьютере и эмулироваться по сети, с помощью виртуального порта, который в свою очередь создаеться другой утилиткой той же фирмы.
RS232 Hex Com Tool - еще одна платная утилита аппратного мониторинга. Рассчитана якобы на работу с двумя портами. На самомом деле - обыкновенная терминалка, но с некоторыми приятностями. Оперативное переключение режимов отображения (HEX, ASCII - но только мышкой). Передача символа может осуществляться сразу при нажатиии клавиши, либо строка символов будет посылаться по ENTERу. При этом можно выбирать символы окончания строки. С приемом обстоит чуточку хуже - отображаемые символы обязательно должны разделяться либо пробелами либо запятыми. Но при этом конец строки может определяться по числу принятых байт либо по истечения заданного временного интервала. Писано на древних Дельфях под Windows 3.x, хотя дата релиза куда как более свежая.
Look RS232 - специализированная терминалка для последовательных портов. Все действо происходит на одном экране. Панели передачи и (особенно) приема данных имеют очень широкие настройки отображения информации. Передваемые данные записываються в список как программа, а прямого вывода не существует. Зато в эту программу можно вставлять точки останова и именованные макросы (последовательности байтов). Кроме того есть возможность применять таблицы перекодировки (для отображения текстов в нужной кодировке).
Art's Super Communicator - в общем то простенькая с виду, но вполне функциональная и приятная терминалка. Имет довольно много тонких настроек по передаче данных. Может выдавать информацию как из файла, так и из строки. К сожалению, из строки никак нельзя передавать шестнацатиричные символы. Внешний вид никак не настраивается. Бесплатная.
Программа для работы с последовательным портом - также простенькая с виду, но вполне функциональная програмака. Предназняченная явно жля экспериментальной работы. Довольно гибкая в настройках.
COM-Port Monitor Сайт утилиты - похоже давано в дауне. Ищите файл cpm4x.exe
Com port tools from 5dtool - две программмы под Windows CE (Pocket PC). CommLog for CE - сохраняет передаваемые по последовательному порту данные в текстовый файл, причем бесплатно. Comm Operator - "набор мощных утилит, для работ связаннвх с RS232" , платных утилит.
Интересные ссылки и программы по теме


FabulaTech, Inc. - Virtual Serial Port Kit - создает виртуальные порты (до 127 - в полной версии), соединеные попарно (опять же виртуально) между собой.
Virtual Peripherals - здесь есть два проекта: виртуальный порт и сетевой COM порт. К сожалению - только для Windows NT/2K/XP. На данном сайте есть предложение получить SDK с привлекательными возможностями, но для этого надо скачать с сайта, PDF содержащий регистрационную форму, заполнить ее и отослать по факсу.
VCommMaa - это, цитирую: 'драйвер виртуального COM-порта и прикладную Win32-программу для перенаправления потока данных RS232 протокола (COM порта номер 2) в TCP/IP сеть. Драйвер работает в среде операционной системы Windows 98 и перехватывает прямое программирование COM-порта ДОСовскими приложениями. Данный программный продукт способен заменить 3-х проводное нуль-модемное соединение по COM-портам между двумя компьютерами обычным TCP/IP соединением.
TAL Tech - фирма, которая производит разнооборазные адаптеры с COM портами на ISA, PCI и USB, а так же различные программы для работы с последовательными портами.
HW Group - фирма, которая производит различные аппаратные модули-контроллеры с I/O, COM, Ethernet, USB и WiFi портами. Для удобства программирования к ним прилагаеться HW Virtual Serial Port - вируальный порт с перенаправлением в TCP/IP. В free версии есть ограничение по скорости (до 14400). Работает только под Windows NT/2K/XP
Cute Mouse - драйвер мыши под MS-DOS, с исходниками. Из него можно выцепить протоколы мышей не только на RS232, но и на PS/2. Между прочим, переходники типа RS232(COM)<->PS/2 работают далеко не со всеми мышами.
Control-M - посвящен работе с протоколами 5-pin Edit от Panasonic и LANC от Sony, которые применяються для управления видеотехникой этих фирм. Приведены описания протоколов, обширные описания протокола RS232, схема преобразователя протоколов и программа управления.
TVicCommSpy - тулкит для разработки мониторящих программ. Включает в себя C++ Class для Microsoft Visual C/C++; VCL component для Borland Delphi versions 2-6; VCL component для Borland C++ Builder versions 1, 3-5; ActiveX Control для Microsoft Visual Basic 6.0. Собственно говоря все они обращаються к одной и тойже VxDшке. Платный :(
MOXA PComm Pro - полный набор для работы с последовательными портами во всех ипостасях. Большой набор разнообразных функций для VB, C/C++, Delphi. Утилита аппаратного мониторинга. Но небесплатная, в состав комплекта входит софтина на CD и кабель для мониторинга. Автор данных текстов не гарантирует дальнейшее развитие и поддержку этих наработок. Не гарантируеться работа ссылок на внешние сайты. Если внешняя ссылка умерла, то на данном сайте появяться копии текстовых докумментов, но никак не громоздких программ.
Last update: 01.02.2013


<-Начало, контакты
Сайт создан в системе uCoz