Программа для редактирования скорости ком порта. Универсальный терминал для работы с COM-портом “Termial ST”

Хоть COM порт уже и отжил время всеобщей распространённости в компьютерной области, но в радиолюбительской практике и промышленной технике он до сих пор остаётся очень актуальным.

Предлагаю вашему вниманию мою самописную программу для работы с COM портом. По долгу службы и в радиолюбительском деле часто сталкивался и сталкиваюсь с последовательным портом, а именно часто приходиться с ним работать через терминальные программы. В свою программу попытался заложить все те функции, которых мне очень часто не хватает при работе с ним.

На данный момент программа поддерживает почти все стандартные функции работы с COM портом.

Терминалка поддерживает как обычные режимы представления данных: в бинарном виде, шестнадцатеричном, всем привычном текстовом, так и расширенный режим текстовый с элементами шестнадцатеричного режима. В этом режиме обычные текстовые данные отображаются как текст, а данные, которые не имеют представления в текстовом виде, например специальные символы (первые 31 символ таблицы ASCII) в HEX виде. Шестнадцатеричные данные можно отображать как в своём представлении, так и в привычным десятичным числом. Также в этом меню можно включить возможность отправки HEX данных напрямую с поля ввода данных, при помощи символа $. Например $048 = 0. Сам же доллар будет отправляться при двойном наборе его символа ($$) или HEX кодом.

Можно также включить вывод таблицы ASCII кодов, для самостоятельного выбора символа из таблицы.

Таблицу АСКИ кодов можно отображать полностью (256 символов) или её первую половину, коды символов могу отображаться как в десятеричном, так и в шестнадцатеричном виде, настройка этих параметров производиться в правом нижнем углу. Таблица скрывается по нажатию отмены или ESC, ввести в ней код в ручную можно с клавиатуры и нажать Enter.

Интересной особенностью программы являются два поля для ввода готовых команд.

Правое реализовано в виде списка, где редактирование доступно через специальное меню, по правому клику мыши. Верхнее поле доступно для прямого редактирования в процессе работы, также оно поддерживает комментария после двойного слеша. Отправка команд из обеих областей производиться двойным кликом мыши по нужной команде.

Программа позволяет сохранять данные за сеанс в текстовом файле и в rtf с сохранением подсветки текста. Так же в программе реализована возможность ведения лога. Отличие записи истории от обычного сохранения в том, что файл записывается на лету и log сохраниться, если даже программа была закрыта, её процесс был убит или компьютер выключен по питанию. В настройках есть возможность включения авто лога, т.е. запись лога будет начинаться, в указанный в настройках файл, сразу после запуска программы.

Посредством примитивного скриптоязыка можно задавать небольшие прописывать небольшие скрипты, которые программа будет исполнять. Команды представлены одним символом, после которого через пробел следует параметр команды. Так же доступны комментарии по средством двух косых линий // .
O — открыть порт
C — закрыть порт
G — перейти на указанную строку (G 0 — начать исполнения скрипта с начала)
D — задержка мс
M — выводимый в общем окне комментарий
W — ввод текста
E — ввод Enter ($10$13 )
R — ожидание текста
X — закрыть программу
S — выполнить команду в командной строке CMD

Скрипты можно запускать с запуском программы. Для этого скрипт должен быть заранее написан и добавлен в менеджер скриптов. Порт (номер и скорость) должен быть заранее настроен. Имя запускаемого скрипта указывается в параметрах запуска программы (из командной строки, в настройках ярлыка) с атрибутом script или s.

"C:\AL Terminal\ALTerminal.exe" "script 1.txt"
"ALTerminal.exe" "s test2.txt"

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

Периодически над программой ведётся работа. Из планов на будущее оптимизация существующего и добавление новых возможностей.

Обновление от 03.02.2019

  • Различные доработки и исправления ошибок. Подробнее в следующей версии.
  • Внимание! Это промежуточная версия! Версия до конца неотлажена и не отполированна, возможны мелкие ошибки и недоработки.
  • Внимание! Если будете использовать старый ini файл, то настройки цвета текста не перенесутся.
  • Добавленный алгоритм рассчёта контрольной суммы CRC16 для работы с протоколом Modbus RTU.

Обновление от 02.07.2017

  • Добавлена возможность использования нескольких полей команд.
  • Мелкие доработки.

