- MODE – настройка параметров системных устройств в командной строке Windows .
- Команда MODE для последовательного порта COM:
- Команда MODE для консоли CON (дисплея и клавиатуры):
- Определение номера подключенного COM порта
- Windows
- Linux
- Windows com порт командная строка
- COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
MODE – настройка параметров системных устройств в командной строке Windows .
Команда MODE используется для изменения параметров последовательного порта, консоли и параллельного порта в командной строке Windows. В основном, использовалась для управления системными устройствами в DOS. С некоторыми ограничениями, может использоваться в среде эмуляции DOS.
Команда MODE без параметров выводит на экран текущие настройки всех системных устройств, доступных в данной системе.
Формат командной строки для каждого устройства зависит от его типа:
Команда MODE для последовательного порта COM:
MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [to=on|off] [xon=on|off] [odsr=on|off] [octs=on|off] [dtr=on|off|hs] [rts=on|off|hs|tg] [idsr=on|off]
Параметры командной строки:
BAUD — скорость передачи данных.
PARITY — вид контроля четности. Возможные значения: n (none) – без бита четности, o (odd) – нечетный, e (even)-четный
DATA — число бит данных в посылке. Возможные значения: 5-8, по умолчанию – 7 бит.
STOP — число стоповых бит. Возможные значения: 1, 1.5, 2)
to — режим таймаута. Возможные значения: on (включено), off (отключено)
xon — режим программного управления потоком передачи данных XON/XOFF. Возможные значения: on (включено), off (отключено)
odsr — режим управления потоком с синхронизацией по сигналу Data Set Ready (DSR). Возможные значения: on (включено), off (отключено)
octs — режим управления потоком с синхронизацией по сигналу Clear To Send (CTS). Возможные значения: on (включено), off (отключено)
dtr — режим использования сигнала готовности терминала данных Data Terminal Ready (DTR). Возможные значения: on (включено), off (отключено), handshake (согласование).
rts — режим использования сигнала Request To Send (RTS). Возможные значения: on (включено), off (отключено), handshake (согласование) и toggle (переключение).
idsr — режим использования сигнала Data Set Ready (DSR). Возможные значения: on (включено), off (отключено)
Двоеточие после имени устройства не обязательно.
mode com1 — отобразить параметры последовательного порта COM1
mode com1 /STATUS — аналогично предыдущему примеру, отобразить состояние устройства.
mode com1 baud=38400 to=off — установить скорость передачи данных 38400 бит/сек. и отключить режим таймаута.
Пример отображаемой информации:
Состояние устройства COM1:
—————————
Скорость: Четность: Биты данных: Стоповые биты: Таймаут: XON/XOFF: Синхронизация CTS: Синхронизация DSR: Чувствительность DSR: Цепь DTR: Цепь RTS: | 38400 Even 7 1 ON OFF ON OFF OFF HANDSHAKE HANDSHAKE |
Строки: Столбцы: Скорость клавиатуры: Задержка клавиатуры: Кодовая страница: | 300 80 31 1 866 |
mode con cp /status или mode con codepage /status — отобразить кодовую страницу.
Пример отображаемой информации:
Состояние устройства CON:
—————————
Кодовая страница: | 866 |
MODE CON[:] CP SELECT=yyy — установить новую кодовую страницу.
mode con cp select=1251 — установить кодовую страницу номер 1251 (Windows-кодировка)
mode con cp select=866 — установить кодовую страницу номер 866 (DOS-кодировка)
MODE CON[:] [COLS=c] [LINES=n] — изменить режим экрана. COLS – число столбцов (символов в строке), LINES-число строк.
mode con cols=120 lines=400 — установить число столбцов равным 120, строк — 400
mode con cols=150 — изменить только число столбцов, количество строк не изменится.
MODE CON[:] [RATE=r DELAY=d] — изменить параметры ввода с клавиатуры. RATE -определяет частоту повторений вывода знака на экран при нажатии и удержании клавиши. Возможные значения — 1-31. DELAY – задержка времени, после которого начинается повторение ввода удерживаемой клавиши. Возможные значения — 1, 2, 3 и 4 (0,25 секунды, 0,50 секунды, 0,75 секунды и 1 секунда соответственно.
mode con rate=1 delay=1 — установить минимальную задержку и минимальную скорость повтора ввода нажатой клавиши.
mode con rate=32 delay=4 — установить максимальную задержку и максимальную скорость повтора ввода нажатой клавиши. При попытке указать значение RATE более 31, ошибка не выдается, но значение RATE будет установлено равным 31.
Параметры клавиатуры, установленные для консоли, действуют и для графических приложений Windows, а также сохраняются в реестре и не сбрасываются при перезагрузке системы.
Определение номера подключенного COM порта
Для правильного подключения оборудования, необходимо определить номер COM порта.
Проверка проводится при условии, что сервер полностью развернут, и работает заведомо правильно.
Windows
Для определения номера COM порта на ОС Windows необходимо:
- Убедиться в том, что многожильный кабель подключен к COM-порту
- Перейти в «Диспетчер устройств», расположенный в: Панель управления\Оборудование и звук\Диспетчер устройств (необходимы права администратора)
- Раскрыть дерево «Порты (COM и LPT)»
- Отсоединить многожильный кабель
- Запомнить изменения в дереве устройств «Порты (COM и LPT)»
- Присоединить многожильный кабель обратно к COM-порту
- Найти новый порт в дереве устройств «Порты (COM и LPT)»
8. После того, как номер COM-порта определен его необходимо указать в схеме SCADA, для устройства, подключенного многожильным кабелем.
Linux
Для определения номера COM порта на ОС Linux необходимо:
- Обладать правами Root либо пользователь должен входить в группу dialout
- Убедиться в том, что многожильный кабель подключен к COM-порту
- Проверить наличие COM портов в системе, введя в командную строку следующую команду:
4. После выполнения команды отобразится список всех доступных COM-портов
dev/ttyS0 — первый COM порт
/dev/ttyS1 — второй COM порт
/dev/ttyUSB0 — специальный кабель-переходник из USB в COM (Gembird UAS111)
5. Установить программу minicom. Для этого вводим следующую команду:
6. Найти многожильный кабель в оплётке длиной 4-6 см.
7. Соединить 2 и 3 выводы COM порта перемычкой из кусочка многожильного провода. Оплётка будет удерживать провод на контактах, а металлические жилы внутри будут проводниками.
8. Настроить программу minicom. Для этого вводим следующую команду:
9. Выбрать «Настройка последовательного порта»
10. Нажимая А поочередно выбираем порты (если используется кабель-переходник из USB в COM то выбрать /dev/ttyUSB0)
11. Отключить аппаратное управление потоком, нажав «F»
12. Выйти из настроек нажав «Enter»
13. Сохранить настройки по умолчанию «Сохранить настройки как dfl»
14. Выйти из minicom
15. Запустить minicom выполнив команду:
16. Нажать на любую клавишу на клавиатуре
В случае, если символы не вводятся с клавиатуры, необходимо вернуться к пункту 10, и выбрать другой COM-порт
Если вводимые символы отображаются — значит COM-порт определен верно
17. После того, как номер COM-порта определен его необходимо указать в схеме SCADA, для устройства, подключенного многожильным кабелем.
Windows com порт командная строка
Мне часто нужно посылать короткие строки символов в последовательный порт на операционной системе Windows (перевод статьи [1]). Это можно использовать для отправки команд роботу или в другие устройства, основанным на микроконтроллерах. Для соединения с устройством можно использовать аппаратный преобразователь USB-to-serial, которые в обилии можно найти на сайтах AliExpress, Ebay и dx.com. Для отправки символов есть удобная утилита SerialSend [2], но также можно использовать встроенные команды Windows: echo, set и mode.
К примеру, нужно послать строку «hello» в COM1 (имя первого последовательного порта Windows). Для этого можно просто ввести в консоли cmd.exe следующую команду:
Команда echo обычно используется для отображения строк в консоли командной строки, когда нужно вывести какое-нибудь информационное сообщение из скрипта команд *.BAT или *.CMD. Однако в этом примере с помощью символа > применено перенаправление вывода в специальный файл COM1, который в действительности не файл на диске, а последовательный порт. По этой причине строка «hello» отправляется в последовательный порт вместо экрана консоли.
Но для такого вывода текста в последовательный порт есть несколько препятствий:
• Нужно заранее знать номер COM-порта, который хотите использовать. Если Вы используете преобразователь USB-to-serial, то этот номер может неожиданно поменяться, особенно если Вы подключили его в другой разъем USB (программа SerialSend [2] предоставляет простой альтернативный метод отправки строк в любой доступный COM-порт с самым высоким порядковым номером, что может быть очень полезным).
• Строка, которая отправляется в нашем примере, в действительности имеет длину 8 байт, потому что она включает 1 байт завершающего пробела (код ASCII 0x20) плюс символ возврата каретки (CR, код 0x0D) и перевода строки (LF, код 0x0A).
• Отправлять можно только обычные символы текста. К примеру, произвольные байты с кодами 0x00 .. 0x19 отправлять не получится, на это способна только утилита SerialSend [2].
• Последовательный порт, который Вы хотите использовать, может быть настроен не на ту скорость, которая Вам нужна. В таком случае дополнительно нужно использовать команду mode, чтобы сконфигурировать скорость baudrate (и/или другие параметры фрейма последовательного протокола).
• COM-порты с большими номерами могут быть не распознаны для такого примера, но для их использования есть обходной маневр, описанный ниже.
Следующий пример — более надежный аналог команды из примера выше:
Эта команда может выглядеть поначалу довольно непонятной, давайте разберем её по частям.
Команда set обычно используется для установки значения для так называемой переменной окружения (environment variable). Например, следующая команда должна использоваться для установки переменной окружения с именем x в значение строки «sunshine»:
Когда в команде set используется ключ /p, то команда set выводит приглашение для пользователя, чтобы он ввел значение для устанавливаемой переменной окружения. Приглашение отображается на экране в виде строки, предоставленной в команде. Например:
Конечно, нас в сущности не интересует установка значения переменной x как таковой, сейчас это просто средство для достижения другой цели. Все, что мы хотим — вывести строку «hello» без символов CR и LF, и команда set только лишь предоставляет способ для решения этой задачи.
Мы не хотим, чтобы команда set остановилась на ожидании ввода пользователя, чтобы он ввел значение для переменной x, для этого команда set перенаправлена на ввод из nul (т. е. нет ввода как такового, вместо обычного ввода, который обычно происходил бы из консоли). Это означает, что команда сразу завершит работу, вместо того, чтобы ожидать ввода пользователя. Перенаправление ввода осуществляется символом
COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
Статья вторая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Рассматриваем вопросы диагностики COM порта со стороны компьютера.
Начнем с самого простого, найдем на компьютере COM порт визуально.
Рис. 1. Пример расположения COM порта на задней планке материнской платы.
Однако на привычном месте может не оказаться разъема COM порта, это не беда. Заходим в диспетчер устройств, и смотрим в нем наличие COM порта.
Рис.2 Проверяем наличие COM порта на компьютере при помощи диспетчера устройств.
В данном примере всего один COM порт, на самом деле их может быть два или вообще не быть. Этот факт не является дефектом, просто стандарт на обязательное присутствие COM порта был отменен в далеком 1999г. Однако это повод задуматься при выборе материнской платы для нового компьютера — если Вы собираетесь активно эксплуатировать COM порт, то желательно остановить свой выбор на материнской плате в которой есть хотя бы один COM порт. Отсутствие COM порта на компьютере не является серьезной проблемой. На рынке достаточно устройств при помощи которых, эту проблему можно решить, но об этом чуть попозже.
Итак COM порт обнаружен программно, а физически его не видно, он расположен на материнской плате и для его физической реализации нужна планка (посмотреть), которую придется либо сделать самостоятельно, либо купить в магазине.
Рис. 3 Вид разъемов COM порта для реализации под планку. На фото, материнская плата с двумя COM портами.
После подключения планки COM порта остается только проверить работоспособность COM порта.
С планками все не так просто, на самом деле планок существует два типа. Оба имеют место быть, но предназанечены для работы на разных материнских платах.
Рис. 4 Внешний планок для работы на разных материнских платах.
Планки не взаимонезаменяемые, чаще всего встречался вариант I.
| |
Рис. 5 Вариант I распайки кабеля планки COM порта | Рис.6 Вариант II распайки кабеля планки COM порта |
Нет связи компьютера с подключаемым устройством.
| |
Рис. 11 Программа Commtest обнаружила технологическую перемычку на COM порту. | Рис. 12 Программа Commtest не обнаружила технологическую перемычку на COM порту. Порт COM1 неисправен, либо заглушка установлена на другом порту |
Если COM портов несколько, то необходимо перебрать все COM порты которые присутствуют в диспетчере устройств, есть вероятность, что при открытии другого порта — связь появится. Таким образом Вы получаете номер порта на который установлена заглушка.
Внимание! Данная проверка проверяет только канал Rx-Tx и не является 100% гарантией того, что порт исправен, однако хотелось бы обратить внимание что 90% устройств работают именно только по этим проводам. |
Внимание! Проверка на другом компьютере связь есть, проверка на проверяемом компьютере связи нет. Не является гарантией того, что COM порт неисправен. Пример кабель от ККМ Fprint-03К |
Комплексная проверка COM порта на стороне компьютера.
Принцип такой проверки очень похож на рассмотренную выше проверку по каналу Rx-Tx, суть та же, с передатчика сигнал должен прийти в приемник, если сигнал прошел, то можно считать, что пара исправна. Из оставшихся 7 контактов,1 контакт это земля его мы не проверяем.
Остается 6 контактов, из них два передатчики (DTR, RTS) и четыре приемники (DCD, DSR, CTS, RI). Правило тут простое — передатчик должен прийти на приемник, логично предположить, что на один передатчик следует нагрузить по два приемника. Хотя можно и на один передатчик повесить три приемника, а на второй предатчик посадить только один приемник, как делать дело Ваше . Самое удобное, в плане изготовления это 4->1,9 и 7->6,8 проводов получается по минимуму.
| |
Рис. 13 Технологическая заглушка для проверки COM порта, вид со стороны контактов. | Рис. 14 Технологическая заглушка для проверки COM порта, вид со стороны пайки. |
На рисунке для удобства синим цветом выделены передатчики.
Все в той же программе CommTest, но уже в другой части окна взводим флажок передатчика DTR и(или) RTS и смотрим, как изменяются соответствующие флажки приемника.
При изменении флажка DTR — должны взвестись флажки DCD и Ring, при сбросе флажка DTR – должны сбросится флажки DCD и Ring.
| |
Рис. 15 Флажок DTR сброшен | Рис. 16 Флажок DTR взведен, в примере не смотря на перемычку флажок Ring не взвелся, можно судить о не исправности приемника Ring |
При изменении флажка RTS — должны взвестись флажки DSR и CTS, при сбросе флажка RTS – должны сбросится флажки DSR и CTS.
| |
Рис. 17 Флажок DSR сброшен | Рис. 18 Флажок DSR взведен |
|
Рис. 19 Флажок DSR и DTR взведен |
Как проверить передатчик – приемник Tx-Rx рассмотрено немного ранее.
Если данные события происходят можно считать, что COM порт стандарта RS232 со стороны компьютера полностью исправен.