Последовательный (COM) порт

<< Нажмите для отображения содержания >>

Навигация:  Настройка > Параметры последовательного порта >

Последовательный (COM) порт

Вы можете создать новую конфигурацию нажав кнопку с плюсом на панели инструментов в главном окне программы (рис. 1.1.1) или через меню "Опции". После того, как вы нажмете эту кнопку, будет открыто диалоговое окно (рис. 2.1.2). Данное окно содержит несколько закладок с параметрами. Закладка "Параметры COM порта" описана в этом разделе.

 

Для того чтобы производить запись с нескольких портов одновременно вам необходимо создать несколько конфигураций. Для этого повторите операцию, описанную выше для каждой конфигурации. Позднее вы можете получить доступ к каждой конфигурации с помощью выпадающего меню рядом с кнопкой "Плюс" (рис. 2.1.1).

 

rs232src-port-config-menu

Рис. 2.1.1. Доступ к конфигурации порта

 

При запуске программы или при смене номера COM-порта производится эксклюзивное открытие порта с заданным номером. В случае успешной инициализации COM-порта в строке состояний отобразится сообщение и COM-порт не будет доступен другим приложениям.  Изменение параметров связи (скорость в бодах, биты данных и т.д.) осуществляется по кнопке "Изменение конфигурации" (рис. 2.1.1).

 

 

options-com

Рис. 2.1.2. Параметры COM-порта

 

Если данные передаются через линию RS-485 последовательного интерфейса, необходимо отметить, что используется этот режим. В этом случае данные получают через RTS-линию, они могут быть менее качественными. В полученных данных могут быть ошибки, вызванные различными причинами (например, плохим качеством линии связи). Вы можете указать, что не надо получать все данные, когда обнаруживаются ошибки передачи, и необходимо чистить буфер.

 

Проверка режима состояния линии

 

API-связь Windows располагает двумя методами проверки полученных данных и изменения состояния линии/модема: API-сигналы и слово состояния. Слово состояния поддерживается драйвером связи Windows. Когда данные получены или произошло изменение состояния линии/модема, драйвер устанавливает биты в режим слова состояния. Приложение может проверить биты для того, чтобы обнаружить какие-либо происшествия в линии связи. В этом случае приложение может подать соответствующий сигнал API, чтобы очистить слово состояния и восстановить данные или новые значения состояния линии/модема.

 

Также Windows предусматривает сигналы API для того, чтобы получить информацию состояния, которую получает слово состояния, но сигналы API - медленнее. Advanced Serial Data Logger по умолчанию использует слово состояния для обеспечения наискорейшего выполнения заданий. К сожалению, существует, по меньшей мере, один драйвер связи (WRPI.DRV для некоторых американских модемов Робототехники), который, кажется, не поддерживает слово состояния. Для этого и подобных ему драйверов, выберите другой режим до того, как Advanced Serial Data Logger получит данные.

 

Чтобы повысить адекватность передаваемых данных, вы можете использовать аппаратный и/или программный контроль передачи данных (рис. 2.1.3). При применении аппаратного контроля передачи данных используются некоторые провода соединяющего кабеля. В зависимости от используемых линий, вы должны установить метки около соответствующих полей.

 

Аппаратный контроль передачи данных

 

Когда настройки аппаратного контроля передачи данных пусты, это устанавливается по умолчанию, аппаратный контроль не осуществляется. Настройки могут комбинироваться для включения аппаратного контроля.

 

"Контроль получения данных" останавливает передачу удаленного устройства, когда входной буфер переполнен. "Контроль передачи данных" останавливает передачу Вашего устройства, когда переполнен входной буфер удаленного устройства.

 

Контроль получения данных запускается включением "Использовать RTS" и/или "Использовать DTR" элементов в настройках. Когда данная возможность работает, соответствующие модемные сигналы управления (RTS и/или DTR) приостанавливаются, когда объем входной информации достигает 90% буфера. Удаленное устройство должно распознать эти сигналы и прекратить отправку данных, пока они находятся в низком состоянии.

 

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

 

Контроль передачи данных запускается включением "Необходимо CTS" и/или "Необходимо DSR" элементов в настройках. С одним или двумя этими допускаемыми вариантами драйвер связи Windows не передает данные, если удаленное устройство не обеспечивает соответствующий модемный сигнал состояния (CTS и/или DSR). Удаленное устройство должно возобновлять и прекращать подачу этих сигналов, когда необходимо управлять потоком переданных символов.

 