Обновление от 05.02.2017

  • Добавлена возможность установки произвольной скорости порта (требуется тестирование).

Обновление от 05.02.2017

  • Добавлена обработка исключения отсутствия COM порта при закрытии программы и отключении от порта кнопкой Disconnect. Теперь программа один раз поругается и закроется, не нужно убивать процесс в случае потери COM порта.
  • Добавлены дополнительные варианты переноса при окончания строки, теперь доступны: CR, LF, CR+LF, LF+CR, вариант пользователя. (полностью не проверено)
  • Для полей ввода: «список команд» и «поле команд» — перенос берется из настроек завершения строки.
  • Добавлена скриптовая команда S — выполнить стороннею команду в командной строке (CMD) на компьютере (например запустить какой-нибудь файл).

Обновление от 24.06.2016

  • Добавлена скриптовая команда G — переход выполнения скрипта на указанную строку
  • Добавлена возможность запуска скрипта при старте программы. Имя скрипта указывается в параметрах запуска программы (командной строке)
  • Обновление иконок

Обновление от 10.11.2015

  • Исправлено окно много строчного ввода

Обновление от 23.07.2015

  • Решен вопрос с отправкой 0 символа (null, ASCI 0)
  • Исправлена ошибка ввода HEX нецелочисленных (буквенных) кодов
  • Добавлена автоочистка экрана, как построчная, так и постраничная
  • Добавлен графикопостроитель (сырой и без сохранения настроек)
  • Добавлена горячая клавиша очистки экрана F8
  • Мелкие доработки

Обновление от 25.09.2013

  • Добавлены скрипты, ещё не доделан менеджер скриптов
  • Добавлено окно построчного ввода
  • Очистка главного окна теперь доступна всегда
  • Мелкие доработки

Обновление от 16.06.2011

  • Добавлена возможность с помощью стрелок курсора в командной строке вернуть ране введённые команды.
  • + в версии – это возможность вводить произвольный COM порт, но не факт, что этот порт откроется, т.к. доступа или порта может не быть (тестируется).

65 комментариев на « AL Terminal»

    Добавьте возможность выбирать любой номер порта- бывает необходимо. когда-то давно подключал свой siemens cx65 через юсб к компьютеру, и с помощью хиасма слал ат команды. Хиасм удобен тем-что можно работать с любым портом, даже если его нет в системе.

    дополню: в системе при подключении телефона не устанавливались дрова и не появлялся виртуальный порт.

    Рад, что программа кому-то пригодилась.
    Обновил программу.
    В версии v1.001.0025+ добавил возможность задавать порт вручную.

    Есл не сложно, добавьте возможность выполнения команд по расписанию.

    Есть такое в планах, реализовать через скрипты, но этим смогу заняться только ближе к концу лета 🙁 .

    Не разбираюсь в программировании. Вопрос: прибор на работе выводит значения измерений на матричный принтер по COM порту, можно ли с помощью этой программы выводить эту информацию на монитор компьютера? Цель — заменить принтеры, которые заедают по бумаге и сыпятся, компьютером.

    Точно сказать не могу, нужно знать, что конкретно выводит принтер: если просто текст — то можно, если со спец. символами и тем более если принтер устройству отвечает — то терминалка не подойдет, нужно будет писать специальную программу.

    Регулярно пользуюсь вашей программой.
    Ждать ли обновлений?

    Классная програмка! Но у меня все надписи (окромя тех, что латиницей) — знаки вопросика. Уважаемый автор, не планируете ли запилить исключительно английский интерфейс для своей программы? Или переключение рус-англ в опциях или.ini файле? А то тут у нас не только русскоязычные, было бы классно английскую версию. Спасибо!

    В планах такого нет. В принципе было бы неплохо, но нужно достаточно объёмную работу сделать.

    Немного обновил программу.

    Александр пишет 21.01.2014 в 02:34

    Как после команды AT+CMGS=»xxxxxxxxxxx» и ввода текста после > закинуть Ctrl+Z

    Через $, выпадет окно выбора/ввода символов. Ctrl+Z код 26 (int). Подробнее описано в статье.

    Александр пишет 31.01.2014 в 23:54

    Александр пишет 31.01.2014 в 23:58

    Разобрался. Работает только с корня диска. По крайней мере у меня. СПСБ

    Программа сохраняет настройки в своём каталоге, как вариант — удалить файл конфигурации и она создаст его по новой с начальными настройками или переустановить программу (повторно распаковать с заменой всех файлов).

    Здравствуйте, уважаемые разработчики.
    Недавно начал пользоваться Вашей программой ALTerminal, по возможностям она превзошла все идентичными с которыми я ранее работал. Было бы очень хорошо если бы Вы добавили некоторый функционал:
    — на окне вывода информации сделать возможность вызова всплывающего меню (ПКМ) аналогично как у других окон с меню «Очистить», функционал Файл->Очистить и/или привязать функц. клавишу;
    — Настройка->Настройки->Общая добавить возможность выбора цвета фона. В полутемной комнате яркий белый цвет режет глаза.
    От себя:
    Огромное спасибо за хорошую работу. Удачи. С уважением, Максим.

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

    Похожим функционалом обладает бесплатная программа с открытым кодом YAT Terminal (sourceforge хостит)
    Вообще странно, что мало программ с заготовками команд..
    Еще видел программу, где можно было настроить несколько шаблонов с командами, например, для работы с разным оборудованием…

    Спасибо за Вашу работу, Вы сделали мир лучше =)

    Хорошая программа! Особенно порадовало наличие внутреннего скриптового языка — это огромный плюс!!!

    Из минусов (для меня лично) отметил следующее:
    — нет хот-кея или кнопки для стирания выдачи с терминала. Утомляет клацать мышкой по меню и стирать поле вывода. Лучше стирание повесить именно на хот-кей.
    — В окне выдачи надписи типа «Начало скрипта» и «Конец скрипта» очень мешают!!! Выдачу этих сообщений надо повесить в опции. Это не очень информативные сообщения.

    А вообще идея терминального окна вместе со скриптовым языком — это очень правильное направление!!! Именно скриптов с задержками и минимальной обработкой очень не хватает!!! Был терминал в начале 90-х от старика Нортона. Он был волшебен и идеален!!! Не понимаю, почему его забыли….

    Задержки (delay) — это просто 5!!! Но еще в скриптах не хватает элементарных условий (IF, SWITCH) а можно и на циклы замахнуться (DO, WHILE, FOR)

    Может быть скооперироваться и сделать конечный продукт? Я не обещаю, что буду прилежным писателем, но… Буду благодарен за исходники программы. На досуге попробую поковырять и внести свои хотюнчики))))

    программа удобная но очень не стабильная. после 5 часов работы начинает съедать длинные строки (400 — 500 байт). для меня по прежнему авторитет Terminal v1.9b работает до двух месяцев и пишет все в лог. хотя и у него бывают неожиданные сбои.

    P.S.
    жду улучшения стабильности. планирую полностью перейти на Вашу программу.
    может стоит очищать переменную для буфера из UART-a в программе. в общем без кода сложно, что-то предполагать. удачи!

    О подобной проблеме в курсе. Дело в том, что главное поле в которое сваливается весь текст переполняется и программа при большом объёме принятых данных начинает подтормаживать.
    Самый простой вариант решения — ввести ограничение для главного поля на N строк или N байт.
    Ближайшее время не смогу вернуться к доработке по программе, но замечание услышал. Спасибо.

    Спасибо! очень понравилась программа!

    tema aktualnaia spasibo za vsio. no ia pervi raz delaiu proshivku i ne znaiu kakuiuta oshibku mne pishet no nikak ne mogu poniat v chom dela. u menia module sim900 i vot takuiu oshibku vidaiot 00′ 10*857
    error ram program ACK not Received! mojet znaet kto vchom dela pojalusta pomagite

    Программа была обновлена, теперь доступна v1.001.0037 версия.
    Изменения:
    . Решен вопрос с отправкой 0 символа (null, ASCI 0)
    . Исправлена ошибка ввода HEX нецелочисленных (буквенных) кодов
    . Добавлена автоочистка экрана, как построчная, так и постраничная
    . Добавлен графикопостроитель (сырой и без сохранения настроек)
    . Добавлена горячая клавиша очистки экрана F8
    . Мелкие доработки

    спасибо! ща протестируем

    Доброго времени суток!
    Давно пользуюсь вашим терминалом, все устраивает.
    Но! Сегодня стал подключать WiFi-модуль, а там нужна скорость 75000 бод, которой нет в списке AL-терминала.
    Если я что-то упустил, ткните носом. Если нет, не могли бы вы запилить еще одну версию? Очень уж удобна ваша прога (за что отдельное спасибо)

    К сожалению такими возможностями порадовать не смогу. Программа написана на основе компонента BComPort, который не обладает такими возможностями.
    Переписывание программы для работы с COM портами другими способами в планах пока нет.

    Отличная прога! alex_EXE, спасибо огромное))

    Алекс, большое спасибо.
    Замечательная статья! И прога полезная.

    У меня вопрос: Если включаю модуль через напрямую к UART-COM с питанием 3,3В, модуль отвечает на АТ запросы но не видит сеть оператора. Если я переключаю питание на понижающий DC-DC и даю модулю 3,8В от перестает отвечать на запросы.

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

    Графикопостроитель пока что выполнен сыро. Через некоторое время вернусь к работой над программой.

    Программа обновлена до версии v1.001.0040
    Изменения:
    . Добавлена скриптовая команда G - переход выполнения скрипта на указанную строку
    . Добавлена возможность запуска скрипта при старте программы. Имя скрипта указывается в параметрах запуска программы (командной строке)
    . Обновление иконок

    Рыл нормальную программу для AT-команд… остановился на AL Terminal, ибо лучше просто нет.
    Хвала что она есть!!!

    Лучший терминал, только вот с построением графиков не получается разобраться, буду ждать обновления. Спасибо за вашу работу

    Расстрою: ближайшее время обновлений не ожидается, через некоторое время вернусь к ней.

    По графикам: данный функционал очень сырой, о чём предупреждал.
    Пара слов о том, как можно попробовать использовать графики:
    1. В меню график включаем отправку сообщений в окно графика — меню «Включить»
    2. Открываем окно графика
    С вкладками График и настройки — думаю всё понятно.
    Во вкладке преобразования можно настроить пока что только целочисленный множитель и задать целочисленное смещение, т.е. можно вводить только цифры и знак -.
    Самое главное — настроить парсер входных данных.
    3. данные должны приходить однородные и форматированные
    4. нужно настроить, что бы в нижнем поле ввода данных отображалось корректное цифровое значение (цифры, знак минуса в начале, если есть, допустимы пробелы в начале, остальные символы не допускаются).
    5. поставить галочку «Вкл» над нижними полями ввода.
    Пример настройки парсера (декодирования):
    получаем следующие данные
    -001745; 004824; 049410;
    хотим считать 1 значение:
    1 значение числовое 7 символов, идёт первым:
    . входящие данные — Число
    . Количество символов в 1 значении — 7
    . Порядок — по убыванию
    . Начальная фраза нам не нужна — выкл
    . Отрицательное — это для режима байта — выкл
    . Удалять символы с конца — 0 (ещё корректно не работает)
    . Отступ — 0 (для считывания второго значения будет 8, для 3 — 16)

    Всё очень замечательно. Отличный нужный софт.
    Но вот возник вопросик.
    А как заслать в порт команду а конце введённой строки

    Кажется разобрался!
    Спасибо!
    Отличный софт!

    эм… Рад, что программа Вам понравилась и, что сами разобрались со своим вопросом.

    Анатолий пишет 05.12.2016 в 16:23

    Спасибо,
    Отличный софт

    Alex, огроменное СПАСИБО за программу AL Terminal! Только с ней работает мой GSM модуль AI Thinker A6 в связке с USB-UART модулем от RobotDYN. 2 дня убил на то, чтобы получать ответы от этого модема, хотел уже диспут открывать на Ali за неисправный модем, а Вы тут вовремя со своей программой. Успеха Вам и дальнейших «выручалочек» для нас:))). С уважением, Борис из Санкт-Петербурга.

    Программа обновлена до версии v1.001.0044
    Изменения:
    Добавлена обработка исключения отсутствия COM порта при закрытии программы и отключении от порта кнопкой Disconnect. Теперь программа один раз поругается и закроется, не нужно убивать процесс в случае потери COM порта.
    Добавлены дополнительные варианты переноса при окончания строки, теперь доступны: CR, LF, CR+LF, LF+CR, вариант пользователя. (полностью не проверено)
    Для полей ввода: «список команд» и «поле команд» — перенос берется из настроек завершения строки.
    Добавлена скриптовая команда S - выполнить стороннею команду в командной строке (CMD) на компьютере (например запустить какой-нибудь файл).

    • Анализировать активность последовательного порта

      Serial Port Monitor может подключаться к COM-порту, даже если тот уже открыт каким-нибудь приложением, и сразу приступать к его мониторингу. Все данные, проходящие через контролируемый COM-порт, отобразятся в нашей программе мониторинга. Поскольку все записывается в режиме реального времени, вы сможете мгновенно выявлять проблемы. Для сравнения данных есть функция синхронизированного выделения одинаковых IRP в разных видах.

      Кроме того, вы можете перенаправить все данные мониторинга в заданный файл или скопировать все записанные данные в буфер обмена. Serial Port Monitor дает вам возможность перехватывать и записывать все управляющие коды ввода/вывода последовательных портов (IOCTLs), отслеживать все их данные и параметры. Вы можете сохранять любую сессию мониторинга и при необходимости загружать ее в следующий раз.

    • Мониторить несколько портов в пределах одной сессии

      У Serial Port Monitor есть уникальная функциональная возможность мониторинга нескольких COM-портов одновременно. Теперь вы можете собрать данные о том, как приложения взаимодействуют с двумя или более портами и параллельно с этим с несколькими устройствами в рамках одной сессии. Полученные и отправленные данные мониторинга будут представлены (записаны) в отдельном журнале в порядке поступления, что значительно упростит анализ.

    • Разные варианты просмотра полученных данных

      Вы можете просматривать данные мониторинга сразу в 4 режимах: таблица, строка, дамп или терминал, каждый из которых предлагает свой способ представления записанных последовательных данных. Serial Port Monitor дает возможность выбирать фильтры мониторинга, экономя таким образом ваше время и позволяя отслеживать только интересующие события. В настройках есть возможность выбора данных для показа: бинарные, ASCII, настроить порт. Любые настройки для показа можно применить прямо в текущем процессе мониторинга.

    • Эмулировать передачу данных последовательному устройству

      Вы можете отправлять данные в различных форматах (стринг, двоичный, восьмеричный, десятичный, шестнадцатеричный, смешанный) контролируемому последовательному порту, как будто они были отправлены непосредственно контролируемым приложением с использованием функции режима терминала Serial Port Monitor. Таким образом, вы можете отслеживать реакции контролируемого последовательного устройства на некоторые специальных команды и данные.

    • Полная поддержка протокола данных Modbus (RTU и ASCII)

      C помощью новых фильтров Serial Port Monitor вы сможете расшифровывать и анализировать Modbus данные. Программа поможет не только устанавливать соединение между устройствами RS485/422/232, но и проводить эффективный анализ проходящих данных.

    • Повторное воспроизведение и сравнение сессий мониторинга

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

    AT команда служит для управления некоторыми функциями модема. Команды можно вводить специальными программами, это намного проще чем встроенным в Windows XP hyperterminal. Для этого можно использовать программы: или Перед использованием данных программ нужно закрыть все другие программы которые могут использовать модем. Для модемов Huawei нужно подключаться на COM порт "3G PC UI Interface ", для модемов ZTE MF на COM порт "ZTE Proprietary USB Modem ". Как пользоваться смотрим картинки, всё достаточно просто. Если команд несколько, сначала вводим одну - жмём Enter , потом следующую и опять жмём Enter.


    Скачать :

    Скачать : (Пароль на архиве: 12345 )


    Huawei Terminal - программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.

    Запускаем . В окне нужно выбрать HUAWEI Mobile Connect - 3G PC UI Interface Нажимаем Подключить (Connect )

    Для уверенности, что вы действительно подключились, наберите команду AT и нажмите отправить: Если в ответ от модема OK . Значит вы все сделали правильно и все готово для работы с модемом.

    AT^CARDLOCK="NCK Code" , где NCK Code 43963141 AT^CARDLOCK="43963141" . Вставляем команду AT^CARDLOCK="43963141" и нажимаем кнопку ENTER клавиатуре.

    Скачать : (Пароль на архиве: 12345 )


    DC-Unlocker client первая в Мире программа которая начала специализироваться на разблокировке беспроводных 2G\3G\4G модемов форм-фактора USB\PCMCIA. Со временем модельный ряд начал расширятся мобильными телефонами, смартфонами, WiFi роутерами.

    Качаем программу DC-Unlocker client и устанавливаем ее. После чего запускаем.
    1. Далее меняем язык на русский. Нажимаем Options и выбираем Russian

    2. Выбираем производителя модема или роутера в нашем случаи это Huawei . Нажимаем на Лупу как показано на картинке и пойдет чтение информации. Внимание! родная программа от модема должна быть закрыта). После прочтения информации вы увидите Статус SIM блокировки - Блокировано

    3. Далее нам необходимо вести команду AT^CARDLOCK="NCK Code" , где NCK Code - это код разблокировки который вы приобрели у нас. Например код 12860791 тогда наша команда будет иметь такой вид AT^CARDLOCK="12860791" . Вставляем команду AT^CARDLOCK="12860791" внизу прочитанной информации и нажимаем кнопку ENTER клавиатуре.

    4. После нажатия на ENTER произойдет ввод кода в наше устройство и выйдет сообщение OK

    5. Нажимаем еще раз на Лупу , чтобы прочитать заново информацию. И вы увидим, где Статус SIM блокировки - надпись Разблокирован

    Вот и все. Наше устройство успешно разблокировано.

    AT^CARDLOCK="NCK Code" – ввод кода снятия блокировки (8-значное число). NCK Code - это код разблокировки. Пример команды AT^CARDLOCK="12345678"

    В настоящее время ПК и ноутбуки с “железными” COM-портами в наборе интерфейсов уверенно перемещается в ряды экспонатов раритетной техники, но в мире микроконтроллерной техники и в промышленном оборудовании он будет ещё долго держать свои позиции. Для возможности беспроблемного сопряжения ПК и микроконтроллерных устройств выпускаются различные платы расширения и переходники типа USB-RS232, RS232-Bluetooth, USB-RS485 и т.д, также во все МК с USB-интерфейсом можно записать код для эмуляции обычного COM-порта. Во многие датчики встроены микроконтроллеры для оцифровки и первичной обработки сигналов от сенсоров различных типов, а результаты обработки во внешний мир передаются в цифровом виде опять же через тот самый последовательный интерфейс. Разработчики часто осваивают новые протоколы непосредственно “в железе”, используя в качестве ведущего устройства микроконтроллер или ПК. С помощью микроконтроллера можно сформировать пакеты из любой последовательности байтов данных для отправки и любой алгоритм обработки принимаемых данных. В своей практике на первом этапе разработки ПО для работы с различными устройствами через UART стараюсь вначале освоить работу с ним через ПК, на котором должен быть соответствующий терминал. Существуют множество терминалов для работы с COM-портом, но универсального на все случаи своей практики не нашёл, поэтому решил сделать его сам. Далее сильно напряг фантазию и в целях однозначности идентификации поисковиками дал ему название “Terminal ST”.

    Один из читателей из города Тамбова прислал обновленную версию терминала для работы с COM портом и статью описывающие особенности программы. Особенностью данной программы является возможность формировать групп команд, для удобного общения с различными устройствами через последовательный порт. Примечание Alex_EXE.

    Особенности данного терминала:

    • возможность хранения и редактирования до 1485 символьных и/или бинарных последовательностей (команд). Все команды разбиты на группы и подгруппы.
    • возможность хранения и редактирования краткой справки по каждой команде; Сохранённая справка появляется при наведении курсора мыши на кнопку с соответствующей командой, т.е. не нужно держать под рукой соответствующие справочники.
    • возможность выбора одного из четырёх режимов отправки команд, описание которых приведено далее;
    • возможность добавления в конец каждой команды заготовленной последовательности символов, например <0D><0A> или “<0D><0A>exit<0D> ” для текстового режима или любую последовательность данных в формате HEX для бинарного.
    • возможность устанавливать задержку для накопления данных в приёмном буфере, чтобы визуально весь ответ располагался в одной строке.
    • автоматическое переподключение к выбранному порту на случай кратковременной потери связи или временного пропадания COM-порта в диспетчере устройств Windows, что актуально при использовании переходника USB-COM или в случае перезапуска МК с соответствующим эмулятором.

    Показана последовательность кликаний мышкой для успешного сохранения команды с описанием.

    Описание алгоритма редактирования команд можно прочитать в статье . Во всём остальном интерфейс постарался сделать максимально понятным.

    Опишу дополнительные особенности терминала.

    1. Имеются 4 режима отправки команд. Режим ручной отправки очевиден – вводите команду (вручную или нажатием соответствующей кнопки) и нажимаете “Отправить”, далее с предвкушением ожидаете ответ. Режим отправки “После ответа” реализован так, что текущие данные из командной строки будут отправлены сразу же после получения ответа на предыдущий запрос. Следует иметь ввиду, что ответ от устройства может приходить частями, если его длительность превысит 1-10 мс, но программа после успешного считывания приёмного буфера сразу же отправит содержимое командной строки устройству. Во избежание недоразумений имеется опция “Время накопления буфера чтения, мс”, с помощью которой можно задать время ожидания заполнения приёмного буфера после отправки последнего байта устройству, т.к. обычно устройства отсылают сформированный ответ без разбивки на части во времени. Милисекунды в данном случае условные ввиду того, что Windows по своей природе не является операционной системой реального времени. Режим отправки “При выборе” означает то, что команда в порт будет отправлена сразу же после нажатия соответствующей кнопки, т.е. не нужно каждый раз двигать мышкой в сторону кнопки “Отправить”. Следующий режим – периодичная отправка, которая подразумевает возможность задать период отправки содержимого командной строки, после чего с заданной периодичностью последовательность будет отправляться в порт вне зависимости от того, приходит ответ от устройства или нет. Опция “Накопление буфера чтения” актуальна для всех режимов отправки команд.
    2. Имеется возможность выбора формата обмена данными. Можно работать с данными в бинарном или в текстовом формате. Первый вариант обычно актуален при работе с датчиками, второй с законченными устройствами. Каждый байт бинарного запроса записывется в формате XX, символы A..F должны быть в верхнем регистре, разделитель между байтами любой.
      Пример бинарного запроса:
      64"69"61"67"20"67"70"73"0D"
      64 69 61 67 20 67 70 73 0D
      Данные запросы идентичные, т.к. вид разделителя не играет никакой роли — терминал берёт в оборот первый и второй символ, третий пропускает, затем четвёртый и пятый, шестой пропускает и т.д.

    Содержимое командной строки можно менять в любое время и при любом режиме отправки. Можно как вручную вносить изменения, так и нажатием соответствующей кнопки с командой.

    Сейчас возможностей данного терминала мне хватает на все случаи моей творческой деятельности. На данном этапе пока все идеи по развитию закончились, буду ждать появления следующих или замечаний от читателей-писателей сайта. Советую делать копию файла “ComandConfig”, если в нём хранится большой объём команд с описаниями. На всякий случай. C уважением, ваш тамбовский товарищ:)

    Изменения в версии v3 от 2018.08.19

    Изменения интерфейса v6

    • добавлена возможность отправки команды по нажатию «Enter», кнопка «Esc» очищает строку с командой
    • добавлена возможность копирования лога из окна диалога, переключение в интерактивный режим окна осуществляется установкой соответствующей галочки.
    • добавлена возможность отправки команд из файла. Отправлять можно циклически или до достижения конца файла. Для считывания очередной команды из файла в ручном режиме нужно нажать кнопку «Из файла» и затем «Отправить». В режиме «После ответа» и «Периодически» следующая команда из файла будет считываться автоматически. Это удобно в том случае, если в последовательный порт нужно отправить последовательность команд с ожиданием ответа на каждую команду или отправку нужно выполнять с определённым интервалом.
    • улучшен интерфейс программы.
    • добавлен счётчик отправленных и полученных пакетов.
    • добавлены кнопки для более быстрого переключения вкладок с командами.
    • исправлены замеченные ошибки в коде.

    Изменения в версии v4 от 2018.08.27

    • Добавлен режим однократной отправки содержимого консольной строки в порт после восстановления соединения;
    • На главную панель добавлена дублирующая кнопка Отключить/Подключить;
    • Для кнопок с командой добавлена всплывающая строка, отображающая полностью всю надпись;
    • Исправлена ошибка вывода смешанных данных (бинарных и текстовых), доработан интерфейс программы.

    Режим однократной отправки удобно применять в том случае, когда имеются несколько приборов и в каждый из них нужно отправить одну и ту же команду. При использовании данного режима пользователю нужно будет только подключать разъём к очередному прибору, а программа сама будет устанавливать соединение и отправлять заданную команду один раз, но предварительно должно быть настроено и установлено соединение с первым прибором, это работает с эмулятором USB, но не с «железным» COM-портом. Если подключен один и тот же прибор со встроенным эмулятором COM-порта, но в консольной строке будет команда для перезапуска, то терминал в данном режиме будет бесконечно перезапускать прибор, т.к. после каждого перезапуска кратковременно теряется соединение. Так же удобно использовать данный режим для отслеживания перезапусков прибора с эмулятором порта в микроконтроллере, факт перезапуска можно фиксировать по времени отправленной команды в лог-файле.

    Как работать с устройствами по COM-порту с помощью терминальной программы?
    В различных инструкциях и руководствах вы можете увидеть рекомендации по работе с устройствами через терминальную программу. Как правило, такие действия производят с помощью HyperTerminal - стандартной программы в операционных системах Windows. Мы же рекомендуем использовать терминальную программу "Terminal v1.9b by bray " , потому что это более гибкий и удобный в работе инструмент. Ниже мы расскажем как работать с нашими устройствами на примере именно этой программы.

    В первую очередь подключите устройство, с которым собираетесь работать, к компьютеру через COM-порт. Подключите питание.
    Теперь запустите Terminal v1.9b .

    Интерфейс и основные настройки подключения по порту

    В верхнем поле находятся параметры подключения:

    1. Колонка №1:
      Connect
      - кнопка для открытия COM-порта,
      Rescan - пересканировать список COM-портов,
      Help - справка,
      About.. - о программе,
      Quit - выход из программы.

      Колонка №2:

    2. Поле выбора номера COM-порта для подключения.
      Колонка №3:
    3. Выбор скорости COM-порта.
      Колонка №4:
    4. Выбор количества бит данных.
      Колонка №5:
    5. Выбор четности.
      Колонка №6:
      Выбор количества стоповых бит.
      Колонка №7:
    6. Выбор типа управления потоком.
    В разделе Settings находятся дополнительные параметры. Они пригодятся для написания скриптов, работы с нестандартными скоростями или для записи

    В разделе Recieve находятся параметры отображения ответа от устройства.

    В разделе Transmit находятся параметры передачи данных на устройство. Кнопки DTR и RTS устанавливают соответствующие выводы в положительное состояние.

    Макросы

    Поле Macros предназначено для создания пользовательских быстрых клавиш.
    Для этого нужно нажать на кнопку SetMacros и в открывшемся окне присвоить каждой кнопке определённую последовательность символов, которая будет отправляться на устройство.
    1. Блок №1:
      Поле для ввода последовательности символов для отправки. Для того чтобы отправить специальные символы, необходимо воспользоваться ASCII таблицей и ввести код символа, предварительно экранировав его знаком "$ ". Например, на картинке выше, вы можете видеть экранированный символ возврата каретки $0D (нажатие клавиши Enter )
      Блок №2:
    2. Здесь в левом поле задаётся имя кнопки, а в правом отображается сама кнопка.
      Блок №3:
    3. Тут задаётся задержка при автоматическом повторении команд.
      Блок №4:
    4. Включение автоматического повтора команды через интервал времени, заданный в п.3.
    Кнопки Load и Save позволяют сохранить или загрузить файл с макросами, введёнными в этом окне.

    Отправка и прием данных



    Блок №1:
    В этом большом поле вы будете видеть ответы от вашего устройства.
    Если в разделе "Settings " вы не забыли поставить галочку "Time ", то перед каждой строкой будет проставлена метка времени. Это бывает очень полезно при анализе логов с устройства.

    Блок №2:
    Тут находится поле для отправки текста сообщений. Установленная галочка "+CR" будет дописывать к отправляемому сообщению символ возврата каретки (эмулировать нажатие клавиши Enter). Кнопка "->Send" отправит ваше сообщение на устройство.

    Блок №3:
    В самом низу находится поле, где вы можете видеть отправленные на устройство команды.


    Теперь вы знакомы с интерфейсом Terminal 1.9b!

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



Понравилась статья? Поделитесь с друзьями!