Обратите внимание, что контроль передачи данных с использованием RTS и CTS более распространен, нежели контроль передачи данных с использованием DTR и DSR.

 

Программный контроль передачи данных

 

Эта подпрограмма включает один или оба аспекта автоматического программного контроля передачи данных, основанных на значении, рассматриваемом как свойство.

 

"Контроль получения данных"  останавливает передачу удаленного устройства, когда входной буфер переполнен. "Контроль передачи данных" останавливает передачу Вашего устройства, когда переполнен входной буфер удаленного устройства.

 

Контроль получения данных включается установкой "На прием" или "Оба" в свойстве "Тип". Если включен данный контроль, символы Xoff посылают, когда объем входной информации достигает 10 % размера буфера. Удаленное устройство должно распознать этот сигнал и прекратить отправку данных после его получения.

 

Когда приложения получат символы, буферное использование в итоге снизится и составит не более 10% размера буфера. В этот момент вновь отправляются символы Xon. Удаленное устройство должно распознать эти сигналы и возобновить отправку данных.

 

Контроль передачи данных включается установкой "На передачу" или "Оба" в свойстве "Тип". 10% и 90% буфера не используются в этом случае. Когда включен контроль передачи данных, драйвер связи прекращает передачу всякий раз, когда получает сигнал Xoff. Драйвер не возобновляет передачу данных, пока не получит символы Xon или пока пользователь не выберет свойство "Нет'.

 

Программный контроль передачи данных может быть установлен на получение данных, их передачу или на оба этих режима, но для того, чтобы для отправки данных не требовалось большого количества устройств, выберите только режим контроля "На получение". В случае активации контроля передачи данных удаленное устройство (в нашем случае - Ваше устройство) может отправить специальные коды, сигнализирующие о прекращении или начале передачи данных. По умолчанию, полученный с устройства шестнадцатеричный символ 0x11 сигнализирует драйверу COM-порта о начале получения данных, и шестнадцатеричный символ 0x13 - об окончании получения данных с устройства.

 

 

options-flowcontrol

Рис. 2.1.3 Контроль передачи данных

 

Размер вх./исх. буфера - позволяет задать размер внутреннего буфера программы. Некоторые драйвера COM порта могут не поддерживать размер буфера по умолчанию. В этом случае нужно установить меньший размер буфера.

 

 

Режим слежения

 

В этом режиме программа Advanced Serial Data Logger не отправляет и не получает никакие данные, а только отслеживает изменения данных, сделанные другими программами.

Для того чтобы отследить полученные и отправленные данные открывают COM-порт перед запуском конкретной программы. Если данная программа получает данные через COM-порт, изменение данных будет отражаться в окне вывода данных - для этого необходимо включение настройки  "Режим слежения".

 

Для того чтобы выйти из Advanced Serial Data Logger, закройте вторую программу или прекратите изменение данных через COM-порт в ней.

 

Вы должны закрыть приложение, чье изменение данных Вы отслеживаете, ДО закрытия Advanced Serial Data Logger.

 

Ошибки передачи данных

 

В процессе обмена данными могут возникнуть ошибки связи, которые отобразятся в строке состояния главного окна программы.

 

Ошибка четности получателя UART (UART receiver parity error) - происходит, если вы сконфигурировали недопустимый тип четности;

 

Переполненный получатель UART (UART receiver overrun),

Ошибка кадра в приемнике UART (UART receiver framing error) - происходит, если вы сконфигурировали недопустимое число стоповых битов;

 

Ошибка ожидания сигнала CTS (transmit timeout waiting for CTS),

Ошибка ожидания сигнала DSR (transmit timeout waiting for DSR),

Ошибка ожидания сигнала RLSD (transmit timeout waiting for RLSD) - происходит, если вы сконфигурировали недопустимый аппаратный контроль передачи данных или кабель Вашего последовательного интерфейса не подключен для аппаратного контроля передачи данных;

 

Буфер передачи полон (transmit queue is full) - происходит, если Advanced Serial Data Logger не может отправить данные удаленному устройству;

 

Принят сигнал break (break condition received)

 

Вы также можете настроить программу на автоматическую инициализацию последовательного интерфейса в указанное время. На некоторых операционных системах типа Windows NT это требуется для того, чтобы предотвратить остановку сбора данных. Пожалуйста, используйте закладку "Прочее->Перезапуск порта" в конфигурации порта.